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
@@ -627,6 +627,112 @@
627
627
  "type": "string",
628
628
  "description": "Unique identifier for the test."
629
629
  },
630
+ "sourceLocation": {
631
+ "description": "Source location information for inline tests. Read-only, populated during detection.",
632
+ "$schema": "http://json-schema.org/draft-07/schema#",
633
+ "title": "sourceLocation",
634
+ "type": "object",
635
+ "readOnly": true,
636
+ "additionalProperties": false,
637
+ "properties": {
638
+ "file": {
639
+ "type": "string",
640
+ "description": "Absolute path to the source file containing this test or step.",
641
+ "readOnly": true
642
+ },
643
+ "startLine": {
644
+ "type": "integer",
645
+ "description": "1-based line number where this test or step starts.",
646
+ "minimum": 1,
647
+ "readOnly": true
648
+ },
649
+ "endLine": {
650
+ "type": "integer",
651
+ "description": "1-based line number where this test or step ends.",
652
+ "minimum": 1,
653
+ "readOnly": true
654
+ },
655
+ "startColumn": {
656
+ "type": "integer",
657
+ "description": "1-based column number where this test or step starts on startLine.",
658
+ "minimum": 1,
659
+ "readOnly": true
660
+ },
661
+ "endColumn": {
662
+ "type": "integer",
663
+ "description": "1-based column number where this test or step ends on endLine.",
664
+ "minimum": 1,
665
+ "readOnly": true
666
+ },
667
+ "startOffset": {
668
+ "type": "integer",
669
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
670
+ "minimum": 0,
671
+ "readOnly": true
672
+ },
673
+ "endOffset": {
674
+ "type": "integer",
675
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
676
+ "minimum": 0,
677
+ "readOnly": true
678
+ },
679
+ "originalText": {
680
+ "type": "string",
681
+ "description": "The original text content of this test or step as found in the source file.",
682
+ "readOnly": true
683
+ },
684
+ "isInline": {
685
+ "type": "boolean",
686
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
687
+ "default": false,
688
+ "readOnly": true
689
+ },
690
+ "isAutoDetected": {
691
+ "type": "boolean",
692
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
693
+ "default": false,
694
+ "readOnly": true
695
+ },
696
+ "commentFormat": {
697
+ "type": "string",
698
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
699
+ "enum": [
700
+ "htmlComment",
701
+ "jsxComment",
702
+ "linkReference"
703
+ ],
704
+ "readOnly": true
705
+ }
706
+ },
707
+ "examples": [
708
+ {
709
+ "file": "/path/to/docs/getting-started.md",
710
+ "startLine": 42,
711
+ "endLine": 45,
712
+ "startColumn": 1,
713
+ "endColumn": 3,
714
+ "startOffset": 1250,
715
+ "endOffset": 1350,
716
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
717
+ "isInline": true,
718
+ "isAutoDetected": false,
719
+ "commentFormat": "htmlComment"
720
+ },
721
+ {
722
+ "file": "/path/to/docs/tutorial.md",
723
+ "startLine": 78,
724
+ "endLine": 78,
725
+ "startColumn": 1,
726
+ "endColumn": 45,
727
+ "startOffset": 2100,
728
+ "endOffset": 2145,
729
+ "originalText": "[example link](https://example.com)",
730
+ "isInline": true,
731
+ "isAutoDetected": true,
732
+ "commentFormat": "htmlComment"
733
+ }
734
+ ]
735
+ },
630
736
  "description": {
631
737
  "type": "string",
632
738
  "description": "Description of the test."
@@ -1240,6 +1346,112 @@
1240
1346
  "type": "string",
1241
1347
  "description": "ID of the step."
1242
1348
  },
1349
+ "sourceLocation": {
1350
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
1351
+ "$schema": "http://json-schema.org/draft-07/schema#",
1352
+ "title": "sourceLocation",
1353
+ "type": "object",
1354
+ "readOnly": true,
1355
+ "additionalProperties": false,
1356
+ "properties": {
1357
+ "file": {
1358
+ "type": "string",
1359
+ "description": "Absolute path to the source file containing this test or step.",
1360
+ "readOnly": true
1361
+ },
1362
+ "startLine": {
1363
+ "type": "integer",
1364
+ "description": "1-based line number where this test or step starts.",
1365
+ "minimum": 1,
1366
+ "readOnly": true
1367
+ },
1368
+ "endLine": {
1369
+ "type": "integer",
1370
+ "description": "1-based line number where this test or step ends.",
1371
+ "minimum": 1,
1372
+ "readOnly": true
1373
+ },
1374
+ "startColumn": {
1375
+ "type": "integer",
1376
+ "description": "1-based column number where this test or step starts on startLine.",
1377
+ "minimum": 1,
1378
+ "readOnly": true
1379
+ },
1380
+ "endColumn": {
1381
+ "type": "integer",
1382
+ "description": "1-based column number where this test or step ends on endLine.",
1383
+ "minimum": 1,
1384
+ "readOnly": true
1385
+ },
1386
+ "startOffset": {
1387
+ "type": "integer",
1388
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
1389
+ "minimum": 0,
1390
+ "readOnly": true
1391
+ },
1392
+ "endOffset": {
1393
+ "type": "integer",
1394
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
1395
+ "minimum": 0,
1396
+ "readOnly": true
1397
+ },
1398
+ "originalText": {
1399
+ "type": "string",
1400
+ "description": "The original text content of this test or step as found in the source file.",
1401
+ "readOnly": true
1402
+ },
1403
+ "isInline": {
1404
+ "type": "boolean",
1405
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
1406
+ "default": false,
1407
+ "readOnly": true
1408
+ },
1409
+ "isAutoDetected": {
1410
+ "type": "boolean",
1411
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
1412
+ "default": false,
1413
+ "readOnly": true
1414
+ },
1415
+ "commentFormat": {
1416
+ "type": "string",
1417
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
1418
+ "enum": [
1419
+ "htmlComment",
1420
+ "jsxComment",
1421
+ "linkReference"
1422
+ ],
1423
+ "readOnly": true
1424
+ }
1425
+ },
1426
+ "examples": [
1427
+ {
1428
+ "file": "/path/to/docs/getting-started.md",
1429
+ "startLine": 42,
1430
+ "endLine": 45,
1431
+ "startColumn": 1,
1432
+ "endColumn": 3,
1433
+ "startOffset": 1250,
1434
+ "endOffset": 1350,
1435
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
1436
+ "isInline": true,
1437
+ "isAutoDetected": false,
1438
+ "commentFormat": "htmlComment"
1439
+ },
1440
+ {
1441
+ "file": "/path/to/docs/tutorial.md",
1442
+ "startLine": 78,
1443
+ "endLine": 78,
1444
+ "startColumn": 1,
1445
+ "endColumn": 45,
1446
+ "startOffset": 2100,
1447
+ "endOffset": 2145,
1448
+ "originalText": "[example link](https://example.com)",
1449
+ "isInline": true,
1450
+ "isAutoDetected": true,
1451
+ "commentFormat": "htmlComment"
1452
+ }
1453
+ ]
1454
+ },
1243
1455
  "description": {
1244
1456
  "type": "string",
1245
1457
  "description": "Description of the step."
@@ -1292,6 +1504,112 @@
1292
1504
  "type": "string",
1293
1505
  "description": "ID of the step."
1294
1506
  },
1507
+ "sourceLocation": {
1508
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
1509
+ "$schema": "http://json-schema.org/draft-07/schema#",
1510
+ "title": "sourceLocation",
1511
+ "type": "object",
1512
+ "readOnly": true,
1513
+ "additionalProperties": false,
1514
+ "properties": {
1515
+ "file": {
1516
+ "type": "string",
1517
+ "description": "Absolute path to the source file containing this test or step.",
1518
+ "readOnly": true
1519
+ },
1520
+ "startLine": {
1521
+ "type": "integer",
1522
+ "description": "1-based line number where this test or step starts.",
1523
+ "minimum": 1,
1524
+ "readOnly": true
1525
+ },
1526
+ "endLine": {
1527
+ "type": "integer",
1528
+ "description": "1-based line number where this test or step ends.",
1529
+ "minimum": 1,
1530
+ "readOnly": true
1531
+ },
1532
+ "startColumn": {
1533
+ "type": "integer",
1534
+ "description": "1-based column number where this test or step starts on startLine.",
1535
+ "minimum": 1,
1536
+ "readOnly": true
1537
+ },
1538
+ "endColumn": {
1539
+ "type": "integer",
1540
+ "description": "1-based column number where this test or step ends on endLine.",
1541
+ "minimum": 1,
1542
+ "readOnly": true
1543
+ },
1544
+ "startOffset": {
1545
+ "type": "integer",
1546
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
1547
+ "minimum": 0,
1548
+ "readOnly": true
1549
+ },
1550
+ "endOffset": {
1551
+ "type": "integer",
1552
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
1553
+ "minimum": 0,
1554
+ "readOnly": true
1555
+ },
1556
+ "originalText": {
1557
+ "type": "string",
1558
+ "description": "The original text content of this test or step as found in the source file.",
1559
+ "readOnly": true
1560
+ },
1561
+ "isInline": {
1562
+ "type": "boolean",
1563
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
1564
+ "default": false,
1565
+ "readOnly": true
1566
+ },
1567
+ "isAutoDetected": {
1568
+ "type": "boolean",
1569
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
1570
+ "default": false,
1571
+ "readOnly": true
1572
+ },
1573
+ "commentFormat": {
1574
+ "type": "string",
1575
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
1576
+ "enum": [
1577
+ "htmlComment",
1578
+ "jsxComment",
1579
+ "linkReference"
1580
+ ],
1581
+ "readOnly": true
1582
+ }
1583
+ },
1584
+ "examples": [
1585
+ {
1586
+ "file": "/path/to/docs/getting-started.md",
1587
+ "startLine": 42,
1588
+ "endLine": 45,
1589
+ "startColumn": 1,
1590
+ "endColumn": 3,
1591
+ "startOffset": 1250,
1592
+ "endOffset": 1350,
1593
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
1594
+ "isInline": true,
1595
+ "isAutoDetected": false,
1596
+ "commentFormat": "htmlComment"
1597
+ },
1598
+ {
1599
+ "file": "/path/to/docs/tutorial.md",
1600
+ "startLine": 78,
1601
+ "endLine": 78,
1602
+ "startColumn": 1,
1603
+ "endColumn": 45,
1604
+ "startOffset": 2100,
1605
+ "endOffset": 2145,
1606
+ "originalText": "[example link](https://example.com)",
1607
+ "isInline": true,
1608
+ "isAutoDetected": true,
1609
+ "commentFormat": "htmlComment"
1610
+ }
1611
+ ]
1612
+ },
1295
1613
  "description": {
1296
1614
  "type": "string",
1297
1615
  "description": "Description of the step."
@@ -1352,6 +1670,112 @@
1352
1670
  "type": "string",
1353
1671
  "description": "ID of the step."
1354
1672
  },
1673
+ "sourceLocation": {
1674
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
1675
+ "$schema": "http://json-schema.org/draft-07/schema#",
1676
+ "title": "sourceLocation",
1677
+ "type": "object",
1678
+ "readOnly": true,
1679
+ "additionalProperties": false,
1680
+ "properties": {
1681
+ "file": {
1682
+ "type": "string",
1683
+ "description": "Absolute path to the source file containing this test or step.",
1684
+ "readOnly": true
1685
+ },
1686
+ "startLine": {
1687
+ "type": "integer",
1688
+ "description": "1-based line number where this test or step starts.",
1689
+ "minimum": 1,
1690
+ "readOnly": true
1691
+ },
1692
+ "endLine": {
1693
+ "type": "integer",
1694
+ "description": "1-based line number where this test or step ends.",
1695
+ "minimum": 1,
1696
+ "readOnly": true
1697
+ },
1698
+ "startColumn": {
1699
+ "type": "integer",
1700
+ "description": "1-based column number where this test or step starts on startLine.",
1701
+ "minimum": 1,
1702
+ "readOnly": true
1703
+ },
1704
+ "endColumn": {
1705
+ "type": "integer",
1706
+ "description": "1-based column number where this test or step ends on endLine.",
1707
+ "minimum": 1,
1708
+ "readOnly": true
1709
+ },
1710
+ "startOffset": {
1711
+ "type": "integer",
1712
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
1713
+ "minimum": 0,
1714
+ "readOnly": true
1715
+ },
1716
+ "endOffset": {
1717
+ "type": "integer",
1718
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
1719
+ "minimum": 0,
1720
+ "readOnly": true
1721
+ },
1722
+ "originalText": {
1723
+ "type": "string",
1724
+ "description": "The original text content of this test or step as found in the source file.",
1725
+ "readOnly": true
1726
+ },
1727
+ "isInline": {
1728
+ "type": "boolean",
1729
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
1730
+ "default": false,
1731
+ "readOnly": true
1732
+ },
1733
+ "isAutoDetected": {
1734
+ "type": "boolean",
1735
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
1736
+ "default": false,
1737
+ "readOnly": true
1738
+ },
1739
+ "commentFormat": {
1740
+ "type": "string",
1741
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
1742
+ "enum": [
1743
+ "htmlComment",
1744
+ "jsxComment",
1745
+ "linkReference"
1746
+ ],
1747
+ "readOnly": true
1748
+ }
1749
+ },
1750
+ "examples": [
1751
+ {
1752
+ "file": "/path/to/docs/getting-started.md",
1753
+ "startLine": 42,
1754
+ "endLine": 45,
1755
+ "startColumn": 1,
1756
+ "endColumn": 3,
1757
+ "startOffset": 1250,
1758
+ "endOffset": 1350,
1759
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
1760
+ "isInline": true,
1761
+ "isAutoDetected": false,
1762
+ "commentFormat": "htmlComment"
1763
+ },
1764
+ {
1765
+ "file": "/path/to/docs/tutorial.md",
1766
+ "startLine": 78,
1767
+ "endLine": 78,
1768
+ "startColumn": 1,
1769
+ "endColumn": 45,
1770
+ "startOffset": 2100,
1771
+ "endOffset": 2145,
1772
+ "originalText": "[example link](https://example.com)",
1773
+ "isInline": true,
1774
+ "isAutoDetected": true,
1775
+ "commentFormat": "htmlComment"
1776
+ }
1777
+ ]
1778
+ },
1355
1779
  "description": {
1356
1780
  "type": "string",
1357
1781
  "description": "Description of the step."
@@ -1568,6 +1992,112 @@
1568
1992
  "type": "string",
1569
1993
  "description": "ID of the step."
1570
1994
  },
1995
+ "sourceLocation": {
1996
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
1997
+ "$schema": "http://json-schema.org/draft-07/schema#",
1998
+ "title": "sourceLocation",
1999
+ "type": "object",
2000
+ "readOnly": true,
2001
+ "additionalProperties": false,
2002
+ "properties": {
2003
+ "file": {
2004
+ "type": "string",
2005
+ "description": "Absolute path to the source file containing this test or step.",
2006
+ "readOnly": true
2007
+ },
2008
+ "startLine": {
2009
+ "type": "integer",
2010
+ "description": "1-based line number where this test or step starts.",
2011
+ "minimum": 1,
2012
+ "readOnly": true
2013
+ },
2014
+ "endLine": {
2015
+ "type": "integer",
2016
+ "description": "1-based line number where this test or step ends.",
2017
+ "minimum": 1,
2018
+ "readOnly": true
2019
+ },
2020
+ "startColumn": {
2021
+ "type": "integer",
2022
+ "description": "1-based column number where this test or step starts on startLine.",
2023
+ "minimum": 1,
2024
+ "readOnly": true
2025
+ },
2026
+ "endColumn": {
2027
+ "type": "integer",
2028
+ "description": "1-based column number where this test or step ends on endLine.",
2029
+ "minimum": 1,
2030
+ "readOnly": true
2031
+ },
2032
+ "startOffset": {
2033
+ "type": "integer",
2034
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
2035
+ "minimum": 0,
2036
+ "readOnly": true
2037
+ },
2038
+ "endOffset": {
2039
+ "type": "integer",
2040
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
2041
+ "minimum": 0,
2042
+ "readOnly": true
2043
+ },
2044
+ "originalText": {
2045
+ "type": "string",
2046
+ "description": "The original text content of this test or step as found in the source file.",
2047
+ "readOnly": true
2048
+ },
2049
+ "isInline": {
2050
+ "type": "boolean",
2051
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
2052
+ "default": false,
2053
+ "readOnly": true
2054
+ },
2055
+ "isAutoDetected": {
2056
+ "type": "boolean",
2057
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
2058
+ "default": false,
2059
+ "readOnly": true
2060
+ },
2061
+ "commentFormat": {
2062
+ "type": "string",
2063
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
2064
+ "enum": [
2065
+ "htmlComment",
2066
+ "jsxComment",
2067
+ "linkReference"
2068
+ ],
2069
+ "readOnly": true
2070
+ }
2071
+ },
2072
+ "examples": [
2073
+ {
2074
+ "file": "/path/to/docs/getting-started.md",
2075
+ "startLine": 42,
2076
+ "endLine": 45,
2077
+ "startColumn": 1,
2078
+ "endColumn": 3,
2079
+ "startOffset": 1250,
2080
+ "endOffset": 1350,
2081
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
2082
+ "isInline": true,
2083
+ "isAutoDetected": false,
2084
+ "commentFormat": "htmlComment"
2085
+ },
2086
+ {
2087
+ "file": "/path/to/docs/tutorial.md",
2088
+ "startLine": 78,
2089
+ "endLine": 78,
2090
+ "startColumn": 1,
2091
+ "endColumn": 45,
2092
+ "startOffset": 2100,
2093
+ "endOffset": 2145,
2094
+ "originalText": "[example link](https://example.com)",
2095
+ "isInline": true,
2096
+ "isAutoDetected": true,
2097
+ "commentFormat": "htmlComment"
2098
+ }
2099
+ ]
2100
+ },
1571
2101
  "description": {
1572
2102
  "type": "string",
1573
2103
  "description": "Description of the step."
@@ -1891,6 +2421,112 @@
1891
2421
  "type": "string",
1892
2422
  "description": "ID of the step."
1893
2423
  },
