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
@@ -609,6 +609,112 @@
609
609
  "type": "string",
610
610
  "description": "Unique identifier for the test."
611
611
  },
612
+ "sourceLocation": {
613
+ "description": "Source location information for inline tests. Read-only, populated during detection.",
614
+ "$schema": "http://json-schema.org/draft-07/schema#",
615
+ "title": "sourceLocation",
616
+ "type": "object",
617
+ "readOnly": true,
618
+ "additionalProperties": false,
619
+ "properties": {
620
+ "file": {
621
+ "type": "string",
622
+ "description": "Absolute path to the source file containing this test or step.",
623
+ "readOnly": true
624
+ },
625
+ "startLine": {
626
+ "type": "integer",
627
+ "description": "1-based line number where this test or step starts.",
628
+ "minimum": 1,
629
+ "readOnly": true
630
+ },
631
+ "endLine": {
632
+ "type": "integer",
633
+ "description": "1-based line number where this test or step ends.",
634
+ "minimum": 1,
635
+ "readOnly": true
636
+ },
637
+ "startColumn": {
638
+ "type": "integer",
639
+ "description": "1-based column number where this test or step starts on startLine.",
640
+ "minimum": 1,
641
+ "readOnly": true
642
+ },
643
+ "endColumn": {
644
+ "type": "integer",
645
+ "description": "1-based column number where this test or step ends on endLine.",
646
+ "minimum": 1,
647
+ "readOnly": true
648
+ },
649
+ "startOffset": {
650
+ "type": "integer",
651
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
652
+ "minimum": 0,
653
+ "readOnly": true
654
+ },
655
+ "endOffset": {
656
+ "type": "integer",
657
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
658
+ "minimum": 0,
659
+ "readOnly": true
660
+ },
661
+ "originalText": {
662
+ "type": "string",
663
+ "description": "The original text content of this test or step as found in the source file.",
664
+ "readOnly": true
665
+ },
666
+ "isInline": {
667
+ "type": "boolean",
668
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
669
+ "default": false,
670
+ "readOnly": true
671
+ },
672
+ "isAutoDetected": {
673
+ "type": "boolean",
674
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
675
+ "default": false,
676
+ "readOnly": true
677
+ },
678
+ "commentFormat": {
679
+ "type": "string",
680
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
681
+ "enum": [
682
+ "htmlComment",
683
+ "jsxComment",
684
+ "linkReference"
685
+ ],
686
+ "readOnly": true
687
+ }
688
+ },
689
+ "examples": [
690
+ {
691
+ "file": "/path/to/docs/getting-started.md",
692
+ "startLine": 42,
693
+ "endLine": 45,
694
+ "startColumn": 1,
695
+ "endColumn": 3,
696
+ "startOffset": 1250,
697
+ "endOffset": 1350,
698
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
699
+ "isInline": true,
700
+ "isAutoDetected": false,
701
+ "commentFormat": "htmlComment"
702
+ },
703
+ {
704
+ "file": "/path/to/docs/tutorial.md",
705
+ "startLine": 78,
706
+ "endLine": 78,
707
+ "startColumn": 1,
708
+ "endColumn": 45,
709
+ "startOffset": 2100,
710
+ "endOffset": 2145,
711
+ "originalText": "[example link](https://example.com)",
712
+ "isInline": true,
713
+ "isAutoDetected": true,
714
+ "commentFormat": "htmlComment"
715
+ }
716
+ ]
717
+ },
612
718
  "description": {
613
719
  "type": "string",
614
720
  "description": "Description of the test."
@@ -1222,6 +1328,112 @@
1222
1328
  "type": "string",
1223
1329
  "description": "ID of the step."
1224
1330
  },
1331
+ "sourceLocation": {
1332
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
1333
+ "$schema": "http://json-schema.org/draft-07/schema#",
1334
+ "title": "sourceLocation",
1335
+ "type": "object",
1336
+ "readOnly": true,
1337
+ "additionalProperties": false,
1338
+ "properties": {
1339
+ "file": {
1340
+ "type": "string",
1341
+ "description": "Absolute path to the source file containing this test or step.",
1342
+ "readOnly": true
1343
+ },
1344
+ "startLine": {
1345
+ "type": "integer",
1346
+ "description": "1-based line number where this test or step starts.",
1347
+ "minimum": 1,
1348
+ "readOnly": true
1349
+ },
1350
+ "endLine": {
1351
+ "type": "integer",
1352
+ "description": "1-based line number where this test or step ends.",
1353
+ "minimum": 1,
1354
+ "readOnly": true
1355
+ },
1356
+ "startColumn": {
1357
+ "type": "integer",
1358
+ "description": "1-based column number where this test or step starts on startLine.",
1359
+ "minimum": 1,
1360
+ "readOnly": true
1361
+ },
1362
+ "endColumn": {
1363
+ "type": "integer",
1364
+ "description": "1-based column number where this test or step ends on endLine.",
1365
+ "minimum": 1,
1366
+ "readOnly": true
1367
+ },
1368
+ "startOffset": {
1369
+ "type": "integer",
1370
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
1371
+ "minimum": 0,
1372
+ "readOnly": true
1373
+ },
1374
+ "endOffset": {
1375
+ "type": "integer",
1376
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
1377
+ "minimum": 0,
1378
+ "readOnly": true
1379
+ },
1380
+ "originalText": {
1381
+ "type": "string",
1382
+ "description": "The original text content of this test or step as found in the source file.",
1383
+ "readOnly": true
1384
+ },
1385
+ "isInline": {
1386
+ "type": "boolean",
1387
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
1388
+ "default": false,
1389
+ "readOnly": true
1390
+ },
1391
+ "isAutoDetected": {
1392
+ "type": "boolean",
1393
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
1394
+ "default": false,
1395
+ "readOnly": true
1396
+ },
1397
+ "commentFormat": {
1398
+ "type": "string",
1399
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
1400
+ "enum": [
1401
+ "htmlComment",
1402
+ "jsxComment",
1403
+ "linkReference"
1404
+ ],
1405
+ "readOnly": true
1406
+ }
1407
+ },
1408
+ "examples": [
1409
+ {
1410
+ "file": "/path/to/docs/getting-started.md",
1411
+ "startLine": 42,
1412
+ "endLine": 45,
1413
+ "startColumn": 1,
1414
+ "endColumn": 3,
1415
+ "startOffset": 1250,
1416
+ "endOffset": 1350,
1417
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
1418
+ "isInline": true,
1419
+ "isAutoDetected": false,
1420
+ "commentFormat": "htmlComment"
1421
+ },
1422
+ {
1423
+ "file": "/path/to/docs/tutorial.md",
1424
+ "startLine": 78,
1425
+ "endLine": 78,
1426
+ "startColumn": 1,
1427
+ "endColumn": 45,
1428
+ "startOffset": 2100,
1429
+ "endOffset": 2145,
1430
+ "originalText": "[example link](https://example.com)",
1431
+ "isInline": true,
1432
+ "isAutoDetected": true,
1433
+ "commentFormat": "htmlComment"
1434
+ }
1435
+ ]
1436
+ },
1225
1437
  "description": {
1226
1438
  "type": "string",
1227
1439
  "description": "Description of the step."
@@ -1274,6 +1486,112 @@
1274
1486
  "type": "string",
1275
1487
  "description": "ID of the step."
1276
1488
  },
1489
+ "sourceLocation": {
1490
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
1491
+ "$schema": "http://json-schema.org/draft-07/schema#",
1492
+ "title": "sourceLocation",
1493
+ "type": "object",
1494
+ "readOnly": true,
1495
+ "additionalProperties": false,
1496
+ "properties": {
1497
+ "file": {
1498
+ "type": "string",
1499
+ "description": "Absolute path to the source file containing this test or step.",
1500
+ "readOnly": true
1501
+ },
1502
+ "startLine": {
1503
+ "type": "integer",
1504
+ "description": "1-based line number where this test or step starts.",
1505
+ "minimum": 1,
1506
+ "readOnly": true
1507
+ },
1508
+ "endLine": {
1509
+ "type": "integer",
1510
+ "description": "1-based line number where this test or step ends.",
1511
+ "minimum": 1,
1512
+ "readOnly": true
1513
+ },
1514
+ "startColumn": {
1515
+ "type": "integer",
1516
+ "description": "1-based column number where this test or step starts on startLine.",
1517
+ "minimum": 1,
1518
+ "readOnly": true
1519
+ },
1520
+ "endColumn": {
1521
+ "type": "integer",
1522
+ "description": "1-based column number where this test or step ends on endLine.",
1523
+ "minimum": 1,
1524
+ "readOnly": true
1525
+ },
1526
+ "startOffset": {
1527
+ "type": "integer",
1528
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
1529
+ "minimum": 0,
1530
+ "readOnly": true
1531
+ },
1532
+ "endOffset": {
1533
+ "type": "integer",
1534
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
1535
+ "minimum": 0,
1536
+ "readOnly": true
1537
+ },
1538
+ "originalText": {
1539
+ "type": "string",
1540
+ "description": "The original text content of this test or step as found in the source file.",
1541
+ "readOnly": true
1542
+ },
1543
+ "isInline": {
1544
+ "type": "boolean",
1545
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
1546
+ "default": false,
1547
+ "readOnly": true
1548
+ },
1549
+ "isAutoDetected": {
1550
+ "type": "boolean",
1551
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
1552
+ "default": false,
1553
+ "readOnly": true
1554
+ },
1555
+ "commentFormat": {
1556
+ "type": "string",
1557
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
1558
+ "enum": [
1559
+ "htmlComment",
1560
+ "jsxComment",
1561
+ "linkReference"
1562
+ ],
1563
+ "readOnly": true
1564
+ }
1565
+ },
1566
+ "examples": [
1567
+ {
1568
+ "file": "/path/to/docs/getting-started.md",
1569
+ "startLine": 42,
1570
+ "endLine": 45,
1571
+ "startColumn": 1,
1572
+ "endColumn": 3,
1573
+ "startOffset": 1250,
1574
+ "endOffset": 1350,
1575
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
1576
+ "isInline": true,
1577
+ "isAutoDetected": false,
1578
+ "commentFormat": "htmlComment"
1579
+ },
1580
+ {
1581
+ "file": "/path/to/docs/tutorial.md",
1582
+ "startLine": 78,
1583
+ "endLine": 78,
1584
+ "startColumn": 1,
1585
+ "endColumn": 45,
1586
+ "startOffset": 2100,
1587
+ "endOffset": 2145,
1588
+ "originalText": "[example link](https://example.com)",
1589
+ "isInline": true,
1590
+ "isAutoDetected": true,
1591
+ "commentFormat": "htmlComment"
1592
+ }
1593
+ ]
1594
+ },
1277
1595
  "description": {
1278
1596
  "type": "string",
1279
1597
  "description": "Description of the step."
@@ -1334,6 +1652,112 @@
1334
1652
  "type": "string",
1335
1653
  "description": "ID of the step."
1336
1654
  },
1655
+ "sourceLocation": {
1656
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
1657
+ "$schema": "http://json-schema.org/draft-07/schema#",
1658
+ "title": "sourceLocation",
1659
+ "type": "object",
1660
+ "readOnly": true,
1661
+ "additionalProperties": false,
1662
+ "properties": {
1663
+ "file": {
1664
+ "type": "string",
1665
+ "description": "Absolute path to the source file containing this test or step.",
1666
+ "readOnly": true
1667
+ },
1668
+ "startLine": {
1669
+ "type": "integer",
1670
+ "description": "1-based line number where this test or step starts.",
1671
+ "minimum": 1,
1672
+ "readOnly": true
1673
+ },
1674
+ "endLine": {
1675
+ "type": "integer",
1676
+ "description": "1-based line number where this test or step ends.",
1677
+ "minimum": 1,
1678
+ "readOnly": true
1679
+ },
1680
+ "startColumn": {
1681
+ "type": "integer",
1682
+ "description": "1-based column number where this test or step starts on startLine.",
1683
+ "minimum": 1,
1684
+ "readOnly": true
1685
+ },
1686
+ "endColumn": {
1687
+ "type": "integer",
1688
+ "description": "1-based column number where this test or step ends on endLine.",
1689
+ "minimum": 1,
1690
+ "readOnly": true
1691
+ },
1692
+ "startOffset": {
1693
+ "type": "integer",
1694
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
1695
+ "minimum": 0,
1696
+ "readOnly": true
1697
+ },
1698
+ "endOffset": {
1699
+ "type": "integer",
1700
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
1701
+ "minimum": 0,
1702
+ "readOnly": true
1703
+ },
1704
+ "originalText": {
1705
+ "type": "string",
1706
+ "description": "The original text content of this test or step as found in the source file.",
1707
+ "readOnly": true
1708
+ },
1709
+ "isInline": {
1710
+ "type": "boolean",
1711
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
1712
+ "default": false,
1713
+ "readOnly": true
1714
+ },
1715
+ "isAutoDetected": {
1716
+ "type": "boolean",
1717
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
1718
+ "default": false,
1719
+ "readOnly": true
1720
+ },
1721
+ "commentFormat": {
1722
+ "type": "string",
1723
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
1724
+ "enum": [
1725
+ "htmlComment",
1726
+ "jsxComment",
1727
+ "linkReference"
1728
+ ],
1729
+ "readOnly": true
1730
+ }
1731
+ },
1732
+ "examples": [
1733
+ {
1734
+ "file": "/path/to/docs/getting-started.md",
1735
+ "startLine": 42,
1736
+ "endLine": 45,
1737
+ "startColumn": 1,
1738
+ "endColumn": 3,
1739
+ "startOffset": 1250,
1740
+ "endOffset": 1350,
1741
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
1742
+ "isInline": true,
1743
+ "isAutoDetected": false,
1744
+ "commentFormat": "htmlComment"
1745
+ },
1746
+ {
1747
+ "file": "/path/to/docs/tutorial.md",
1748
+ "startLine": 78,
1749
+ "endLine": 78,
1750
+ "startColumn": 1,
1751
+ "endColumn": 45,
1752
+ "startOffset": 2100,
1753
+ "endOffset": 2145,
1754
+ "originalText": "[example link](https://example.com)",
1755
+ "isInline": true,
1756
+ "isAutoDetected": true,
1757
+ "commentFormat": "htmlComment"
1758
+ }
1759
+ ]
1760
+ },
1337
1761
  "description": {
1338
1762
  "type": "string",
1339
1763
  "description": "Description of the step."
@@ -1550,6 +1974,112 @@
1550
1974
  "type": "string",
1551
1975
  "description": "ID of the step."
1552
1976
  },
1977
+ "sourceLocation": {
1978
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
1979
+ "$schema": "http://json-schema.org/draft-07/schema#",
1980
+ "title": "sourceLocation",
1981
+ "type": "object",
1982
+ "readOnly": true,
1983
+ "additionalProperties": false,
1984
+ "properties": {
1985
+ "file": {
1986
+ "type": "string",
1987
+ "description": "Absolute path to the source file containing this test or step.",
1988
+ "readOnly": true
1989
+ },
1990
+ "startLine": {
1991
+ "type": "integer",
1992
+ "description": "1-based line number where this test or step starts.",
1993
+ "minimum": 1,
1994
+ "readOnly": true
1995
+ },
1996
+ "endLine": {
1997
+ "type": "integer",
1998
+ "description": "1-based line number where this test or step ends.",
1999
+ "minimum": 1,
2000
+ "readOnly": true
2001
+ },
2002
+ "startColumn": {
2003
+ "type": "integer",
2004
+ "description": "1-based column number where this test or step starts on startLine.",
2005
+ "minimum": 1,
2006
+ "readOnly": true
2007
+ },
2008
+ "endColumn": {
2009
+ "type": "integer",
2010
+ "description": "1-based column number where this test or step ends on endLine.",
2011
+ "minimum": 1,
2012
+ "readOnly": true
2013
+ },
2014
+ "startOffset": {
2015
+ "type": "integer",
2016
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
2017
+ "minimum": 0,
2018
+ "readOnly": true
2019
+ },
2020
+ "endOffset": {
2021
+ "type": "integer",
2022
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
2023
+ "minimum": 0,
2024
+ "readOnly": true
2025
+ },
2026
+ "originalText": {
2027
+ "type": "string",
2028
+ "description": "The original text content of this test or step as found in the source file.",
2029
+ "readOnly": true
2030
+ },
2031
+ "isInline": {
2032
+ "type": "boolean",
2033
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
2034
+ "default": false,
2035
+ "readOnly": true
2036
+ },
2037
+ "isAutoDetected": {
2038
+ "type": "boolean",
2039
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
2040
+ "default": false,
2041
+ "readOnly": true
2042
+ },
2043
+ "commentFormat": {
2044
+ "type": "string",
2045
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
2046
+ "enum": [
2047
+ "htmlComment",
2048
+ "jsxComment",
2049
+ "linkReference"
2050
+ ],
2051
+ "readOnly": true
2052
+ }
2053
+ },
2054
+ "examples": [
2055
+ {
2056
+ "file": "/path/to/docs/getting-started.md",
2057
+ "startLine": 42,
2058
+ "endLine": 45,
2059
+ "startColumn": 1,
2060
+ "endColumn": 3,
2061
+ "startOffset": 1250,
2062
+ "endOffset": 1350,
2063
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
2064
+ "isInline": true,
2065
+ "isAutoDetected": false,
2066
+ "commentFormat": "htmlComment"
2067
+ },
2068
+ {
2069
+ "file": "/path/to/docs/tutorial.md",
2070
+ "startLine": 78,
2071
+ "endLine": 78,
2072
+ "startColumn": 1,
2073
+ "endColumn": 45,
2074
+ "startOffset": 2100,
2075
+ "endOffset": 2145,
2076
+ "originalText": "[example link](https://example.com)",
2077
+ "isInline": true,
2078
+ "isAutoDetected": true,
2079
+ "commentFormat": "htmlComment"
2080
+ }
2081
+ ]
2082
+ },
1553
2083
  "description": {
1554
2084
  "type": "string",
1555
2085
  "description": "Description of the step."
@@ -1873,6 +2403,112 @@
1873
2403
  "type": "string",
1874
2404
  "description": "ID of the step."
1875
2405
  },