2424
+ "sourceLocation": {
2425
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
2426
+ "$schema": "http://json-schema.org/draft-07/schema#",
2427
+ "title": "sourceLocation",
2428
+ "type": "object",
2429
+ "readOnly": true,
2430
+ "additionalProperties": false,
2431
+ "properties": {
2432
+ "file": {
2433
+ "type": "string",
2434
+ "description": "Absolute path to the source file containing this test or step.",
2435
+ "readOnly": true
2436
+ },
2437
+ "startLine": {
2438
+ "type": "integer",
2439
+ "description": "1-based line number where this test or step starts.",
2440
+ "minimum": 1,
2441
+ "readOnly": true
2442
+ },
2443
+ "endLine": {
2444
+ "type": "integer",
2445
+ "description": "1-based line number where this test or step ends.",
2446
+ "minimum": 1,
2447
+ "readOnly": true
2448
+ },
2449
+ "startColumn": {
2450
+ "type": "integer",
2451
+ "description": "1-based column number where this test or step starts on startLine.",
2452
+ "minimum": 1,
2453
+ "readOnly": true
2454
+ },
2455
+ "endColumn": {
2456
+ "type": "integer",
2457
+ "description": "1-based column number where this test or step ends on endLine.",
2458
+ "minimum": 1,
2459
+ "readOnly": true
2460
+ },
2461
+ "startOffset": {
2462
+ "type": "integer",
2463
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
2464
+ "minimum": 0,
2465
+ "readOnly": true
2466
+ },
2467
+ "endOffset": {
2468
+ "type": "integer",
2469
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
2470
+ "minimum": 0,
2471
+ "readOnly": true
2472
+ },
2473
+ "originalText": {
2474
+ "type": "string",
2475
+ "description": "The original text content of this test or step as found in the source file.",
2476
+ "readOnly": true
2477
+ },
2478
+ "isInline": {
2479
+ "type": "boolean",
2480
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
2481
+ "default": false,
2482
+ "readOnly": true
2483
+ },
2484
+ "isAutoDetected": {
2485
+ "type": "boolean",
2486
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
2487
+ "default": false,
2488
+ "readOnly": true
2489
+ },
2490
+ "commentFormat": {
2491
+ "type": "string",
2492
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
2493
+ "enum": [
2494
+ "htmlComment",
2495
+ "jsxComment",
2496
+ "linkReference"
2497
+ ],
2498
+ "readOnly": true
2499
+ }
2500
+ },
2501
+ "examples": [
2502
+ {
2503
+ "file": "/path/to/docs/getting-started.md",
2504
+ "startLine": 42,
2505
+ "endLine": 45,
2506
+ "startColumn": 1,
2507
+ "endColumn": 3,
2508
+ "startOffset": 1250,
2509
+ "endOffset": 1350,
2510
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
2511
+ "isInline": true,
2512
+ "isAutoDetected": false,
2513
+ "commentFormat": "htmlComment"
2514
+ },
2515
+ {
2516
+ "file": "/path/to/docs/tutorial.md",
2517
+ "startLine": 78,
2518
+ "endLine": 78,
2519
+ "startColumn": 1,
2520
+ "endColumn": 45,
2521
+ "startOffset": 2100,
2522
+ "endOffset": 2145,
2523
+ "originalText": "[example link](https://example.com)",
2524
+ "isInline": true,
2525
+ "isAutoDetected": true,
2526
+ "commentFormat": "htmlComment"
2527
+ }
2528
+ ]
2529
+ },
1894
2530
  "description": {
1895
2531
  "type": "string",
1896
2532
  "description": "Description of the step."
@@ -3311,6 +3947,112 @@
3311
3947
  "type": "string",
3312
3948
  "description": "ID of the step."
3313
3949
  },
3950
+ "sourceLocation": {
3951
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
3952
+ "$schema": "http://json-schema.org/draft-07/schema#",
3953
+ "title": "sourceLocation",
3954
+ "type": "object",
3955
+ "readOnly": true,
3956
+ "additionalProperties": false,
3957
+ "properties": {
3958
+ "file": {
3959
+ "type": "string",
3960
+ "description": "Absolute path to the source file containing this test or step.",
3961
+ "readOnly": true
3962
+ },
3963
+ "startLine": {
3964
+ "type": "integer",
3965
+ "description": "1-based line number where this test or step starts.",
3966
+ "minimum": 1,
3967
+ "readOnly": true
3968
+ },
3969
+ "endLine": {
3970
+ "type": "integer",
3971
+ "description": "1-based line number where this test or step ends.",
3972
+ "minimum": 1,
3973
+ "readOnly": true
3974
+ },
3975
+ "startColumn": {
3976
+ "type": "integer",
3977
+ "description": "1-based column number where this test or step starts on startLine.",
3978
+ "minimum": 1,
3979
+ "readOnly": true
3980
+ },
3981
+ "endColumn": {
3982
+ "type": "integer",
3983
+ "description": "1-based column number where this test or step ends on endLine.",
3984
+ "minimum": 1,
3985
+ "readOnly": true
3986
+ },
3987
+ "startOffset": {
3988
+ "type": "integer",
3989
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
3990
+ "minimum": 0,
3991
+ "readOnly": true
3992
+ },
3993
+ "endOffset": {
3994
+ "type": "integer",
3995
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
3996
+ "minimum": 0,
3997
+ "readOnly": true
3998
+ },
3999
+ "originalText": {
4000
+ "type": "string",
4001
+ "description": "The original text content of this test or step as found in the source file.",
4002
+ "readOnly": true
4003
+ },
4004
+ "isInline": {
4005
+ "type": "boolean",
4006
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
4007
+ "default": false,
4008
+ "readOnly": true
4009
+ },
4010
+ "isAutoDetected": {
4011
+ "type": "boolean",
4012
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
4013
+ "default": false,
4014
+ "readOnly": true
4015
+ },
4016
+ "commentFormat": {
4017
+ "type": "string",
4018
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
4019
+ "enum": [
4020
+ "htmlComment",
4021
+ "jsxComment",
4022
+ "linkReference"
4023
+ ],
4024
+ "readOnly": true
4025
+ }
4026
+ },
4027
+ "examples": [
4028
+ {
4029
+ "file": "/path/to/docs/getting-started.md",
4030
+ "startLine": 42,
4031
+ "endLine": 45,
4032
+ "startColumn": 1,
4033
+ "endColumn": 3,
4034
+ "startOffset": 1250,
4035
+ "endOffset": 1350,
4036
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
4037
+ "isInline": true,
4038
+ "isAutoDetected": false,
4039
+ "commentFormat": "htmlComment"
4040
+ },
4041
+ {
4042
+ "file": "/path/to/docs/tutorial.md",
4043
+ "startLine": 78,
4044
+ "endLine": 78,
4045
+ "startColumn": 1,
4046
+ "endColumn": 45,
4047
+ "startOffset": 2100,
4048
+ "endOffset": 2145,
4049
+ "originalText": "[example link](https://example.com)",
4050
+ "isInline": true,
4051
+ "isAutoDetected": true,
4052
+ "commentFormat": "htmlComment"
4053
+ }
4054
+ ]
4055
+ },
3314
4056
  "description": {
3315
4057
  "type": "string",
3316
4058
  "description": "Description of the step."
@@ -3801,20 +4543,126 @@
3801
4543
  "type": "string",
3802
4544
  "description": "ID of the step."
3803
4545
  },
3804
- "description": {
3805
- "type": "string",
3806
- "description": "Description of the step."
3807
- },
3808
- "unsafe": {
3809
- "type": "boolean",
3810
- "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.",
3811
- "default": false
3812
- },
3813
- "outputs": {
4546
+ "sourceLocation": {
4547
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
4548
+ "$schema": "http://json-schema.org/draft-07/schema#",
4549
+ "title": "sourceLocation",
3814
4550
  "type": "object",
3815
- "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.",
3816
- "default": {},
3817
- "patternProperties": {
4551
+ "readOnly": true,
4552
+ "additionalProperties": false,
4553
+ "properties": {
4554
+ "file": {
4555
+ "type": "string",
4556
+ "description": "Absolute path to the source file containing this test or step.",
4557
+ "readOnly": true
4558
+ },
4559
+ "startLine": {
4560
+ "type": "integer",
4561
+ "description": "1-based line number where this test or step starts.",
4562
+ "minimum": 1,
4563
+ "readOnly": true
4564
+ },
4565
+ "endLine": {
4566
+ "type": "integer",
4567
+ "description": "1-based line number where this test or step ends.",
4568
+ "minimum": 1,
4569
+ "readOnly": true
4570
+ },
4571
+ "startColumn": {
4572
+ "type": "integer",
4573
+ "description": "1-based column number where this test or step starts on startLine.",
4574
+ "minimum": 1,
4575
+ "readOnly": true
4576
+ },
4577
+ "endColumn": {
4578
+ "type": "integer",
4579
+ "description": "1-based column number where this test or step ends on endLine.",
4580
+ "minimum": 1,
4581
+ "readOnly": true
4582
+ },
4583
+ "startOffset": {
4584
+ "type": "integer",
4585
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
4586
+ "minimum": 0,
4587
+ "readOnly": true
4588
+ },
4589
+ "endOffset": {
4590
+ "type": "integer",
4591
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
4592
+ "minimum": 0,
4593
+ "readOnly": true
4594
+ },
4595
+ "originalText": {
4596
+ "type": "string",
4597
+ "description": "The original text content of this test or step as found in the source file.",
4598
+ "readOnly": true
4599
+ },
4600
+ "isInline": {
4601
+ "type": "boolean",
4602
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
4603
+ "default": false,
4604
+ "readOnly": true
4605
+ },
4606
+ "isAutoDetected": {
4607
+ "type": "boolean",
4608
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
4609
+ "default": false,
4610
+ "readOnly": true
4611
+ },
4612
+ "commentFormat": {
4613
+ "type": "string",
4614
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
4615
+ "enum": [
4616
+ "htmlComment",
4617
+ "jsxComment",
4618
+ "linkReference"
4619
+ ],
4620
+ "readOnly": true
4621
+ }
4622
+ },
4623
+ "examples": [
4624
+ {
4625
+ "file": "/path/to/docs/getting-started.md",
4626
+ "startLine": 42,
4627
+ "endLine": 45,
4628
+ "startColumn": 1,
4629
+ "endColumn": 3,
4630
+ "startOffset": 1250,
4631
+ "endOffset": 1350,
4632
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
4633
+ "isInline": true,
4634
+ "isAutoDetected": false,
4635
+ "commentFormat": "htmlComment"
4636
+ },
4637
+ {
4638
+ "file": "/path/to/docs/tutorial.md",
4639
+ "startLine": 78,
4640
+ "endLine": 78,
4641
+ "startColumn": 1,
4642
+ "endColumn": 45,
4643
+ "startOffset": 2100,
4644
+ "endOffset": 2145,
4645
+ "originalText": "[example link](https://example.com)",
4646
+ "isInline": true,
4647
+ "isAutoDetected": true,
4648
+ "commentFormat": "htmlComment"
4649
+ }
4650
+ ]
4651
+ },
4652
+ "description": {
4653
+ "type": "string",
4654
+ "description": "Description of the step."
4655
+ },
4656
+ "unsafe": {
4657
+ "type": "boolean",
4658
+ "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.",
4659
+ "default": false
4660
+ },
4661
+ "outputs": {
4662
+ "type": "object",
4663
+ "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.",
4664
+ "default": {},
4665
+ "patternProperties": {
3818
4666
  "^[A-Za-z0-9_]+$": {
3819
4667
  "type": "string",
3820
4668
  "description": "Runtime expression for a user-defined output value."
@@ -4866,6 +5714,112 @@
4866
5714
  "type": "string",
4867
5715
  "description": "ID of the step."
4868
5716
  },
5717
+ "sourceLocation": {
5718
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
5719
+ "$schema": "http://json-schema.org/draft-07/schema#",
5720
+ "title": "sourceLocation",
5721
+ "type": "object",
5722
+ "readOnly": true,
5723
+ "additionalProperties": false,
5724
+ "properties": {
5725
+ "file": {
5726
+ "type": "string",
5727
+ "description": "Absolute path to the source file containing this test or step.",
5728
+ "readOnly": true
5729
+ },
5730
+ "startLine": {
5731
+ "type": "integer",
5732
+ "description": "1-based line number where this test or step starts.",
5733
+ "minimum": 1,
5734
+ "readOnly": true
5735
+ },
5736
+ "endLine": {
5737
+ "type": "integer",
5738
+ "description": "1-based line number where this test or step ends.",
5739
+ "minimum": 1,
5740
+ "readOnly": true
5741
+ },
5742
+ "startColumn": {
5743
+ "type": "integer",
5744
+ "description": "1-based column number where this test or step starts on startLine.",
5745
+ "minimum": 1,
5746
+ "readOnly": true
5747
+ },
5748
+ "endColumn": {
5749
+ "type": "integer",
5750
+ "description": "1-based column number where this test or step ends on endLine.",
5751
+ "minimum": 1,
5752
+ "readOnly": true
5753
+ },
5754
+ "startOffset": {
5755
+ "type": "integer",
5756
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
5757
+ "minimum": 0,
5758
+ "readOnly": true
5759
+ },
5760
+ "endOffset": {
5761
+ "type": "integer",
5762
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
5763
+ "minimum": 0,
5764
+ "readOnly": true
5765
+ },
5766
+ "originalText": {
5767
+ "type": "string",
5768
+ "description": "The original text content of this test or step as found in the source file.",
5769
+ "readOnly": true
5770
+ },
5771
+ "isInline": {
5772
+ "type": "boolean",
5773
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
5774
+ "default": false,
5775
+ "readOnly": true
5776
+ },
5777
+ "isAutoDetected": {
5778
+ "type": "boolean",
5779
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
5780
+ "default": false,
5781
+ "readOnly": true
5782
+ },
5783
+ "commentFormat": {
5784
+ "type": "string",
5785
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
5786
+ "enum": [
5787
+ "htmlComment",
5788
+ "jsxComment",
5789
+ "linkReference"
5790
+ ],
5791
+ "readOnly": true
5792
+ }
5793
+ },
5794
+ "examples": [
5795
+ {
5796
+ "file": "/path/to/docs/getting-started.md",
5797
+ "startLine": 42,
5798
+ "endLine": 45,
5799
+ "startColumn": 1,
5800
+ "endColumn": 3,
5801
+ "startOffset": 1250,
5802
+ "endOffset": 1350,
5803
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
5804
+ "isInline": true,
5805
+ "isAutoDetected": false,
5806
+ "commentFormat": "htmlComment"
5807
+ },
5808
+ {
5809
+ "file": "/path/to/docs/tutorial.md",
5810
+ "startLine": 78,
5811
+ "endLine": 78,
5812
+ "startColumn": 1,
5813
+ "endColumn": 45,
5814
+ "startOffset": 2100,
5815
+ "endOffset": 2145,
5816
+ "originalText": "[example link](https://example.com)",
5817
+ "isInline": true,
5818
+ "isAutoDetected": true,
5819
+ "commentFormat": "htmlComment"
5820
+ }
5821
+ ]
5822
+ },
4869
5823
  "description": {
4870
5824
  "type": "string",
4871
5825
  "description": "Description of the step."
@@ -5173,6 +6127,112 @@
5173
6127
  "type": "string",
5174
6128
  "description": "ID of the step."
5175
6129
  },
6130
+ "sourceLocation": {
6131
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
6132
+ "$schema": "http://json-schema.org/draft-07/schema#",
6133
+ "title": "sourceLocation",
6134
+ "type": "object",
6135
+ "readOnly": true,
6136
+ "additionalProperties": false,
6137
+ "properties": {
6138
+ "file": {
6139
+ "type": "string",
6140
+ "description": "Absolute path to the source file containing this test or step.",
6141
+ "readOnly": true
6142
+ },
6143
+ "startLine": {
6144
+ "type": "integer",
6145
+ "description": "1-based line number where this test or step starts.",
6146
+ "minimum": 1,
6147
+ "readOnly": true
6148
+ },
6149
+ "endLine": {
6150
+ "type": "integer",
6151
+ "description": "1-based line number where this test or step ends.",
6152
+ "minimum": 1,
6153
+ "readOnly": true
6154
+ },
6155
+ "startColumn": {
6156
+ "type": "integer",
6157
+ "description": "1-based column number where this test or step starts on startLine.",
6158
+ "minimum": 1,
6159
+ "readOnly": true
6160
+ },
6161
+ "endColumn": {
6162
+ "type": "integer",
6163
+ "description": "1-based column number where this test or step ends on endLine.",
6164
+ "minimum": 1,
6165
+ "readOnly": true
6166
+ },
6167
+ "startOffset": {
6168
+ "type": "integer",
6169
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
6170
+ "minimum": 0,
6171
+ "readOnly": true
6172
+ },
6173
+ "endOffset": {
6174
+ "type": "integer",
6175
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
6176
+ "minimum": 0,
6177
+ "readOnly": true
6178
+ },
6179
+ "originalText": {
6180
+ "type": "string",
6181
+ "description": "The original text content of this test or step as found in the source file.",
6182
+ "readOnly": true
6183
+ },
6184
+ "isInline": {
6185
+ "type": "boolean",
6186
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
6187
+ "default": false,
6188
+ "readOnly": true
6189
+ },
6190
+ "isAutoDetected": {
6191
+ "type": "boolean",
6192
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
6193
+ "default": false,
6194
+ "readOnly": true
6195
+ },
6196
+ "commentFormat": {
6197
+ "type": "string",
6198
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
6199
+ "enum": [
6200
+ "htmlComment",
6201
+ "jsxComment",
6202
+ "linkReference"
6203
+ ],
6204
+ "readOnly": true
6205
+ }
6206
+ },
6207
+ "examples": [
6208
+ {
6209
+ "file": "/path/to/docs/getting-started.md",
6210
+ "startLine": 42,
6211
+ "endLine": 45,
6212
+ "startColumn": 1,
6213
+ "endColumn": 3,
6214
+ "startOffset": 1250,
6215
+ "endOffset": 1350,
6216
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
6217
+ "isInline": true,
6218
+ "isAutoDetected": false,
6219
+ "commentFormat": "htmlComment"
6220
+ },
6221
+ {
6222
+ "file": "/path/to/docs/tutorial.md",
6223
+ "startLine": 78,
6224
+ "endLine": 78,
6225
+ "startColumn": 1,
6226
+ "endColumn": 45,
6227
+ "startOffset": 2100,
6228
+ "endOffset": 2145,
6229
+ "originalText": "[example link](https://example.com)",
6230
+ "isInline": true,
6231
+ "isAutoDetected": true,
6232
+ "commentFormat": "htmlComment"
6233
+ }
6234
+ ]
6235
+ },
5176
6236
  "description": {
5177
6237
  "type": "string",
5178
6238
  "description": "Description of the step."
@@ -5466,6 +6526,112 @@
5466
6526
  "type": "string",
5467
6527
  "description": "ID of the step."
5468
6528
  },
6529
+ "sourceLocation": {
6530
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
6531
+ "$schema": "http://json-schema.org/draft-07/schema#",
6532
+ "title": "sourceLocation",
6533
+ "type": "object",
6534
+ "readOnly": true,
6535
+ "additionalProperties": false,
6536
+ "properties": {
6537
+ "file": {
6538
+ "type": "string",
6539
+ "description": "Absolute path to the source file containing this test or step.",
6540
+ "readOnly": true
6541
+ },
6542
+ "startLine": {
6543
+ "type": "integer",
6544
+ "description": "1-based line number where this test or step starts.",
6545
+ "minimum": 1,
6546
+ "readOnly": true
6547
+ },
6548
+ "endLine": {
6549
+ "type": "integer",
6550
+ "description": "1-based line number where this test or step ends.",
6551
+ "minimum": 1,
6552
+ "readOnly": true
6553
+ },
6554
+ "startColumn": {
6555
+ "type": "integer",
6556
+ "description": "1-based column number where this test or step starts on startLine.",
6557
+ "minimum": 1,
6558
+ "readOnly": true
6559
+ },
6560
+ "endColumn": {
6561
+ "type": "integer",
6562
+ "description": "1-based column number where this test or step ends on endLine.",
6563
+ "minimum": 1,
6564
+ "readOnly": true
6565
+ },
6566
+ "startOffset": {
6567
+ "type": "integer",
6568
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
6569
+ "minimum": 0,
6570
+ "readOnly": true
6571
+ },
6572
+ "endOffset": {
6573
+ "type": "integer",
6574
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
6575
+ "minimum": 0,
6576
+ "readOnly": true
6577
+ },
6578
+ "originalText": {
6579
+ "type": "string",
6580
+ "description": "The original text content of this test or step as found in the source file.",
6581
+ "readOnly": true
6582
+ },
6583
+ "isInline": {
6584
+ "type": "boolean",
6585
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
6586
+ "default": false,
6587
+ "readOnly": true
6588
+ },
6589
+ "isAutoDetected": {
6590
+ "type": "boolean",
6591
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
6592
+ "default": false,
6593
+ "readOnly": true
6594
+ },
6595
+ "commentFormat": {
6596
+ "type": "string",
6597
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
6598
+ "enum": [
6599
+ "htmlComment",
6600
+ "jsxComment",
6601
+ "linkReference"
6602
+ ],
6603
+ "readOnly": true
6604
+ }
6605
+ },
6606
+ "examples": [
6607
+ {
6608
+ "file": "/path/to/docs/getting-started.md",
6609
+ "startLine": 42,
6610
+ "endLine": 45,
6611
+ "startColumn": 1,
6612
+ "endColumn": 3,
6613
+ "startOffset": 1250,
6614
+ "endOffset": 1350,
6615
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
6616
+ "isInline": true,
6617
+ "isAutoDetected": false,
6618
+ "commentFormat": "htmlComment"
6619
+ },
6620
+ {
6621
+ "file": "/path/to/docs/tutorial.md",
6622
+ "startLine": 78,
6623
+ "endLine": 78,
6624
+ "startColumn": 1,
6625
+ "endColumn": 45,
6626
+ "startOffset": 2100,
6627
+ "endOffset": 2145,
6628
+ "originalText": "[example link](https://example.com)",
6629
+ "isInline": true,
6630
+ "isAutoDetected": true,
6631
+ "commentFormat": "htmlComment"
6632
+ }
6633
+ ]
6634
+ },
5469
6635
  "description": {
5470
6636
  "type": "string",
5471
6637
  "description": "Description of the step."
@@ -5781,6 +6947,112 @@
5781
6947
  "type": "string",
5782
6948
  "description": "ID of the step."
5783
6949
  },
6950
+ "sourceLocation": {
6951
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
6952
+ "$schema": "http://json-schema.org/draft-07/schema#",
6953
+ "title": "sourceLocation",
6954
+ "type": "object",
6955
+ "readOnly": true,
6956
+ "additionalProperties": false,
6957
+ "properties": {
6958
+ "file": {
6959
+ "type": "string",
6960
+ "description": "Absolute path to the source file containing this test or step.",
6961
+ "readOnly": true
6962
+ },
6963
+ "startLine": {
6964
+ "type": "integer",
6965
+ "description": "1-based line number where this test or step starts.",
6966
+ "minimum": 1,
6967
+ "readOnly": true
6968
+ },
6969
+ "endLine": {
6970
+ "type": "integer",
6971
+ "description": "1-based line number where this test or step ends.",
6972
+ "minimum": 1,
6973
+ "readOnly": true
6974
+ },
6975
+ "startColumn": {
6976
+ "type": "integer",
6977
+ "description": "1-based column number where this test or step starts on startLine.",
6978
+ "minimum": 1,
6979
+ "readOnly": true
6980
+ },
6981
+ "endColumn": {
6982
+ "type": "integer",
6983
+ "description": "1-based column number where this test or step ends on endLine.",
6984
+ "minimum": 1,
6985
+ "readOnly": true
6986
+ },
6987
+ "startOffset": {
6988
+ "type": "integer",
6989
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
6990
+ "minimum": 0,
6991
+ "readOnly": true
6992
+ },
6993
+ "endOffset": {
6994
+ "type": "integer",
6995
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
6996
+ "minimum": 0,
6997
+ "readOnly": true
6998
+ },
6999
+ "originalText": {
7000
+ "type": "string",
7001
+ "description": "The original text content of this test or step as found in the source file.",
7002
+ "readOnly": true
7003
+ },
7004
+ "isInline": {
7005
+ "type": "boolean",
7006
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
7007
+ "default": false,
7008
+ "readOnly": true
7009
+ },
7010
+ "isAutoDetected": {
7011
+ "type": "boolean",
7012
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
7013
+ "default": false,
7014
+ "readOnly": true
7015
+ },
7016
+ "commentFormat": {
7017
+ "type": "string",
7018
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
7019
+ "enum": [
7020
+ "htmlComment",
7021
+ "jsxComment",
7022
+ "linkReference"
7023
+ ],
7024
+ "readOnly": true
7025
+ }
7026
+ },
7027
+ "examples": [
7028
+ {
7029
+ "file": "/path/to/docs/getting-started.md",
7030
+ "startLine": 42,
7031
+ "endLine": 45,
7032
+ "startColumn": 1,
7033
+ "endColumn": 3,
7034
+ "startOffset": 1250,
7035
+ "endOffset": 1350,
7036
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
7037
+ "isInline": true,
7038
+ "isAutoDetected": false,
7039
+ "commentFormat": "htmlComment"
7040
+ },
7041
+ {
7042
+ "file": "/path/to/docs/tutorial.md",
7043
+ "startLine": 78,
7044
+ "endLine": 78,
7045
+ "startColumn": 1,
7046
+ "endColumn": 45,
7047
+ "startOffset": 2100,
7048
+ "endOffset": 2145,
7049
+ "originalText": "[example link](https://example.com)",
7050
+ "isInline": true,
7051
+ "isAutoDetected": true,
7052
+ "commentFormat": "htmlComment"
7053
+ }
7054
+ ]
7055
+ },
5784
7056
  "description": {
5785
7057
  "type": "string",
5786
7058
  "description": "Description of the step."
@@ -6433,6 +7705,112 @@
6433
7705
  "type": "string",
6434
7706
  "description": "ID of the step."
6435
7707
  },
7708
+ "sourceLocation": {
7709
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
7710
+ "$schema": "http://json-schema.org/draft-07/schema#",
7711
+ "title": "sourceLocation",
7712
+ "type": "object",
7713
+ "readOnly": true,
7714
+ "additionalProperties": false,
7715
+ "properties": {
7716
+ "file": {
7717
+ "type": "string",
7718
+ "description": "Absolute path to the source file containing this test or step.",
7719
+ "readOnly": true
7720
+ },
7721
+ "startLine": {
7722
+ "type": "integer",
7723
+ "description": "1-based line number where this test or step starts.",
7724
+ "minimum": 1,
7725
+ "readOnly": true
7726
+ },
7727
+ "endLine": {
7728
+ "type": "integer",
7729
+ "description": "1-based line number where this test or step ends.",
7730
+ "minimum": 1,
7731
+ "readOnly": true
7732
+ },
7733
+ "startColumn": {
7734
+ "type": "integer",
7735
+ "description": "1-based column number where this test or step starts on startLine.",
7736
+ "minimum": 1,
7737
+ "readOnly": true
7738
+ },
7739
+ "endColumn": {
7740
+ "type": "integer",
7741
+ "description": "1-based column number where this test or step ends on endLine.",
7742
+ "minimum": 1,
7743
+ "readOnly": true
7744
+ },
7745
+ "startOffset": {
7746
+ "type": "integer",
7747
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
7748
+ "minimum": 0,
7749
+ "readOnly": true
7750
+ },
7751
+ "endOffset": {
7752
+ "type": "integer",
7753
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
7754
+ "minimum": 0,
7755
+ "readOnly": true
7756
+ },
7757
+ "originalText": {
7758
+ "type": "string",
7759
+ "description": "The original text content of this test or step as found in the source file.",
7760
+ "readOnly": true
7761
+ },
7762
+ "isInline": {
7763
+ "type": "boolean",
7764
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
7765
+ "default": false,
7766
+ "readOnly": true
7767
+ },
7768
+ "isAutoDetected": {
7769
+ "type": "boolean",
7770
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
7771
+ "default": false,
7772
+ "readOnly": true
7773
+ },
7774
+ "commentFormat": {
7775
+ "type": "string",
7776
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
7777
+ "enum": [
7778
+ "htmlComment",
7779
+ "jsxComment",
7780
+ "linkReference"
7781
+ ],
7782
+ "readOnly": true
7783
+ }
7784
+ },
7785
+ "examples": [
7786
+ {
7787
+ "file": "/path/to/docs/getting-started.md",
7788
+ "startLine": 42,
7789
+ "endLine": 45,
7790
+ "startColumn": 1,
7791
+ "endColumn": 3,
7792
+ "startOffset": 1250,
7793
+ "endOffset": 1350,
7794
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
7795
+ "isInline": true,
7796
+ "isAutoDetected": false,
7797
+ "commentFormat": "htmlComment"
7798
+ },
7799
+ {
7800
+ "file": "/path/to/docs/tutorial.md",
7801
+ "startLine": 78,
7802
+ "endLine": 78,
7803
+ "startColumn": 1,
7804
+ "endColumn": 45,
7805
+ "startOffset": 2100,
7806
+ "endOffset": 2145,
7807
+ "originalText": "[example link](https://example.com)",
7808
+ "isInline": true,
7809
+ "isAutoDetected": true,
7810
+ "commentFormat": "htmlComment"
7811
+ }
7812
+ ]
7813
+ },
6436
7814
  "description": {
6437
7815
  "type": "string",
6438
7816
  "description": "Description of the step."
@@ -6749,33 +8127,139 @@
6749
8127
  "type": "string",
6750
8128
  "description": "ID of the step."
6751
8129
  },
6752
- "description": {
6753
- "type": "string",
6754
- "description": "Description of the step."
6755
- },
6756
- "unsafe": {
6757
- "type": "boolean",
6758
- "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.",
6759
- "default": false
6760
- },
6761
- "outputs": {
8130
+ "sourceLocation": {
8131
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
8132
+ "$schema": "http://json-schema.org/draft-07/schema#",
8133
+ "title": "sourceLocation",
6762
8134
  "type": "object",
6763
- "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.",
6764
- "default": {},
6765
- "patternProperties": {
6766
- "^[A-Za-z0-9_]+$": {
8135
+ "readOnly": true,
8136
+ "additionalProperties": false,
8137
+ "properties": {
8138
+ "file": {
6767
8139
  "type": "string",
6768
- "description": "Runtime expression for a user-defined output value."
6769
- }
6770
- },
6771
- "title": "Outputs (step)"
6772
- },
6773
- "variables": {
6774
- "type": "object",
6775
- "description": "Environment variables to set from user-defined expressions.",
6776
- "default": {},
6777
- "patternProperties": {
6778
- "^[A-Za-z0-9_]+$": {
8140
+ "description": "Absolute path to the source file containing this test or step.",
8141
+ "readOnly": true
8142
+ },
8143
+ "startLine": {
8144
+ "type": "integer",
8145
+ "description": "1-based line number where this test or step starts.",
8146
+ "minimum": 1,
8147
+ "readOnly": true
8148
+ },
8149
+ "endLine": {
8150
+ "type": "integer",
8151
+ "description": "1-based line number where this test or step ends.",
8152
+ "minimum": 1,
8153
+ "readOnly": true
8154
+ },
8155
+ "startColumn": {
8156
+ "type": "integer",
8157
+ "description": "1-based column number where this test or step starts on startLine.",
8158
+ "minimum": 1,
8159
+ "readOnly": true
8160
+ },
8161
+ "endColumn": {
8162
+ "type": "integer",
8163
+ "description": "1-based column number where this test or step ends on endLine.",
8164
+ "minimum": 1,
8165
+ "readOnly": true
8166
+ },
8167
+ "startOffset": {
8168
+ "type": "integer",
8169
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
8170
+ "minimum": 0,
8171
+ "readOnly": true
8172
+ },
8173
+ "endOffset": {
8174
+ "type": "integer",
8175
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
8176
+ "minimum": 0,
8177
+ "readOnly": true
8178
+ },
8179
+ "originalText": {
8180
+ "type": "string",
8181
+ "description": "The original text content of this test or step as found in the source file.",
8182
+ "readOnly": true
8183
+ },
8184
+ "isInline": {
8185
+ "type": "boolean",
8186
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
8187
+ "default": false,
8188
+ "readOnly": true
8189
+ },
8190
+ "isAutoDetected": {
8191
+ "type": "boolean",
8192
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
8193
+ "default": false,
8194
+ "readOnly": true
8195
+ },
8196
+ "commentFormat": {
8197
+ "type": "string",
8198
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
8199
+ "enum": [
8200
+ "htmlComment",
8201
+ "jsxComment",
8202
+ "linkReference"
8203
+ ],
8204
+ "readOnly": true
8205
+ }
8206
+ },
8207
+ "examples": [
8208
+ {
8209
+ "file": "/path/to/docs/getting-started.md",
8210
+ "startLine": 42,
8211
+ "endLine": 45,
8212
+ "startColumn": 1,
8213
+ "endColumn": 3,
8214
+ "startOffset": 1250,
8215
+ "endOffset": 1350,
8216
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
8217
+ "isInline": true,
8218
+ "isAutoDetected": false,
8219
+ "commentFormat": "htmlComment"
8220
+ },
8221
+ {
8222
+ "file": "/path/to/docs/tutorial.md",
8223
+ "startLine": 78,
8224
+ "endLine": 78,
8225
+ "startColumn": 1,
8226
+ "endColumn": 45,
8227
+ "startOffset": 2100,
8228
+ "endOffset": 2145,
8229
+ "originalText": "[example link](https://example.com)",
8230
+ "isInline": true,
8231
+ "isAutoDetected": true,
8232
+ "commentFormat": "htmlComment"
8233
+ }
8234
+ ]
8235
+ },
8236
+ "description": {
8237
+ "type": "string",
8238
+ "description": "Description of the step."
8239
+ },
8240
+ "unsafe": {
8241
+ "type": "boolean",
8242
+ "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.",
8243
+ "default": false
8244
+ },
8245
+ "outputs": {
8246
+ "type": "object",
8247
+ "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.",
8248
+ "default": {},
8249
+ "patternProperties": {
8250
+ "^[A-Za-z0-9_]+$": {
8251
+ "type": "string",
8252
+ "description": "Runtime expression for a user-defined output value."
8253
+ }
8254
+ },
8255
+ "title": "Outputs (step)"
8256
+ },
8257
+ "variables": {
8258
+ "type": "object",
8259
+ "description": "Environment variables to set from user-defined expressions.",
8260
+ "default": {},
8261
+ "patternProperties": {
8262
+ "^[A-Za-z0-9_]+$": {
6779
8263
  "type": "string",
6780
8264
  "description": "Runtime expression for a user-defined output value."
6781
8265
  }
@@ -6921,6 +8405,112 @@
6921
8405
  "type": "string",
6922
8406
  "description": "ID of the step."
6923
8407
  },
8408
+ "sourceLocation": {
8409
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
8410
+ "$schema": "http://json-schema.org/draft-07/schema#",
8411
+ "title": "sourceLocation",
8412
+ "type": "object",
8413
+ "readOnly": true,
8414
+ "additionalProperties": false,
8415
+ "properties": {
8416
+ "file": {
8417
+ "type": "string",
8418
+ "description": "Absolute path to the source file containing this test or step.",
8419
+ "readOnly": true
8420
+ },
8421
+ "startLine": {
8422
+ "type": "integer",
8423
+ "description": "1-based line number where this test or step starts.",
8424
+ "minimum": 1,
8425
+ "readOnly": true
8426
+ },
8427
+ "endLine": {
8428
+ "type": "integer",
8429
+ "description": "1-based line number where this test or step ends.",
8430
+ "minimum": 1,
8431
+ "readOnly": true
8432
+ },
8433
+ "startColumn": {
8434
+ "type": "integer",
8435
+ "description": "1-based column number where this test or step starts on startLine.",
8436
+ "minimum": 1,
8437
+ "readOnly": true
8438
+ },
8439
+ "endColumn": {
8440
+ "type": "integer",
8441
+ "description": "1-based column number where this test or step ends on endLine.",
8442
+ "minimum": 1,
8443
+ "readOnly": true
8444
+ },
8445
+ "startOffset": {
8446
+ "type": "integer",
8447
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
8448
+ "minimum": 0,
8449
+ "readOnly": true
8450
+ },
8451
+ "endOffset": {
8452
+ "type": "integer",
8453
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
8454
+ "minimum": 0,
8455
+ "readOnly": true
8456
+ },
8457
+ "originalText": {
8458
+ "type": "string",
8459
+ "description": "The original text content of this test or step as found in the source file.",
8460
+ "readOnly": true
8461
+ },
8462
+ "isInline": {
8463
+ "type": "boolean",
8464
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
8465
+ "default": false,
8466
+ "readOnly": true
8467
+ },
8468
+ "isAutoDetected": {
8469
+ "type": "boolean",
8470
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
8471
+ "default": false,
8472
+ "readOnly": true
8473
+ },
8474
+ "commentFormat": {
8475
+ "type": "string",
8476
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
8477
+ "enum": [
8478
+ "htmlComment",
8479
+ "jsxComment",
8480
+ "linkReference"
8481
+ ],
8482
+ "readOnly": true
8483
+ }
8484
+ },
8485
+ "examples": [
8486
+ {
8487
+ "file": "/path/to/docs/getting-started.md",
8488
+ "startLine": 42,
8489
+ "endLine": 45,
8490
+ "startColumn": 1,
8491
+ "endColumn": 3,
8492
+ "startOffset": 1250,
8493
+ "endOffset": 1350,
8494
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
8495
+ "isInline": true,
8496
+ "isAutoDetected": false,
8497
+ "commentFormat": "htmlComment"
8498
+ },
8499
+ {
8500
+ "file": "/path/to/docs/tutorial.md",
8501
+ "startLine": 78,
8502
+ "endLine": 78,
8503
+ "startColumn": 1,
8504
+ "endColumn": 45,
8505
+ "startOffset": 2100,
8506
+ "endOffset": 2145,
8507
+ "originalText": "[example link](https://example.com)",
8508
+ "isInline": true,
8509
+ "isAutoDetected": true,
8510
+ "commentFormat": "htmlComment"
8511
+ }
8512
+ ]
8513
+ },
6924
8514
  "description": {
6925
8515
  "type": "string",
6926
8516
  "description": "Description of the step."
@@ -7006,6 +8596,112 @@
7006
8596
  "type": "string",
7007
8597
  "description": "ID of the step."
7008
8598
  },
8599
+ "sourceLocation": {
8600
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
8601
+ "$schema": "http://json-schema.org/draft-07/schema#",
8602
+ "title": "sourceLocation",
8603
+ "type": "object",
8604
+ "readOnly": true,
8605
+ "additionalProperties": false,
8606
+ "properties": {
8607
+ "file": {
8608
+ "type": "string",
8609
+ "description": "Absolute path to the source file containing this test or step.",
8610
+ "readOnly": true
8611
+ },
8612
+ "startLine": {
8613
+ "type": "integer",
8614
+ "description": "1-based line number where this test or step starts.",
8615
+ "minimum": 1,
8616
+ "readOnly": true
8617
+ },
8618
+ "endLine": {
8619
+ "type": "integer",
8620
+ "description": "1-based line number where this test or step ends.",
8621
+ "minimum": 1,
8622
+ "readOnly": true
8623
+ },
8624
+ "startColumn": {
8625
+ "type": "integer",
8626
+ "description": "1-based column number where this test or step starts on startLine.",
8627
+ "minimum": 1,
8628
+ "readOnly": true
8629
+ },
8630
+ "endColumn": {
8631
+ "type": "integer",
8632
+ "description": "1-based column number where this test or step ends on endLine.",
8633
+ "minimum": 1,
8634
+ "readOnly": true
8635
+ },
8636
+ "startOffset": {
8637
+ "type": "integer",
8638
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
8639
+ "minimum": 0,
8640
+ "readOnly": true
8641
+ },
8642
+ "endOffset": {
8643
+ "type": "integer",
8644
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
8645
+ "minimum": 0,
8646
+ "readOnly": true
8647
+ },
8648
+ "originalText": {
8649
+ "type": "string",
8650
+ "description": "The original text content of this test or step as found in the source file.",
8651
+ "readOnly": true
8652
+ },
8653
+ "isInline": {
8654
+ "type": "boolean",
8655
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
8656
+ "default": false,
8657
+ "readOnly": true
8658
+ },
8659
+ "isAutoDetected": {
8660
+ "type": "boolean",
8661
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
8662
+ "default": false,
8663
+ "readOnly": true
8664
+ },
8665
+ "commentFormat": {
8666
+ "type": "string",
8667
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
8668
+ "enum": [
8669
+ "htmlComment",
8670
+ "jsxComment",
8671
+ "linkReference"
8672
+ ],
8673
+ "readOnly": true
8674
+ }
8675
+ },
8676
+ "examples": [
8677
+ {
8678
+ "file": "/path/to/docs/getting-started.md",
8679
+ "startLine": 42,
8680
+ "endLine": 45,
8681
+ "startColumn": 1,
8682
+ "endColumn": 3,
8683
+ "startOffset": 1250,
8684
+ "endOffset": 1350,
8685
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
8686
+ "isInline": true,
8687
+ "isAutoDetected": false,
8688
+ "commentFormat": "htmlComment"
8689
+ },
8690
+ {
8691
+ "file": "/path/to/docs/tutorial.md",
8692
+ "startLine": 78,
8693
+ "endLine": 78,
8694
+ "startColumn": 1,
8695
+ "endColumn": 45,
8696
+ "startOffset": 2100,
8697
+ "endOffset": 2145,
8698
+ "originalText": "[example link](https://example.com)",
8699
+ "isInline": true,
8700
+ "isAutoDetected": true,
8701
+ "commentFormat": "htmlComment"
8702
+ }
8703
+ ]
8704
+ },
7009
8705
  "description": {
7010
8706
  "type": "string",
7011
8707
  "description": "Description of the step."
@@ -7086,6 +8782,112 @@
7086
8782
  "type": "string",
7087
8783
  "description": "ID of the step."
7088
8784
  },
8785
+ "sourceLocation": {
8786
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
8787
+ "$schema": "http://json-schema.org/draft-07/schema#",
8788
+ "title": "sourceLocation",
8789
+ "type": "object",
8790
+ "readOnly": true,
8791
+ "additionalProperties": false,
8792
+ "properties": {
8793
+ "file": {
8794
+ "type": "string",
8795
+ "description": "Absolute path to the source file containing this test or step.",
8796
+ "readOnly": true
8797
+ },
8798
+ "startLine": {
8799
+ "type": "integer",
8800
+ "description": "1-based line number where this test or step starts.",
8801
+ "minimum": 1,
8802
+ "readOnly": true
8803
+ },
8804
+ "endLine": {
8805
+ "type": "integer",
8806
+ "description": "1-based line number where this test or step ends.",
8807
+ "minimum": 1,
8808
+ "readOnly": true
8809
+ },
8810
+ "startColumn": {
8811
+ "type": "integer",
8812
+ "description": "1-based column number where this test or step starts on startLine.",
8813
+ "minimum": 1,
8814
+ "readOnly": true
8815
+ },
8816
+ "endColumn": {
8817
+ "type": "integer",
8818
+ "description": "1-based column number where this test or step ends on endLine.",
8819
+ "minimum": 1,
8820
+ "readOnly": true
8821
+ },
8822
+ "startOffset": {
8823
+ "type": "integer",
8824
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
8825
+ "minimum": 0,
8826
+ "readOnly": true
8827
+ },
8828
+ "endOffset": {
8829
+ "type": "integer",
8830
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
8831
+ "minimum": 0,
8832
+ "readOnly": true
8833
+ },
8834
+ "originalText": {
8835
+ "type": "string",
8836
+ "description": "The original text content of this test or step as found in the source file.",
8837
+ "readOnly": true
8838
+ },
8839
+ "isInline": {
8840
+ "type": "boolean",
8841
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
8842
+ "default": false,
8843
+ "readOnly": true
8844
+ },
8845
+ "isAutoDetected": {
8846
+ "type": "boolean",
8847
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
8848
+ "default": false,
8849
+ "readOnly": true
8850
+ },
8851
+ "commentFormat": {
8852
+ "type": "string",
8853
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
8854
+ "enum": [
8855
+ "htmlComment",
8856
+ "jsxComment",
8857
+ "linkReference"
8858
+ ],
8859
+ "readOnly": true
8860
+ }
8861
+ },
8862
+ "examples": [
8863
+ {
8864
+ "file": "/path/to/docs/getting-started.md",
8865
+ "startLine": 42,
8866
+ "endLine": 45,
8867
+ "startColumn": 1,
8868
+ "endColumn": 3,
8869
+ "startOffset": 1250,
8870
+ "endOffset": 1350,
8871
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
8872
+ "isInline": true,
8873
+ "isAutoDetected": false,
8874
+ "commentFormat": "htmlComment"
8875
+ },
8876
+ {
8877
+ "file": "/path/to/docs/tutorial.md",
8878
+ "startLine": 78,
8879
+ "endLine": 78,
8880
+ "startColumn": 1,
8881
+ "endColumn": 45,
8882
+ "startOffset": 2100,
8883
+ "endOffset": 2145,
8884
+ "originalText": "[example link](https://example.com)",
8885
+ "isInline": true,
8886
+ "isAutoDetected": true,
8887
+ "commentFormat": "htmlComment"
8888
+ }
8889
+ ]
8890
+ },
7089
8891
  "description": {
7090
8892
  "type": "string",
7091
8893
  "description": "Description of the step."
@@ -7653,6 +9455,112 @@
7653
9455
  "type": "string",
7654
9456
  "description": "ID of the step."
7655
9457
  },
9458
+ "sourceLocation": {
9459
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
9460
+ "$schema": "http://json-schema.org/draft-07/schema#",
9461
+ "title": "sourceLocation",
9462
+ "type": "object",
9463
+ "readOnly": true,
9464
+ "additionalProperties": false,
9465
+ "properties": {
9466
+ "file": {
9467
+ "type": "string",
9468
+ "description": "Absolute path to the source file containing this test or step.",
9469
+ "readOnly": true
9470
+ },
9471
+ "startLine": {
9472
+ "type": "integer",
9473
+ "description": "1-based line number where this test or step starts.",
9474
+ "minimum": 1,
9475
+ "readOnly": true
9476
+ },
9477
+ "endLine": {
9478
+ "type": "integer",
9479
+ "description": "1-based line number where this test or step ends.",
9480
+ "minimum": 1,
9481
+ "readOnly": true
9482
+ },
9483
+ "startColumn": {
9484
+ "type": "integer",
9485
+ "description": "1-based column number where this test or step starts on startLine.",
9486
+ "minimum": 1,
9487
+ "readOnly": true
9488
+ },
9489
+ "endColumn": {
9490
+ "type": "integer",
9491
+ "description": "1-based column number where this test or step ends on endLine.",
9492
+ "minimum": 1,
9493
+ "readOnly": true
9494
+ },
9495
+ "startOffset": {
9496
+ "type": "integer",
9497
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
9498
+ "minimum": 0,
9499
+ "readOnly": true
9500
+ },
9501
+ "endOffset": {
9502
+ "type": "integer",
9503
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
9504
+ "minimum": 0,
9505
+ "readOnly": true
9506
+ },
9507
+ "originalText": {
9508
+ "type": "string",
9509
+ "description": "The original text content of this test or step as found in the source file.",
9510
+ "readOnly": true
9511
+ },
9512
+ "isInline": {
9513
+ "type": "boolean",
9514
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
9515
+ "default": false,
9516
+ "readOnly": true
9517
+ },
9518
+ "isAutoDetected": {
9519
+ "type": "boolean",
9520
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
9521
+ "default": false,
9522
+ "readOnly": true
9523
+ },
9524
+ "commentFormat": {
9525
+ "type": "string",
9526
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
9527
+ "enum": [
9528
+ "htmlComment",
9529
+ "jsxComment",
9530
+ "linkReference"
9531
+ ],
9532
+ "readOnly": true
9533
+ }
9534
+ },
9535
+ "examples": [
9536
+ {
9537
+ "file": "/path/to/docs/getting-started.md",
9538
+ "startLine": 42,
9539
+ "endLine": 45,
9540
+ "startColumn": 1,
9541
+ "endColumn": 3,
9542
+ "startOffset": 1250,
9543
+ "endOffset": 1350,
9544
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
9545
+ "isInline": true,
9546
+ "isAutoDetected": false,
9547
+ "commentFormat": "htmlComment"
9548
+ },
9549
+ {
9550
+ "file": "/path/to/docs/tutorial.md",
9551
+ "startLine": 78,
9552
+ "endLine": 78,
9553
+ "startColumn": 1,
9554
+ "endColumn": 45,
9555
+ "startOffset": 2100,
9556
+ "endOffset": 2145,
9557
+ "originalText": "[example link](https://example.com)",
9558
+ "isInline": true,
9559
+ "isAutoDetected": true,
9560
+ "commentFormat": "htmlComment"
9561
+ }
9562
+ ]
9563
+ },
7656
9564
  "description": {
7657
9565
  "type": "string",
7658
9566
  "description": "Description of the step."
@@ -7952,6 +9860,112 @@
7952
9860
  "type": "string",
7953
9861
  "description": "ID of the step."
7954
9862
  },
9863
+ "sourceLocation": {
9864
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
9865
+ "$schema": "http://json-schema.org/draft-07/schema#",
9866
+ "title": "sourceLocation",
9867
+ "type": "object",
9868
+ "readOnly": true,
9869
+ "additionalProperties": false,
9870
+ "properties": {
9871
+ "file": {
9872
+ "type": "string",
9873
+ "description": "Absolute path to the source file containing this test or step.",
9874
+ "readOnly": true
9875
+ },
9876
+ "startLine": {
9877
+ "type": "integer",
9878
+ "description": "1-based line number where this test or step starts.",
9879
+ "minimum": 1,
9880
+ "readOnly": true
9881
+ },
9882
+ "endLine": {
9883
+ "type": "integer",
9884
+ "description": "1-based line number where this test or step ends.",
9885
+ "minimum": 1,
9886
+ "readOnly": true
9887
+ },
9888
+ "startColumn": {
9889
+ "type": "integer",
9890
+ "description": "1-based column number where this test or step starts on startLine.",
9891
+ "minimum": 1,
9892
+ "readOnly": true
9893
+ },
9894
+ "endColumn": {
9895
+ "type": "integer",
9896
+ "description": "1-based column number where this test or step ends on endLine.",
9897
+ "minimum": 1,
9898
+ "readOnly": true
9899
+ },
9900
+ "startOffset": {
9901
+ "type": "integer",
9902
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
9903
+ "minimum": 0,
9904
+ "readOnly": true
9905
+ },
9906
+ "endOffset": {
9907
+ "type": "integer",
9908
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
9909
+ "minimum": 0,
9910
+ "readOnly": true
9911
+ },
9912
+ "originalText": {
9913
+ "type": "string",
9914
+ "description": "The original text content of this test or step as found in the source file.",
9915
+ "readOnly": true
9916
+ },
9917
+ "isInline": {
9918
+ "type": "boolean",
9919
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
9920
+ "default": false,
9921
+ "readOnly": true
9922
+ },
9923
+ "isAutoDetected": {
9924
+ "type": "boolean",
9925
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
9926
+ "default": false,
9927
+ "readOnly": true
9928
+ },
9929
+ "commentFormat": {
9930
+ "type": "string",
9931
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
9932
+ "enum": [
9933
+ "htmlComment",
9934
+ "jsxComment",
9935
+ "linkReference"
9936
+ ],
9937
+ "readOnly": true
9938
+ }
9939
+ },
9940
+ "examples": [
9941
+ {
9942
+ "file": "/path/to/docs/getting-started.md",
9943
+ "startLine": 42,
9944
+ "endLine": 45,
9945
+ "startColumn": 1,
9946
+ "endColumn": 3,
9947
+ "startOffset": 1250,
9948
+ "endOffset": 1350,
9949
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
9950
+ "isInline": true,
9951
+ "isAutoDetected": false,
9952
+ "commentFormat": "htmlComment"
9953
+ },
9954
+ {
9955
+ "file": "/path/to/docs/tutorial.md",
9956
+ "startLine": 78,
9957
+ "endLine": 78,
9958
+ "startColumn": 1,
9959
+ "endColumn": 45,
9960
+ "startOffset": 2100,
9961
+ "endOffset": 2145,
9962
+ "originalText": "[example link](https://example.com)",
9963
+ "isInline": true,
9964
+ "isAutoDetected": true,
9965
+ "commentFormat": "htmlComment"
9966
+ }
9967
+ ]
9968
+ },
7955
9969
  "description": {
7956
9970
  "type": "string",
7957
9971
  "description": "Description of the step."
@@ -8717,24 +10731,130 @@
8717
10731
  "type": "string",
8718
10732
  "description": "ID of the step."
8719
10733
  },
8720
- "description": {
8721
- "type": "string",
8722
- "description": "Description of the step."
8723
- },
8724
- "unsafe": {
8725
- "type": "boolean",
8726
- "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.",
8727
- "default": false
8728
- },
8729
- "outputs": {
10734
+ "sourceLocation": {
10735
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
10736
+ "$schema": "http://json-schema.org/draft-07/schema#",
10737
+ "title": "sourceLocation",
8730
10738
  "type": "object",
8731
- "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.",
8732
- "default": {},
8733
- "patternProperties": {
8734
- "^[A-Za-z0-9_]+$": {
10739
+ "readOnly": true,
10740
+ "additionalProperties": false,
10741
+ "properties": {
10742
+ "file": {
8735
10743
  "type": "string",
8736
- "description": "Runtime expression for a user-defined output value."
8737
- }
10744
+ "description": "Absolute path to the source file containing this test or step.",
10745
+ "readOnly": true
10746
+ },
10747
+ "startLine": {
10748
+ "type": "integer",
10749
+ "description": "1-based line number where this test or step starts.",
10750
+ "minimum": 1,
10751
+ "readOnly": true
10752
+ },
10753
+ "endLine": {
10754
+ "type": "integer",
10755
+ "description": "1-based line number where this test or step ends.",
10756
+ "minimum": 1,
10757
+ "readOnly": true
10758
+ },
10759
+ "startColumn": {
10760
+ "type": "integer",
10761
+ "description": "1-based column number where this test or step starts on startLine.",
10762
+ "minimum": 1,
10763
+ "readOnly": true
10764
+ },
10765
+ "endColumn": {
10766
+ "type": "integer",
10767
+ "description": "1-based column number where this test or step ends on endLine.",
10768
+ "minimum": 1,
10769
+ "readOnly": true
10770
+ },
10771
+ "startOffset": {
10772
+ "type": "integer",
10773
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
10774
+ "minimum": 0,
10775
+ "readOnly": true
10776
+ },
10777
+ "endOffset": {
10778
+ "type": "integer",
10779
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
10780
+ "minimum": 0,
10781
+ "readOnly": true
10782
+ },
10783
+ "originalText": {
10784
+ "type": "string",
10785
+ "description": "The original text content of this test or step as found in the source file.",
10786
+ "readOnly": true
10787
+ },
10788
+ "isInline": {
10789
+ "type": "boolean",
10790
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
10791
+ "default": false,
10792
+ "readOnly": true
10793
+ },
10794
+ "isAutoDetected": {
10795
+ "type": "boolean",
10796
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
10797
+ "default": false,
10798
+ "readOnly": true
10799
+ },
10800
+ "commentFormat": {
10801
+ "type": "string",
10802
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
10803
+ "enum": [
10804
+ "htmlComment",
10805
+ "jsxComment",
10806
+ "linkReference"
10807
+ ],
10808
+ "readOnly": true
10809
+ }
10810
+ },
10811
+ "examples": [
10812
+ {
10813
+ "file": "/path/to/docs/getting-started.md",
10814
+ "startLine": 42,
10815
+ "endLine": 45,
10816
+ "startColumn": 1,
10817
+ "endColumn": 3,
10818
+ "startOffset": 1250,
10819
+ "endOffset": 1350,
10820
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
10821
+ "isInline": true,
10822
+ "isAutoDetected": false,
10823
+ "commentFormat": "htmlComment"
10824
+ },
10825
+ {
10826
+ "file": "/path/to/docs/tutorial.md",
10827
+ "startLine": 78,
10828
+ "endLine": 78,
10829
+ "startColumn": 1,
10830
+ "endColumn": 45,
10831
+ "startOffset": 2100,
10832
+ "endOffset": 2145,
10833
+ "originalText": "[example link](https://example.com)",
10834
+ "isInline": true,
10835
+ "isAutoDetected": true,
10836
+ "commentFormat": "htmlComment"
10837
+ }
10838
+ ]
10839
+ },
10840
+ "description": {
10841
+ "type": "string",
10842
+ "description": "Description of the step."
10843
+ },
10844
+ "unsafe": {
10845
+ "type": "boolean",
10846
+ "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.",
10847
+ "default": false
10848
+ },
10849
+ "outputs": {
10850
+ "type": "object",
10851
+ "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.",
10852
+ "default": {},
10853
+ "patternProperties": {
10854
+ "^[A-Za-z0-9_]+$": {
10855
+ "type": "string",
10856
+ "description": "Runtime expression for a user-defined output value."
10857
+ }
8738
10858
  },
8739
10859
  "title": "Outputs (step)"
8740
10860
  },
@@ -8769,6 +10889,112 @@
8769
10889
  "type": "string",
8770
10890
  "description": "ID of the step."
8771
10891
  },
10892
+ "sourceLocation": {
10893
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
10894
+ "$schema": "http://json-schema.org/draft-07/schema#",
10895
+ "title": "sourceLocation",
10896
+ "type": "object",
10897
+ "readOnly": true,
10898
+ "additionalProperties": false,
10899
+ "properties": {
10900
+ "file": {
10901
+ "type": "string",
10902
+ "description": "Absolute path to the source file containing this test or step.",
10903
+ "readOnly": true
10904
+ },
10905
+ "startLine": {
10906
+ "type": "integer",
10907
+ "description": "1-based line number where this test or step starts.",
10908
+ "minimum": 1,
10909
+ "readOnly": true
10910
+ },
10911
+ "endLine": {
10912
+ "type": "integer",
10913
+ "description": "1-based line number where this test or step ends.",
10914
+ "minimum": 1,
10915
+ "readOnly": true
10916
+ },
10917
+ "startColumn": {
10918
+ "type": "integer",
10919
+ "description": "1-based column number where this test or step starts on startLine.",
10920
+ "minimum": 1,
10921
+ "readOnly": true
10922
+ },
10923
+ "endColumn": {
10924
+ "type": "integer",
10925
+ "description": "1-based column number where this test or step ends on endLine.",
10926
+ "minimum": 1,
10927
+ "readOnly": true
10928
+ },
10929
+ "startOffset": {
10930
+ "type": "integer",
10931
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
10932
+ "minimum": 0,
10933
+ "readOnly": true
10934
+ },
10935
+ "endOffset": {
10936
+ "type": "integer",
10937
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
10938
+ "minimum": 0,
10939
+ "readOnly": true
10940
+ },
10941
+ "originalText": {
10942
+ "type": "string",
10943
+ "description": "The original text content of this test or step as found in the source file.",
10944
+ "readOnly": true
10945
+ },
10946
+ "isInline": {
10947
+ "type": "boolean",
10948
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
10949
+ "default": false,
10950
+ "readOnly": true
10951
+ },
10952
+ "isAutoDetected": {
10953
+ "type": "boolean",
10954
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
10955
+ "default": false,
10956
+ "readOnly": true
10957
+ },
10958
+ "commentFormat": {
10959
+ "type": "string",
10960
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
10961
+ "enum": [
10962
+ "htmlComment",
10963
+ "jsxComment",
10964
+ "linkReference"
10965
+ ],
10966
+ "readOnly": true
10967
+ }
10968
+ },
10969
+ "examples": [
10970
+ {
10971
+ "file": "/path/to/docs/getting-started.md",
10972
+ "startLine": 42,
10973
+ "endLine": 45,
10974
+ "startColumn": 1,
10975
+ "endColumn": 3,
10976
+ "startOffset": 1250,
10977
+ "endOffset": 1350,
10978
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
10979
+ "isInline": true,
10980
+ "isAutoDetected": false,
10981
+ "commentFormat": "htmlComment"
10982
+ },
10983
+ {
10984
+ "file": "/path/to/docs/tutorial.md",
10985
+ "startLine": 78,
10986
+ "endLine": 78,
10987
+ "startColumn": 1,
10988
+ "endColumn": 45,
10989
+ "startOffset": 2100,
10990
+ "endOffset": 2145,
10991
+ "originalText": "[example link](https://example.com)",
10992
+ "isInline": true,
10993
+ "isAutoDetected": true,
10994
+ "commentFormat": "htmlComment"
10995
+ }
10996
+ ]
10997
+ },
8772
10998
  "description": {
8773
10999
  "type": "string",
8774
11000
  "description": "Description of the step."
@@ -8829,6 +11055,112 @@
8829
11055
  "type": "string",
8830
11056
  "description": "ID of the step."
8831
11057
  },
11058
+ "sourceLocation": {
11059
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
11060
+ "$schema": "http://json-schema.org/draft-07/schema#",
11061
+ "title": "sourceLocation",
11062
+ "type": "object",
11063
+ "readOnly": true,
11064
+ "additionalProperties": false,
11065
+ "properties": {
11066
+ "file": {
11067
+ "type": "string",
11068
+ "description": "Absolute path to the source file containing this test or step.",
11069
+ "readOnly": true
11070
+ },
11071
+ "startLine": {
11072
+ "type": "integer",
11073
+ "description": "1-based line number where this test or step starts.",
11074
+ "minimum": 1,
11075
+ "readOnly": true
11076
+ },
11077
+ "endLine": {
11078
+ "type": "integer",
11079
+ "description": "1-based line number where this test or step ends.",
11080
+ "minimum": 1,
11081
+ "readOnly": true
11082
+ },
11083
+ "startColumn": {
11084
+ "type": "integer",
11085
+ "description": "1-based column number where this test or step starts on startLine.",
11086
+ "minimum": 1,
11087
+ "readOnly": true
11088
+ },
11089
+ "endColumn": {
11090
+ "type": "integer",
11091
+ "description": "1-based column number where this test or step ends on endLine.",
11092
+ "minimum": 1,
11093
+ "readOnly": true
11094
+ },
11095
+ "startOffset": {
11096
+ "type": "integer",
11097
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
11098
+ "minimum": 0,
11099
+ "readOnly": true
11100
+ },
11101
+ "endOffset": {
11102
+ "type": "integer",
11103
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
11104
+ "minimum": 0,
11105
+ "readOnly": true
11106
+ },
11107
+ "originalText": {
11108
+ "type": "string",
11109
+ "description": "The original text content of this test or step as found in the source file.",
11110
+ "readOnly": true
11111
+ },
11112
+ "isInline": {
11113
+ "type": "boolean",
11114
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
11115
+ "default": false,
11116
+ "readOnly": true
11117
+ },
11118
+ "isAutoDetected": {
11119
+ "type": "boolean",
11120
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
11121
+ "default": false,
11122
+ "readOnly": true
11123
+ },
11124
+ "commentFormat": {
11125
+ "type": "string",
11126
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
11127
+ "enum": [
11128
+ "htmlComment",
11129
+ "jsxComment",
11130
+ "linkReference"
11131
+ ],
11132
+ "readOnly": true
11133
+ }
11134
+ },
11135
+ "examples": [
11136
+ {
11137
+ "file": "/path/to/docs/getting-started.md",
11138
+ "startLine": 42,
11139
+ "endLine": 45,
11140
+ "startColumn": 1,
11141
+ "endColumn": 3,
11142
+ "startOffset": 1250,
11143
+ "endOffset": 1350,
11144
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
11145
+ "isInline": true,
11146
+ "isAutoDetected": false,
11147
+ "commentFormat": "htmlComment"
11148
+ },
11149
+ {
11150
+ "file": "/path/to/docs/tutorial.md",
11151
+ "startLine": 78,
11152
+ "endLine": 78,
11153
+ "startColumn": 1,
11154
+ "endColumn": 45,
11155
+ "startOffset": 2100,
11156
+ "endOffset": 2145,
11157
+ "originalText": "[example link](https://example.com)",
11158
+ "isInline": true,
11159
+ "isAutoDetected": true,
11160
+ "commentFormat": "htmlComment"
11161
+ }
11162
+ ]
11163
+ },
8832
11164
  "description": {
8833
11165
  "type": "string",
8834
11166
  "description": "Description of the step."
@@ -9045,6 +11377,112 @@
9045
11377
  "type": "string",
9046
11378
  "description": "ID of the step."
9047
11379
  },
11380
+ "sourceLocation": {
11381
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
11382
+ "$schema": "http://json-schema.org/draft-07/schema#",
11383
+ "title": "sourceLocation",
11384
+ "type": "object",
11385
+ "readOnly": true,
11386
+ "additionalProperties": false,
11387
+ "properties": {
11388
+ "file": {
11389
+ "type": "string",
11390
+ "description": "Absolute path to the source file containing this test or step.",
11391
+ "readOnly": true
11392
+ },
11393
+ "startLine": {
11394
+ "type": "integer",
11395
+ "description": "1-based line number where this test or step starts.",
11396
+ "minimum": 1,
11397
+ "readOnly": true
11398
+ },
11399
+ "endLine": {
11400
+ "type": "integer",
11401
+ "description": "1-based line number where this test or step ends.",
11402
+ "minimum": 1,
11403
+ "readOnly": true
11404
+ },
11405
+ "startColumn": {
11406
+ "type": "integer",
11407
+ "description": "1-based column number where this test or step starts on startLine.",
11408
+ "minimum": 1,
11409
+ "readOnly": true
11410
+ },
11411
+ "endColumn": {
11412
+ "type": "integer",
11413
+ "description": "1-based column number where this test or step ends on endLine.",
11414
+ "minimum": 1,
11415
+ "readOnly": true
11416
+ },
11417
+ "startOffset": {
11418
+ "type": "integer",
11419
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
11420
+ "minimum": 0,
11421
+ "readOnly": true
11422
+ },
11423
+ "endOffset": {
11424
+ "type": "integer",
11425
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
11426
+ "minimum": 0,
11427
+ "readOnly": true
11428
+ },
11429
+ "originalText": {
11430
+ "type": "string",
11431
+ "description": "The original text content of this test or step as found in the source file.",
11432
+ "readOnly": true
11433
+ },
11434
+ "isInline": {
11435
+ "type": "boolean",
11436
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
11437
+ "default": false,
11438
+ "readOnly": true
11439
+ },
11440
+ "isAutoDetected": {
11441
+ "type": "boolean",
11442
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
11443
+ "default": false,
11444
+ "readOnly": true
11445
+ },
11446
+ "commentFormat": {
11447
+ "type": "string",
11448
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
11449
+ "enum": [
11450
+ "htmlComment",
11451
+ "jsxComment",
11452
+ "linkReference"
11453
+ ],
11454
+ "readOnly": true
11455
+ }
11456
+ },
11457
+ "examples": [
11458
+ {
11459
+ "file": "/path/to/docs/getting-started.md",
11460
+ "startLine": 42,
11461
+ "endLine": 45,
11462
+ "startColumn": 1,
11463
+ "endColumn": 3,
11464
+ "startOffset": 1250,
11465
+ "endOffset": 1350,
11466
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
11467
+ "isInline": true,
11468
+ "isAutoDetected": false,
11469
+ "commentFormat": "htmlComment"
11470
+ },
11471
+ {
11472
+ "file": "/path/to/docs/tutorial.md",
11473
+ "startLine": 78,
11474
+ "endLine": 78,
11475
+ "startColumn": 1,
11476
+ "endColumn": 45,
11477
+ "startOffset": 2100,
11478
+ "endOffset": 2145,
11479
+ "originalText": "[example link](https://example.com)",
11480
+ "isInline": true,
11481
+ "isAutoDetected": true,
11482
+ "commentFormat": "htmlComment"
11483
+ }
11484
+ ]
11485
+ },
9048
11486
  "description": {
9049
11487
  "type": "string",
9050
11488
  "description": "Description of the step."
@@ -9368,6 +11806,112 @@
9368
11806
  "type": "string",
9369
11807
  "description": "ID of the step."
9370
11808
  },
11809
+ "sourceLocation": {
11810
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
11811
+ "$schema": "http://json-schema.org/draft-07/schema#",
11812
+ "title": "sourceLocation",
11813
+ "type": "object",
11814
+ "readOnly": true,
11815
+ "additionalProperties": false,
11816
+ "properties": {
11817
+ "file": {
11818
+ "type": "string",
11819
+ "description": "Absolute path to the source file containing this test or step.",
11820
+ "readOnly": true
11821
+ },
11822
+ "startLine": {
11823
+ "type": "integer",
11824
+ "description": "1-based line number where this test or step starts.",
11825
+ "minimum": 1,
11826
+ "readOnly": true
11827
+ },
11828
+ "endLine": {
11829
+ "type": "integer",
11830
+ "description": "1-based line number where this test or step ends.",
11831
+ "minimum": 1,
11832
+ "readOnly": true
11833
+ },
11834
+ "startColumn": {
11835
+ "type": "integer",
11836
+ "description": "1-based column number where this test or step starts on startLine.",
11837
+ "minimum": 1,
11838
+ "readOnly": true
11839
+ },
11840
+ "endColumn": {
11841
+ "type": "integer",
11842
+ "description": "1-based column number where this test or step ends on endLine.",
11843
+ "minimum": 1,
11844
+ "readOnly": true
11845
+ },
11846
+ "startOffset": {
11847
+ "type": "integer",
11848
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
11849
+ "minimum": 0,
11850
+ "readOnly": true
11851
+ },
11852
+ "endOffset": {
11853
+ "type": "integer",
11854
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
11855
+ "minimum": 0,
11856
+ "readOnly": true
11857
+ },
11858
+ "originalText": {
11859
+ "type": "string",
11860
+ "description": "The original text content of this test or step as found in the source file.",
11861
+ "readOnly": true
11862
+ },
11863
+ "isInline": {
11864
+ "type": "boolean",
11865
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
11866
+ "default": false,
11867
+ "readOnly": true
11868
+ },
11869
+ "isAutoDetected": {
11870
+ "type": "boolean",
11871
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
11872
+ "default": false,
11873
+ "readOnly": true
11874
+ },
11875
+ "commentFormat": {
11876
+ "type": "string",
11877
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
11878
+ "enum": [
11879
+ "htmlComment",
11880
+ "jsxComment",
11881
+ "linkReference"
11882
+ ],
11883
+ "readOnly": true
11884
+ }
11885
+ },
11886
+ "examples": [
11887
+ {
11888
+ "file": "/path/to/docs/getting-started.md",
11889
+ "startLine": 42,
11890
+ "endLine": 45,
11891
+ "startColumn": 1,
11892
+ "endColumn": 3,
11893
+ "startOffset": 1250,
11894
+ "endOffset": 1350,
11895
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
11896
+ "isInline": true,
11897
+ "isAutoDetected": false,
11898
+ "commentFormat": "htmlComment"
11899
+ },
11900
+ {
11901
+ "file": "/path/to/docs/tutorial.md",
11902
+ "startLine": 78,
11903
+ "endLine": 78,
11904
+ "startColumn": 1,
11905
+ "endColumn": 45,
11906
+ "startOffset": 2100,
11907
+ "endOffset": 2145,
11908
+ "originalText": "[example link](https://example.com)",
11909
+ "isInline": true,
11910
+ "isAutoDetected": true,
11911
+ "commentFormat": "htmlComment"
11912
+ }
11913
+ ]
11914
+ },
9371
11915
  "description": {
9372
11916
  "type": "string",
9373
11917
  "description": "Description of the step."
@@ -10788,6 +13332,112 @@
10788
13332
  "type": "string",
10789
13333
  "description": "ID of the step."
10790
13334
  },
13335
+ "sourceLocation": {
13336
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
13337
+ "$schema": "http://json-schema.org/draft-07/schema#",
13338
+ "title": "sourceLocation",
13339
+ "type": "object",
13340
+ "readOnly": true,
13341
+ "additionalProperties": false,
13342
+ "properties": {
13343
+ "file": {
13344
+ "type": "string",
13345
+ "description": "Absolute path to the source file containing this test or step.",
13346
+ "readOnly": true
13347
+ },
13348
+ "startLine": {
13349
+ "type": "integer",
13350
+ "description": "1-based line number where this test or step starts.",
13351
+ "minimum": 1,
13352
+ "readOnly": true
13353
+ },
13354
+ "endLine": {
13355
+ "type": "integer",
13356
+ "description": "1-based line number where this test or step ends.",
13357
+ "minimum": 1,
13358
+ "readOnly": true
13359
+ },
13360
+ "startColumn": {
13361
+ "type": "integer",
13362
+ "description": "1-based column number where this test or step starts on startLine.",
13363
+ "minimum": 1,
13364
+ "readOnly": true
13365
+ },
13366
+ "endColumn": {
13367
+ "type": "integer",
13368
+ "description": "1-based column number where this test or step ends on endLine.",
13369
+ "minimum": 1,
13370
+ "readOnly": true
13371
+ },
13372
+ "startOffset": {
13373
+ "type": "integer",
13374
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
13375
+ "minimum": 0,
13376
+ "readOnly": true
13377
+ },
13378
+ "endOffset": {
13379
+ "type": "integer",
13380
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
13381
+ "minimum": 0,
13382
+ "readOnly": true
13383
+ },
13384
+ "originalText": {
13385
+ "type": "string",
13386
+ "description": "The original text content of this test or step as found in the source file.",
13387
+ "readOnly": true
13388
+ },
13389
+ "isInline": {
13390
+ "type": "boolean",
13391
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
13392
+ "default": false,
13393
+ "readOnly": true
13394
+ },
13395
+ "isAutoDetected": {
13396
+ "type": "boolean",
13397
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
13398
+ "default": false,
13399
+ "readOnly": true
13400
+ },
13401
+ "commentFormat": {
13402
+ "type": "string",
13403
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
13404
+ "enum": [
13405
+ "htmlComment",
13406
+ "jsxComment",
13407
+ "linkReference"
13408
+ ],
13409
+ "readOnly": true
13410
+ }
13411
+ },
13412
+ "examples": [
13413
+ {
13414
+ "file": "/path/to/docs/getting-started.md",
13415
+ "startLine": 42,
13416
+ "endLine": 45,
13417
+ "startColumn": 1,
13418
+ "endColumn": 3,
13419
+ "startOffset": 1250,
13420
+ "endOffset": 1350,
13421
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
13422
+ "isInline": true,
13423
+ "isAutoDetected": false,
13424
+ "commentFormat": "htmlComment"
13425
+ },
13426
+ {
13427
+ "file": "/path/to/docs/tutorial.md",
13428
+ "startLine": 78,
13429
+ "endLine": 78,
13430
+ "startColumn": 1,
13431
+ "endColumn": 45,
13432
+ "startOffset": 2100,
13433
+ "endOffset": 2145,
13434
+ "originalText": "[example link](https://example.com)",
13435
+ "isInline": true,
13436
+ "isAutoDetected": true,
13437
+ "commentFormat": "htmlComment"
13438
+ }
13439
+ ]
13440
+ },
10791
13441
  "description": {
10792
13442
  "type": "string",
10793
13443
  "description": "Description of the step."
@@ -11278,23 +13928,129 @@
11278
13928
  "type": "string",
11279
13929
  "description": "ID of the step."
11280
13930
  },
11281
- "description": {
11282
- "type": "string",
11283
- "description": "Description of the step."
11284
- },
11285
- "unsafe": {
11286
- "type": "boolean",
11287
- "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.",
11288
- "default": false
11289
- },
11290
- "outputs": {
13931
+ "sourceLocation": {
13932
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
13933
+ "$schema": "http://json-schema.org/draft-07/schema#",
13934
+ "title": "sourceLocation",
11291
13935
  "type": "object",
11292
- "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.",
11293
- "default": {},
11294
- "patternProperties": {
11295
- "^[A-Za-z0-9_]+$": {
13936
+ "readOnly": true,
13937
+ "additionalProperties": false,
13938
+ "properties": {
13939
+ "file": {
11296
13940
  "type": "string",
11297
- "description": "Runtime expression for a user-defined output value."
13941
+ "description": "Absolute path to the source file containing this test or step.",
13942
+ "readOnly": true
13943
+ },
13944
+ "startLine": {
13945
+ "type": "integer",
13946
+ "description": "1-based line number where this test or step starts.",
13947
+ "minimum": 1,
13948
+ "readOnly": true
13949
+ },
13950
+ "endLine": {
13951
+ "type": "integer",
13952
+ "description": "1-based line number where this test or step ends.",
13953
+ "minimum": 1,
13954
+ "readOnly": true
13955
+ },
13956
+ "startColumn": {
13957
+ "type": "integer",
13958
+ "description": "1-based column number where this test or step starts on startLine.",
13959
+ "minimum": 1,
13960
+ "readOnly": true
13961
+ },
13962
+ "endColumn": {
13963
+ "type": "integer",
13964
+ "description": "1-based column number where this test or step ends on endLine.",
13965
+ "minimum": 1,
13966
+ "readOnly": true
13967
+ },
13968
+ "startOffset": {
13969
+ "type": "integer",
13970
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
13971
+ "minimum": 0,
13972
+ "readOnly": true
13973
+ },
13974
+ "endOffset": {
13975
+ "type": "integer",
13976
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
13977
+ "minimum": 0,
13978
+ "readOnly": true
13979
+ },
13980
+ "originalText": {
13981
+ "type": "string",
13982
+ "description": "The original text content of this test or step as found in the source file.",
13983
+ "readOnly": true
13984
+ },
13985
+ "isInline": {
13986
+ "type": "boolean",
13987
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
13988
+ "default": false,
13989
+ "readOnly": true
13990
+ },
13991
+ "isAutoDetected": {
13992
+ "type": "boolean",
13993
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
13994
+ "default": false,
13995
+ "readOnly": true
13996
+ },
13997
+ "commentFormat": {
13998
+ "type": "string",
13999
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
14000
+ "enum": [
14001
+ "htmlComment",
14002
+ "jsxComment",
14003
+ "linkReference"
14004
+ ],
14005
+ "readOnly": true
14006
+ }
14007
+ },
14008
+ "examples": [
14009
+ {
14010
+ "file": "/path/to/docs/getting-started.md",
14011
+ "startLine": 42,
14012
+ "endLine": 45,
14013
+ "startColumn": 1,
14014
+ "endColumn": 3,
14015
+ "startOffset": 1250,
14016
+ "endOffset": 1350,
14017
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
14018
+ "isInline": true,
14019
+ "isAutoDetected": false,
14020
+ "commentFormat": "htmlComment"
14021
+ },
14022
+ {
14023
+ "file": "/path/to/docs/tutorial.md",
14024
+ "startLine": 78,
14025
+ "endLine": 78,
14026
+ "startColumn": 1,
14027
+ "endColumn": 45,
14028
+ "startOffset": 2100,
14029
+ "endOffset": 2145,
14030
+ "originalText": "[example link](https://example.com)",
14031
+ "isInline": true,
14032
+ "isAutoDetected": true,
14033
+ "commentFormat": "htmlComment"
14034
+ }
14035
+ ]
14036
+ },
14037
+ "description": {
14038
+ "type": "string",
14039
+ "description": "Description of the step."
14040
+ },
14041
+ "unsafe": {
14042
+ "type": "boolean",
14043
+ "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.",
14044
+ "default": false
14045
+ },
14046
+ "outputs": {
14047
+ "type": "object",
14048
+ "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.",
14049
+ "default": {},
14050
+ "patternProperties": {
14051
+ "^[A-Za-z0-9_]+$": {
14052
+ "type": "string",
14053
+ "description": "Runtime expression for a user-defined output value."
11298
14054
  }
11299
14055
  },
11300
14056
  "title": "Outputs (step)"
@@ -12343,6 +15099,112 @@
12343
15099
  "type": "string",
12344
15100
  "description": "ID of the step."
12345
15101
  },
15102
+ "sourceLocation": {
15103
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
15104
+ "$schema": "http://json-schema.org/draft-07/schema#",
15105
+ "title": "sourceLocation",
15106
+ "type": "object",
15107
+ "readOnly": true,
15108
+ "additionalProperties": false,
15109
+ "properties": {
15110
+ "file": {
15111
+ "type": "string",
15112
+ "description": "Absolute path to the source file containing this test or step.",
15113
+ "readOnly": true
15114
+ },
15115
+ "startLine": {
15116
+ "type": "integer",
15117
+ "description": "1-based line number where this test or step starts.",
15118
+ "minimum": 1,
15119
+ "readOnly": true
15120
+ },
15121
+ "endLine": {
15122
+ "type": "integer",
15123
+ "description": "1-based line number where this test or step ends.",
15124
+ "minimum": 1,
15125
+ "readOnly": true
15126
+ },
15127
+ "startColumn": {
15128
+ "type": "integer",
15129
+ "description": "1-based column number where this test or step starts on startLine.",
15130
+ "minimum": 1,
15131
+ "readOnly": true
15132
+ },
15133
+ "endColumn": {
15134
+ "type": "integer",
15135
+ "description": "1-based column number where this test or step ends on endLine.",
15136
+ "minimum": 1,
15137
+ "readOnly": true
15138
+ },
15139
+ "startOffset": {
15140
+ "type": "integer",
15141
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
15142
+ "minimum": 0,
15143
+ "readOnly": true
15144
+ },
15145
+ "endOffset": {
15146
+ "type": "integer",
15147
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
15148
+ "minimum": 0,
15149
+ "readOnly": true
15150
+ },
15151
+ "originalText": {
15152
+ "type": "string",
15153
+ "description": "The original text content of this test or step as found in the source file.",
15154
+ "readOnly": true
15155
+ },
15156
+ "isInline": {
15157
+ "type": "boolean",
15158
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
15159
+ "default": false,
15160
+ "readOnly": true
15161
+ },
15162
+ "isAutoDetected": {
15163
+ "type": "boolean",
15164
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
15165
+ "default": false,
15166
+ "readOnly": true
15167
+ },
15168
+ "commentFormat": {
15169
+ "type": "string",
15170
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
15171
+ "enum": [
15172
+ "htmlComment",
15173
+ "jsxComment",
15174
+ "linkReference"
15175
+ ],
15176
+ "readOnly": true
15177
+ }
15178
+ },
15179
+ "examples": [
15180
+ {
15181
+ "file": "/path/to/docs/getting-started.md",
15182
+ "startLine": 42,
15183
+ "endLine": 45,
15184
+ "startColumn": 1,
15185
+ "endColumn": 3,
15186
+ "startOffset": 1250,
15187
+ "endOffset": 1350,
15188
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
15189
+ "isInline": true,
15190
+ "isAutoDetected": false,
15191
+ "commentFormat": "htmlComment"
15192
+ },
15193
+ {
15194
+ "file": "/path/to/docs/tutorial.md",
15195
+ "startLine": 78,
15196
+ "endLine": 78,
15197
+ "startColumn": 1,
15198
+ "endColumn": 45,
15199
+ "startOffset": 2100,
15200
+ "endOffset": 2145,
15201
+ "originalText": "[example link](https://example.com)",
15202
+ "isInline": true,
15203
+ "isAutoDetected": true,
15204
+ "commentFormat": "htmlComment"
15205
+ }
15206
+ ]
15207
+ },
12346
15208
  "description": {
12347
15209
  "type": "string",
12348
15210
  "description": "Description of the step."
@@ -12650,6 +15512,112 @@
12650
15512
  "type": "string",
12651
15513
  "description": "ID of the step."
12652
15514
  },
15515
+ "sourceLocation": {
15516
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
15517
+ "$schema": "http://json-schema.org/draft-07/schema#",
15518
+ "title": "sourceLocation",
15519
+ "type": "object",
15520
+ "readOnly": true,
15521
+ "additionalProperties": false,
15522
+ "properties": {
15523
+ "file": {
15524
+ "type": "string",
15525
+ "description": "Absolute path to the source file containing this test or step.",
15526
+ "readOnly": true
15527
+ },
15528
+ "startLine": {
15529
+ "type": "integer",
15530
+ "description": "1-based line number where this test or step starts.",
15531
+ "minimum": 1,
15532
+ "readOnly": true
15533
+ },
15534
+ "endLine": {
15535
+ "type": "integer",
15536
+ "description": "1-based line number where this test or step ends.",
15537
+ "minimum": 1,
15538
+ "readOnly": true
15539
+ },
15540
+ "startColumn": {
15541
+ "type": "integer",
15542
+ "description": "1-based column number where this test or step starts on startLine.",
15543
+ "minimum": 1,
15544
+ "readOnly": true
15545
+ },
15546
+ "endColumn": {
15547
+ "type": "integer",
15548
+ "description": "1-based column number where this test or step ends on endLine.",
15549
+ "minimum": 1,
15550
+ "readOnly": true
15551
+ },
15552
+ "startOffset": {
15553
+ "type": "integer",
15554
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
15555
+ "minimum": 0,
15556
+ "readOnly": true
15557
+ },
15558
+ "endOffset": {
15559
+ "type": "integer",
15560
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
15561
+ "minimum": 0,
15562
+ "readOnly": true
15563
+ },
15564
+ "originalText": {
15565
+ "type": "string",
15566
+ "description": "The original text content of this test or step as found in the source file.",
15567
+ "readOnly": true
15568
+ },
15569
+ "isInline": {
15570
+ "type": "boolean",
15571
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
15572
+ "default": false,
15573
+ "readOnly": true
15574
+ },
15575
+ "isAutoDetected": {
15576
+ "type": "boolean",
15577
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
15578
+ "default": false,
15579
+ "readOnly": true
15580
+ },
15581
+ "commentFormat": {
15582
+ "type": "string",
15583
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
15584
+ "enum": [
15585
+ "htmlComment",
15586
+ "jsxComment",
15587
+ "linkReference"
15588
+ ],
15589
+ "readOnly": true
15590
+ }
15591
+ },
15592
+ "examples": [
15593
+ {
15594
+ "file": "/path/to/docs/getting-started.md",
15595
+ "startLine": 42,
15596
+ "endLine": 45,
15597
+ "startColumn": 1,
15598
+ "endColumn": 3,
15599
+ "startOffset": 1250,
15600
+ "endOffset": 1350,
15601
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
15602
+ "isInline": true,
15603
+ "isAutoDetected": false,
15604
+ "commentFormat": "htmlComment"
15605
+ },
15606
+ {
15607
+ "file": "/path/to/docs/tutorial.md",
15608
+ "startLine": 78,
15609
+ "endLine": 78,
15610
+ "startColumn": 1,
15611
+ "endColumn": 45,
15612
+ "startOffset": 2100,
15613
+ "endOffset": 2145,
15614
+ "originalText": "[example link](https://example.com)",
15615
+ "isInline": true,
15616
+ "isAutoDetected": true,
15617
+ "commentFormat": "htmlComment"
15618
+ }
15619
+ ]
15620
+ },
12653
15621
  "description": {
12654
15622
  "type": "string",
12655
15623
  "description": "Description of the step."
@@ -12943,6 +15911,112 @@
12943
15911
  "type": "string",
12944
15912
  "description": "ID of the step."
12945
15913
  },
15914
+ "sourceLocation": {
15915
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
15916
+ "$schema": "http://json-schema.org/draft-07/schema#",
15917
+ "title": "sourceLocation",
15918
+ "type": "object",
15919
+ "readOnly": true,
15920
+ "additionalProperties": false,
15921
+ "properties": {
15922
+ "file": {
15923
+ "type": "string",
15924
+ "description": "Absolute path to the source file containing this test or step.",
15925
+ "readOnly": true
15926
+ },
15927
+ "startLine": {
15928
+ "type": "integer",
15929
+ "description": "1-based line number where this test or step starts.",
15930
+ "minimum": 1,
15931
+ "readOnly": true
15932
+ },
15933
+ "endLine": {
15934
+ "type": "integer",
15935
+ "description": "1-based line number where this test or step ends.",
15936
+ "minimum": 1,
15937
+ "readOnly": true
15938
+ },
15939
+ "startColumn": {
15940
+ "type": "integer",
15941
+ "description": "1-based column number where this test or step starts on startLine.",
15942
+ "minimum": 1,
15943
+ "readOnly": true
15944
+ },
15945
+ "endColumn": {
15946
+ "type": "integer",
15947
+ "description": "1-based column number where this test or step ends on endLine.",
15948
+ "minimum": 1,
15949
+ "readOnly": true
15950
+ },
15951
+ "startOffset": {
15952
+ "type": "integer",
15953
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
15954
+ "minimum": 0,
15955
+ "readOnly": true
15956
+ },
15957
+ "endOffset": {
15958
+ "type": "integer",
15959
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
15960
+ "minimum": 0,
15961
+ "readOnly": true
15962
+ },
15963
+ "originalText": {
15964
+ "type": "string",
15965
+ "description": "The original text content of this test or step as found in the source file.",
15966
+ "readOnly": true
15967
+ },
15968
+ "isInline": {
15969
+ "type": "boolean",
15970
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
15971
+ "default": false,
15972
+ "readOnly": true
15973
+ },
15974
+ "isAutoDetected": {
15975
+ "type": "boolean",
15976
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
15977
+ "default": false,
15978
+ "readOnly": true
15979
+ },
15980
+ "commentFormat": {
15981
+ "type": "string",
15982
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
15983
+ "enum": [
15984
+ "htmlComment",
15985
+ "jsxComment",
15986
+ "linkReference"
15987
+ ],
15988
+ "readOnly": true
15989
+ }
15990
+ },
15991
+ "examples": [
15992
+ {
15993
+ "file": "/path/to/docs/getting-started.md",
15994
+ "startLine": 42,
15995
+ "endLine": 45,
15996
+ "startColumn": 1,
15997
+ "endColumn": 3,
15998
+ "startOffset": 1250,
15999
+ "endOffset": 1350,
16000
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
16001
+ "isInline": true,
16002
+ "isAutoDetected": false,
16003
+ "commentFormat": "htmlComment"
16004
+ },
16005
+ {
16006
+ "file": "/path/to/docs/tutorial.md",
16007
+ "startLine": 78,
16008
+ "endLine": 78,
16009
+ "startColumn": 1,
16010
+ "endColumn": 45,
16011
+ "startOffset": 2100,
16012
+ "endOffset": 2145,
16013
+ "originalText": "[example link](https://example.com)",
16014
+ "isInline": true,
16015
+ "isAutoDetected": true,
16016
+ "commentFormat": "htmlComment"
16017
+ }
16018
+ ]
16019
+ },
12946
16020
  "description": {
12947
16021
  "type": "string",
12948
16022
  "description": "Description of the step."
@@ -13258,6 +16332,112 @@
13258
16332
  "type": "string",
13259
16333
  "description": "ID of the step."
13260
16334
  },
16335
+ "sourceLocation": {
16336
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
16337
+ "$schema": "http://json-schema.org/draft-07/schema#",
16338
+ "title": "sourceLocation",
16339
+ "type": "object",
16340
+ "readOnly": true,
16341
+ "additionalProperties": false,
16342
+ "properties": {
16343
+ "file": {
16344
+ "type": "string",
16345
+ "description": "Absolute path to the source file containing this test or step.",
16346
+ "readOnly": true
16347
+ },
16348
+ "startLine": {
16349
+ "type": "integer",
16350
+ "description": "1-based line number where this test or step starts.",
16351
+ "minimum": 1,
16352
+ "readOnly": true
16353
+ },
16354
+ "endLine": {
16355
+ "type": "integer",
16356
+ "description": "1-based line number where this test or step ends.",
16357
+ "minimum": 1,
16358
+ "readOnly": true
16359
+ },
16360
+ "startColumn": {
16361
+ "type": "integer",
16362
+ "description": "1-based column number where this test or step starts on startLine.",
16363
+ "minimum": 1,
16364
+ "readOnly": true
16365
+ },
16366
+ "endColumn": {
16367
+ "type": "integer",
16368
+ "description": "1-based column number where this test or step ends on endLine.",
16369
+ "minimum": 1,
16370
+ "readOnly": true
16371
+ },
16372
+ "startOffset": {
16373
+ "type": "integer",
16374
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
16375
+ "minimum": 0,
16376
+ "readOnly": true
16377
+ },
16378
+ "endOffset": {
16379
+ "type": "integer",
16380
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
16381
+ "minimum": 0,
16382
+ "readOnly": true
16383
+ },
16384
+ "originalText": {
16385
+ "type": "string",
16386
+ "description": "The original text content of this test or step as found in the source file.",
16387
+ "readOnly": true
16388
+ },
16389
+ "isInline": {
16390
+ "type": "boolean",
16391
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
16392
+ "default": false,
16393
+ "readOnly": true
16394
+ },
16395
+ "isAutoDetected": {
16396
+ "type": "boolean",
16397
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
16398
+ "default": false,
16399
+ "readOnly": true
16400
+ },
16401
+ "commentFormat": {
16402
+ "type": "string",
16403
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
16404
+ "enum": [
16405
+ "htmlComment",
16406
+ "jsxComment",
16407
+ "linkReference"
16408
+ ],
16409
+ "readOnly": true
16410
+ }
16411
+ },
16412
+ "examples": [
16413
+ {
16414
+ "file": "/path/to/docs/getting-started.md",
16415
+ "startLine": 42,
16416
+ "endLine": 45,
16417
+ "startColumn": 1,
16418
+ "endColumn": 3,
16419
+ "startOffset": 1250,
16420
+ "endOffset": 1350,
16421
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
16422
+ "isInline": true,
16423
+ "isAutoDetected": false,
16424
+ "commentFormat": "htmlComment"
16425
+ },
16426
+ {
16427
+ "file": "/path/to/docs/tutorial.md",
16428
+ "startLine": 78,
16429
+ "endLine": 78,
16430
+ "startColumn": 1,
16431
+ "endColumn": 45,
16432
+ "startOffset": 2100,
16433
+ "endOffset": 2145,
16434
+ "originalText": "[example link](https://example.com)",
16435
+ "isInline": true,
16436
+ "isAutoDetected": true,
16437
+ "commentFormat": "htmlComment"
16438
+ }
16439
+ ]
16440
+ },
13261
16441
  "description": {
13262
16442
  "type": "string",
13263
16443
  "description": "Description of the step."
@@ -13910,6 +17090,112 @@
13910
17090
  "type": "string",
13911
17091
  "description": "ID of the step."
13912
17092
  },
17093
+ "sourceLocation": {
17094
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
17095
+ "$schema": "http://json-schema.org/draft-07/schema#",
17096
+ "title": "sourceLocation",
17097
+ "type": "object",
17098
+ "readOnly": true,
17099
+ "additionalProperties": false,
17100
+ "properties": {
17101
+ "file": {
17102
+ "type": "string",
17103
+ "description": "Absolute path to the source file containing this test or step.",
17104
+ "readOnly": true
17105
+ },
17106
+ "startLine": {
17107
+ "type": "integer",
17108
+ "description": "1-based line number where this test or step starts.",
17109
+ "minimum": 1,
17110
+ "readOnly": true
17111
+ },
17112
+ "endLine": {
17113
+ "type": "integer",
17114
+ "description": "1-based line number where this test or step ends.",
17115
+ "minimum": 1,
17116
+ "readOnly": true
17117
+ },
17118
+ "startColumn": {
17119
+ "type": "integer",
17120
+ "description": "1-based column number where this test or step starts on startLine.",
17121
+ "minimum": 1,
17122
+ "readOnly": true
17123
+ },
17124
+ "endColumn": {
17125
+ "type": "integer",
17126
+ "description": "1-based column number where this test or step ends on endLine.",
17127
+ "minimum": 1,
17128
+ "readOnly": true
17129
+ },
17130
+ "startOffset": {
17131
+ "type": "integer",
17132
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
17133
+ "minimum": 0,
17134
+ "readOnly": true
17135
+ },
17136
+ "endOffset": {
17137
+ "type": "integer",
17138
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
17139
+ "minimum": 0,
17140
+ "readOnly": true
17141
+ },
17142
+ "originalText": {
17143
+ "type": "string",
17144
+ "description": "The original text content of this test or step as found in the source file.",
17145
+ "readOnly": true
17146
+ },
17147
+ "isInline": {
17148
+ "type": "boolean",
17149
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
17150
+ "default": false,
17151
+ "readOnly": true
17152
+ },
17153
+ "isAutoDetected": {
17154
+ "type": "boolean",
17155
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
17156
+ "default": false,
17157
+ "readOnly": true
17158
+ },
17159
+ "commentFormat": {
17160
+ "type": "string",
17161
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
17162
+ "enum": [
17163
+ "htmlComment",
17164
+ "jsxComment",
17165
+ "linkReference"
17166
+ ],
17167
+ "readOnly": true
17168
+ }
17169
+ },
17170
+ "examples": [
17171
+ {
17172
+ "file": "/path/to/docs/getting-started.md",
17173
+ "startLine": 42,
17174
+ "endLine": 45,
17175
+ "startColumn": 1,
17176
+ "endColumn": 3,
17177
+ "startOffset": 1250,
17178
+ "endOffset": 1350,
17179
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
17180
+ "isInline": true,
17181
+ "isAutoDetected": false,
17182
+ "commentFormat": "htmlComment"
17183
+ },
17184
+ {
17185
+ "file": "/path/to/docs/tutorial.md",
17186
+ "startLine": 78,
17187
+ "endLine": 78,
17188
+ "startColumn": 1,
17189
+ "endColumn": 45,
17190
+ "startOffset": 2100,
17191
+ "endOffset": 2145,
17192
+ "originalText": "[example link](https://example.com)",
17193
+ "isInline": true,
17194
+ "isAutoDetected": true,
17195
+ "commentFormat": "htmlComment"
17196
+ }
17197
+ ]
17198
+ },
13913
17199
  "description": {
13914
17200
  "type": "string",
13915
17201
  "description": "Description of the step."
@@ -14226,6 +17512,112 @@
14226
17512
  "type": "string",
14227
17513
  "description": "ID of the step."
14228
17514
  },
17515
+ "sourceLocation": {
17516
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
17517
+ "$schema": "http://json-schema.org/draft-07/schema#",
17518
+ "title": "sourceLocation",
17519
+ "type": "object",
17520
+ "readOnly": true,
17521
+ "additionalProperties": false,
17522
+ "properties": {
17523
+ "file": {
17524
+ "type": "string",
17525
+ "description": "Absolute path to the source file containing this test or step.",
17526
+ "readOnly": true
17527
+ },
17528
+ "startLine": {
17529
+ "type": "integer",
17530
+ "description": "1-based line number where this test or step starts.",
17531
+ "minimum": 1,
17532
+ "readOnly": true
17533
+ },
17534
+ "endLine": {
17535
+ "type": "integer",
17536
+ "description": "1-based line number where this test or step ends.",
17537
+ "minimum": 1,
17538
+ "readOnly": true
17539
+ },
17540
+ "startColumn": {
17541
+ "type": "integer",
17542
+ "description": "1-based column number where this test or step starts on startLine.",
17543
+ "minimum": 1,
17544
+ "readOnly": true
17545
+ },
17546
+ "endColumn": {
17547
+ "type": "integer",
17548
+ "description": "1-based column number where this test or step ends on endLine.",
17549
+ "minimum": 1,
17550
+ "readOnly": true
17551
+ },
17552
+ "startOffset": {
17553
+ "type": "integer",
17554
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
17555
+ "minimum": 0,
17556
+ "readOnly": true
17557
+ },
17558
+ "endOffset": {
17559
+ "type": "integer",
17560
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
17561
+ "minimum": 0,
17562
+ "readOnly": true
17563
+ },
17564
+ "originalText": {
17565
+ "type": "string",
17566
+ "description": "The original text content of this test or step as found in the source file.",
17567
+ "readOnly": true
17568
+ },
17569
+ "isInline": {
17570
+ "type": "boolean",
17571
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
17572
+ "default": false,
17573
+ "readOnly": true
17574
+ },
17575
+ "isAutoDetected": {
17576
+ "type": "boolean",
17577
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
17578
+ "default": false,
17579
+ "readOnly": true
17580
+ },
17581
+ "commentFormat": {
17582
+ "type": "string",
17583
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
17584
+ "enum": [
17585
+ "htmlComment",
17586
+ "jsxComment",
17587
+ "linkReference"
17588
+ ],
17589
+ "readOnly": true
17590
+ }
17591
+ },
17592
+ "examples": [
17593
+ {
17594
+ "file": "/path/to/docs/getting-started.md",
17595
+ "startLine": 42,
17596
+ "endLine": 45,
17597
+ "startColumn": 1,
17598
+ "endColumn": 3,
17599
+ "startOffset": 1250,
17600
+ "endOffset": 1350,
17601
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
17602
+ "isInline": true,
17603
+ "isAutoDetected": false,
17604
+ "commentFormat": "htmlComment"
17605
+ },
17606
+ {
17607
+ "file": "/path/to/docs/tutorial.md",
17608
+ "startLine": 78,
17609
+ "endLine": 78,
17610
+ "startColumn": 1,
17611
+ "endColumn": 45,
17612
+ "startOffset": 2100,
17613
+ "endOffset": 2145,
17614
+ "originalText": "[example link](https://example.com)",
17615
+ "isInline": true,
17616
+ "isAutoDetected": true,
17617
+ "commentFormat": "htmlComment"
17618
+ }
17619
+ ]
17620
+ },
14229
17621
  "description": {
14230
17622
  "type": "string",
14231
17623
  "description": "Description of the step."
@@ -14398,6 +17790,112 @@
14398
17790
  "type": "string",
14399
17791
  "description": "ID of the step."
14400
17792
  },
17793
+ "sourceLocation": {
17794
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
17795
+ "$schema": "http://json-schema.org/draft-07/schema#",
17796
+ "title": "sourceLocation",
17797
+ "type": "object",
17798
+ "readOnly": true,
17799
+ "additionalProperties": false,
17800
+ "properties": {
17801
+ "file": {
17802
+ "type": "string",
17803
+ "description": "Absolute path to the source file containing this test or step.",
17804
+ "readOnly": true
17805
+ },
17806
+ "startLine": {
17807
+ "type": "integer",
17808
+ "description": "1-based line number where this test or step starts.",
17809
+ "minimum": 1,
17810
+ "readOnly": true
17811
+ },
17812
+ "endLine": {
17813
+ "type": "integer",
17814
+ "description": "1-based line number where this test or step ends.",
17815
+ "minimum": 1,
17816
+ "readOnly": true
17817
+ },
17818
+ "startColumn": {
17819
+ "type": "integer",
17820
+ "description": "1-based column number where this test or step starts on startLine.",
17821
+ "minimum": 1,
17822
+ "readOnly": true
17823
+ },
17824
+ "endColumn": {
17825
+ "type": "integer",
17826
+ "description": "1-based column number where this test or step ends on endLine.",
17827
+ "minimum": 1,
17828
+ "readOnly": true
17829
+ },
17830
+ "startOffset": {
17831
+ "type": "integer",
17832
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
17833
+ "minimum": 0,
17834
+ "readOnly": true
17835
+ },
17836
+ "endOffset": {
17837
+ "type": "integer",
17838
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
17839
+ "minimum": 0,
17840
+ "readOnly": true
17841
+ },
17842
+ "originalText": {
17843
+ "type": "string",
17844
+ "description": "The original text content of this test or step as found in the source file.",
17845
+ "readOnly": true
17846
+ },
17847
+ "isInline": {
17848
+ "type": "boolean",
17849
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
17850
+ "default": false,
17851
+ "readOnly": true
17852
+ },
17853
+ "isAutoDetected": {
17854
+ "type": "boolean",
17855
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
17856
+ "default": false,
17857
+ "readOnly": true
17858
+ },
17859
+ "commentFormat": {
17860
+ "type": "string",
17861
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
17862
+ "enum": [
17863
+ "htmlComment",
17864
+ "jsxComment",
17865
+ "linkReference"
17866
+ ],
17867
+ "readOnly": true
17868
+ }
17869
+ },
17870
+ "examples": [
17871
+ {
17872
+ "file": "/path/to/docs/getting-started.md",
17873
+ "startLine": 42,
17874
+ "endLine": 45,
17875
+ "startColumn": 1,
17876
+ "endColumn": 3,
17877
+ "startOffset": 1250,
17878
+ "endOffset": 1350,
17879
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
17880
+ "isInline": true,
17881
+ "isAutoDetected": false,
17882
+ "commentFormat": "htmlComment"
17883
+ },
17884
+ {
17885
+ "file": "/path/to/docs/tutorial.md",
17886
+ "startLine": 78,
17887
+ "endLine": 78,
17888
+ "startColumn": 1,
17889
+ "endColumn": 45,
17890
+ "startOffset": 2100,
17891
+ "endOffset": 2145,
17892
+ "originalText": "[example link](https://example.com)",
17893
+ "isInline": true,
17894
+ "isAutoDetected": true,
17895
+ "commentFormat": "htmlComment"
17896
+ }
17897
+ ]
17898
+ },
14401
17899
  "description": {
14402
17900
  "type": "string",
14403
17901
  "description": "Description of the step."
@@ -14483,6 +17981,112 @@
14483
17981
  "type": "string",
14484
17982
  "description": "ID of the step."
14485
17983
  },
17984
+ "sourceLocation": {
17985
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
17986
+ "$schema": "http://json-schema.org/draft-07/schema#",
17987
+ "title": "sourceLocation",
17988
+ "type": "object",
17989
+ "readOnly": true,
17990
+ "additionalProperties": false,
17991
+ "properties": {
17992
+ "file": {
17993
+ "type": "string",
17994
+ "description": "Absolute path to the source file containing this test or step.",
17995
+ "readOnly": true
17996
+ },
17997
+ "startLine": {
17998
+ "type": "integer",
17999
+ "description": "1-based line number where this test or step starts.",
18000
+ "minimum": 1,
18001
+ "readOnly": true
18002
+ },
18003
+ "endLine": {
18004
+ "type": "integer",
18005
+ "description": "1-based line number where this test or step ends.",
18006
+ "minimum": 1,
18007
+ "readOnly": true
18008
+ },
18009
+ "startColumn": {
18010
+ "type": "integer",
18011
+ "description": "1-based column number where this test or step starts on startLine.",
18012
+ "minimum": 1,
18013
+ "readOnly": true
18014
+ },
18015
+ "endColumn": {
18016
+ "type": "integer",
18017
+ "description": "1-based column number where this test or step ends on endLine.",
18018
+ "minimum": 1,
18019
+ "readOnly": true
18020
+ },
18021
+ "startOffset": {
18022
+ "type": "integer",
18023
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
18024
+ "minimum": 0,
18025
+ "readOnly": true
18026
+ },
18027
+ "endOffset": {
18028
+ "type": "integer",
18029
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
18030
+ "minimum": 0,
18031
+ "readOnly": true
18032
+ },
18033
+ "originalText": {
18034
+ "type": "string",
18035
+ "description": "The original text content of this test or step as found in the source file.",
18036
+ "readOnly": true
18037
+ },
18038
+ "isInline": {
18039
+ "type": "boolean",
18040
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
18041
+ "default": false,
18042
+ "readOnly": true
18043
+ },
18044
+ "isAutoDetected": {
18045
+ "type": "boolean",
18046
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
18047
+ "default": false,
18048
+ "readOnly": true
18049
+ },
18050
+ "commentFormat": {
18051
+ "type": "string",
18052
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
18053
+ "enum": [
18054
+ "htmlComment",
18055
+ "jsxComment",
18056
+ "linkReference"
18057
+ ],
18058
+ "readOnly": true
18059
+ }
18060
+ },
18061
+ "examples": [
18062
+ {
18063
+ "file": "/path/to/docs/getting-started.md",
18064
+ "startLine": 42,
18065
+ "endLine": 45,
18066
+ "startColumn": 1,
18067
+ "endColumn": 3,
18068
+ "startOffset": 1250,
18069
+ "endOffset": 1350,
18070
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
18071
+ "isInline": true,
18072
+ "isAutoDetected": false,
18073
+ "commentFormat": "htmlComment"
18074
+ },
18075
+ {
18076
+ "file": "/path/to/docs/tutorial.md",
18077
+ "startLine": 78,
18078
+ "endLine": 78,
18079
+ "startColumn": 1,
18080
+ "endColumn": 45,
18081
+ "startOffset": 2100,
18082
+ "endOffset": 2145,
18083
+ "originalText": "[example link](https://example.com)",
18084
+ "isInline": true,
18085
+ "isAutoDetected": true,
18086
+ "commentFormat": "htmlComment"
18087
+ }
18088
+ ]
18089
+ },
14486
18090
  "description": {
14487
18091
  "type": "string",
14488
18092
  "description": "Description of the step."
@@ -14563,6 +18167,112 @@
14563
18167
  "type": "string",
14564
18168
  "description": "ID of the step."
14565
18169
  },
18170
+ "sourceLocation": {
18171
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
18172
+ "$schema": "http://json-schema.org/draft-07/schema#",
18173
+ "title": "sourceLocation",
18174
+ "type": "object",
18175
+ "readOnly": true,
18176
+ "additionalProperties": false,
18177
+ "properties": {
18178
+ "file": {
18179
+ "type": "string",
18180
+ "description": "Absolute path to the source file containing this test or step.",
18181
+ "readOnly": true
18182
+ },
18183
+ "startLine": {
18184
+ "type": "integer",
18185
+ "description": "1-based line number where this test or step starts.",
18186
+ "minimum": 1,
18187
+ "readOnly": true
18188
+ },
18189
+ "endLine": {
18190
+ "type": "integer",
18191
+ "description": "1-based line number where this test or step ends.",
18192
+ "minimum": 1,
18193
+ "readOnly": true
18194
+ },
18195
+ "startColumn": {
18196
+ "type": "integer",
18197
+ "description": "1-based column number where this test or step starts on startLine.",
18198
+ "minimum": 1,
18199
+ "readOnly": true
18200
+ },
18201
+ "endColumn": {
18202
+ "type": "integer",
18203
+ "description": "1-based column number where this test or step ends on endLine.",
18204
+ "minimum": 1,
18205
+ "readOnly": true
18206
+ },
18207
+ "startOffset": {
18208
+ "type": "integer",
18209
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
18210
+ "minimum": 0,
18211
+ "readOnly": true
18212
+ },
18213
+ "endOffset": {
18214
+ "type": "integer",
18215
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
18216
+ "minimum": 0,
18217
+ "readOnly": true
18218
+ },
18219
+ "originalText": {
18220
+ "type": "string",
18221
+ "description": "The original text content of this test or step as found in the source file.",
18222
+ "readOnly": true
18223
+ },
18224
+ "isInline": {
18225
+ "type": "boolean",
18226
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
18227
+ "default": false,
18228
+ "readOnly": true
18229
+ },
18230
+ "isAutoDetected": {
18231
+ "type": "boolean",
18232
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
18233
+ "default": false,
18234
+ "readOnly": true
18235
+ },
18236
+ "commentFormat": {
18237
+ "type": "string",
18238
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
18239
+ "enum": [
18240
+ "htmlComment",
18241
+ "jsxComment",
18242
+ "linkReference"
18243
+ ],
18244
+ "readOnly": true
18245
+ }
18246
+ },
18247
+ "examples": [
18248
+ {
18249
+ "file": "/path/to/docs/getting-started.md",
18250
+ "startLine": 42,
18251
+ "endLine": 45,
18252
+ "startColumn": 1,
18253
+ "endColumn": 3,
18254
+ "startOffset": 1250,
18255
+ "endOffset": 1350,
18256
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
18257
+ "isInline": true,
18258
+ "isAutoDetected": false,
18259
+ "commentFormat": "htmlComment"
18260
+ },
18261
+ {
18262
+ "file": "/path/to/docs/tutorial.md",
18263
+ "startLine": 78,
18264
+ "endLine": 78,
18265
+ "startColumn": 1,
18266
+ "endColumn": 45,
18267
+ "startOffset": 2100,
18268
+ "endOffset": 2145,
18269
+ "originalText": "[example link](https://example.com)",
18270
+ "isInline": true,
18271
+ "isAutoDetected": true,
18272
+ "commentFormat": "htmlComment"
18273
+ }
18274
+ ]
18275
+ },
14566
18276
  "description": {
14567
18277
  "type": "string",
14568
18278
  "description": "Description of the step."
@@ -15130,6 +18840,112 @@
15130
18840
  "type": "string",
15131
18841
  "description": "ID of the step."
15132
18842
  },
18843
+ "sourceLocation": {
18844
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
18845
+ "$schema": "http://json-schema.org/draft-07/schema#",
18846
+ "title": "sourceLocation",
18847
+ "type": "object",
18848
+ "readOnly": true,
18849
+ "additionalProperties": false,
18850
+ "properties": {
18851
+ "file": {
18852
+ "type": "string",
18853
+ "description": "Absolute path to the source file containing this test or step.",
18854
+ "readOnly": true
18855
+ },
18856
+ "startLine": {
18857
+ "type": "integer",
18858
+ "description": "1-based line number where this test or step starts.",
18859
+ "minimum": 1,
18860
+ "readOnly": true
18861
+ },
18862
+ "endLine": {
18863
+ "type": "integer",
18864
+ "description": "1-based line number where this test or step ends.",
18865
+ "minimum": 1,
18866
+ "readOnly": true
18867
+ },
18868
+ "startColumn": {
18869
+ "type": "integer",
18870
+ "description": "1-based column number where this test or step starts on startLine.",
18871
+ "minimum": 1,
18872
+ "readOnly": true
18873
+ },
18874
+ "endColumn": {
18875
+ "type": "integer",
18876
+ "description": "1-based column number where this test or step ends on endLine.",
18877
+ "minimum": 1,
18878
+ "readOnly": true
18879
+ },
18880
+ "startOffset": {
18881
+ "type": "integer",
18882
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
18883
+ "minimum": 0,
18884
+ "readOnly": true
18885
+ },
18886
+ "endOffset": {
18887
+ "type": "integer",
18888
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
18889
+ "minimum": 0,
18890
+ "readOnly": true
18891
+ },
18892
+ "originalText": {
18893
+ "type": "string",
18894
+ "description": "The original text content of this test or step as found in the source file.",
18895
+ "readOnly": true
18896
+ },
18897
+ "isInline": {
18898
+ "type": "boolean",
18899
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
18900
+ "default": false,
18901
+ "readOnly": true
18902
+ },
18903
+ "isAutoDetected": {
18904
+ "type": "boolean",
18905
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
18906
+ "default": false,
18907
+ "readOnly": true
18908
+ },
18909
+ "commentFormat": {
18910
+ "type": "string",
18911
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
18912
+ "enum": [
18913
+ "htmlComment",
18914
+ "jsxComment",
18915
+ "linkReference"
18916
+ ],
18917
+ "readOnly": true
18918
+ }
18919
+ },
18920
+ "examples": [
18921
+ {
18922
+ "file": "/path/to/docs/getting-started.md",
18923
+ "startLine": 42,
18924
+ "endLine": 45,
18925
+ "startColumn": 1,
18926
+ "endColumn": 3,
18927
+ "startOffset": 1250,
18928
+ "endOffset": 1350,
18929
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
18930
+ "isInline": true,
18931
+ "isAutoDetected": false,
18932
+ "commentFormat": "htmlComment"
18933
+ },
18934
+ {
18935
+ "file": "/path/to/docs/tutorial.md",
18936
+ "startLine": 78,
18937
+ "endLine": 78,
18938
+ "startColumn": 1,
18939
+ "endColumn": 45,
18940
+ "startOffset": 2100,
18941
+ "endOffset": 2145,
18942
+ "originalText": "[example link](https://example.com)",
18943
+ "isInline": true,
18944
+ "isAutoDetected": true,
18945
+ "commentFormat": "htmlComment"
18946
+ }
18947
+ ]
18948
+ },
15133
18949
  "description": {
15134
18950
  "type": "string",
15135
18951
  "description": "Description of the step."
@@ -15429,6 +19245,112 @@
15429
19245
  "type": "string",
15430
19246
  "description": "ID of the step."
15431
19247
  },
19248
+ "sourceLocation": {
19249
+ "description": "Source location information for inline steps. Read-only, populated during detection.",
19250
+ "$schema": "http://json-schema.org/draft-07/schema#",
19251
+ "title": "sourceLocation",
19252
+ "type": "object",
19253
+ "readOnly": true,
19254
+ "additionalProperties": false,
19255
+ "properties": {
19256
+ "file": {
19257
+ "type": "string",
19258
+ "description": "Absolute path to the source file containing this test or step.",
19259
+ "readOnly": true
19260
+ },
19261
+ "startLine": {
19262
+ "type": "integer",
19263
+ "description": "1-based line number where this test or step starts.",
19264
+ "minimum": 1,
19265
+ "readOnly": true
19266
+ },
19267
+ "endLine": {
19268
+ "type": "integer",
19269
+ "description": "1-based line number where this test or step ends.",
19270
+ "minimum": 1,
19271
+ "readOnly": true
19272
+ },
19273
+ "startColumn": {
19274
+ "type": "integer",
19275
+ "description": "1-based column number where this test or step starts on startLine.",
19276
+ "minimum": 1,
19277
+ "readOnly": true
19278
+ },
19279
+ "endColumn": {
19280
+ "type": "integer",
19281
+ "description": "1-based column number where this test or step ends on endLine.",
19282
+ "minimum": 1,
19283
+ "readOnly": true
19284
+ },
19285
+ "startOffset": {
19286
+ "type": "integer",
19287
+ "description": "0-based character offset from the beginning of the file where this test or step starts.",
19288
+ "minimum": 0,
19289
+ "readOnly": true
19290
+ },
19291
+ "endOffset": {
19292
+ "type": "integer",
19293
+ "description": "0-based character offset from the beginning of the file where this test or step ends.",
19294
+ "minimum": 0,
19295
+ "readOnly": true
19296
+ },
19297
+ "originalText": {
19298
+ "type": "string",
19299
+ "description": "The original text content of this test or step as found in the source file.",
19300
+ "readOnly": true
19301
+ },
19302
+ "isInline": {
19303
+ "type": "boolean",
19304
+ "description": "Whether this test or step was detected from inline comments within a content file (true) or from a standalone spec file (false).",
19305
+ "default": false,
19306
+ "readOnly": true
19307
+ },
19308
+ "isAutoDetected": {
19309
+ "type": "boolean",
19310
+ "description": "Whether this step was auto-detected from markup patterns (true) or explicitly defined in an inline comment (false). Only applicable to steps.",
19311
+ "default": false,
19312
+ "readOnly": true
19313
+ },
19314
+ "commentFormat": {
19315
+ "type": "string",
19316
+ "description": "The comment format used for this inline test or step. Used when serializing edits back to the source file.",
19317
+ "enum": [
19318
+ "htmlComment",
19319
+ "jsxComment",
19320
+ "linkReference"
19321
+ ],
19322
+ "readOnly": true
19323
+ }
19324
+ },
19325
+ "examples": [
19326
+ {
19327
+ "file": "/path/to/docs/getting-started.md",
19328
+ "startLine": 42,
19329
+ "endLine": 45,
19330
+ "startColumn": 1,
19331
+ "endColumn": 3,
19332
+ "startOffset": 1250,
19333
+ "endOffset": 1350,
19334
+ "originalText": "<!-- test testId=\"navigation-test\" -->",
19335
+ "isInline": true,
19336
+ "isAutoDetected": false,
19337
+ "commentFormat": "htmlComment"
19338
+ },
19339
+ {
19340
+ "file": "/path/to/docs/tutorial.md",
19341
+ "startLine": 78,
19342
+ "endLine": 78,
19343
+ "startColumn": 1,
19344
+ "endColumn": 45,
19345
+ "startOffset": 2100,
19346
+ "endOffset": 2145,
19347
+ "originalText": "[example link](https://example.com)",
19348
+ "isInline": true,
19349
+ "isAutoDetected": true,
19350
+ "commentFormat": "htmlComment"
19351
+ }
19352
+ ]
19353
+ },
15432
19354
  "description": {
15433
19355
  "type": "string",
15434
19356
  "description": "Description of the step."