2406
+ "sourceLocation": {
2407
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
2408
+ "$schema": "http://json-schema.org/draft-07/schema#",
2409
+ "title": "sourceLocation",
2410
+ "type": "object",
2411
+ "readOnly": true,
2412
+ "additionalProperties": false,
2413
+ "properties": {
2414
+ "file": {
2415
+ "type": "string",
2416
+ "description": "Absolute path to the source file containing this test or step.",
2417
+ "readOnly": true
2418
+ },
2419
+ "startLine": {
2420
+ "type": "integer",
2421
+ "description": "1-based line number where this test or step starts.",
2422
+ "minimum": 1,
2423
+ "readOnly": true
2424
+ },
2425
+ "endLine": {
2426
+ "type": "integer",
2427
+ "description": "1-based line number where this test or step ends.",
2428
+ "minimum": 1,
2429
+ "readOnly": true
2430
+ },
2431
+ "startColumn": {
2432
+ "type": "integer",
2433
+ "description": "1-based column number where this test or step starts on startLine.",
2434
+ "minimum": 1,
2435
+ "readOnly": true
2436
+ },
2437
+ "endColumn": {
2438
+ "type": "integer",
2439
+ "description": "1-based column number where this test or step ends on endLine.",
2440
+ "minimum": 1,
2441
+ "readOnly": true
2442
+ },
2443
+ "startOffset": {
2444
+ "type": "integer",
2445
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
2446
+ "minimum": 0,
2447
+ "readOnly": true
2448
+ },
2449
+ "endOffset": {
2450
+ "type": "integer",
2451
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
2452
+ "minimum": 0,
2453
+ "readOnly": true
2454
+ },
2455
+ "originalText": {
2456
+ "type": "string",
2457
+ "description": "The original text content of this test or step as found in the source file.",
2458
+ "readOnly": true
2459
+ },
2460
+ "isInline": {
2461
+ "type": "boolean",
2462
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
2463
+ "default": false,
2464
+ "readOnly": true
2465
+ },
2466
+ "isAutoDetected": {
2467
+ "type": "boolean",
2468
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
2469
+ "default": false,
2470
+ "readOnly": true
2471
+ },
2472
+ "commentFormat": {
2473
+ "type": "string",
2474
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
2475
+ "enum": [
2476
+ "htmlComment",
2477
+ "jsxComment",
2478
+ "linkReference"
2479
+ ],
2480
+ "readOnly": true
2481
+ }
2482
+ },
2483
+ "examples": [
2484
+ {
2485
+ "file": "/path/to/docs/getting-started.md",
2486
+ "startLine": 42,
2487
+ "endLine": 45,
2488
+ "startColumn": 1,
2489
+ "endColumn": 3,
2490
+ "startOffset": 1250,
2491
+ "endOffset": 1350,
2492
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
2493
+ "isInline": true,
2494
+ "isAutoDetected": false,
2495
+ "commentFormat": "htmlComment"
2496
+ },
2497
+ {
2498
+ "file": "/path/to/docs/tutorial.md",
2499
+ "startLine": 78,
2500
+ "endLine": 78,
2501
+ "startColumn": 1,
2502
+ "endColumn": 45,
2503
+ "startOffset": 2100,
2504
+ "endOffset": 2145,
2505
+ "originalText": "[example link](https://example.com)",
2506
+ "isInline": true,
2507
+ "isAutoDetected": true,
2508
+ "commentFormat": "htmlComment"
2509
+ }
2510
+ ]
2511
+ },
1876
2512
  "description": {
1877
2513
  "type": "string",
1878
2514
  "description": "Description of the step."
@@ -3293,6 +3929,112 @@
3293
3929
  "type": "string",
3294
3930
  "description": "ID of the step."
3295
3931
  },
3932
+ "sourceLocation": {
3933
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
3934
+ "$schema": "http://json-schema.org/draft-07/schema#",
3935
+ "title": "sourceLocation",
3936
+ "type": "object",
3937
+ "readOnly": true,
3938
+ "additionalProperties": false,
3939
+ "properties": {
3940
+ "file": {
3941
+ "type": "string",
3942
+ "description": "Absolute path to the source file containing this test or step.",
3943
+ "readOnly": true
3944
+ },
3945
+ "startLine": {
3946
+ "type": "integer",
3947
+ "description": "1-based line number where this test or step starts.",
3948
+ "minimum": 1,
3949
+ "readOnly": true
3950
+ },
3951
+ "endLine": {
3952
+ "type": "integer",
3953
+ "description": "1-based line number where this test or step ends.",
3954
+ "minimum": 1,
3955
+ "readOnly": true
3956
+ },
3957
+ "startColumn": {
3958
+ "type": "integer",
3959
+ "description": "1-based column number where this test or step starts on startLine.",
3960
+ "minimum": 1,
3961
+ "readOnly": true
3962
+ },
3963
+ "endColumn": {
3964
+ "type": "integer",
3965
+ "description": "1-based column number where this test or step ends on endLine.",
3966
+ "minimum": 1,
3967
+ "readOnly": true
3968
+ },
3969
+ "startOffset": {
3970
+ "type": "integer",
3971
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
3972
+ "minimum": 0,
3973
+ "readOnly": true
3974
+ },
3975
+ "endOffset": {
3976
+ "type": "integer",
3977
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
3978
+ "minimum": 0,
3979
+ "readOnly": true
3980
+ },
3981
+ "originalText": {
3982
+ "type": "string",
3983
+ "description": "The original text content of this test or step as found in the source file.",
3984
+ "readOnly": true
3985
+ },
3986
+ "isInline": {
3987
+ "type": "boolean",
3988
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
3989
+ "default": false,
3990
+ "readOnly": true
3991
+ },
3992
+ "isAutoDetected": {
3993
+ "type": "boolean",
3994
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
3995
+ "default": false,
3996
+ "readOnly": true
3997
+ },
3998
+ "commentFormat": {
3999
+ "type": "string",
4000
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
4001
+ "enum": [
4002
+ "htmlComment",
4003
+ "jsxComment",
4004
+ "linkReference"
4005
+ ],
4006
+ "readOnly": true
4007
+ }
4008
+ },
4009
+ "examples": [
4010
+ {
4011
+ "file": "/path/to/docs/getting-started.md",
4012
+ "startLine": 42,
4013
+ "endLine": 45,
4014
+ "startColumn": 1,
4015
+ "endColumn": 3,
4016
+ "startOffset": 1250,
4017
+ "endOffset": 1350,
4018
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
4019
+ "isInline": true,
4020
+ "isAutoDetected": false,
4021
+ "commentFormat": "htmlComment"
4022
+ },
4023
+ {
4024
+ "file": "/path/to/docs/tutorial.md",
4025
+ "startLine": 78,
4026
+ "endLine": 78,
4027
+ "startColumn": 1,
4028
+ "endColumn": 45,
4029
+ "startOffset": 2100,
4030
+ "endOffset": 2145,
4031
+ "originalText": "[example link](https://example.com)",
4032
+ "isInline": true,
4033
+ "isAutoDetected": true,
4034
+ "commentFormat": "htmlComment"
4035
+ }
4036
+ ]
4037
+ },
3296
4038
  "description": {
3297
4039
  "type": "string",
3298
4040
  "description": "Description of the step."
@@ -3783,20 +4525,126 @@
3783
4525
  "type": "string",
3784
4526
  "description": "ID of the step."
3785
4527
  },
3786
- "description": {
3787
- "type": "string",
3788
- "description": "Description of the step."
3789
- },
3790
- "unsafe": {
3791
- "type": "boolean",
3792
- "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.",
3793
- "default": false
3794
- },
3795
- "outputs": {
4528
+ "sourceLocation": {
4529
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
4530
+ "$schema": "http://json-schema.org/draft-07/schema#",
4531
+ "title": "sourceLocation",
3796
4532
  "type": "object",
3797
- "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.",
3798
- "default": {},
3799
- "patternProperties": {
4533
+ "readOnly": true,
4534
+ "additionalProperties": false,
4535
+ "properties": {
4536
+ "file": {
4537
+ "type": "string",
4538
+ "description": "Absolute path to the source file containing this test or step.",
4539
+ "readOnly": true
4540
+ },
4541
+ "startLine": {
4542
+ "type": "integer",
4543
+ "description": "1-based line number where this test or step starts.",
4544
+ "minimum": 1,
4545
+ "readOnly": true
4546
+ },
4547
+ "endLine": {
4548
+ "type": "integer",
4549
+ "description": "1-based line number where this test or step ends.",
4550
+ "minimum": 1,
4551
+ "readOnly": true
4552
+ },
4553
+ "startColumn": {
4554
+ "type": "integer",
4555
+ "description": "1-based column number where this test or step starts on startLine.",
4556
+ "minimum": 1,
4557
+ "readOnly": true
4558
+ },
4559
+ "endColumn": {
4560
+ "type": "integer",
4561
+ "description": "1-based column number where this test or step ends on endLine.",
4562
+ "minimum": 1,
4563
+ "readOnly": true
4564
+ },
4565
+ "startOffset": {
4566
+ "type": "integer",
4567
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
4568
+ "minimum": 0,
4569
+ "readOnly": true
4570
+ },
4571
+ "endOffset": {
4572
+ "type": "integer",
4573
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
4574
+ "minimum": 0,
4575
+ "readOnly": true
4576
+ },
4577
+ "originalText": {
4578
+ "type": "string",
4579
+ "description": "The original text content of this test or step as found in the source file.",
4580
+ "readOnly": true
4581
+ },
4582
+ "isInline": {
4583
+ "type": "boolean",
4584
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
4585
+ "default": false,
4586
+ "readOnly": true
4587
+ },
4588
+ "isAutoDetected": {
4589
+ "type": "boolean",
4590
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
4591
+ "default": false,
4592
+ "readOnly": true
4593
+ },
4594
+ "commentFormat": {
4595
+ "type": "string",
4596
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
4597
+ "enum": [
4598
+ "htmlComment",
4599
+ "jsxComment",
4600
+ "linkReference"
4601
+ ],
4602
+ "readOnly": true
4603
+ }
4604
+ },
4605
+ "examples": [
4606
+ {
4607
+ "file": "/path/to/docs/getting-started.md",
4608
+ "startLine": 42,
4609
+ "endLine": 45,
4610
+ "startColumn": 1,
4611
+ "endColumn": 3,
4612
+ "startOffset": 1250,
4613
+ "endOffset": 1350,
4614
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
4615
+ "isInline": true,
4616
+ "isAutoDetected": false,
4617
+ "commentFormat": "htmlComment"
4618
+ },
4619
+ {
4620
+ "file": "/path/to/docs/tutorial.md",
4621
+ "startLine": 78,
4622
+ "endLine": 78,
4623
+ "startColumn": 1,
4624
+ "endColumn": 45,
4625
+ "startOffset": 2100,
4626
+ "endOffset": 2145,
4627
+ "originalText": "[example link](https://example.com)",
4628
+ "isInline": true,
4629
+ "isAutoDetected": true,
4630
+ "commentFormat": "htmlComment"
4631
+ }
4632
+ ]
4633
+ },
4634
+ "description": {
4635
+ "type": "string",
4636
+ "description": "Description of the step."
4637
+ },
4638
+ "unsafe": {
4639
+ "type": "boolean",
4640
+ "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.",
4641
+ "default": false
4642
+ },
4643
+ "outputs": {
4644
+ "type": "object",
4645
+ "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.",
4646
+ "default": {},
4647
+ "patternProperties": {
3800
4648
  "^[A-Za-z0-9_]+$": {
3801
4649
  "type": "string",
3802
4650
  "description": "Runtime expression for a user-defined output value."
@@ -4848,6 +5696,112 @@
4848
5696
  "type": "string",
4849
5697
  "description": "ID of the step."
4850
5698
  },
5699
+ "sourceLocation": {
5700
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
5701
+ "$schema": "http://json-schema.org/draft-07/schema#",
5702
+ "title": "sourceLocation",
5703
+ "type": "object",
5704
+ "readOnly": true,
5705
+ "additionalProperties": false,
5706
+ "properties": {
5707
+ "file": {
5708
+ "type": "string",
5709
+ "description": "Absolute path to the source file containing this test or step.",
5710
+ "readOnly": true
5711
+ },
5712
+ "startLine": {
5713
+ "type": "integer",
5714
+ "description": "1-based line number where this test or step starts.",
5715
+ "minimum": 1,
5716
+ "readOnly": true
5717
+ },
5718
+ "endLine": {
5719
+ "type": "integer",
5720
+ "description": "1-based line number where this test or step ends.",
5721
+ "minimum": 1,
5722
+ "readOnly": true
5723
+ },
5724
+ "startColumn": {
5725
+ "type": "integer",
5726
+ "description": "1-based column number where this test or step starts on startLine.",
5727
+ "minimum": 1,
5728
+ "readOnly": true
5729
+ },
5730
+ "endColumn": {
5731
+ "type": "integer",
5732
+ "description": "1-based column number where this test or step ends on endLine.",
5733
+ "minimum": 1,
5734
+ "readOnly": true
5735
+ },
5736
+ "startOffset": {
5737
+ "type": "integer",
5738
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
5739
+ "minimum": 0,
5740
+ "readOnly": true
5741
+ },
5742
+ "endOffset": {
5743
+ "type": "integer",
5744
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
5745
+ "minimum": 0,
5746
+ "readOnly": true
5747
+ },
5748
+ "originalText": {
5749
+ "type": "string",
5750
+ "description": "The original text content of this test or step as found in the source file.",
5751
+ "readOnly": true
5752
+ },
5753
+ "isInline": {
5754
+ "type": "boolean",
5755
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
5756
+ "default": false,
5757
+ "readOnly": true
5758
+ },
5759
+ "isAutoDetected": {
5760
+ "type": "boolean",
5761
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
5762
+ "default": false,
5763
+ "readOnly": true
5764
+ },
5765
+ "commentFormat": {
5766
+ "type": "string",
5767
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
5768
+ "enum": [
5769
+ "htmlComment",
5770
+ "jsxComment",
5771
+ "linkReference"
5772
+ ],
5773
+ "readOnly": true
5774
+ }
5775
+ },
5776
+ "examples": [
5777
+ {
5778
+ "file": "/path/to/docs/getting-started.md",
5779
+ "startLine": 42,
5780
+ "endLine": 45,
5781
+ "startColumn": 1,
5782
+ "endColumn": 3,
5783
+ "startOffset": 1250,
5784
+ "endOffset": 1350,
5785
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
5786
+ "isInline": true,
5787
+ "isAutoDetected": false,
5788
+ "commentFormat": "htmlComment"
5789
+ },
5790
+ {
5791
+ "file": "/path/to/docs/tutorial.md",
5792
+ "startLine": 78,
5793
+ "endLine": 78,
5794
+ "startColumn": 1,
5795
+ "endColumn": 45,
5796
+ "startOffset": 2100,
5797
+ "endOffset": 2145,
5798
+ "originalText": "[example link](https://example.com)",
5799
+ "isInline": true,
5800
+ "isAutoDetected": true,
5801
+ "commentFormat": "htmlComment"
5802
+ }
5803
+ ]
5804
+ },
4851
5805
  "description": {
4852
5806
  "type": "string",
4853
5807
  "description": "Description of the step."
@@ -5155,6 +6109,112 @@
5155
6109
  "type": "string",
5156
6110
  "description": "ID of the step."
5157
6111
  },
6112
+ "sourceLocation": {
6113
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
6114
+ "$schema": "http://json-schema.org/draft-07/schema#",
6115
+ "title": "sourceLocation",
6116
+ "type": "object",
6117
+ "readOnly": true,
6118
+ "additionalProperties": false,
6119
+ "properties": {
6120
+ "file": {
6121
+ "type": "string",
6122
+ "description": "Absolute path to the source file containing this test or step.",
6123
+ "readOnly": true
6124
+ },
6125
+ "startLine": {
6126
+ "type": "integer",
6127
+ "description": "1-based line number where this test or step starts.",
6128
+ "minimum": 1,
6129
+ "readOnly": true
6130
+ },
6131
+ "endLine": {
6132
+ "type": "integer",
6133
+ "description": "1-based line number where this test or step ends.",
6134
+ "minimum": 1,
6135
+ "readOnly": true
6136
+ },
6137
+ "startColumn": {
6138
+ "type": "integer",
6139
+ "description": "1-based column number where this test or step starts on startLine.",
6140
+ "minimum": 1,
6141
+ "readOnly": true
6142
+ },
6143
+ "endColumn": {
6144
+ "type": "integer",
6145
+ "description": "1-based column number where this test or step ends on endLine.",
6146
+ "minimum": 1,
6147
+ "readOnly": true
6148
+ },
6149
+ "startOffset": {
6150
+ "type": "integer",
6151
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
6152
+ "minimum": 0,
6153
+ "readOnly": true
6154
+ },
6155
+ "endOffset": {
6156
+ "type": "integer",
6157
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
6158
+ "minimum": 0,
6159
+ "readOnly": true
6160
+ },
6161
+ "originalText": {
6162
+ "type": "string",
6163
+ "description": "The original text content of this test or step as found in the source file.",
6164
+ "readOnly": true
6165
+ },
6166
+ "isInline": {
6167
+ "type": "boolean",
6168
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
6169
+ "default": false,
6170
+ "readOnly": true
6171
+ },
6172
+ "isAutoDetected": {
6173
+ "type": "boolean",
6174
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
6175
+ "default": false,
6176
+ "readOnly": true
6177
+ },
6178
+ "commentFormat": {
6179
+ "type": "string",
6180
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
6181
+ "enum": [
6182
+ "htmlComment",
6183
+ "jsxComment",
6184
+ "linkReference"
6185
+ ],
6186
+ "readOnly": true
6187
+ }
6188
+ },
6189
+ "examples": [
6190
+ {
6191
+ "file": "/path/to/docs/getting-started.md",
6192
+ "startLine": 42,
6193
+ "endLine": 45,
6194
+ "startColumn": 1,
6195
+ "endColumn": 3,
6196
+ "startOffset": 1250,
6197
+ "endOffset": 1350,
6198
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
6199
+ "isInline": true,
6200
+ "isAutoDetected": false,
6201
+ "commentFormat": "htmlComment"
6202
+ },
6203
+ {
6204
+ "file": "/path/to/docs/tutorial.md",
6205
+ "startLine": 78,
6206
+ "endLine": 78,
6207
+ "startColumn": 1,
6208
+ "endColumn": 45,
6209
+ "startOffset": 2100,
6210
+ "endOffset": 2145,
6211
+ "originalText": "[example link](https://example.com)",
6212
+ "isInline": true,
6213
+ "isAutoDetected": true,
6214
+ "commentFormat": "htmlComment"
6215
+ }
6216
+ ]
6217
+ },
5158
6218
  "description": {
5159
6219
  "type": "string",
5160
6220
  "description": "Description of the step."
@@ -5448,6 +6508,112 @@
5448
6508
  "type": "string",
5449
6509
  "description": "ID of the step."
5450
6510
  },
6511
+ "sourceLocation": {
6512
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
6513
+ "$schema": "http://json-schema.org/draft-07/schema#",
6514
+ "title": "sourceLocation",
6515
+ "type": "object",
6516
+ "readOnly": true,
6517
+ "additionalProperties": false,
6518
+ "properties": {
6519
+ "file": {
6520
+ "type": "string",
6521
+ "description": "Absolute path to the source file containing this test or step.",
6522
+ "readOnly": true
6523
+ },
6524
+ "startLine": {
6525
+ "type": "integer",
6526
+ "description": "1-based line number where this test or step starts.",
6527
+ "minimum": 1,
6528
+ "readOnly": true
6529
+ },
6530
+ "endLine": {
6531
+ "type": "integer",
6532
+ "description": "1-based line number where this test or step ends.",
6533
+ "minimum": 1,
6534
+ "readOnly": true
6535
+ },
6536
+ "startColumn": {
6537
+ "type": "integer",
6538
+ "description": "1-based column number where this test or step starts on startLine.",
6539
+ "minimum": 1,
6540
+ "readOnly": true
6541
+ },
6542
+ "endColumn": {
6543
+ "type": "integer",
6544
+ "description": "1-based column number where this test or step ends on endLine.",
6545
+ "minimum": 1,
6546
+ "readOnly": true
6547
+ },
6548
+ "startOffset": {
6549
+ "type": "integer",
6550
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
6551
+ "minimum": 0,
6552
+ "readOnly": true
6553
+ },
6554
+ "endOffset": {
6555
+ "type": "integer",
6556
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
6557
+ "minimum": 0,
6558
+ "readOnly": true
6559
+ },
6560
+ "originalText": {
6561
+ "type": "string",
6562
+ "description": "The original text content of this test or step as found in the source file.",
6563
+ "readOnly": true
6564
+ },
6565
+ "isInline": {
6566
+ "type": "boolean",
6567
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
6568
+ "default": false,
6569
+ "readOnly": true
6570
+ },
6571
+ "isAutoDetected": {
6572
+ "type": "boolean",
6573
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
6574
+ "default": false,
6575
+ "readOnly": true
6576
+ },
6577
+ "commentFormat": {
6578
+ "type": "string",
6579
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
6580
+ "enum": [
6581
+ "htmlComment",
6582
+ "jsxComment",
6583
+ "linkReference"
6584
+ ],
6585
+ "readOnly": true
6586
+ }
6587
+ },
6588
+ "examples": [
6589
+ {
6590
+ "file": "/path/to/docs/getting-started.md",
6591
+ "startLine": 42,
6592
+ "endLine": 45,
6593
+ "startColumn": 1,
6594
+ "endColumn": 3,
6595
+ "startOffset": 1250,
6596
+ "endOffset": 1350,
6597
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
6598
+ "isInline": true,
6599
+ "isAutoDetected": false,
6600
+ "commentFormat": "htmlComment"
6601
+ },
6602
+ {
6603
+ "file": "/path/to/docs/tutorial.md",
6604
+ "startLine": 78,
6605
+ "endLine": 78,
6606
+ "startColumn": 1,
6607
+ "endColumn": 45,
6608
+ "startOffset": 2100,
6609
+ "endOffset": 2145,
6610
+ "originalText": "[example link](https://example.com)",
6611
+ "isInline": true,
6612
+ "isAutoDetected": true,
6613
+ "commentFormat": "htmlComment"
6614
+ }
6615
+ ]
6616
+ },
5451
6617
  "description": {
5452
6618
  "type": "string",
5453
6619
  "description": "Description of the step."
@@ -5763,6 +6929,112 @@
5763
6929
  "type": "string",
5764
6930
  "description": "ID of the step."
5765
6931
  },
6932
+ "sourceLocation": {
6933
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
6934
+ "$schema": "http://json-schema.org/draft-07/schema#",
6935
+ "title": "sourceLocation",
6936
+ "type": "object",
6937
+ "readOnly": true,
6938
+ "additionalProperties": false,
6939
+ "properties": {
6940
+ "file": {
6941
+ "type": "string",
6942
+ "description": "Absolute path to the source file containing this test or step.",
6943
+ "readOnly": true
6944
+ },
6945
+ "startLine": {
6946
+ "type": "integer",
6947
+ "description": "1-based line number where this test or step starts.",
6948
+ "minimum": 1,
6949
+ "readOnly": true
6950
+ },
6951
+ "endLine": {
6952
+ "type": "integer",
6953
+ "description": "1-based line number where this test or step ends.",
6954
+ "minimum": 1,
6955
+ "readOnly": true
6956
+ },
6957
+ "startColumn": {
6958
+ "type": "integer",
6959
+ "description": "1-based column number where this test or step starts on startLine.",
6960
+ "minimum": 1,
6961
+ "readOnly": true
6962
+ },
6963
+ "endColumn": {
6964
+ "type": "integer",
6965
+ "description": "1-based column number where this test or step ends on endLine.",
6966
+ "minimum": 1,
6967
+ "readOnly": true
6968
+ },
6969
+ "startOffset": {
6970
+ "type": "integer",
6971
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
6972
+ "minimum": 0,
6973
+ "readOnly": true
6974
+ },
6975
+ "endOffset": {
6976
+ "type": "integer",
6977
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
6978
+ "minimum": 0,
6979
+ "readOnly": true
6980
+ },
6981
+ "originalText": {
6982
+ "type": "string",
6983
+ "description": "The original text content of this test or step as found in the source file.",
6984
+ "readOnly": true
6985
+ },
6986
+ "isInline": {
6987
+ "type": "boolean",
6988
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
6989
+ "default": false,
6990
+ "readOnly": true
6991
+ },
6992
+ "isAutoDetected": {
6993
+ "type": "boolean",
6994
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
6995
+ "default": false,
6996
+ "readOnly": true
6997
+ },
6998
+ "commentFormat": {
6999
+ "type": "string",
7000
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
7001
+ "enum": [
7002
+ "htmlComment",
7003
+ "jsxComment",
7004
+ "linkReference"
7005
+ ],
7006
+ "readOnly": true
7007
+ }
7008
+ },
7009
+ "examples": [
7010
+ {
7011
+ "file": "/path/to/docs/getting-started.md",
7012
+ "startLine": 42,
7013
+ "endLine": 45,
7014
+ "startColumn": 1,
7015
+ "endColumn": 3,
7016
+ "startOffset": 1250,
7017
+ "endOffset": 1350,
7018
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
7019
+ "isInline": true,
7020
+ "isAutoDetected": false,
7021
+ "commentFormat": "htmlComment"
7022
+ },
7023
+ {
7024
+ "file": "/path/to/docs/tutorial.md",
7025
+ "startLine": 78,
7026
+ "endLine": 78,
7027
+ "startColumn": 1,
7028
+ "endColumn": 45,
7029
+ "startOffset": 2100,
7030
+ "endOffset": 2145,
7031
+ "originalText": "[example link](https://example.com)",
7032
+ "isInline": true,
7033
+ "isAutoDetected": true,
7034
+ "commentFormat": "htmlComment"
7035
+ }
7036
+ ]
7037
+ },
5766
7038
  "description": {
5767
7039
  "type": "string",
5768
7040
  "description": "Description of the step."
@@ -6415,6 +7687,112 @@
6415
7687
  "type": "string",
6416
7688
  "description": "ID of the step."
6417
7689
  },
7690
+ "sourceLocation": {
7691
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
7692
+ "$schema": "http://json-schema.org/draft-07/schema#",
7693
+ "title": "sourceLocation",
7694
+ "type": "object",
7695
+ "readOnly": true,
7696
+ "additionalProperties": false,
7697
+ "properties": {
7698
+ "file": {
7699
+ "type": "string",
7700
+ "description": "Absolute path to the source file containing this test or step.",
7701
+ "readOnly": true
7702
+ },
7703
+ "startLine": {
7704
+ "type": "integer",
7705
+ "description": "1-based line number where this test or step starts.",
7706
+ "minimum": 1,
7707
+ "readOnly": true
7708
+ },
7709
+ "endLine": {
7710
+ "type": "integer",
7711
+ "description": "1-based line number where this test or step ends.",
7712
+ "minimum": 1,
7713
+ "readOnly": true
7714
+ },
7715
+ "startColumn": {
7716
+ "type": "integer",
7717
+ "description": "1-based column number where this test or step starts on startLine.",
7718
+ "minimum": 1,
7719
+ "readOnly": true
7720
+ },
7721
+ "endColumn": {
7722
+ "type": "integer",
7723
+ "description": "1-based column number where this test or step ends on endLine.",
7724
+ "minimum": 1,
7725
+ "readOnly": true
7726
+ },
7727
+ "startOffset": {
7728
+ "type": "integer",
7729
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
7730
+ "minimum": 0,
7731
+ "readOnly": true
7732
+ },
7733
+ "endOffset": {
7734
+ "type": "integer",
7735
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
7736
+ "minimum": 0,
7737
+ "readOnly": true
7738
+ },
7739
+ "originalText": {
7740
+ "type": "string",
7741
+ "description": "The original text content of this test or step as found in the source file.",
7742
+ "readOnly": true
7743
+ },
7744
+ "isInline": {
7745
+ "type": "boolean",
7746
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
7747
+ "default": false,
7748
+ "readOnly": true
7749
+ },
7750
+ "isAutoDetected": {
7751
+ "type": "boolean",
7752
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
7753
+ "default": false,
7754
+ "readOnly": true
7755
+ },
7756
+ "commentFormat": {
7757
+ "type": "string",
7758
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
7759
+ "enum": [
7760
+ "htmlComment",
7761
+ "jsxComment",
7762
+ "linkReference"
7763
+ ],
7764
+ "readOnly": true
7765
+ }
7766
+ },
7767
+ "examples": [
7768
+ {
7769
+ "file": "/path/to/docs/getting-started.md",
7770
+ "startLine": 42,
7771
+ "endLine": 45,
7772
+ "startColumn": 1,
7773
+ "endColumn": 3,
7774
+ "startOffset": 1250,
7775
+ "endOffset": 1350,
7776
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
7777
+ "isInline": true,
7778
+ "isAutoDetected": false,
7779
+ "commentFormat": "htmlComment"
7780
+ },
7781
+ {
7782
+ "file": "/path/to/docs/tutorial.md",
7783
+ "startLine": 78,
7784
+ "endLine": 78,
7785
+ "startColumn": 1,
7786
+ "endColumn": 45,
7787
+ "startOffset": 2100,
7788
+ "endOffset": 2145,
7789
+ "originalText": "[example link](https://example.com)",
7790
+ "isInline": true,
7791
+ "isAutoDetected": true,
7792
+ "commentFormat": "htmlComment"
7793
+ }
7794
+ ]
7795
+ },
6418
7796
  "description": {
6419
7797
  "type": "string",
6420
7798
  "description": "Description of the step."
@@ -6731,33 +8109,139 @@
6731
8109
  "type": "string",
6732
8110
  "description": "ID of the step."
6733
8111
  },
6734
- "description": {
6735
- "type": "string",
6736
- "description": "Description of the step."
6737
- },
6738
- "unsafe": {
6739
- "type": "boolean",
6740
- "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.",
6741
- "default": false
6742
- },
6743
- "outputs": {
8112
+ "sourceLocation": {
8113
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
8114
+ "$schema": "http://json-schema.org/draft-07/schema#",
8115
+ "title": "sourceLocation",
6744
8116
  "type": "object",
6745
- "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.",
6746
- "default": {},
6747
- "patternProperties": {
6748
- "^[A-Za-z0-9_]+$": {
8117
+ "readOnly": true,
8118
+ "additionalProperties": false,
8119
+ "properties": {
8120
+ "file": {
6749
8121
  "type": "string",
6750
- "description": "Runtime expression for a user-defined output value."
6751
- }
6752
- },
6753
- "title": "Outputs (step)"
6754
- },
6755
- "variables": {
6756
- "type": "object",
6757
- "description": "Environment variables to set from user-defined expressions.",
6758
- "default": {},
6759
- "patternProperties": {
6760
- "^[A-Za-z0-9_]+$": {
8122
+ "description": "Absolute path to the source file containing this test or step.",
8123
+ "readOnly": true
8124
+ },
8125
+ "startLine": {
8126
+ "type": "integer",
8127
+ "description": "1-based line number where this test or step starts.",
8128
+ "minimum": 1,
8129
+ "readOnly": true
8130
+ },
8131
+ "endLine": {
8132
+ "type": "integer",
8133
+ "description": "1-based line number where this test or step ends.",
8134
+ "minimum": 1,
8135
+ "readOnly": true
8136
+ },
8137
+ "startColumn": {
8138
+ "type": "integer",
8139
+ "description": "1-based column number where this test or step starts on startLine.",
8140
+ "minimum": 1,
8141
+ "readOnly": true
8142
+ },
8143
+ "endColumn": {
8144
+ "type": "integer",
8145
+ "description": "1-based column number where this test or step ends on endLine.",
8146
+ "minimum": 1,
8147
+ "readOnly": true
8148
+ },
8149
+ "startOffset": {
8150
+ "type": "integer",
8151
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
8152
+ "minimum": 0,
8153
+ "readOnly": true
8154
+ },
8155
+ "endOffset": {
8156
+ "type": "integer",
8157
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
8158
+ "minimum": 0,
8159
+ "readOnly": true
8160
+ },
8161
+ "originalText": {
8162
+ "type": "string",
8163
+ "description": "The original text content of this test or step as found in the source file.",
8164
+ "readOnly": true
8165
+ },
8166
+ "isInline": {
8167
+ "type": "boolean",
8168
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
8169
+ "default": false,
8170
+ "readOnly": true
8171
+ },
8172
+ "isAutoDetected": {
8173
+ "type": "boolean",
8174
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
8175
+ "default": false,
8176
+ "readOnly": true
8177
+ },
8178
+ "commentFormat": {
8179
+ "type": "string",
8180
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
8181
+ "enum": [
8182
+ "htmlComment",
8183
+ "jsxComment",
8184
+ "linkReference"
8185
+ ],
8186
+ "readOnly": true
8187
+ }
8188
+ },
8189
+ "examples": [
8190
+ {
8191
+ "file": "/path/to/docs/getting-started.md",
8192
+ "startLine": 42,
8193
+ "endLine": 45,
8194
+ "startColumn": 1,
8195
+ "endColumn": 3,
8196
+ "startOffset": 1250,
8197
+ "endOffset": 1350,
8198
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
8199
+ "isInline": true,
8200
+ "isAutoDetected": false,
8201
+ "commentFormat": "htmlComment"
8202
+ },
8203
+ {
8204
+ "file": "/path/to/docs/tutorial.md",
8205
+ "startLine": 78,
8206
+ "endLine": 78,
8207
+ "startColumn": 1,
8208
+ "endColumn": 45,
8209
+ "startOffset": 2100,
8210
+ "endOffset": 2145,
8211
+ "originalText": "[example link](https://example.com)",
8212
+ "isInline": true,
8213
+ "isAutoDetected": true,
8214
+ "commentFormat": "htmlComment"
8215
+ }
8216
+ ]
8217
+ },
8218
+ "description": {
8219
+ "type": "string",
8220
+ "description": "Description of the step."
8221
+ },
8222
+ "unsafe": {
8223
+ "type": "boolean",
8224
+ "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.",
8225
+ "default": false
8226
+ },
8227
+ "outputs": {
8228
+ "type": "object",
8229
+ "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.",
8230
+ "default": {},
8231
+ "patternProperties": {
8232
+ "^[A-Za-z0-9_]+$": {
8233
+ "type": "string",
8234
+ "description": "Runtime expression for a user-defined output value."
8235
+ }
8236
+ },
8237
+ "title": "Outputs (step)"
8238
+ },
8239
+ "variables": {
8240
+ "type": "object",
8241
+ "description": "Environment variables to set from user-defined expressions.",
8242
+ "default": {},
8243
+ "patternProperties": {
8244
+ "^[A-Za-z0-9_]+$": {
6761
8245
  "type": "string",
6762
8246
  "description": "Runtime expression for a user-defined output value."
6763
8247
  }
@@ -6903,6 +8387,112 @@
6903
8387
  "type": "string",
6904
8388
  "description": "ID of the step."
6905
8389
  },
8390
+ "sourceLocation": {
8391
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
8392
+ "$schema": "http://json-schema.org/draft-07/schema#",
8393
+ "title": "sourceLocation",
8394
+ "type": "object",
8395
+ "readOnly": true,
8396
+ "additionalProperties": false,
8397
+ "properties": {
8398
+ "file": {
8399
+ "type": "string",
8400
+ "description": "Absolute path to the source file containing this test or step.",
8401
+ "readOnly": true
8402
+ },
8403
+ "startLine": {
8404
+ "type": "integer",
8405
+ "description": "1-based line number where this test or step starts.",
8406
+ "minimum": 1,
8407
+ "readOnly": true
8408
+ },
8409
+ "endLine": {
8410
+ "type": "integer",
8411
+ "description": "1-based line number where this test or step ends.",
8412
+ "minimum": 1,
8413
+ "readOnly": true
8414
+ },
8415
+ "startColumn": {
8416
+ "type": "integer",
8417
+ "description": "1-based column number where this test or step starts on startLine.",
8418
+ "minimum": 1,
8419
+ "readOnly": true
8420
+ },
8421
+ "endColumn": {
8422
+ "type": "integer",
8423
+ "description": "1-based column number where this test or step ends on endLine.",
8424
+ "minimum": 1,
8425
+ "readOnly": true
8426
+ },
8427
+ "startOffset": {
8428
+ "type": "integer",
8429
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
8430
+ "minimum": 0,
8431
+ "readOnly": true
8432
+ },
8433
+ "endOffset": {
8434
+ "type": "integer",
8435
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
8436
+ "minimum": 0,
8437
+ "readOnly": true
8438
+ },
8439
+ "originalText": {
8440
+ "type": "string",
8441
+ "description": "The original text content of this test or step as found in the source file.",
8442
+ "readOnly": true
8443
+ },
8444
+ "isInline": {
8445
+ "type": "boolean",
8446
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
8447
+ "default": false,
8448
+ "readOnly": true
8449
+ },
8450
+ "isAutoDetected": {
8451
+ "type": "boolean",
8452
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
8453
+ "default": false,
8454
+ "readOnly": true
8455
+ },
8456
+ "commentFormat": {
8457
+ "type": "string",
8458
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
8459
+ "enum": [
8460
+ "htmlComment",
8461
+ "jsxComment",
8462
+ "linkReference"
8463
+ ],
8464
+ "readOnly": true
8465
+ }
8466
+ },
8467
+ "examples": [
8468
+ {
8469
+ "file": "/path/to/docs/getting-started.md",
8470
+ "startLine": 42,
8471
+ "endLine": 45,
8472
+ "startColumn": 1,
8473
+ "endColumn": 3,
8474
+ "startOffset": 1250,
8475
+ "endOffset": 1350,
8476
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
8477
+ "isInline": true,
8478
+ "isAutoDetected": false,
8479
+ "commentFormat": "htmlComment"
8480
+ },
8481
+ {
8482
+ "file": "/path/to/docs/tutorial.md",
8483
+ "startLine": 78,
8484
+ "endLine": 78,
8485
+ "startColumn": 1,
8486
+ "endColumn": 45,
8487
+ "startOffset": 2100,
8488
+ "endOffset": 2145,
8489
+ "originalText": "[example link](https://example.com)",
8490
+ "isInline": true,
8491
+ "isAutoDetected": true,
8492
+ "commentFormat": "htmlComment"
8493
+ }
8494
+ ]
8495
+ },
6906
8496
  "description": {
6907
8497
  "type": "string",
6908
8498
  "description": "Description of the step."
@@ -6988,6 +8578,112 @@
6988
8578
  "type": "string",
6989
8579
  "description": "ID of the step."
6990
8580
  },
8581
+ "sourceLocation": {
8582
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
8583
+ "$schema": "http://json-schema.org/draft-07/schema#",
8584
+ "title": "sourceLocation",
8585
+ "type": "object",
8586
+ "readOnly": true,
8587
+ "additionalProperties": false,
8588
+ "properties": {
8589
+ "file": {
8590
+ "type": "string",
8591
+ "description": "Absolute path to the source file containing this test or step.",
8592
+ "readOnly": true
8593
+ },
8594
+ "startLine": {
8595
+ "type": "integer",
8596
+ "description": "1-based line number where this test or step starts.",
8597
+ "minimum": 1,
8598
+ "readOnly": true
8599
+ },
8600
+ "endLine": {
8601
+ "type": "integer",
8602
+ "description": "1-based line number where this test or step ends.",
8603
+ "minimum": 1,
8604
+ "readOnly": true
8605
+ },
8606
+ "startColumn": {
8607
+ "type": "integer",
8608
+ "description": "1-based column number where this test or step starts on startLine.",
8609
+ "minimum": 1,
8610
+ "readOnly": true
8611
+ },
8612
+ "endColumn": {
8613
+ "type": "integer",
8614
+ "description": "1-based column number where this test or step ends on endLine.",
8615
+ "minimum": 1,
8616
+ "readOnly": true
8617
+ },
8618
+ "startOffset": {
8619
+ "type": "integer",
8620
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
8621
+ "minimum": 0,
8622
+ "readOnly": true
8623
+ },
8624
+ "endOffset": {
8625
+ "type": "integer",
8626
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
8627
+ "minimum": 0,
8628
+ "readOnly": true
8629
+ },
8630
+ "originalText": {
8631
+ "type": "string",
8632
+ "description": "The original text content of this test or step as found in the source file.",
8633
+ "readOnly": true
8634
+ },
8635
+ "isInline": {
8636
+ "type": "boolean",
8637
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
8638
+ "default": false,
8639
+ "readOnly": true
8640
+ },
8641
+ "isAutoDetected": {
8642
+ "type": "boolean",
8643
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
8644
+ "default": false,
8645
+ "readOnly": true
8646
+ },
8647
+ "commentFormat": {
8648
+ "type": "string",
8649
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
8650
+ "enum": [
8651
+ "htmlComment",
8652
+ "jsxComment",
8653
+ "linkReference"
8654
+ ],
8655
+ "readOnly": true
8656
+ }
8657
+ },
8658
+ "examples": [
8659
+ {
8660
+ "file": "/path/to/docs/getting-started.md",
8661
+ "startLine": 42,
8662
+ "endLine": 45,
8663
+ "startColumn": 1,
8664
+ "endColumn": 3,
8665
+ "startOffset": 1250,
8666
+ "endOffset": 1350,
8667
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
8668
+ "isInline": true,
8669
+ "isAutoDetected": false,
8670
+ "commentFormat": "htmlComment"
8671
+ },
8672
+ {
8673
+ "file": "/path/to/docs/tutorial.md",
8674
+ "startLine": 78,
8675
+ "endLine": 78,
8676
+ "startColumn": 1,
8677
+ "endColumn": 45,
8678
+ "startOffset": 2100,
8679
+ "endOffset": 2145,
8680
+ "originalText": "[example link](https://example.com)",
8681
+ "isInline": true,
8682
+ "isAutoDetected": true,
8683
+ "commentFormat": "htmlComment"
8684
+ }
8685
+ ]
8686
+ },
6991
8687
  "description": {
6992
8688
  "type": "string",
6993
8689
  "description": "Description of the step."
@@ -7068,6 +8764,112 @@
7068
8764
  "type": "string",
7069
8765
  "description": "ID of the step."
7070
8766
  },
8767
+ "sourceLocation": {
8768
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
8769
+ "$schema": "http://json-schema.org/draft-07/schema#",
8770
+ "title": "sourceLocation",
8771
+ "type": "object",
8772
+ "readOnly": true,
8773
+ "additionalProperties": false,
8774
+ "properties": {
8775
+ "file": {
8776
+ "type": "string",
8777
+ "description": "Absolute path to the source file containing this test or step.",
8778
+ "readOnly": true
8779
+ },
8780
+ "startLine": {
8781
+ "type": "integer",
8782
+ "description": "1-based line number where this test or step starts.",
8783
+ "minimum": 1,
8784
+ "readOnly": true
8785
+ },
8786
+ "endLine": {
8787
+ "type": "integer",
8788
+ "description": "1-based line number where this test or step ends.",
8789
+ "minimum": 1,
8790
+ "readOnly": true
8791
+ },
8792
+ "startColumn": {
8793
+ "type": "integer",
8794
+ "description": "1-based column number where this test or step starts on startLine.",
8795
+ "minimum": 1,
8796
+ "readOnly": true
8797
+ },
8798
+ "endColumn": {
8799
+ "type": "integer",
8800
+ "description": "1-based column number where this test or step ends on endLine.",
8801
+ "minimum": 1,
8802
+ "readOnly": true
8803
+ },
8804
+ "startOffset": {
8805
+ "type": "integer",
8806
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
8807
+ "minimum": 0,
8808
+ "readOnly": true
8809
+ },
8810
+ "endOffset": {
8811
+ "type": "integer",
8812
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
8813
+ "minimum": 0,
8814
+ "readOnly": true
8815
+ },
8816
+ "originalText": {
8817
+ "type": "string",
8818
+ "description": "The original text content of this test or step as found in the source file.",
8819
+ "readOnly": true
8820
+ },
8821
+ "isInline": {
8822
+ "type": "boolean",
8823
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
8824
+ "default": false,
8825
+ "readOnly": true
8826
+ },
8827
+ "isAutoDetected": {
8828
+ "type": "boolean",
8829
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
8830
+ "default": false,
8831
+ "readOnly": true
8832
+ },
8833
+ "commentFormat": {
8834
+ "type": "string",
8835
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
8836
+ "enum": [
8837
+ "htmlComment",
8838
+ "jsxComment",
8839
+ "linkReference"
8840
+ ],
8841
+ "readOnly": true
8842
+ }
8843
+ },
8844
+ "examples": [
8845
+ {
8846
+ "file": "/path/to/docs/getting-started.md",
8847
+ "startLine": 42,
8848
+ "endLine": 45,
8849
+ "startColumn": 1,
8850
+ "endColumn": 3,
8851
+ "startOffset": 1250,
8852
+ "endOffset": 1350,
8853
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
8854
+ "isInline": true,
8855
+ "isAutoDetected": false,
8856
+ "commentFormat": "htmlComment"
8857
+ },
8858
+ {
8859
+ "file": "/path/to/docs/tutorial.md",
8860
+ "startLine": 78,
8861
+ "endLine": 78,
8862
+ "startColumn": 1,
8863
+ "endColumn": 45,
8864
+ "startOffset": 2100,
8865
+ "endOffset": 2145,
8866
+ "originalText": "[example link](https://example.com)",
8867
+ "isInline": true,
8868
+ "isAutoDetected": true,
8869
+ "commentFormat": "htmlComment"
8870
+ }
8871
+ ]
8872
+ },
7071
8873
  "description": {
7072
8874
  "type": "string",
7073
8875
  "description": "Description of the step."
@@ -7635,6 +9437,112 @@
7635
9437
  "type": "string",
7636
9438
  "description": "ID of the step."
7637
9439
  },
9440
+ "sourceLocation": {
9441
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
9442
+ "$schema": "http://json-schema.org/draft-07/schema#",
9443
+ "title": "sourceLocation",
9444
+ "type": "object",
9445
+ "readOnly": true,
9446
+ "additionalProperties": false,
9447
+ "properties": {
9448
+ "file": {
9449
+ "type": "string",
9450
+ "description": "Absolute path to the source file containing this test or step.",
9451
+ "readOnly": true
9452
+ },
9453
+ "startLine": {
9454
+ "type": "integer",
9455
+ "description": "1-based line number where this test or step starts.",
9456
+ "minimum": 1,
9457
+ "readOnly": true
9458
+ },
9459
+ "endLine": {
9460
+ "type": "integer",
9461
+ "description": "1-based line number where this test or step ends.",
9462
+ "minimum": 1,
9463
+ "readOnly": true
9464
+ },
9465
+ "startColumn": {
9466
+ "type": "integer",
9467
+ "description": "1-based column number where this test or step starts on startLine.",
9468
+ "minimum": 1,
9469
+ "readOnly": true
9470
+ },
9471
+ "endColumn": {
9472
+ "type": "integer",
9473
+ "description": "1-based column number where this test or step ends on endLine.",
9474
+ "minimum": 1,
9475
+ "readOnly": true
9476
+ },
9477
+ "startOffset": {
9478
+ "type": "integer",
9479
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
9480
+ "minimum": 0,
9481
+ "readOnly": true
9482
+ },
9483
+ "endOffset": {
9484
+ "type": "integer",
9485
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
9486
+ "minimum": 0,
9487
+ "readOnly": true
9488
+ },
9489
+ "originalText": {
9490
+ "type": "string",
9491
+ "description": "The original text content of this test or step as found in the source file.",
9492
+ "readOnly": true
9493
+ },
9494
+ "isInline": {
9495
+ "type": "boolean",
9496
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
9497
+ "default": false,
9498
+ "readOnly": true
9499
+ },
9500
+ "isAutoDetected": {
9501
+ "type": "boolean",
9502
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
9503
+ "default": false,
9504
+ "readOnly": true
9505
+ },
9506
+ "commentFormat": {
9507
+ "type": "string",
9508
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
9509
+ "enum": [
9510
+ "htmlComment",
9511
+ "jsxComment",
9512
+ "linkReference"
9513
+ ],
9514
+ "readOnly": true
9515
+ }
9516
+ },
9517
+ "examples": [
9518
+ {
9519
+ "file": "/path/to/docs/getting-started.md",
9520
+ "startLine": 42,
9521
+ "endLine": 45,
9522
+ "startColumn": 1,
9523
+ "endColumn": 3,
9524
+ "startOffset": 1250,
9525
+ "endOffset": 1350,
9526
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
9527
+ "isInline": true,
9528
+ "isAutoDetected": false,
9529
+ "commentFormat": "htmlComment"
9530
+ },
9531
+ {
9532
+ "file": "/path/to/docs/tutorial.md",
9533
+ "startLine": 78,
9534
+ "endLine": 78,
9535
+ "startColumn": 1,
9536
+ "endColumn": 45,
9537
+ "startOffset": 2100,
9538
+ "endOffset": 2145,
9539
+ "originalText": "[example link](https://example.com)",
9540
+ "isInline": true,
9541
+ "isAutoDetected": true,
9542
+ "commentFormat": "htmlComment"
9543
+ }
9544
+ ]
9545
+ },
7638
9546
  "description": {
7639
9547
  "type": "string",
7640
9548
  "description": "Description of the step."
@@ -7934,6 +9842,112 @@
7934
9842
  "type": "string",
7935
9843
  "description": "ID of the step."
7936
9844
  },
9845
+ "sourceLocation": {
9846
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
9847
+ "$schema": "http://json-schema.org/draft-07/schema#",
9848
+ "title": "sourceLocation",
9849
+ "type": "object",
9850
+ "readOnly": true,
9851
+ "additionalProperties": false,
9852
+ "properties": {
9853
+ "file": {
9854
+ "type": "string",
9855
+ "description": "Absolute path to the source file containing this test or step.",
9856
+ "readOnly": true
9857
+ },
9858
+ "startLine": {
9859
+ "type": "integer",
9860
+ "description": "1-based line number where this test or step starts.",
9861
+ "minimum": 1,
9862
+ "readOnly": true
9863
+ },
9864
+ "endLine": {
9865
+ "type": "integer",
9866
+ "description": "1-based line number where this test or step ends.",
9867
+ "minimum": 1,
9868
+ "readOnly": true
9869
+ },
9870
+ "startColumn": {
9871
+ "type": "integer",
9872
+ "description": "1-based column number where this test or step starts on startLine.",
9873
+ "minimum": 1,
9874
+ "readOnly": true
9875
+ },
9876
+ "endColumn": {
9877
+ "type": "integer",
9878
+ "description": "1-based column number where this test or step ends on endLine.",
9879
+ "minimum": 1,
9880
+ "readOnly": true
9881
+ },
9882
+ "startOffset": {
9883
+ "type": "integer",
9884
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
9885
+ "minimum": 0,
9886
+ "readOnly": true
9887
+ },
9888
+ "endOffset": {
9889
+ "type": "integer",
9890
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
9891
+ "minimum": 0,
9892
+ "readOnly": true
9893
+ },
9894
+ "originalText": {
9895
+ "type": "string",
9896
+ "description": "The original text content of this test or step as found in the source file.",
9897
+ "readOnly": true
9898
+ },
9899
+ "isInline": {
9900
+ "type": "boolean",
9901
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
9902
+ "default": false,
9903
+ "readOnly": true
9904
+ },
9905
+ "isAutoDetected": {
9906
+ "type": "boolean",
9907
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
9908
+ "default": false,
9909
+ "readOnly": true
9910
+ },
9911
+ "commentFormat": {
9912
+ "type": "string",
9913
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
9914
+ "enum": [
9915
+ "htmlComment",
9916
+ "jsxComment",
9917
+ "linkReference"
9918
+ ],
9919
+ "readOnly": true
9920
+ }
9921
+ },
9922
+ "examples": [
9923
+ {
9924
+ "file": "/path/to/docs/getting-started.md",
9925
+ "startLine": 42,
9926
+ "endLine": 45,
9927
+ "startColumn": 1,
9928
+ "endColumn": 3,
9929
+ "startOffset": 1250,
9930
+ "endOffset": 1350,
9931
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
9932
+ "isInline": true,
9933
+ "isAutoDetected": false,
9934
+ "commentFormat": "htmlComment"
9935
+ },
9936
+ {
9937
+ "file": "/path/to/docs/tutorial.md",
9938
+ "startLine": 78,
9939
+ "endLine": 78,
9940
+ "startColumn": 1,
9941
+ "endColumn": 45,
9942
+ "startOffset": 2100,
9943
+ "endOffset": 2145,
9944
+ "originalText": "[example link](https://example.com)",
9945
+ "isInline": true,
9946
+ "isAutoDetected": true,
9947
+ "commentFormat": "htmlComment"
9948
+ }
9949
+ ]
9950
+ },
7937
9951
  "description": {
7938
9952
  "type": "string",
7939
9953
  "description": "Description of the step."
@@ -8699,24 +10713,130 @@
8699
10713
  "type": "string",
8700
10714
  "description": "ID of the step."
8701
10715
  },
8702
- "description": {
8703
- "type": "string",
8704
- "description": "Description of the step."
8705
- },
8706
- "unsafe": {
8707
- "type": "boolean",
8708
- "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.",
8709
- "default": false
8710
- },
8711
- "outputs": {
10716
+ "sourceLocation": {
10717
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
10718
+ "$schema": "http://json-schema.org/draft-07/schema#",
10719
+ "title": "sourceLocation",
8712
10720
  "type": "object",
8713
- "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.",
8714
- "default": {},
8715
- "patternProperties": {
8716
- "^[A-Za-z0-9_]+$": {
10721
+ "readOnly": true,
10722
+ "additionalProperties": false,
10723
+ "properties": {
10724
+ "file": {
8717
10725
  "type": "string",
8718
- "description": "Runtime expression for a user-defined output value."
8719
- }
10726
+ "description": "Absolute path to the source file containing this test or step.",
10727
+ "readOnly": true
10728
+ },
10729
+ "startLine": {
10730
+ "type": "integer",
10731
+ "description": "1-based line number where this test or step starts.",
10732
+ "minimum": 1,
10733
+ "readOnly": true
10734
+ },
10735
+ "endLine": {
10736
+ "type": "integer",
10737
+ "description": "1-based line number where this test or step ends.",
10738
+ "minimum": 1,
10739
+ "readOnly": true
10740
+ },
10741
+ "startColumn": {
10742
+ "type": "integer",
10743
+ "description": "1-based column number where this test or step starts on startLine.",
10744
+ "minimum": 1,
10745
+ "readOnly": true
10746
+ },
10747
+ "endColumn": {
10748
+ "type": "integer",
10749
+ "description": "1-based column number where this test or step ends on endLine.",
10750
+ "minimum": 1,
10751
+ "readOnly": true
10752
+ },
10753
+ "startOffset": {
10754
+ "type": "integer",
10755
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
10756
+ "minimum": 0,
10757
+ "readOnly": true
10758
+ },
10759
+ "endOffset": {
10760
+ "type": "integer",
10761
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
10762
+ "minimum": 0,
10763
+ "readOnly": true
10764
+ },
10765
+ "originalText": {
10766
+ "type": "string",
10767
+ "description": "The original text content of this test or step as found in the source file.",
10768
+ "readOnly": true
10769
+ },
10770
+ "isInline": {
10771
+ "type": "boolean",
10772
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
10773
+ "default": false,
10774
+ "readOnly": true
10775
+ },
10776
+ "isAutoDetected": {
10777
+ "type": "boolean",
10778
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
10779
+ "default": false,
10780
+ "readOnly": true
10781
+ },
10782
+ "commentFormat": {
10783
+ "type": "string",
10784
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
10785
+ "enum": [
10786
+ "htmlComment",
10787
+ "jsxComment",
10788
+ "linkReference"
10789
+ ],
10790
+ "readOnly": true
10791
+ }
10792
+ },
10793
+ "examples": [
10794
+ {
10795
+ "file": "/path/to/docs/getting-started.md",
10796
+ "startLine": 42,
10797
+ "endLine": 45,
10798
+ "startColumn": 1,
10799
+ "endColumn": 3,
10800
+ "startOffset": 1250,
10801
+ "endOffset": 1350,
10802
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
10803
+ "isInline": true,
10804
+ "isAutoDetected": false,
10805
+ "commentFormat": "htmlComment"
10806
+ },
10807
+ {
10808
+ "file": "/path/to/docs/tutorial.md",
10809
+ "startLine": 78,
10810
+ "endLine": 78,
10811
+ "startColumn": 1,
10812
+ "endColumn": 45,
10813
+ "startOffset": 2100,
10814
+ "endOffset": 2145,
10815
+ "originalText": "[example link](https://example.com)",
10816
+ "isInline": true,
10817
+ "isAutoDetected": true,
10818
+ "commentFormat": "htmlComment"
10819
+ }
10820
+ ]
10821
+ },
10822
+ "description": {
10823
+ "type": "string",
10824
+ "description": "Description of the step."
10825
+ },
10826
+ "unsafe": {
10827
+ "type": "boolean",
10828
+ "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.",
10829
+ "default": false
10830
+ },
10831
+ "outputs": {
10832
+ "type": "object",
10833
+ "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.",
10834
+ "default": {},
10835
+ "patternProperties": {
10836
+ "^[A-Za-z0-9_]+$": {
10837
+ "type": "string",
10838
+ "description": "Runtime expression for a user-defined output value."
10839
+ }
8720
10840
  },
8721
10841
  "title": "Outputs (step)"
8722
10842
  },
@@ -8751,6 +10871,112 @@
8751
10871
  "type": "string",
8752
10872
  "description": "ID of the step."
8753
10873
  },
10874
+ "sourceLocation": {
10875
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
10876
+ "$schema": "http://json-schema.org/draft-07/schema#",
10877
+ "title": "sourceLocation",
10878
+ "type": "object",
10879
+ "readOnly": true,
10880
+ "additionalProperties": false,
10881
+ "properties": {
10882
+ "file": {
10883
+ "type": "string",
10884
+ "description": "Absolute path to the source file containing this test or step.",
10885
+ "readOnly": true
10886
+ },
10887
+ "startLine": {
10888
+ "type": "integer",
10889
+ "description": "1-based line number where this test or step starts.",
10890
+ "minimum": 1,
10891
+ "readOnly": true
10892
+ },
10893
+ "endLine": {
10894
+ "type": "integer",
10895
+ "description": "1-based line number where this test or step ends.",
10896
+ "minimum": 1,
10897
+ "readOnly": true
10898
+ },
10899
+ "startColumn": {
10900
+ "type": "integer",
10901
+ "description": "1-based column number where this test or step starts on startLine.",
10902
+ "minimum": 1,
10903
+ "readOnly": true
10904
+ },
10905
+ "endColumn": {
10906
+ "type": "integer",
10907
+ "description": "1-based column number where this test or step ends on endLine.",
10908
+ "minimum": 1,
10909
+ "readOnly": true
10910
+ },
10911
+ "startOffset": {
10912
+ "type": "integer",
10913
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
10914
+ "minimum": 0,
10915
+ "readOnly": true
10916
+ },
10917
+ "endOffset": {
10918
+ "type": "integer",
10919
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
10920
+ "minimum": 0,
10921
+ "readOnly": true
10922
+ },
10923
+ "originalText": {
10924
+ "type": "string",
10925
+ "description": "The original text content of this test or step as found in the source file.",
10926
+ "readOnly": true
10927
+ },
10928
+ "isInline": {
10929
+ "type": "boolean",
10930
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
10931
+ "default": false,
10932
+ "readOnly": true
10933
+ },
10934
+ "isAutoDetected": {
10935
+ "type": "boolean",
10936
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
10937
+ "default": false,
10938
+ "readOnly": true
10939
+ },
10940
+ "commentFormat": {
10941
+ "type": "string",
10942
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
10943
+ "enum": [
10944
+ "htmlComment",
10945
+ "jsxComment",
10946
+ "linkReference"
10947
+ ],
10948
+ "readOnly": true
10949
+ }
10950
+ },
10951
+ "examples": [
10952
+ {
10953
+ "file": "/path/to/docs/getting-started.md",
10954
+ "startLine": 42,
10955
+ "endLine": 45,
10956
+ "startColumn": 1,
10957
+ "endColumn": 3,
10958
+ "startOffset": 1250,
10959
+ "endOffset": 1350,
10960
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
10961
+ "isInline": true,
10962
+ "isAutoDetected": false,
10963
+ "commentFormat": "htmlComment"
10964
+ },
10965
+ {
10966
+ "file": "/path/to/docs/tutorial.md",
10967
+ "startLine": 78,
10968
+ "endLine": 78,
10969
+ "startColumn": 1,
10970
+ "endColumn": 45,
10971
+ "startOffset": 2100,
10972
+ "endOffset": 2145,
10973
+ "originalText": "[example link](https://example.com)",
10974
+ "isInline": true,
10975
+ "isAutoDetected": true,
10976
+ "commentFormat": "htmlComment"
10977
+ }
10978
+ ]
10979
+ },
8754
10980
  "description": {
8755
10981
  "type": "string",
8756
10982
  "description": "Description of the step."
@@ -8811,6 +11037,112 @@
8811
11037
  "type": "string",
8812
11038
  "description": "ID of the step."
8813
11039
  },
11040
+ "sourceLocation": {
11041
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
11042
+ "$schema": "http://json-schema.org/draft-07/schema#",
11043
+ "title": "sourceLocation",
11044
+ "type": "object",
11045
+ "readOnly": true,
11046
+ "additionalProperties": false,
11047
+ "properties": {
11048
+ "file": {
11049
+ "type": "string",
11050
+ "description": "Absolute path to the source file containing this test or step.",
11051
+ "readOnly": true
11052
+ },
11053
+ "startLine": {
11054
+ "type": "integer",
11055
+ "description": "1-based line number where this test or step starts.",
11056
+ "minimum": 1,
11057
+ "readOnly": true
11058
+ },
11059
+ "endLine": {
11060
+ "type": "integer",
11061
+ "description": "1-based line number where this test or step ends.",
11062
+ "minimum": 1,
11063
+ "readOnly": true
11064
+ },
11065
+ "startColumn": {
11066
+ "type": "integer",
11067
+ "description": "1-based column number where this test or step starts on startLine.",
11068
+ "minimum": 1,
11069
+ "readOnly": true
11070
+ },
11071
+ "endColumn": {
11072
+ "type": "integer",
11073
+ "description": "1-based column number where this test or step ends on endLine.",
11074
+ "minimum": 1,
11075
+ "readOnly": true
11076
+ },
11077
+ "startOffset": {
11078
+ "type": "integer",
11079
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
11080
+ "minimum": 0,
11081
+ "readOnly": true
11082
+ },
11083
+ "endOffset": {
11084
+ "type": "integer",
11085
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
11086
+ "minimum": 0,
11087
+ "readOnly": true
11088
+ },
11089
+ "originalText": {
11090
+ "type": "string",
11091
+ "description": "The original text content of this test or step as found in the source file.",
11092
+ "readOnly": true
11093
+ },
11094
+ "isInline": {
11095
+ "type": "boolean",
11096
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
11097
+ "default": false,
11098
+ "readOnly": true
11099
+ },
11100
+ "isAutoDetected": {
11101
+ "type": "boolean",
11102
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
11103
+ "default": false,
11104
+ "readOnly": true
11105
+ },
11106
+ "commentFormat": {
11107
+ "type": "string",
11108
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
11109
+ "enum": [
11110
+ "htmlComment",
11111
+ "jsxComment",
11112
+ "linkReference"
11113
+ ],
11114
+ "readOnly": true
11115
+ }
11116
+ },
11117
+ "examples": [
11118
+ {
11119
+ "file": "/path/to/docs/getting-started.md",
11120
+ "startLine": 42,
11121
+ "endLine": 45,
11122
+ "startColumn": 1,
11123
+ "endColumn": 3,
11124
+ "startOffset": 1250,
11125
+ "endOffset": 1350,
11126
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
11127
+ "isInline": true,
11128
+ "isAutoDetected": false,
11129
+ "commentFormat": "htmlComment"
11130
+ },
11131
+ {
11132
+ "file": "/path/to/docs/tutorial.md",
11133
+ "startLine": 78,
11134
+ "endLine": 78,
11135
+ "startColumn": 1,
11136
+ "endColumn": 45,
11137
+ "startOffset": 2100,
11138
+ "endOffset": 2145,
11139
+ "originalText": "[example link](https://example.com)",
11140
+ "isInline": true,
11141
+ "isAutoDetected": true,
11142
+ "commentFormat": "htmlComment"
11143
+ }
11144
+ ]
11145
+ },
8814
11146
  "description": {
8815
11147
  "type": "string",
8816
11148
  "description": "Description of the step."
@@ -9027,6 +11359,112 @@
9027
11359
  "type": "string",
9028
11360
  "description": "ID of the step."
9029
11361
  },
11362
+ "sourceLocation": {
11363
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
11364
+ "$schema": "http://json-schema.org/draft-07/schema#",
11365
+ "title": "sourceLocation",
11366
+ "type": "object",
11367
+ "readOnly": true,
11368
+ "additionalProperties": false,
11369
+ "properties": {
11370
+ "file": {
11371
+ "type": "string",
11372
+ "description": "Absolute path to the source file containing this test or step.",
11373
+ "readOnly": true
11374
+ },
11375
+ "startLine": {
11376
+ "type": "integer",
11377
+ "description": "1-based line number where this test or step starts.",
11378
+ "minimum": 1,
11379
+ "readOnly": true
11380
+ },
11381
+ "endLine": {
11382
+ "type": "integer",
11383
+ "description": "1-based line number where this test or step ends.",
11384
+ "minimum": 1,
11385
+ "readOnly": true
11386
+ },
11387
+ "startColumn": {
11388
+ "type": "integer",
11389
+ "description": "1-based column number where this test or step starts on startLine.",
11390
+ "minimum": 1,
11391
+ "readOnly": true
11392
+ },
11393
+ "endColumn": {
11394
+ "type": "integer",
11395
+ "description": "1-based column number where this test or step ends on endLine.",
11396
+ "minimum": 1,
11397
+ "readOnly": true
11398
+ },
11399
+ "startOffset": {
11400
+ "type": "integer",
11401
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
11402
+ "minimum": 0,
11403
+ "readOnly": true
11404
+ },
11405
+ "endOffset": {
11406
+ "type": "integer",
11407
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
11408
+ "minimum": 0,
11409
+ "readOnly": true
11410
+ },
11411
+ "originalText": {
11412
+ "type": "string",
11413
+ "description": "The original text content of this test or step as found in the source file.",
11414
+ "readOnly": true
11415
+ },
11416
+ "isInline": {
11417
+ "type": "boolean",
11418
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
11419
+ "default": false,
11420
+ "readOnly": true
11421
+ },
11422
+ "isAutoDetected": {
11423
+ "type": "boolean",
11424
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
11425
+ "default": false,
11426
+ "readOnly": true
11427
+ },
11428
+ "commentFormat": {
11429
+ "type": "string",
11430
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
11431
+ "enum": [
11432
+ "htmlComment",
11433
+ "jsxComment",
11434
+ "linkReference"
11435
+ ],
11436
+ "readOnly": true
11437
+ }
11438
+ },
11439
+ "examples": [
11440
+ {
11441
+ "file": "/path/to/docs/getting-started.md",
11442
+ "startLine": 42,
11443
+ "endLine": 45,
11444
+ "startColumn": 1,
11445
+ "endColumn": 3,
11446
+ "startOffset": 1250,
11447
+ "endOffset": 1350,
11448
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
11449
+ "isInline": true,
11450
+ "isAutoDetected": false,
11451
+ "commentFormat": "htmlComment"
11452
+ },
11453
+ {
11454
+ "file": "/path/to/docs/tutorial.md",
11455
+ "startLine": 78,
11456
+ "endLine": 78,
11457
+ "startColumn": 1,
11458
+ "endColumn": 45,
11459
+ "startOffset": 2100,
11460
+ "endOffset": 2145,
11461
+ "originalText": "[example link](https://example.com)",
11462
+ "isInline": true,
11463
+ "isAutoDetected": true,
11464
+ "commentFormat": "htmlComment"
11465
+ }
11466
+ ]
11467
+ },
9030
11468
  "description": {
9031
11469
  "type": "string",
9032
11470
  "description": "Description of the step."
@@ -9350,6 +11788,112 @@
9350
11788
  "type": "string",
9351
11789
  "description": "ID of the step."
9352
11790
  },
11791
+ "sourceLocation": {
11792
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
11793
+ "$schema": "http://json-schema.org/draft-07/schema#",
11794
+ "title": "sourceLocation",
11795
+ "type": "object",
11796
+ "readOnly": true,
11797
+ "additionalProperties": false,
11798
+ "properties": {
11799
+ "file": {
11800
+ "type": "string",
11801
+ "description": "Absolute path to the source file containing this test or step.",
11802
+ "readOnly": true
11803
+ },
11804
+ "startLine": {
11805
+ "type": "integer",
11806
+ "description": "1-based line number where this test or step starts.",
11807
+ "minimum": 1,
11808
+ "readOnly": true
11809
+ },
11810
+ "endLine": {
11811
+ "type": "integer",
11812
+ "description": "1-based line number where this test or step ends.",
11813
+ "minimum": 1,
11814
+ "readOnly": true
11815
+ },
11816
+ "startColumn": {
11817
+ "type": "integer",
11818
+ "description": "1-based column number where this test or step starts on startLine.",
11819
+ "minimum": 1,
11820
+ "readOnly": true
11821
+ },
11822
+ "endColumn": {
11823
+ "type": "integer",
11824
+ "description": "1-based column number where this test or step ends on endLine.",
11825
+ "minimum": 1,
11826
+ "readOnly": true
11827
+ },
11828
+ "startOffset": {
11829
+ "type": "integer",
11830
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
11831
+ "minimum": 0,
11832
+ "readOnly": true
11833
+ },
11834
+ "endOffset": {
11835
+ "type": "integer",
11836
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
11837
+ "minimum": 0,
11838
+ "readOnly": true
11839
+ },
11840
+ "originalText": {
11841
+ "type": "string",
11842
+ "description": "The original text content of this test or step as found in the source file.",
11843
+ "readOnly": true
11844
+ },
11845
+ "isInline": {
11846
+ "type": "boolean",
11847
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
11848
+ "default": false,
11849
+ "readOnly": true
11850
+ },
11851
+ "isAutoDetected": {
11852
+ "type": "boolean",
11853
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
11854
+ "default": false,
11855
+ "readOnly": true
11856
+ },
11857
+ "commentFormat": {
11858
+ "type": "string",
11859
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
11860
+ "enum": [
11861
+ "htmlComment",
11862
+ "jsxComment",
11863
+ "linkReference"
11864
+ ],
11865
+ "readOnly": true
11866
+ }
11867
+ },
11868
+ "examples": [
11869
+ {
11870
+ "file": "/path/to/docs/getting-started.md",
11871
+ "startLine": 42,
11872
+ "endLine": 45,
11873
+ "startColumn": 1,
11874
+ "endColumn": 3,
11875
+ "startOffset": 1250,
11876
+ "endOffset": 1350,
11877
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
11878
+ "isInline": true,
11879
+ "isAutoDetected": false,
11880
+ "commentFormat": "htmlComment"
11881
+ },
11882
+ {
11883
+ "file": "/path/to/docs/tutorial.md",
11884
+ "startLine": 78,
11885
+ "endLine": 78,
11886
+ "startColumn": 1,
11887
+ "endColumn": 45,
11888
+ "startOffset": 2100,
11889
+ "endOffset": 2145,
11890
+ "originalText": "[example link](https://example.com)",
11891
+ "isInline": true,
11892
+ "isAutoDetected": true,
11893
+ "commentFormat": "htmlComment"
11894
+ }
11895
+ ]
11896
+ },
9353
11897
  "description": {
9354
11898
  "type": "string",
9355
11899
  "description": "Description of the step."
@@ -10770,6 +13314,112 @@
10770
13314
  "type": "string",
10771
13315
  "description": "ID of the step."
10772
13316
  },
13317
+ "sourceLocation": {
13318
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
13319
+ "$schema": "http://json-schema.org/draft-07/schema#",
13320
+ "title": "sourceLocation",
13321
+ "type": "object",
13322
+ "readOnly": true,
13323
+ "additionalProperties": false,
13324
+ "properties": {
13325
+ "file": {
13326
+ "type": "string",
13327
+ "description": "Absolute path to the source file containing this test or step.",
13328
+ "readOnly": true
13329
+ },
13330
+ "startLine": {
13331
+ "type": "integer",
13332
+ "description": "1-based line number where this test or step starts.",
13333
+ "minimum": 1,
13334
+ "readOnly": true
13335
+ },
13336
+ "endLine": {
13337
+ "type": "integer",
13338
+ "description": "1-based line number where this test or step ends.",
13339
+ "minimum": 1,
13340
+ "readOnly": true
13341
+ },
13342
+ "startColumn": {
13343
+ "type": "integer",
13344
+ "description": "1-based column number where this test or step starts on startLine.",
13345
+ "minimum": 1,
13346
+ "readOnly": true
13347
+ },
13348
+ "endColumn": {
13349
+ "type": "integer",
13350
+ "description": "1-based column number where this test or step ends on endLine.",
13351
+ "minimum": 1,
13352
+ "readOnly": true
13353
+ },
13354
+ "startOffset": {
13355
+ "type": "integer",
13356
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
13357
+ "minimum": 0,
13358
+ "readOnly": true
13359
+ },
13360
+ "endOffset": {
13361
+ "type": "integer",
13362
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
13363
+ "minimum": 0,
13364
+ "readOnly": true
13365
+ },
13366
+ "originalText": {
13367
+ "type": "string",
13368
+ "description": "The original text content of this test or step as found in the source file.",
13369
+ "readOnly": true
13370
+ },
13371
+ "isInline": {
13372
+ "type": "boolean",
13373
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
13374
+ "default": false,
13375
+ "readOnly": true
13376
+ },
13377
+ "isAutoDetected": {
13378
+ "type": "boolean",
13379
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
13380
+ "default": false,
13381
+ "readOnly": true
13382
+ },
13383
+ "commentFormat": {
13384
+ "type": "string",
13385
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
13386
+ "enum": [
13387
+ "htmlComment",
13388
+ "jsxComment",
13389
+ "linkReference"
13390
+ ],
13391
+ "readOnly": true
13392
+ }
13393
+ },
13394
+ "examples": [
13395
+ {
13396
+ "file": "/path/to/docs/getting-started.md",
13397
+ "startLine": 42,
13398
+ "endLine": 45,
13399
+ "startColumn": 1,
13400
+ "endColumn": 3,
13401
+ "startOffset": 1250,
13402
+ "endOffset": 1350,
13403
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
13404
+ "isInline": true,
13405
+ "isAutoDetected": false,
13406
+ "commentFormat": "htmlComment"
13407
+ },
13408
+ {
13409
+ "file": "/path/to/docs/tutorial.md",
13410
+ "startLine": 78,
13411
+ "endLine": 78,
13412
+ "startColumn": 1,
13413
+ "endColumn": 45,
13414
+ "startOffset": 2100,
13415
+ "endOffset": 2145,
13416
+ "originalText": "[example link](https://example.com)",
13417
+ "isInline": true,
13418
+ "isAutoDetected": true,
13419
+ "commentFormat": "htmlComment"
13420
+ }
13421
+ ]
13422
+ },
10773
13423
  "description": {
10774
13424
  "type": "string",
10775
13425
  "description": "Description of the step."
@@ -11260,23 +13910,129 @@
11260
13910
  "type": "string",
11261
13911
  "description": "ID of the step."
11262
13912
  },
11263
- "description": {
11264
- "type": "string",
11265
- "description": "Description of the step."
11266
- },
11267
- "unsafe": {
11268
- "type": "boolean",
11269
- "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.",
11270
- "default": false
11271
- },
11272
- "outputs": {
13913
+ "sourceLocation": {
13914
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
13915
+ "$schema": "http://json-schema.org/draft-07/schema#",
13916
+ "title": "sourceLocation",
11273
13917
  "type": "object",
11274
- "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.",
11275
- "default": {},
11276
- "patternProperties": {
11277
- "^[A-Za-z0-9_]+$": {
13918
+ "readOnly": true,
13919
+ "additionalProperties": false,
13920
+ "properties": {
13921
+ "file": {
11278
13922
  "type": "string",
11279
- "description": "Runtime expression for a user-defined output value."
13923
+ "description": "Absolute path to the source file containing this test or step.",
13924
+ "readOnly": true
13925
+ },
13926
+ "startLine": {
13927
+ "type": "integer",
13928
+ "description": "1-based line number where this test or step starts.",
13929
+ "minimum": 1,
13930
+ "readOnly": true
13931
+ },
13932
+ "endLine": {
13933
+ "type": "integer",
13934
+ "description": "1-based line number where this test or step ends.",
13935
+ "minimum": 1,
13936
+ "readOnly": true
13937
+ },
13938
+ "startColumn": {
13939
+ "type": "integer",
13940
+ "description": "1-based column number where this test or step starts on startLine.",
13941
+ "minimum": 1,
13942
+ "readOnly": true
13943
+ },
13944
+ "endColumn": {
13945
+ "type": "integer",
13946
+ "description": "1-based column number where this test or step ends on endLine.",
13947
+ "minimum": 1,
13948
+ "readOnly": true
13949
+ },
13950
+ "startOffset": {
13951
+ "type": "integer",
13952
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
13953
+ "minimum": 0,
13954
+ "readOnly": true
13955
+ },
13956
+ "endOffset": {
13957
+ "type": "integer",
13958
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
13959
+ "minimum": 0,
13960
+ "readOnly": true
13961
+ },
13962
+ "originalText": {
13963
+ "type": "string",
13964
+ "description": "The original text content of this test or step as found in the source file.",
13965
+ "readOnly": true
13966
+ },
13967
+ "isInline": {
13968
+ "type": "boolean",
13969
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
13970
+ "default": false,
13971
+ "readOnly": true
13972
+ },
13973
+ "isAutoDetected": {
13974
+ "type": "boolean",
13975
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
13976
+ "default": false,
13977
+ "readOnly": true
13978
+ },
13979
+ "commentFormat": {
13980
+ "type": "string",
13981
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
13982
+ "enum": [
13983
+ "htmlComment",
13984
+ "jsxComment",
13985
+ "linkReference"
13986
+ ],
13987
+ "readOnly": true
13988
+ }
13989
+ },
13990
+ "examples": [
13991
+ {
13992
+ "file": "/path/to/docs/getting-started.md",
13993
+ "startLine": 42,
13994
+ "endLine": 45,
13995
+ "startColumn": 1,
13996
+ "endColumn": 3,
13997
+ "startOffset": 1250,
13998
+ "endOffset": 1350,
13999
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
14000
+ "isInline": true,
14001
+ "isAutoDetected": false,
14002
+ "commentFormat": "htmlComment"
14003
+ },
14004
+ {
14005
+ "file": "/path/to/docs/tutorial.md",
14006
+ "startLine": 78,
14007
+ "endLine": 78,
14008
+ "startColumn": 1,
14009
+ "endColumn": 45,
14010
+ "startOffset": 2100,
14011
+ "endOffset": 2145,
14012
+ "originalText": "[example link](https://example.com)",
14013
+ "isInline": true,
14014
+ "isAutoDetected": true,
14015
+ "commentFormat": "htmlComment"
14016
+ }
14017
+ ]
14018
+ },
14019
+ "description": {
14020
+ "type": "string",
14021
+ "description": "Description of the step."
14022
+ },
14023
+ "unsafe": {
14024
+ "type": "boolean",
14025
+ "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.",
14026
+ "default": false
14027
+ },
14028
+ "outputs": {
14029
+ "type": "object",
14030
+ "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.",
14031
+ "default": {},
14032
+ "patternProperties": {
14033
+ "^[A-Za-z0-9_]+$": {
14034
+ "type": "string",
14035
+ "description": "Runtime expression for a user-defined output value."
11280
14036
  }
11281
14037
  },
11282
14038
  "title": "Outputs (step)"
@@ -12325,6 +15081,112 @@
12325
15081
  "type": "string",
12326
15082
  "description": "ID of the step."
12327
15083
  },
15084
+ "sourceLocation": {
15085
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
15086
+ "$schema": "http://json-schema.org/draft-07/schema#",
15087
+ "title": "sourceLocation",
15088
+ "type": "object",
15089
+ "readOnly": true,
15090
+ "additionalProperties": false,
15091
+ "properties": {
15092
+ "file": {
15093
+ "type": "string",
15094
+ "description": "Absolute path to the source file containing this test or step.",
15095
+ "readOnly": true
15096
+ },
15097
+ "startLine": {
15098
+ "type": "integer",
15099
+ "description": "1-based line number where this test or step starts.",
15100
+ "minimum": 1,
15101
+ "readOnly": true
15102
+ },
15103
+ "endLine": {
15104
+ "type": "integer",
15105
+ "description": "1-based line number where this test or step ends.",
15106
+ "minimum": 1,
15107
+ "readOnly": true
15108
+ },
15109
+ "startColumn": {
15110
+ "type": "integer",
15111
+ "description": "1-based column number where this test or step starts on startLine.",
15112
+ "minimum": 1,
15113
+ "readOnly": true
15114
+ },
15115
+ "endColumn": {
15116
+ "type": "integer",
15117
+ "description": "1-based column number where this test or step ends on endLine.",
15118
+ "minimum": 1,
15119
+ "readOnly": true
15120
+ },
15121
+ "startOffset": {
15122
+ "type": "integer",
15123
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
15124
+ "minimum": 0,
15125
+ "readOnly": true
15126
+ },
15127
+ "endOffset": {
15128
+ "type": "integer",
15129
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
15130
+ "minimum": 0,
15131
+ "readOnly": true
15132
+ },
15133
+ "originalText": {
15134
+ "type": "string",
15135
+ "description": "The original text content of this test or step as found in the source file.",
15136
+ "readOnly": true
15137
+ },
15138
+ "isInline": {
15139
+ "type": "boolean",
15140
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
15141
+ "default": false,
15142
+ "readOnly": true
15143
+ },
15144
+ "isAutoDetected": {
15145
+ "type": "boolean",
15146
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
15147
+ "default": false,
15148
+ "readOnly": true
15149
+ },
15150
+ "commentFormat": {
15151
+ "type": "string",
15152
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
15153
+ "enum": [
15154
+ "htmlComment",
15155
+ "jsxComment",
15156
+ "linkReference"
15157
+ ],
15158
+ "readOnly": true
15159
+ }
15160
+ },
15161
+ "examples": [
15162
+ {
15163
+ "file": "/path/to/docs/getting-started.md",
15164
+ "startLine": 42,
15165
+ "endLine": 45,
15166
+ "startColumn": 1,
15167
+ "endColumn": 3,
15168
+ "startOffset": 1250,
15169
+ "endOffset": 1350,
15170
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
15171
+ "isInline": true,
15172
+ "isAutoDetected": false,
15173
+ "commentFormat": "htmlComment"
15174
+ },
15175
+ {
15176
+ "file": "/path/to/docs/tutorial.md",
15177
+ "startLine": 78,
15178
+ "endLine": 78,
15179
+ "startColumn": 1,
15180
+ "endColumn": 45,
15181
+ "startOffset": 2100,
15182
+ "endOffset": 2145,
15183
+ "originalText": "[example link](https://example.com)",
15184
+ "isInline": true,
15185
+ "isAutoDetected": true,
15186
+ "commentFormat": "htmlComment"
15187
+ }
15188
+ ]
15189
+ },
12328
15190
  "description": {
12329
15191
  "type": "string",
12330
15192
  "description": "Description of the step."
@@ -12632,6 +15494,112 @@
12632
15494
  "type": "string",
12633
15495
  "description": "ID of the step."
12634
15496
  },
15497
+ "sourceLocation": {
15498
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
15499
+ "$schema": "http://json-schema.org/draft-07/schema#",
15500
+ "title": "sourceLocation",
15501
+ "type": "object",
15502
+ "readOnly": true,
15503
+ "additionalProperties": false,
15504
+ "properties": {
15505
+ "file": {
15506
+ "type": "string",
15507
+ "description": "Absolute path to the source file containing this test or step.",
15508
+ "readOnly": true
15509
+ },
15510
+ "startLine": {
15511
+ "type": "integer",
15512
+ "description": "1-based line number where this test or step starts.",
15513
+ "minimum": 1,
15514
+ "readOnly": true
15515
+ },
15516
+ "endLine": {
15517
+ "type": "integer",
15518
+ "description": "1-based line number where this test or step ends.",
15519
+ "minimum": 1,
15520
+ "readOnly": true
15521
+ },
15522
+ "startColumn": {
15523
+ "type": "integer",
15524
+ "description": "1-based column number where this test or step starts on startLine.",
15525
+ "minimum": 1,
15526
+ "readOnly": true
15527
+ },
15528
+ "endColumn": {
15529
+ "type": "integer",
15530
+ "description": "1-based column number where this test or step ends on endLine.",
15531
+ "minimum": 1,
15532
+ "readOnly": true
15533
+ },
15534
+ "startOffset": {
15535
+ "type": "integer",
15536
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
15537
+ "minimum": 0,
15538
+ "readOnly": true
15539
+ },
15540
+ "endOffset": {
15541
+ "type": "integer",
15542
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
15543
+ "minimum": 0,
15544
+ "readOnly": true
15545
+ },
15546
+ "originalText": {
15547
+ "type": "string",
15548
+ "description": "The original text content of this test or step as found in the source file.",
15549
+ "readOnly": true
15550
+ },
15551
+ "isInline": {
15552
+ "type": "boolean",
15553
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
15554
+ "default": false,
15555
+ "readOnly": true
15556
+ },
15557
+ "isAutoDetected": {
15558
+ "type": "boolean",
15559
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
15560
+ "default": false,
15561
+ "readOnly": true
15562
+ },
15563
+ "commentFormat": {
15564
+ "type": "string",
15565
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
15566
+ "enum": [
15567
+ "htmlComment",
15568
+ "jsxComment",
15569
+ "linkReference"
15570
+ ],
15571
+ "readOnly": true
15572
+ }
15573
+ },
15574
+ "examples": [
15575
+ {
15576
+ "file": "/path/to/docs/getting-started.md",
15577
+ "startLine": 42,
15578
+ "endLine": 45,
15579
+ "startColumn": 1,
15580
+ "endColumn": 3,
15581
+ "startOffset": 1250,
15582
+ "endOffset": 1350,
15583
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
15584
+ "isInline": true,
15585
+ "isAutoDetected": false,
15586
+ "commentFormat": "htmlComment"
15587
+ },
15588
+ {
15589
+ "file": "/path/to/docs/tutorial.md",
15590
+ "startLine": 78,
15591
+ "endLine": 78,
15592
+ "startColumn": 1,
15593
+ "endColumn": 45,
15594
+ "startOffset": 2100,
15595
+ "endOffset": 2145,
15596
+ "originalText": "[example link](https://example.com)",
15597
+ "isInline": true,
15598
+ "isAutoDetected": true,
15599
+ "commentFormat": "htmlComment"
15600
+ }
15601
+ ]
15602
+ },
12635
15603
  "description": {
12636
15604
  "type": "string",
12637
15605
  "description": "Description of the step."
@@ -12925,6 +15893,112 @@
12925
15893
  "type": "string",
12926
15894
  "description": "ID of the step."
12927
15895
  },
15896
+ "sourceLocation": {
15897
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
15898
+ "$schema": "http://json-schema.org/draft-07/schema#",
15899
+ "title": "sourceLocation",
15900
+ "type": "object",
15901
+ "readOnly": true,
15902
+ "additionalProperties": false,
15903
+ "properties": {
15904
+ "file": {
15905
+ "type": "string",
15906
+ "description": "Absolute path to the source file containing this test or step.",
15907
+ "readOnly": true
15908
+ },
15909
+ "startLine": {
15910
+ "type": "integer",
15911
+ "description": "1-based line number where this test or step starts.",
15912
+ "minimum": 1,
15913
+ "readOnly": true
15914
+ },
15915
+ "endLine": {
15916
+ "type": "integer",
15917
+ "description": "1-based line number where this test or step ends.",
15918
+ "minimum": 1,
15919
+ "readOnly": true
15920
+ },
15921
+ "startColumn": {
15922
+ "type": "integer",
15923
+ "description": "1-based column number where this test or step starts on startLine.",
15924
+ "minimum": 1,
15925
+ "readOnly": true
15926
+ },
15927
+ "endColumn": {
15928
+ "type": "integer",
15929
+ "description": "1-based column number where this test or step ends on endLine.",
15930
+ "minimum": 1,
15931
+ "readOnly": true
15932
+ },
15933
+ "startOffset": {
15934
+ "type": "integer",
15935
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
15936
+ "minimum": 0,
15937
+ "readOnly": true
15938
+ },
15939
+ "endOffset": {
15940
+ "type": "integer",
15941
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
15942
+ "minimum": 0,
15943
+ "readOnly": true
15944
+ },
15945
+ "originalText": {
15946
+ "type": "string",
15947
+ "description": "The original text content of this test or step as found in the source file.",
15948
+ "readOnly": true
15949
+ },
15950
+ "isInline": {
15951
+ "type": "boolean",
15952
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
15953
+ "default": false,
15954
+ "readOnly": true
15955
+ },
15956
+ "isAutoDetected": {
15957
+ "type": "boolean",
15958
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
15959
+ "default": false,
15960
+ "readOnly": true
15961
+ },
15962
+ "commentFormat": {
15963
+ "type": "string",
15964
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
15965
+ "enum": [
15966
+ "htmlComment",
15967
+ "jsxComment",
15968
+ "linkReference"
15969
+ ],
15970
+ "readOnly": true
15971
+ }
15972
+ },
15973
+ "examples": [
15974
+ {
15975
+ "file": "/path/to/docs/getting-started.md",
15976
+ "startLine": 42,
15977
+ "endLine": 45,
15978
+ "startColumn": 1,
15979
+ "endColumn": 3,
15980
+ "startOffset": 1250,
15981
+ "endOffset": 1350,
15982
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
15983
+ "isInline": true,
15984
+ "isAutoDetected": false,
15985
+ "commentFormat": "htmlComment"
15986
+ },
15987
+ {
15988
+ "file": "/path/to/docs/tutorial.md",
15989
+ "startLine": 78,
15990
+ "endLine": 78,
15991
+ "startColumn": 1,
15992
+ "endColumn": 45,
15993
+ "startOffset": 2100,
15994
+ "endOffset": 2145,
15995
+ "originalText": "[example link](https://example.com)",
15996
+ "isInline": true,
15997
+ "isAutoDetected": true,
15998
+ "commentFormat": "htmlComment"
15999
+ }
16000
+ ]
16001
+ },
12928
16002
  "description": {
12929
16003
  "type": "string",
12930
16004
  "description": "Description of the step."
@@ -13240,6 +16314,112 @@
13240
16314
  "type": "string",
13241
16315
  "description": "ID of the step."
13242
16316
  },
16317
+ "sourceLocation": {
16318
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
16319
+ "$schema": "http://json-schema.org/draft-07/schema#",
16320
+ "title": "sourceLocation",
16321
+ "type": "object",
16322
+ "readOnly": true,
16323
+ "additionalProperties": false,
16324
+ "properties": {
16325
+ "file": {
16326
+ "type": "string",
16327
+ "description": "Absolute path to the source file containing this test or step.",
16328
+ "readOnly": true
16329
+ },
16330
+ "startLine": {
16331
+ "type": "integer",
16332
+ "description": "1-based line number where this test or step starts.",
16333
+ "minimum": 1,
16334
+ "readOnly": true
16335
+ },
16336
+ "endLine": {
16337
+ "type": "integer",
16338
+ "description": "1-based line number where this test or step ends.",
16339
+ "minimum": 1,
16340
+ "readOnly": true
16341
+ },
16342
+ "startColumn": {
16343
+ "type": "integer",
16344
+ "description": "1-based column number where this test or step starts on startLine.",
16345
+ "minimum": 1,
16346
+ "readOnly": true
16347
+ },
16348
+ "endColumn": {
16349
+ "type": "integer",
16350
+ "description": "1-based column number where this test or step ends on endLine.",
16351
+ "minimum": 1,
16352
+ "readOnly": true
16353
+ },
16354
+ "startOffset": {
16355
+ "type": "integer",
16356
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
16357
+ "minimum": 0,
16358
+ "readOnly": true
16359
+ },
16360
+ "endOffset": {
16361
+ "type": "integer",
16362
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
16363
+ "minimum": 0,
16364
+ "readOnly": true
16365
+ },
16366
+ "originalText": {
16367
+ "type": "string",
16368
+ "description": "The original text content of this test or step as found in the source file.",
16369
+ "readOnly": true
16370
+ },
16371
+ "isInline": {
16372
+ "type": "boolean",
16373
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
16374
+ "default": false,
16375
+ "readOnly": true
16376
+ },
16377
+ "isAutoDetected": {
16378
+ "type": "boolean",
16379
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
16380
+ "default": false,
16381
+ "readOnly": true
16382
+ },
16383
+ "commentFormat": {
16384
+ "type": "string",
16385
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
16386
+ "enum": [
16387
+ "htmlComment",
16388
+ "jsxComment",
16389
+ "linkReference"
16390
+ ],
16391
+ "readOnly": true
16392
+ }
16393
+ },
16394
+ "examples": [
16395
+ {
16396
+ "file": "/path/to/docs/getting-started.md",
16397
+ "startLine": 42,
16398
+ "endLine": 45,
16399
+ "startColumn": 1,
16400
+ "endColumn": 3,
16401
+ "startOffset": 1250,
16402
+ "endOffset": 1350,
16403
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
16404
+ "isInline": true,
16405
+ "isAutoDetected": false,
16406
+ "commentFormat": "htmlComment"
16407
+ },
16408
+ {
16409
+ "file": "/path/to/docs/tutorial.md",
16410
+ "startLine": 78,
16411
+ "endLine": 78,
16412
+ "startColumn": 1,
16413
+ "endColumn": 45,
16414
+ "startOffset": 2100,
16415
+ "endOffset": 2145,
16416
+ "originalText": "[example link](https://example.com)",
16417
+ "isInline": true,
16418
+ "isAutoDetected": true,
16419
+ "commentFormat": "htmlComment"
16420
+ }
16421
+ ]
16422
+ },
13243
16423
  "description": {
13244
16424
  "type": "string",
13245
16425
  "description": "Description of the step."
@@ -13892,6 +17072,112 @@
13892
17072
  "type": "string",
13893
17073
  "description": "ID of the step."
13894
17074
  },
17075
+ "sourceLocation": {
17076
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
17077
+ "$schema": "http://json-schema.org/draft-07/schema#",
17078
+ "title": "sourceLocation",
17079
+ "type": "object",
17080
+ "readOnly": true,
17081
+ "additionalProperties": false,
17082
+ "properties": {
17083
+ "file": {
17084
+ "type": "string",
17085
+ "description": "Absolute path to the source file containing this test or step.",
17086
+ "readOnly": true
17087
+ },
17088
+ "startLine": {
17089
+ "type": "integer",
17090
+ "description": "1-based line number where this test or step starts.",
17091
+ "minimum": 1,
17092
+ "readOnly": true
17093
+ },
17094
+ "endLine": {
17095
+ "type": "integer",
17096
+ "description": "1-based line number where this test or step ends.",
17097
+ "minimum": 1,
17098
+ "readOnly": true
17099
+ },
17100
+ "startColumn": {
17101
+ "type": "integer",
17102
+ "description": "1-based column number where this test or step starts on startLine.",
17103
+ "minimum": 1,
17104
+ "readOnly": true
17105
+ },
17106
+ "endColumn": {
17107
+ "type": "integer",
17108
+ "description": "1-based column number where this test or step ends on endLine.",
17109
+ "minimum": 1,
17110
+ "readOnly": true
17111
+ },
17112
+ "startOffset": {
17113
+ "type": "integer",
17114
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
17115
+ "minimum": 0,
17116
+ "readOnly": true
17117
+ },
17118
+ "endOffset": {
17119
+ "type": "integer",
17120
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
17121
+ "minimum": 0,
17122
+ "readOnly": true
17123
+ },
17124
+ "originalText": {
17125
+ "type": "string",
17126
+ "description": "The original text content of this test or step as found in the source file.",
17127
+ "readOnly": true
17128
+ },
17129
+ "isInline": {
17130
+ "type": "boolean",
17131
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
17132
+ "default": false,
17133
+ "readOnly": true
17134
+ },
17135
+ "isAutoDetected": {
17136
+ "type": "boolean",
17137
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
17138
+ "default": false,
17139
+ "readOnly": true
17140
+ },
17141
+ "commentFormat": {
17142
+ "type": "string",
17143
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
17144
+ "enum": [
17145
+ "htmlComment",
17146
+ "jsxComment",
17147
+ "linkReference"
17148
+ ],
17149
+ "readOnly": true
17150
+ }
17151
+ },
17152
+ "examples": [
17153
+ {
17154
+ "file": "/path/to/docs/getting-started.md",
17155
+ "startLine": 42,
17156
+ "endLine": 45,
17157
+ "startColumn": 1,
17158
+ "endColumn": 3,
17159
+ "startOffset": 1250,
17160
+ "endOffset": 1350,
17161
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
17162
+ "isInline": true,
17163
+ "isAutoDetected": false,
17164
+ "commentFormat": "htmlComment"
17165
+ },
17166
+ {
17167
+ "file": "/path/to/docs/tutorial.md",
17168
+ "startLine": 78,
17169
+ "endLine": 78,
17170
+ "startColumn": 1,
17171
+ "endColumn": 45,
17172
+ "startOffset": 2100,
17173
+ "endOffset": 2145,
17174
+ "originalText": "[example link](https://example.com)",
17175
+ "isInline": true,
17176
+ "isAutoDetected": true,
17177
+ "commentFormat": "htmlComment"
17178
+ }
17179
+ ]
17180
+ },
13895
17181
  "description": {
13896
17182
  "type": "string",
13897
17183
  "description": "Description of the step."
@@ -14208,6 +17494,112 @@
14208
17494
  "type": "string",
14209
17495
  "description": "ID of the step."
14210
17496
  },
17497
+ "sourceLocation": {
17498
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
17499
+ "$schema": "http://json-schema.org/draft-07/schema#",
17500
+ "title": "sourceLocation",
17501
+ "type": "object",
17502
+ "readOnly": true,
17503
+ "additionalProperties": false,
17504
+ "properties": {
17505
+ "file": {
17506
+ "type": "string",
17507
+ "description": "Absolute path to the source file containing this test or step.",
17508
+ "readOnly": true
17509
+ },
17510
+ "startLine": {
17511
+ "type": "integer",
17512
+ "description": "1-based line number where this test or step starts.",
17513
+ "minimum": 1,
17514
+ "readOnly": true
17515
+ },
17516
+ "endLine": {
17517
+ "type": "integer",
17518
+ "description": "1-based line number where this test or step ends.",
17519
+ "minimum": 1,
17520
+ "readOnly": true
17521
+ },
17522
+ "startColumn": {
17523
+ "type": "integer",
17524
+ "description": "1-based column number where this test or step starts on startLine.",
17525
+ "minimum": 1,
17526
+ "readOnly": true
17527
+ },
17528
+ "endColumn": {
17529
+ "type": "integer",
17530
+ "description": "1-based column number where this test or step ends on endLine.",
17531
+ "minimum": 1,
17532
+ "readOnly": true
17533
+ },
17534
+ "startOffset": {
17535
+ "type": "integer",
17536
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
17537
+ "minimum": 0,
17538
+ "readOnly": true
17539
+ },
17540
+ "endOffset": {
17541
+ "type": "integer",
17542
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
17543
+ "minimum": 0,
17544
+ "readOnly": true
17545
+ },
17546
+ "originalText": {
17547
+ "type": "string",
17548
+ "description": "The original text content of this test or step as found in the source file.",
17549
+ "readOnly": true
17550
+ },
17551
+ "isInline": {
17552
+ "type": "boolean",
17553
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
17554
+ "default": false,
17555
+ "readOnly": true
17556
+ },
17557
+ "isAutoDetected": {
17558
+ "type": "boolean",
17559
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
17560
+ "default": false,
17561
+ "readOnly": true
17562
+ },
17563
+ "commentFormat": {
17564
+ "type": "string",
17565
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
17566
+ "enum": [
17567
+ "htmlComment",
17568
+ "jsxComment",
17569
+ "linkReference"
17570
+ ],
17571
+ "readOnly": true
17572
+ }
17573
+ },
17574
+ "examples": [
17575
+ {
17576
+ "file": "/path/to/docs/getting-started.md",
17577
+ "startLine": 42,
17578
+ "endLine": 45,
17579
+ "startColumn": 1,
17580
+ "endColumn": 3,
17581
+ "startOffset": 1250,
17582
+ "endOffset": 1350,
17583
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
17584
+ "isInline": true,
17585
+ "isAutoDetected": false,
17586
+ "commentFormat": "htmlComment"
17587
+ },
17588
+ {
17589
+ "file": "/path/to/docs/tutorial.md",
17590
+ "startLine": 78,
17591
+ "endLine": 78,
17592
+ "startColumn": 1,
17593
+ "endColumn": 45,
17594
+ "startOffset": 2100,
17595
+ "endOffset": 2145,
17596
+ "originalText": "[example link](https://example.com)",
17597
+ "isInline": true,
17598
+ "isAutoDetected": true,
17599
+ "commentFormat": "htmlComment"
17600
+ }
17601
+ ]
17602
+ },
14211
17603
  "description": {
14212
17604
  "type": "string",
14213
17605
  "description": "Description of the step."
@@ -14380,6 +17772,112 @@
14380
17772
  "type": "string",
14381
17773
  "description": "ID of the step."
14382
17774
  },
17775
+ "sourceLocation": {
17776
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
17777
+ "$schema": "http://json-schema.org/draft-07/schema#",
17778
+ "title": "sourceLocation",
17779
+ "type": "object",
17780
+ "readOnly": true,
17781
+ "additionalProperties": false,
17782
+ "properties": {
17783
+ "file": {
17784
+ "type": "string",
17785
+ "description": "Absolute path to the source file containing this test or step.",
17786
+ "readOnly": true
17787
+ },
17788
+ "startLine": {
17789
+ "type": "integer",
17790
+ "description": "1-based line number where this test or step starts.",
17791
+ "minimum": 1,
17792
+ "readOnly": true
17793
+ },
17794
+ "endLine": {
17795
+ "type": "integer",
17796
+ "description": "1-based line number where this test or step ends.",
17797
+ "minimum": 1,
17798
+ "readOnly": true
17799
+ },
17800
+ "startColumn": {
17801
+ "type": "integer",
17802
+ "description": "1-based column number where this test or step starts on startLine.",
17803
+ "minimum": 1,
17804
+ "readOnly": true
17805
+ },
17806
+ "endColumn": {
17807
+ "type": "integer",
17808
+ "description": "1-based column number where this test or step ends on endLine.",
17809
+ "minimum": 1,
17810
+ "readOnly": true
17811
+ },
17812
+ "startOffset": {
17813
+ "type": "integer",
17814
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
17815
+ "minimum": 0,
17816
+ "readOnly": true
17817
+ },
17818
+ "endOffset": {
17819
+ "type": "integer",
17820
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
17821
+ "minimum": 0,
17822
+ "readOnly": true
17823
+ },
17824
+ "originalText": {
17825
+ "type": "string",
17826
+ "description": "The original text content of this test or step as found in the source file.",
17827
+ "readOnly": true
17828
+ },
17829
+ "isInline": {
17830
+ "type": "boolean",
17831
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
17832
+ "default": false,
17833
+ "readOnly": true
17834
+ },
17835
+ "isAutoDetected": {
17836
+ "type": "boolean",
17837
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
17838
+ "default": false,
17839
+ "readOnly": true
17840
+ },
17841
+ "commentFormat": {
17842
+ "type": "string",
17843
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
17844
+ "enum": [
17845
+ "htmlComment",
17846
+ "jsxComment",
17847
+ "linkReference"
17848
+ ],
17849
+ "readOnly": true
17850
+ }
17851
+ },
17852
+ "examples": [
17853
+ {
17854
+ "file": "/path/to/docs/getting-started.md",
17855
+ "startLine": 42,
17856
+ "endLine": 45,
17857
+ "startColumn": 1,
17858
+ "endColumn": 3,
17859
+ "startOffset": 1250,
17860
+ "endOffset": 1350,
17861
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
17862
+ "isInline": true,
17863
+ "isAutoDetected": false,
17864
+ "commentFormat": "htmlComment"
17865
+ },
17866
+ {
17867
+ "file": "/path/to/docs/tutorial.md",
17868
+ "startLine": 78,
17869
+ "endLine": 78,
17870
+ "startColumn": 1,
17871
+ "endColumn": 45,
17872
+ "startOffset": 2100,
17873
+ "endOffset": 2145,
17874
+ "originalText": "[example link](https://example.com)",
17875
+ "isInline": true,
17876
+ "isAutoDetected": true,
17877
+ "commentFormat": "htmlComment"
17878
+ }
17879
+ ]
17880
+ },
14383
17881
  "description": {
14384
17882
  "type": "string",
14385
17883
  "description": "Description of the step."
@@ -14465,6 +17963,112 @@
14465
17963
  "type": "string",
14466
17964
  "description": "ID of the step."
14467
17965
  },
17966
+ "sourceLocation": {
17967
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
17968
+ "$schema": "http://json-schema.org/draft-07/schema#",
17969
+ "title": "sourceLocation",
17970
+ "type": "object",
17971
+ "readOnly": true,
17972
+ "additionalProperties": false,
17973
+ "properties": {
17974
+ "file": {
17975
+ "type": "string",
17976
+ "description": "Absolute path to the source file containing this test or step.",
17977
+ "readOnly": true
17978
+ },
17979
+ "startLine": {
17980
+ "type": "integer",
17981
+ "description": "1-based line number where this test or step starts.",
17982
+ "minimum": 1,
17983
+ "readOnly": true
17984
+ },
17985
+ "endLine": {
17986
+ "type": "integer",
17987
+ "description": "1-based line number where this test or step ends.",
17988
+ "minimum": 1,
17989
+ "readOnly": true
17990
+ },
17991
+ "startColumn": {
17992
+ "type": "integer",
17993
+ "description": "1-based column number where this test or step starts on startLine.",
17994
+ "minimum": 1,
17995
+ "readOnly": true
17996
+ },
17997
+ "endColumn": {
17998
+ "type": "integer",
17999
+ "description": "1-based column number where this test or step ends on endLine.",
18000
+ "minimum": 1,
18001
+ "readOnly": true
18002
+ },
18003
+ "startOffset": {
18004
+ "type": "integer",
18005
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
18006
+ "minimum": 0,
18007
+ "readOnly": true
18008
+ },
18009
+ "endOffset": {
18010
+ "type": "integer",
18011
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
18012
+ "minimum": 0,
18013
+ "readOnly": true
18014
+ },
18015
+ "originalText": {
18016
+ "type": "string",
18017
+ "description": "The original text content of this test or step as found in the source file.",
18018
+ "readOnly": true
18019
+ },
18020
+ "isInline": {
18021
+ "type": "boolean",
18022
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
18023
+ "default": false,
18024
+ "readOnly": true
18025
+ },
18026
+ "isAutoDetected": {
18027
+ "type": "boolean",
18028
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
18029
+ "default": false,
18030
+ "readOnly": true
18031
+ },
18032
+ "commentFormat": {
18033
+ "type": "string",
18034
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
18035
+ "enum": [
18036
+ "htmlComment",
18037
+ "jsxComment",
18038
+ "linkReference"
18039
+ ],
18040
+ "readOnly": true
18041
+ }
18042
+ },
18043
+ "examples": [
18044
+ {
18045
+ "file": "/path/to/docs/getting-started.md",
18046
+ "startLine": 42,
18047
+ "endLine": 45,
18048
+ "startColumn": 1,
18049
+ "endColumn": 3,
18050
+ "startOffset": 1250,
18051
+ "endOffset": 1350,
18052
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
18053
+ "isInline": true,
18054
+ "isAutoDetected": false,
18055
+ "commentFormat": "htmlComment"
18056
+ },
18057
+ {
18058
+ "file": "/path/to/docs/tutorial.md",
18059
+ "startLine": 78,
18060
+ "endLine": 78,
18061
+ "startColumn": 1,
18062
+ "endColumn": 45,
18063
+ "startOffset": 2100,
18064
+ "endOffset": 2145,
18065
+ "originalText": "[example link](https://example.com)",
18066
+ "isInline": true,
18067
+ "isAutoDetected": true,
18068
+ "commentFormat": "htmlComment"
18069
+ }
18070
+ ]
18071
+ },
14468
18072
  "description": {
14469
18073
  "type": "string",
14470
18074
  "description": "Description of the step."
@@ -14545,6 +18149,112 @@
14545
18149
  "type": "string",
14546
18150
  "description": "ID of the step."
14547
18151
  },
18152
+ "sourceLocation": {
18153
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
18154
+ "$schema": "http://json-schema.org/draft-07/schema#",
18155
+ "title": "sourceLocation",
18156
+ "type": "object",
18157
+ "readOnly": true,
18158
+ "additionalProperties": false,
18159
+ "properties": {
18160
+ "file": {
18161
+ "type": "string",
18162
+ "description": "Absolute path to the source file containing this test or step.",
18163
+ "readOnly": true
18164
+ },
18165
+ "startLine": {
18166
+ "type": "integer",
18167
+ "description": "1-based line number where this test or step starts.",
18168
+ "minimum": 1,
18169
+ "readOnly": true
18170
+ },
18171
+ "endLine": {
18172
+ "type": "integer",
18173
+ "description": "1-based line number where this test or step ends.",
18174
+ "minimum": 1,
18175
+ "readOnly": true
18176
+ },
18177
+ "startColumn": {
18178
+ "type": "integer",
18179
+ "description": "1-based column number where this test or step starts on startLine.",
18180
+ "minimum": 1,
18181
+ "readOnly": true
18182
+ },
18183
+ "endColumn": {
18184
+ "type": "integer",
18185
+ "description": "1-based column number where this test or step ends on endLine.",
18186
+ "minimum": 1,
18187
+ "readOnly": true
18188
+ },
18189
+ "startOffset": {
18190
+ "type": "integer",
18191
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
18192
+ "minimum": 0,
18193
+ "readOnly": true
18194
+ },
18195
+ "endOffset": {
18196
+ "type": "integer",
18197
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
18198
+ "minimum": 0,
18199
+ "readOnly": true
18200
+ },
18201
+ "originalText": {
18202
+ "type": "string",
18203
+ "description": "The original text content of this test or step as found in the source file.",
18204
+ "readOnly": true
18205
+ },
18206
+ "isInline": {
18207
+ "type": "boolean",
18208
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
18209
+ "default": false,
18210
+ "readOnly": true
18211
+ },
18212
+ "isAutoDetected": {
18213
+ "type": "boolean",
18214
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
18215
+ "default": false,
18216
+ "readOnly": true
18217
+ },
18218
+ "commentFormat": {
18219
+ "type": "string",
18220
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
18221
+ "enum": [
18222
+ "htmlComment",
18223
+ "jsxComment",
18224
+ "linkReference"
18225
+ ],
18226
+ "readOnly": true
18227
+ }
18228
+ },
18229
+ "examples": [
18230
+ {
18231
+ "file": "/path/to/docs/getting-started.md",
18232
+ "startLine": 42,
18233
+ "endLine": 45,
18234
+ "startColumn": 1,
18235
+ "endColumn": 3,
18236
+ "startOffset": 1250,
18237
+ "endOffset": 1350,
18238
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
18239
+ "isInline": true,
18240
+ "isAutoDetected": false,
18241
+ "commentFormat": "htmlComment"
18242
+ },
18243
+ {
18244
+ "file": "/path/to/docs/tutorial.md",
18245
+ "startLine": 78,
18246
+ "endLine": 78,
18247
+ "startColumn": 1,
18248
+ "endColumn": 45,
18249
+ "startOffset": 2100,
18250
+ "endOffset": 2145,
18251
+ "originalText": "[example link](https://example.com)",
18252
+ "isInline": true,
18253
+ "isAutoDetected": true,
18254
+ "commentFormat": "htmlComment"
18255
+ }
18256
+ ]
18257
+ },
14548
18258
  "description": {
14549
18259
  "type": "string",
14550
18260
  "description": "Description of the step."
@@ -15112,6 +18822,112 @@
15112
18822
  "type": "string",
15113
18823
  "description": "ID of the step."
15114
18824
  },
18825
+ "sourceLocation": {
18826
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
18827
+ "$schema": "http://json-schema.org/draft-07/schema#",
18828
+ "title": "sourceLocation",
18829
+ "type": "object",
18830
+ "readOnly": true,
18831
+ "additionalProperties": false,
18832
+ "properties": {
18833
+ "file": {
18834
+ "type": "string",
18835
+ "description": "Absolute path to the source file containing this test or step.",
18836
+ "readOnly": true
18837
+ },
18838
+ "startLine": {
18839
+ "type": "integer",
18840
+ "description": "1-based line number where this test or step starts.",
18841
+ "minimum": 1,
18842
+ "readOnly": true
18843
+ },
18844
+ "endLine": {
18845
+ "type": "integer",
18846
+ "description": "1-based line number where this test or step ends.",
18847
+ "minimum": 1,
18848
+ "readOnly": true
18849
+ },
18850
+ "startColumn": {
18851
+ "type": "integer",
18852
+ "description": "1-based column number where this test or step starts on startLine.",
18853
+ "minimum": 1,
18854
+ "readOnly": true
18855
+ },
18856
+ "endColumn": {
18857
+ "type": "integer",
18858
+ "description": "1-based column number where this test or step ends on endLine.",
18859
+ "minimum": 1,
18860
+ "readOnly": true
18861
+ },
18862
+ "startOffset": {
18863
+ "type": "integer",
18864
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
18865
+ "minimum": 0,
18866
+ "readOnly": true
18867
+ },
18868
+ "endOffset": {
18869
+ "type": "integer",
18870
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
18871
+ "minimum": 0,
18872
+ "readOnly": true
18873
+ },
18874
+ "originalText": {
18875
+ "type": "string",
18876
+ "description": "The original text content of this test or step as found in the source file.",
18877
+ "readOnly": true
18878
+ },
18879
+ "isInline": {
18880
+ "type": "boolean",
18881
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
18882
+ "default": false,
18883
+ "readOnly": true
18884
+ },
18885
+ "isAutoDetected": {
18886
+ "type": "boolean",
18887
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
18888
+ "default": false,
18889
+ "readOnly": true
18890
+ },
18891
+ "commentFormat": {
18892
+ "type": "string",
18893
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
18894
+ "enum": [
18895
+ "htmlComment",
18896
+ "jsxComment",
18897
+ "linkReference"
18898
+ ],
18899
+ "readOnly": true
18900
+ }
18901
+ },
18902
+ "examples": [
18903
+ {
18904
+ "file": "/path/to/docs/getting-started.md",
18905
+ "startLine": 42,
18906
+ "endLine": 45,
18907
+ "startColumn": 1,
18908
+ "endColumn": 3,
18909
+ "startOffset": 1250,
18910
+ "endOffset": 1350,
18911
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
18912
+ "isInline": true,
18913
+ "isAutoDetected": false,
18914
+ "commentFormat": "htmlComment"
18915
+ },
18916
+ {
18917
+ "file": "/path/to/docs/tutorial.md",
18918
+ "startLine": 78,
18919
+ "endLine": 78,
18920
+ "startColumn": 1,
18921
+ "endColumn": 45,
18922
+ "startOffset": 2100,
18923
+ "endOffset": 2145,
18924
+ "originalText": "[example link](https://example.com)",
18925
+ "isInline": true,
18926
+ "isAutoDetected": true,
18927
+ "commentFormat": "htmlComment"
18928
+ }
18929
+ ]
18930
+ },
15115
18931
  "description": {
15116
18932
  "type": "string",
15117
18933
  "description": "Description of the step."
@@ -15411,6 +19227,112 @@
15411
19227
  "type": "string",
15412
19228
  "description": "ID of the step."
15413
19229
  },
19230
+ "sourceLocation": {
19231
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
19232
+ "$schema": "http://json-schema.org/draft-07/schema#",
19233
+ "title": "sourceLocation",
19234
+ "type": "object",
19235
+ "readOnly": true,
19236
+ "additionalProperties": false,
19237
+ "properties": {
19238
+ "file": {
19239
+ "type": "string",
19240
+ "description": "Absolute path to the source file containing this test or step.",
19241
+ "readOnly": true
19242
+ },
19243
+ "startLine": {
19244
+ "type": "integer",
19245
+ "description": "1-based line number where this test or step starts.",
19246
+ "minimum": 1,
19247
+ "readOnly": true
19248
+ },
19249
+ "endLine": {
19250
+ "type": "integer",
19251
+ "description": "1-based line number where this test or step ends.",
19252
+ "minimum": 1,
19253
+ "readOnly": true
19254
+ },
19255
+ "startColumn": {
19256
+ "type": "integer",
19257
+ "description": "1-based column number where this test or step starts on startLine.",
19258
+ "minimum": 1,
19259
+ "readOnly": true
19260
+ },
19261
+ "endColumn": {
19262
+ "type": "integer",
19263
+ "description": "1-based column number where this test or step ends on endLine.",
19264
+ "minimum": 1,
19265
+ "readOnly": true
19266
+ },
19267
+ "startOffset": {
19268
+ "type": "integer",
19269
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
19270
+ "minimum": 0,
19271
+ "readOnly": true
19272
+ },
19273
+ "endOffset": {
19274
+ "type": "integer",
19275
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
19276
+ "minimum": 0,
19277
+ "readOnly": true
19278
+ },
19279
+ "originalText": {
19280
+ "type": "string",
19281
+ "description": "The original text content of this test or step as found in the source file.",
19282
+ "readOnly": true
19283
+ },
19284
+ "isInline": {
19285
+ "type": "boolean",
19286
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
19287
+ "default": false,
19288
+ "readOnly": true
19289
+ },
19290
+ "isAutoDetected": {
19291
+ "type": "boolean",
19292
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
19293
+ "default": false,
19294
+ "readOnly": true
19295
+ },
19296
+ "commentFormat": {
19297
+ "type": "string",
19298
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
19299
+ "enum": [
19300
+ "htmlComment",
19301
+ "jsxComment",
19302
+ "linkReference"
19303
+ ],
19304
+ "readOnly": true
19305
+ }
19306
+ },
19307
+ "examples": [
19308
+ {
19309
+ "file": "/path/to/docs/getting-started.md",
19310
+ "startLine": 42,
19311
+ "endLine": 45,
19312
+ "startColumn": 1,
19313
+ "endColumn": 3,
19314
+ "startOffset": 1250,
19315
+ "endOffset": 1350,
19316
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
19317
+ "isInline": true,
19318
+ "isAutoDetected": false,
19319
+ "commentFormat": "htmlComment"
19320
+ },
19321
+ {
19322
+ "file": "/path/to/docs/tutorial.md",
19323
+ "startLine": 78,
19324
+ "endLine": 78,
19325
+ "startColumn": 1,
19326
+ "endColumn": 45,
19327
+ "startOffset": 2100,
19328
+ "endOffset": 2145,
19329
+ "originalText": "[example link](https://example.com)",
19330
+ "isInline": true,
19331
+ "isAutoDetected": true,
19332
+ "commentFormat": "htmlComment"
19333
+ }
19334
+ ]
19335
+ },
15414
19336
  "description": {
15415
19337
  "type": "string",
15416
19338
  "description": "Description of the step."