@jasonbelmonti/markdown-engine 3.1.0 → 3.2.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 (81) hide show
  1. package/CHANGELOG.md +23 -0
  2. package/README.md +29 -10
  3. package/SECURITY.md +4 -4
  4. package/dist/api/declarative-validation.d.ts.map +1 -1
  5. package/dist/api/declarative-validation.js +31 -11
  6. package/dist/api/declarative-validation.js.map +1 -1
  7. package/dist/api/document-set-validation.js +1 -0
  8. package/dist/api/document-set-validation.js.map +1 -1
  9. package/dist/cli/declarative-validation.d.ts.map +1 -1
  10. package/dist/cli/declarative-validation.js +4 -4
  11. package/dist/cli/declarative-validation.js.map +1 -1
  12. package/dist/declarative-validation/applicability/classifier.d.ts +2 -1
  13. package/dist/declarative-validation/applicability/classifier.d.ts.map +1 -1
  14. package/dist/declarative-validation/applicability/classifier.js +2 -2
  15. package/dist/declarative-validation/applicability/classifier.js.map +1 -1
  16. package/dist/declarative-validation/assertions/context.d.ts +4 -0
  17. package/dist/declarative-validation/assertions/context.d.ts.map +1 -1
  18. package/dist/declarative-validation/assertions/diagnostics.d.ts +3 -0
  19. package/dist/declarative-validation/assertions/diagnostics.d.ts.map +1 -1
  20. package/dist/declarative-validation/assertions/diagnostics.js +18 -0
  21. package/dist/declarative-validation/assertions/diagnostics.js.map +1 -1
  22. package/dist/declarative-validation/assertions/evaluator.d.ts +2 -1
  23. package/dist/declarative-validation/assertions/evaluator.d.ts.map +1 -1
  24. package/dist/declarative-validation/assertions/evaluator.js +7 -1
  25. package/dist/declarative-validation/assertions/evaluator.js.map +1 -1
  26. package/dist/declarative-validation/assertions/group-evaluator.d.ts +3 -2
  27. package/dist/declarative-validation/assertions/group-evaluator.d.ts.map +1 -1
  28. package/dist/declarative-validation/assertions/group-evaluator.js +32 -14
  29. package/dist/declarative-validation/assertions/group-evaluator.js.map +1 -1
  30. package/dist/declarative-validation/assertions/source-length.d.ts +9 -0
  31. package/dist/declarative-validation/assertions/source-length.d.ts.map +1 -0
  32. package/dist/declarative-validation/assertions/source-length.js +33 -0
  33. package/dist/declarative-validation/assertions/source-length.js.map +1 -0
  34. package/dist/declarative-validation/compiler/assertion-builders.d.ts.map +1 -1
  35. package/dist/declarative-validation/compiler/assertion-builders.js +4 -32
  36. package/dist/declarative-validation/compiler/assertion-builders.js.map +1 -1
  37. package/dist/declarative-validation/compiler/assertion-shapes.d.ts +1 -2
  38. package/dist/declarative-validation/compiler/assertion-shapes.d.ts.map +1 -1
  39. package/dist/declarative-validation/compiler/assertion-shapes.js +1 -25
  40. package/dist/declarative-validation/compiler/assertion-shapes.js.map +1 -1
  41. package/dist/declarative-validation/compiler/assertions.d.ts.map +1 -1
  42. package/dist/declarative-validation/compiler/assertions.js +1 -0
  43. package/dist/declarative-validation/compiler/assertions.js.map +1 -1
  44. package/dist/declarative-validation/compiler/compatibility.d.ts +2 -0
  45. package/dist/declarative-validation/compiler/compatibility.d.ts.map +1 -1
  46. package/dist/declarative-validation/compiler/compatibility.js +10 -0
  47. package/dist/declarative-validation/compiler/compatibility.js.map +1 -1
  48. package/dist/declarative-validation/compiler/index.d.ts.map +1 -1
  49. package/dist/declarative-validation/compiler/index.js +10 -3
  50. package/dist/declarative-validation/compiler/index.js.map +1 -1
  51. package/dist/declarative-validation/compiler/length-assertion-builders.d.ts +7 -0
  52. package/dist/declarative-validation/compiler/length-assertion-builders.d.ts.map +1 -0
  53. package/dist/declarative-validation/compiler/length-assertion-builders.js +58 -0
  54. package/dist/declarative-validation/compiler/length-assertion-builders.js.map +1 -0
  55. package/dist/declarative-validation/compiler/plan.d.ts +4 -0
  56. package/dist/declarative-validation/compiler/plan.d.ts.map +1 -1
  57. package/dist/declarative-validation/evidence/index.d.ts +2 -1
  58. package/dist/declarative-validation/evidence/index.d.ts.map +1 -1
  59. package/dist/declarative-validation/evidence/index.js +27 -3
  60. package/dist/declarative-validation/evidence/index.js.map +1 -1
  61. package/dist/declarative-validation/profile/assertion-schema.d.ts.map +1 -1
  62. package/dist/declarative-validation/profile/assertion-schema.js +11 -50
  63. package/dist/declarative-validation/profile/assertion-schema.js.map +1 -1
  64. package/dist/declarative-validation/profile/index.d.ts +4 -0
  65. package/dist/declarative-validation/profile/index.d.ts.map +1 -1
  66. package/dist/declarative-validation/profile/length-bound-schema.d.ts +7 -0
  67. package/dist/declarative-validation/profile/length-bound-schema.d.ts.map +1 -0
  68. package/dist/declarative-validation/profile/length-bound-schema.js +55 -0
  69. package/dist/declarative-validation/profile/length-bound-schema.js.map +1 -0
  70. package/dist/declarative-validation/results/create-result.js +1 -1
  71. package/dist/declarative-validation/results/create-result.js.map +1 -1
  72. package/dist/declarative-validation/results/types.d.ts +1 -0
  73. package/dist/declarative-validation/results/types.d.ts.map +1 -1
  74. package/dist/internal/package-version.d.ts +2 -0
  75. package/dist/internal/package-version.d.ts.map +1 -0
  76. package/dist/internal/package-version.js +2 -0
  77. package/dist/internal/package-version.js.map +1 -0
  78. package/dist-bundled/markdown-engine-cli.mjs +702 -525
  79. package/docs/contracts/declarative-validation.md +66 -10
  80. package/package.json +9 -5
  81. package/scripts/install-markdown-engine-cli.sh +2 -2
@@ -37,9 +37,9 @@ var __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__ge
37
37
  mod
38
38
  ));
39
39
 
40
- // node_modules/yaml/dist/nodes/identity.js
40
+ // ../../node_modules/yaml/dist/nodes/identity.js
41
41
  var require_identity = __commonJS({
42
- "node_modules/yaml/dist/nodes/identity.js"(exports) {
42
+ "../../node_modules/yaml/dist/nodes/identity.js"(exports) {
43
43
  "use strict";
44
44
  var ALIAS = /* @__PURE__ */ Symbol.for("yaml.alias");
45
45
  var DOC = /* @__PURE__ */ Symbol.for("yaml.document");
@@ -94,9 +94,9 @@ var require_identity = __commonJS({
94
94
  }
95
95
  });
96
96
 
97
- // node_modules/yaml/dist/visit.js
97
+ // ../../node_modules/yaml/dist/visit.js
98
98
  var require_visit = __commonJS({
99
- "node_modules/yaml/dist/visit.js"(exports) {
99
+ "../../node_modules/yaml/dist/visit.js"(exports) {
100
100
  "use strict";
101
101
  var identity = require_identity();
102
102
  var BREAK = /* @__PURE__ */ Symbol("break visit");
@@ -252,9 +252,9 @@ var require_visit = __commonJS({
252
252
  }
253
253
  });
254
254
 
255
- // node_modules/yaml/dist/doc/directives.js
255
+ // ../../node_modules/yaml/dist/doc/directives.js
256
256
  var require_directives = __commonJS({
257
- "node_modules/yaml/dist/doc/directives.js"(exports) {
257
+ "../../node_modules/yaml/dist/doc/directives.js"(exports) {
258
258
  "use strict";
259
259
  var identity = require_identity();
260
260
  var visit2 = require_visit();
@@ -423,9 +423,9 @@ var require_directives = __commonJS({
423
423
  }
424
424
  });
425
425
 
426
- // node_modules/yaml/dist/doc/anchors.js
426
+ // ../../node_modules/yaml/dist/doc/anchors.js
427
427
  var require_anchors = __commonJS({
428
- "node_modules/yaml/dist/doc/anchors.js"(exports) {
428
+ "../../node_modules/yaml/dist/doc/anchors.js"(exports) {
429
429
  "use strict";
430
430
  var identity = require_identity();
431
431
  var visit2 = require_visit();
@@ -493,9 +493,9 @@ var require_anchors = __commonJS({
493
493
  }
494
494
  });
495
495
 
496
- // node_modules/yaml/dist/doc/applyReviver.js
496
+ // ../../node_modules/yaml/dist/doc/applyReviver.js
497
497
  var require_applyReviver = __commonJS({
498
- "node_modules/yaml/dist/doc/applyReviver.js"(exports) {
498
+ "../../node_modules/yaml/dist/doc/applyReviver.js"(exports) {
499
499
  "use strict";
500
500
  function applyReviver(reviver, obj, key, val) {
501
501
  if (val && typeof val === "object") {
@@ -543,9 +543,9 @@ var require_applyReviver = __commonJS({
543
543
  }
544
544
  });
545
545
 
546
- // node_modules/yaml/dist/nodes/toJS.js
546
+ // ../../node_modules/yaml/dist/nodes/toJS.js
547
547
  var require_toJS = __commonJS({
548
- "node_modules/yaml/dist/nodes/toJS.js"(exports) {
548
+ "../../node_modules/yaml/dist/nodes/toJS.js"(exports) {
549
549
  "use strict";
550
550
  var identity = require_identity();
551
551
  function toJS(value, arg, ctx) {
@@ -573,9 +573,9 @@ var require_toJS = __commonJS({
573
573
  }
574
574
  });
575
575
 
576
- // node_modules/yaml/dist/nodes/Node.js
576
+ // ../../node_modules/yaml/dist/nodes/Node.js
577
577
  var require_Node = __commonJS({
578
- "node_modules/yaml/dist/nodes/Node.js"(exports) {
578
+ "../../node_modules/yaml/dist/nodes/Node.js"(exports) {
579
579
  "use strict";
580
580
  var applyReviver = require_applyReviver();
581
581
  var identity = require_identity();
@@ -614,9 +614,9 @@ var require_Node = __commonJS({
614
614
  }
615
615
  });
616
616
 
617
- // node_modules/yaml/dist/nodes/Alias.js
617
+ // ../../node_modules/yaml/dist/nodes/Alias.js
618
618
  var require_Alias = __commonJS({
619
- "node_modules/yaml/dist/nodes/Alias.js"(exports) {
619
+ "../../node_modules/yaml/dist/nodes/Alias.js"(exports) {
620
620
  "use strict";
621
621
  var anchors = require_anchors();
622
622
  var visit2 = require_visit();
@@ -728,9 +728,9 @@ var require_Alias = __commonJS({
728
728
  }
729
729
  });
730
730
 
731
- // node_modules/yaml/dist/nodes/Scalar.js
731
+ // ../../node_modules/yaml/dist/nodes/Scalar.js
732
732
  var require_Scalar = __commonJS({
733
- "node_modules/yaml/dist/nodes/Scalar.js"(exports) {
733
+ "../../node_modules/yaml/dist/nodes/Scalar.js"(exports) {
734
734
  "use strict";
735
735
  var identity = require_identity();
736
736
  var Node = require_Node();
@@ -758,9 +758,9 @@ var require_Scalar = __commonJS({
758
758
  }
759
759
  });
760
760
 
761
- // node_modules/yaml/dist/doc/createNode.js
761
+ // ../../node_modules/yaml/dist/doc/createNode.js
762
762
  var require_createNode = __commonJS({
763
- "node_modules/yaml/dist/doc/createNode.js"(exports) {
763
+ "../../node_modules/yaml/dist/doc/createNode.js"(exports) {
764
764
  "use strict";
765
765
  var Alias = require_Alias();
766
766
  var identity = require_identity();
@@ -833,9 +833,9 @@ var require_createNode = __commonJS({
833
833
  }
834
834
  });
835
835
 
836
- // node_modules/yaml/dist/nodes/Collection.js
836
+ // ../../node_modules/yaml/dist/nodes/Collection.js
837
837
  var require_Collection = __commonJS({
838
- "node_modules/yaml/dist/nodes/Collection.js"(exports) {
838
+ "../../node_modules/yaml/dist/nodes/Collection.js"(exports) {
839
839
  "use strict";
840
840
  var createNode = require_createNode();
841
841
  var identity = require_identity();
@@ -976,9 +976,9 @@ var require_Collection = __commonJS({
976
976
  }
977
977
  });
978
978
 
979
- // node_modules/yaml/dist/stringify/stringifyComment.js
979
+ // ../../node_modules/yaml/dist/stringify/stringifyComment.js
980
980
  var require_stringifyComment = __commonJS({
981
- "node_modules/yaml/dist/stringify/stringifyComment.js"(exports) {
981
+ "../../node_modules/yaml/dist/stringify/stringifyComment.js"(exports) {
982
982
  "use strict";
983
983
  var stringifyComment = (str) => str.replace(/^(?!$)(?: $)?/gm, "#");
984
984
  function indentComment(comment, indent2) {
@@ -993,9 +993,9 @@ var require_stringifyComment = __commonJS({
993
993
  }
994
994
  });
995
995
 
996
- // node_modules/yaml/dist/stringify/foldFlowLines.js
996
+ // ../../node_modules/yaml/dist/stringify/foldFlowLines.js
997
997
  var require_foldFlowLines = __commonJS({
998
- "node_modules/yaml/dist/stringify/foldFlowLines.js"(exports) {
998
+ "../../node_modules/yaml/dist/stringify/foldFlowLines.js"(exports) {
999
999
  "use strict";
1000
1000
  var FOLD_FLOW = "flow";
1001
1001
  var FOLD_BLOCK = "block";
@@ -1129,9 +1129,9 @@ ${indent2}${text5.slice(fold + 1, end2)}`;
1129
1129
  }
1130
1130
  });
1131
1131
 
1132
- // node_modules/yaml/dist/stringify/stringifyString.js
1132
+ // ../../node_modules/yaml/dist/stringify/stringifyString.js
1133
1133
  var require_stringifyString = __commonJS({
1134
- "node_modules/yaml/dist/stringify/stringifyString.js"(exports) {
1134
+ "../../node_modules/yaml/dist/stringify/stringifyString.js"(exports) {
1135
1135
  "use strict";
1136
1136
  var Scalar = require_Scalar();
1137
1137
  var foldFlowLines = require_foldFlowLines();
@@ -1412,9 +1412,9 @@ ${indent2}`);
1412
1412
  }
1413
1413
  });
1414
1414
 
1415
- // node_modules/yaml/dist/stringify/stringify.js
1415
+ // ../../node_modules/yaml/dist/stringify/stringify.js
1416
1416
  var require_stringify = __commonJS({
1417
- "node_modules/yaml/dist/stringify/stringify.js"(exports) {
1417
+ "../../node_modules/yaml/dist/stringify/stringify.js"(exports) {
1418
1418
  "use strict";
1419
1419
  var anchors = require_anchors();
1420
1420
  var identity = require_identity();
@@ -1536,9 +1536,9 @@ ${ctx.indent}${str}`;
1536
1536
  }
1537
1537
  });
1538
1538
 
1539
- // node_modules/yaml/dist/stringify/stringifyPair.js
1539
+ // ../../node_modules/yaml/dist/stringify/stringifyPair.js
1540
1540
  var require_stringifyPair = __commonJS({
1541
- "node_modules/yaml/dist/stringify/stringifyPair.js"(exports) {
1541
+ "../../node_modules/yaml/dist/stringify/stringifyPair.js"(exports) {
1542
1542
  "use strict";
1543
1543
  var identity = require_identity();
1544
1544
  var Scalar = require_Scalar();
@@ -1669,9 +1669,9 @@ ${ctx.indent}`;
1669
1669
  }
1670
1670
  });
1671
1671
 
1672
- // node_modules/yaml/dist/log.js
1672
+ // ../../node_modules/yaml/dist/log.js
1673
1673
  var require_log = __commonJS({
1674
- "node_modules/yaml/dist/log.js"(exports) {
1674
+ "../../node_modules/yaml/dist/log.js"(exports) {
1675
1675
  "use strict";
1676
1676
  var node_process = __require("process");
1677
1677
  function debug(logLevel, ...messages) {
@@ -1691,9 +1691,9 @@ var require_log = __commonJS({
1691
1691
  }
1692
1692
  });
1693
1693
 
1694
- // node_modules/yaml/dist/schema/yaml-1.1/merge.js
1694
+ // ../../node_modules/yaml/dist/schema/yaml-1.1/merge.js
1695
1695
  var require_merge = __commonJS({
1696
- "node_modules/yaml/dist/schema/yaml-1.1/merge.js"(exports) {
1696
+ "../../node_modules/yaml/dist/schema/yaml-1.1/merge.js"(exports) {
1697
1697
  "use strict";
1698
1698
  var identity = require_identity();
1699
1699
  var Scalar = require_Scalar();
@@ -1748,9 +1748,9 @@ var require_merge = __commonJS({
1748
1748
  }
1749
1749
  });
1750
1750
 
1751
- // node_modules/yaml/dist/nodes/addPairToJSMap.js
1751
+ // ../../node_modules/yaml/dist/nodes/addPairToJSMap.js
1752
1752
  var require_addPairToJSMap = __commonJS({
1753
- "node_modules/yaml/dist/nodes/addPairToJSMap.js"(exports) {
1753
+ "../../node_modules/yaml/dist/nodes/addPairToJSMap.js"(exports) {
1754
1754
  "use strict";
1755
1755
  var log = require_log();
1756
1756
  var merge = require_merge();
@@ -1812,9 +1812,9 @@ var require_addPairToJSMap = __commonJS({
1812
1812
  }
1813
1813
  });
1814
1814
 
1815
- // node_modules/yaml/dist/nodes/Pair.js
1815
+ // ../../node_modules/yaml/dist/nodes/Pair.js
1816
1816
  var require_Pair = __commonJS({
1817
- "node_modules/yaml/dist/nodes/Pair.js"(exports) {
1817
+ "../../node_modules/yaml/dist/nodes/Pair.js"(exports) {
1818
1818
  "use strict";
1819
1819
  var createNode = require_createNode();
1820
1820
  var stringifyPair = require_stringifyPair();
@@ -1852,9 +1852,9 @@ var require_Pair = __commonJS({
1852
1852
  }
1853
1853
  });
1854
1854
 
1855
- // node_modules/yaml/dist/stringify/stringifyCollection.js
1855
+ // ../../node_modules/yaml/dist/stringify/stringifyCollection.js
1856
1856
  var require_stringifyCollection = __commonJS({
1857
- "node_modules/yaml/dist/stringify/stringifyCollection.js"(exports) {
1857
+ "../../node_modules/yaml/dist/stringify/stringifyCollection.js"(exports) {
1858
1858
  "use strict";
1859
1859
  var identity = require_identity();
1860
1860
  var stringify = require_stringify();
@@ -2003,9 +2003,9 @@ ${indent2}${end}`;
2003
2003
  }
2004
2004
  });
2005
2005
 
2006
- // node_modules/yaml/dist/nodes/YAMLMap.js
2006
+ // ../../node_modules/yaml/dist/nodes/YAMLMap.js
2007
2007
  var require_YAMLMap = __commonJS({
2008
- "node_modules/yaml/dist/nodes/YAMLMap.js"(exports) {
2008
+ "../../node_modules/yaml/dist/nodes/YAMLMap.js"(exports) {
2009
2009
  "use strict";
2010
2010
  var stringifyCollection = require_stringifyCollection();
2011
2011
  var addPairToJSMap = require_addPairToJSMap();
@@ -2147,9 +2147,9 @@ var require_YAMLMap = __commonJS({
2147
2147
  }
2148
2148
  });
2149
2149
 
2150
- // node_modules/yaml/dist/schema/common/map.js
2150
+ // ../../node_modules/yaml/dist/schema/common/map.js
2151
2151
  var require_map = __commonJS({
2152
- "node_modules/yaml/dist/schema/common/map.js"(exports) {
2152
+ "../../node_modules/yaml/dist/schema/common/map.js"(exports) {
2153
2153
  "use strict";
2154
2154
  var identity = require_identity();
2155
2155
  var YAMLMap = require_YAMLMap();
@@ -2169,9 +2169,9 @@ var require_map = __commonJS({
2169
2169
  }
2170
2170
  });
2171
2171
 
2172
- // node_modules/yaml/dist/nodes/YAMLSeq.js
2172
+ // ../../node_modules/yaml/dist/nodes/YAMLSeq.js
2173
2173
  var require_YAMLSeq = __commonJS({
2174
- "node_modules/yaml/dist/nodes/YAMLSeq.js"(exports) {
2174
+ "../../node_modules/yaml/dist/nodes/YAMLSeq.js"(exports) {
2175
2175
  "use strict";
2176
2176
  var createNode = require_createNode();
2177
2177
  var stringifyCollection = require_stringifyCollection();
@@ -2285,9 +2285,9 @@ var require_YAMLSeq = __commonJS({
2285
2285
  }
2286
2286
  });
2287
2287
 
2288
- // node_modules/yaml/dist/schema/common/seq.js
2288
+ // ../../node_modules/yaml/dist/schema/common/seq.js
2289
2289
  var require_seq = __commonJS({
2290
- "node_modules/yaml/dist/schema/common/seq.js"(exports) {
2290
+ "../../node_modules/yaml/dist/schema/common/seq.js"(exports) {
2291
2291
  "use strict";
2292
2292
  var identity = require_identity();
2293
2293
  var YAMLSeq = require_YAMLSeq();
@@ -2307,9 +2307,9 @@ var require_seq = __commonJS({
2307
2307
  }
2308
2308
  });
2309
2309
 
2310
- // node_modules/yaml/dist/schema/common/string.js
2310
+ // ../../node_modules/yaml/dist/schema/common/string.js
2311
2311
  var require_string = __commonJS({
2312
- "node_modules/yaml/dist/schema/common/string.js"(exports) {
2312
+ "../../node_modules/yaml/dist/schema/common/string.js"(exports) {
2313
2313
  "use strict";
2314
2314
  var stringifyString = require_stringifyString();
2315
2315
  var string3 = {
@@ -2326,9 +2326,9 @@ var require_string = __commonJS({
2326
2326
  }
2327
2327
  });
2328
2328
 
2329
- // node_modules/yaml/dist/schema/common/null.js
2329
+ // ../../node_modules/yaml/dist/schema/common/null.js
2330
2330
  var require_null = __commonJS({
2331
- "node_modules/yaml/dist/schema/common/null.js"(exports) {
2331
+ "../../node_modules/yaml/dist/schema/common/null.js"(exports) {
2332
2332
  "use strict";
2333
2333
  var Scalar = require_Scalar();
2334
2334
  var nullTag = {
@@ -2344,9 +2344,9 @@ var require_null = __commonJS({
2344
2344
  }
2345
2345
  });
2346
2346
 
2347
- // node_modules/yaml/dist/schema/core/bool.js
2347
+ // ../../node_modules/yaml/dist/schema/core/bool.js
2348
2348
  var require_bool = __commonJS({
2349
- "node_modules/yaml/dist/schema/core/bool.js"(exports) {
2349
+ "../../node_modules/yaml/dist/schema/core/bool.js"(exports) {
2350
2350
  "use strict";
2351
2351
  var Scalar = require_Scalar();
2352
2352
  var boolTag = {
@@ -2368,9 +2368,9 @@ var require_bool = __commonJS({
2368
2368
  }
2369
2369
  });
2370
2370
 
2371
- // node_modules/yaml/dist/stringify/stringifyNumber.js
2371
+ // ../../node_modules/yaml/dist/stringify/stringifyNumber.js
2372
2372
  var require_stringifyNumber = __commonJS({
2373
- "node_modules/yaml/dist/stringify/stringifyNumber.js"(exports) {
2373
+ "../../node_modules/yaml/dist/stringify/stringifyNumber.js"(exports) {
2374
2374
  "use strict";
2375
2375
  function stringifyNumber({ format, minFractionDigits, tag, value }) {
2376
2376
  if (typeof value === "bigint")
@@ -2395,9 +2395,9 @@ var require_stringifyNumber = __commonJS({
2395
2395
  }
2396
2396
  });
2397
2397
 
2398
- // node_modules/yaml/dist/schema/core/float.js
2398
+ // ../../node_modules/yaml/dist/schema/core/float.js
2399
2399
  var require_float = __commonJS({
2400
- "node_modules/yaml/dist/schema/core/float.js"(exports) {
2400
+ "../../node_modules/yaml/dist/schema/core/float.js"(exports) {
2401
2401
  "use strict";
2402
2402
  var Scalar = require_Scalar();
2403
2403
  var stringifyNumber = require_stringifyNumber();
@@ -2441,9 +2441,9 @@ var require_float = __commonJS({
2441
2441
  }
2442
2442
  });
2443
2443
 
2444
- // node_modules/yaml/dist/schema/core/int.js
2444
+ // ../../node_modules/yaml/dist/schema/core/int.js
2445
2445
  var require_int = __commonJS({
2446
- "node_modules/yaml/dist/schema/core/int.js"(exports) {
2446
+ "../../node_modules/yaml/dist/schema/core/int.js"(exports) {
2447
2447
  "use strict";
2448
2448
  var stringifyNumber = require_stringifyNumber();
2449
2449
  var intIdentify = (value) => typeof value === "bigint" || Number.isInteger(value);
@@ -2486,9 +2486,9 @@ var require_int = __commonJS({
2486
2486
  }
2487
2487
  });
2488
2488
 
2489
- // node_modules/yaml/dist/schema/core/schema.js
2489
+ // ../../node_modules/yaml/dist/schema/core/schema.js
2490
2490
  var require_schema = __commonJS({
2491
- "node_modules/yaml/dist/schema/core/schema.js"(exports) {
2491
+ "../../node_modules/yaml/dist/schema/core/schema.js"(exports) {
2492
2492
  "use strict";
2493
2493
  var map3 = require_map();
2494
2494
  var _null = require_null();
@@ -2514,9 +2514,9 @@ var require_schema = __commonJS({
2514
2514
  }
2515
2515
  });
2516
2516
 
2517
- // node_modules/yaml/dist/schema/json/schema.js
2517
+ // ../../node_modules/yaml/dist/schema/json/schema.js
2518
2518
  var require_schema2 = __commonJS({
2519
- "node_modules/yaml/dist/schema/json/schema.js"(exports) {
2519
+ "../../node_modules/yaml/dist/schema/json/schema.js"(exports) {
2520
2520
  "use strict";
2521
2521
  var Scalar = require_Scalar();
2522
2522
  var map3 = require_map();
@@ -2581,9 +2581,9 @@ var require_schema2 = __commonJS({
2581
2581
  }
2582
2582
  });
2583
2583
 
2584
- // node_modules/yaml/dist/schema/yaml-1.1/binary.js
2584
+ // ../../node_modules/yaml/dist/schema/yaml-1.1/binary.js
2585
2585
  var require_binary = __commonJS({
2586
- "node_modules/yaml/dist/schema/yaml-1.1/binary.js"(exports) {
2586
+ "../../node_modules/yaml/dist/schema/yaml-1.1/binary.js"(exports) {
2587
2587
  "use strict";
2588
2588
  var node_buffer = __require("buffer");
2589
2589
  var Scalar = require_Scalar();
@@ -2647,9 +2647,9 @@ var require_binary = __commonJS({
2647
2647
  }
2648
2648
  });
2649
2649
 
2650
- // node_modules/yaml/dist/schema/yaml-1.1/pairs.js
2650
+ // ../../node_modules/yaml/dist/schema/yaml-1.1/pairs.js
2651
2651
  var require_pairs = __commonJS({
2652
- "node_modules/yaml/dist/schema/yaml-1.1/pairs.js"(exports) {
2652
+ "../../node_modules/yaml/dist/schema/yaml-1.1/pairs.js"(exports) {
2653
2653
  "use strict";
2654
2654
  var identity = require_identity();
2655
2655
  var Pair = require_Pair();
@@ -2725,9 +2725,9 @@ ${cn.comment}` : item.comment;
2725
2725
  }
2726
2726
  });
2727
2727
 
2728
- // node_modules/yaml/dist/schema/yaml-1.1/omap.js
2728
+ // ../../node_modules/yaml/dist/schema/yaml-1.1/omap.js
2729
2729
  var require_omap = __commonJS({
2730
- "node_modules/yaml/dist/schema/yaml-1.1/omap.js"(exports) {
2730
+ "../../node_modules/yaml/dist/schema/yaml-1.1/omap.js"(exports) {
2731
2731
  "use strict";
2732
2732
  var identity = require_identity();
2733
2733
  var toJS = require_toJS();
@@ -2803,9 +2803,9 @@ var require_omap = __commonJS({
2803
2803
  }
2804
2804
  });
2805
2805
 
2806
- // node_modules/yaml/dist/schema/yaml-1.1/bool.js
2806
+ // ../../node_modules/yaml/dist/schema/yaml-1.1/bool.js
2807
2807
  var require_bool2 = __commonJS({
2808
- "node_modules/yaml/dist/schema/yaml-1.1/bool.js"(exports) {
2808
+ "../../node_modules/yaml/dist/schema/yaml-1.1/bool.js"(exports) {
2809
2809
  "use strict";
2810
2810
  var Scalar = require_Scalar();
2811
2811
  function boolStringify({ value, source }, ctx) {
@@ -2835,9 +2835,9 @@ var require_bool2 = __commonJS({
2835
2835
  }
2836
2836
  });
2837
2837
 
2838
- // node_modules/yaml/dist/schema/yaml-1.1/float.js
2838
+ // ../../node_modules/yaml/dist/schema/yaml-1.1/float.js
2839
2839
  var require_float2 = __commonJS({
2840
- "node_modules/yaml/dist/schema/yaml-1.1/float.js"(exports) {
2840
+ "../../node_modules/yaml/dist/schema/yaml-1.1/float.js"(exports) {
2841
2841
  "use strict";
2842
2842
  var Scalar = require_Scalar();
2843
2843
  var stringifyNumber = require_stringifyNumber();
@@ -2884,9 +2884,9 @@ var require_float2 = __commonJS({
2884
2884
  }
2885
2885
  });
2886
2886
 
2887
- // node_modules/yaml/dist/schema/yaml-1.1/int.js
2887
+ // ../../node_modules/yaml/dist/schema/yaml-1.1/int.js
2888
2888
  var require_int2 = __commonJS({
2889
- "node_modules/yaml/dist/schema/yaml-1.1/int.js"(exports) {
2889
+ "../../node_modules/yaml/dist/schema/yaml-1.1/int.js"(exports) {
2890
2890
  "use strict";
2891
2891
  var stringifyNumber = require_stringifyNumber();
2892
2892
  var intIdentify = (value) => typeof value === "bigint" || Number.isInteger(value);
@@ -2963,9 +2963,9 @@ var require_int2 = __commonJS({
2963
2963
  }
2964
2964
  });
2965
2965
 
2966
- // node_modules/yaml/dist/schema/yaml-1.1/set.js
2966
+ // ../../node_modules/yaml/dist/schema/yaml-1.1/set.js
2967
2967
  var require_set = __commonJS({
2968
- "node_modules/yaml/dist/schema/yaml-1.1/set.js"(exports) {
2968
+ "../../node_modules/yaml/dist/schema/yaml-1.1/set.js"(exports) {
2969
2969
  "use strict";
2970
2970
  var identity = require_identity();
2971
2971
  var Pair = require_Pair();
@@ -3052,9 +3052,9 @@ var require_set = __commonJS({
3052
3052
  }
3053
3053
  });
3054
3054
 
3055
- // node_modules/yaml/dist/schema/yaml-1.1/timestamp.js
3055
+ // ../../node_modules/yaml/dist/schema/yaml-1.1/timestamp.js
3056
3056
  var require_timestamp = __commonJS({
3057
- "node_modules/yaml/dist/schema/yaml-1.1/timestamp.js"(exports) {
3057
+ "../../node_modules/yaml/dist/schema/yaml-1.1/timestamp.js"(exports) {
3058
3058
  "use strict";
3059
3059
  var stringifyNumber = require_stringifyNumber();
3060
3060
  function parseSexagesimal(str, asBigInt) {
@@ -3140,9 +3140,9 @@ var require_timestamp = __commonJS({
3140
3140
  }
3141
3141
  });
3142
3142
 
3143
- // node_modules/yaml/dist/schema/yaml-1.1/schema.js
3143
+ // ../../node_modules/yaml/dist/schema/yaml-1.1/schema.js
3144
3144
  var require_schema3 = __commonJS({
3145
- "node_modules/yaml/dist/schema/yaml-1.1/schema.js"(exports) {
3145
+ "../../node_modules/yaml/dist/schema/yaml-1.1/schema.js"(exports) {
3146
3146
  "use strict";
3147
3147
  var map3 = require_map();
3148
3148
  var _null = require_null();
@@ -3184,9 +3184,9 @@ var require_schema3 = __commonJS({
3184
3184
  }
3185
3185
  });
3186
3186
 
3187
- // node_modules/yaml/dist/schema/tags.js
3187
+ // ../../node_modules/yaml/dist/schema/tags.js
3188
3188
  var require_tags = __commonJS({
3189
- "node_modules/yaml/dist/schema/tags.js"(exports) {
3189
+ "../../node_modules/yaml/dist/schema/tags.js"(exports) {
3190
3190
  "use strict";
3191
3191
  var map3 = require_map();
3192
3192
  var _null = require_null();
@@ -3278,9 +3278,9 @@ var require_tags = __commonJS({
3278
3278
  }
3279
3279
  });
3280
3280
 
3281
- // node_modules/yaml/dist/schema/Schema.js
3281
+ // ../../node_modules/yaml/dist/schema/Schema.js
3282
3282
  var require_Schema = __commonJS({
3283
- "node_modules/yaml/dist/schema/Schema.js"(exports) {
3283
+ "../../node_modules/yaml/dist/schema/Schema.js"(exports) {
3284
3284
  "use strict";
3285
3285
  var identity = require_identity();
3286
3286
  var map3 = require_map();
@@ -3310,9 +3310,9 @@ var require_Schema = __commonJS({
3310
3310
  }
3311
3311
  });
3312
3312
 
3313
- // node_modules/yaml/dist/stringify/stringifyDocument.js
3313
+ // ../../node_modules/yaml/dist/stringify/stringifyDocument.js
3314
3314
  var require_stringifyDocument = __commonJS({
3315
- "node_modules/yaml/dist/stringify/stringifyDocument.js"(exports) {
3315
+ "../../node_modules/yaml/dist/stringify/stringifyDocument.js"(exports) {
3316
3316
  "use strict";
3317
3317
  var identity = require_identity();
3318
3318
  var stringify = require_stringify();
@@ -3390,9 +3390,9 @@ var require_stringifyDocument = __commonJS({
3390
3390
  }
3391
3391
  });
3392
3392
 
3393
- // node_modules/yaml/dist/doc/Document.js
3393
+ // ../../node_modules/yaml/dist/doc/Document.js
3394
3394
  var require_Document = __commonJS({
3395
- "node_modules/yaml/dist/doc/Document.js"(exports) {
3395
+ "../../node_modules/yaml/dist/doc/Document.js"(exports) {
3396
3396
  "use strict";
3397
3397
  var Alias = require_Alias();
3398
3398
  var Collection = require_Collection();
@@ -3699,9 +3699,9 @@ var require_Document = __commonJS({
3699
3699
  }
3700
3700
  });
3701
3701
 
3702
- // node_modules/yaml/dist/errors.js
3702
+ // ../../node_modules/yaml/dist/errors.js
3703
3703
  var require_errors = __commonJS({
3704
- "node_modules/yaml/dist/errors.js"(exports) {
3704
+ "../../node_modules/yaml/dist/errors.js"(exports) {
3705
3705
  "use strict";
3706
3706
  var YAMLError = class extends Error {
3707
3707
  constructor(name, pos, code3, message) {
@@ -3764,9 +3764,9 @@ ${pointer}
3764
3764
  }
3765
3765
  });
3766
3766
 
3767
- // node_modules/yaml/dist/compose/resolve-props.js
3767
+ // ../../node_modules/yaml/dist/compose/resolve-props.js
3768
3768
  var require_resolve_props = __commonJS({
3769
- "node_modules/yaml/dist/compose/resolve-props.js"(exports) {
3769
+ "../../node_modules/yaml/dist/compose/resolve-props.js"(exports) {
3770
3770
  "use strict";
3771
3771
  function resolveProps(tokens, { flow: flow3, indicator, next, offset, onError, parentIndent, startOnNewline }) {
3772
3772
  let spaceBefore = false;
@@ -3898,9 +3898,9 @@ var require_resolve_props = __commonJS({
3898
3898
  }
3899
3899
  });
3900
3900
 
3901
- // node_modules/yaml/dist/compose/util-contains-newline.js
3901
+ // ../../node_modules/yaml/dist/compose/util-contains-newline.js
3902
3902
  var require_util_contains_newline = __commonJS({
3903
- "node_modules/yaml/dist/compose/util-contains-newline.js"(exports) {
3903
+ "../../node_modules/yaml/dist/compose/util-contains-newline.js"(exports) {
3904
3904
  "use strict";
3905
3905
  function containsNewline(key) {
3906
3906
  if (!key)
@@ -3940,9 +3940,9 @@ var require_util_contains_newline = __commonJS({
3940
3940
  }
3941
3941
  });
3942
3942
 
3943
- // node_modules/yaml/dist/compose/util-flow-indent-check.js
3943
+ // ../../node_modules/yaml/dist/compose/util-flow-indent-check.js
3944
3944
  var require_util_flow_indent_check = __commonJS({
3945
- "node_modules/yaml/dist/compose/util-flow-indent-check.js"(exports) {
3945
+ "../../node_modules/yaml/dist/compose/util-flow-indent-check.js"(exports) {
3946
3946
  "use strict";
3947
3947
  var utilContainsNewline = require_util_contains_newline();
3948
3948
  function flowIndentCheck(indent2, fc, onError) {
@@ -3958,9 +3958,9 @@ var require_util_flow_indent_check = __commonJS({
3958
3958
  }
3959
3959
  });
3960
3960
 
3961
- // node_modules/yaml/dist/compose/util-map-includes.js
3961
+ // ../../node_modules/yaml/dist/compose/util-map-includes.js
3962
3962
  var require_util_map_includes = __commonJS({
3963
- "node_modules/yaml/dist/compose/util-map-includes.js"(exports) {
3963
+ "../../node_modules/yaml/dist/compose/util-map-includes.js"(exports) {
3964
3964
  "use strict";
3965
3965
  var identity = require_identity();
3966
3966
  function mapIncludes(ctx, items, search2) {
@@ -3974,9 +3974,9 @@ var require_util_map_includes = __commonJS({
3974
3974
  }
3975
3975
  });
3976
3976
 
3977
- // node_modules/yaml/dist/compose/resolve-block-map.js
3977
+ // ../../node_modules/yaml/dist/compose/resolve-block-map.js
3978
3978
  var require_resolve_block_map = __commonJS({
3979
- "node_modules/yaml/dist/compose/resolve-block-map.js"(exports) {
3979
+ "../../node_modules/yaml/dist/compose/resolve-block-map.js"(exports) {
3980
3980
  "use strict";
3981
3981
  var Pair = require_Pair();
3982
3982
  var YAMLMap = require_YAMLMap();
@@ -4082,9 +4082,9 @@ var require_resolve_block_map = __commonJS({
4082
4082
  }
4083
4083
  });
4084
4084
 
4085
- // node_modules/yaml/dist/compose/resolve-block-seq.js
4085
+ // ../../node_modules/yaml/dist/compose/resolve-block-seq.js
4086
4086
  var require_resolve_block_seq = __commonJS({
4087
- "node_modules/yaml/dist/compose/resolve-block-seq.js"(exports) {
4087
+ "../../node_modules/yaml/dist/compose/resolve-block-seq.js"(exports) {
4088
4088
  "use strict";
4089
4089
  var YAMLSeq = require_YAMLSeq();
4090
4090
  var resolveProps = require_resolve_props();
@@ -4133,9 +4133,9 @@ var require_resolve_block_seq = __commonJS({
4133
4133
  }
4134
4134
  });
4135
4135
 
4136
- // node_modules/yaml/dist/compose/resolve-end.js
4136
+ // ../../node_modules/yaml/dist/compose/resolve-end.js
4137
4137
  var require_resolve_end = __commonJS({
4138
- "node_modules/yaml/dist/compose/resolve-end.js"(exports) {
4138
+ "../../node_modules/yaml/dist/compose/resolve-end.js"(exports) {
4139
4139
  "use strict";
4140
4140
  function resolveEnd(end, offset, reqSpace, onError) {
4141
4141
  let comment = "";
@@ -4176,9 +4176,9 @@ var require_resolve_end = __commonJS({
4176
4176
  }
4177
4177
  });
4178
4178
 
4179
- // node_modules/yaml/dist/compose/resolve-flow-collection.js
4179
+ // ../../node_modules/yaml/dist/compose/resolve-flow-collection.js
4180
4180
  var require_resolve_flow_collection = __commonJS({
4181
- "node_modules/yaml/dist/compose/resolve-flow-collection.js"(exports) {
4181
+ "../../node_modules/yaml/dist/compose/resolve-flow-collection.js"(exports) {
4182
4182
  "use strict";
4183
4183
  var identity = require_identity();
4184
4184
  var Pair = require_Pair();
@@ -4370,9 +4370,9 @@ var require_resolve_flow_collection = __commonJS({
4370
4370
  }
4371
4371
  });
4372
4372
 
4373
- // node_modules/yaml/dist/compose/compose-collection.js
4373
+ // ../../node_modules/yaml/dist/compose/compose-collection.js
4374
4374
  var require_compose_collection = __commonJS({
4375
- "node_modules/yaml/dist/compose/compose-collection.js"(exports) {
4375
+ "../../node_modules/yaml/dist/compose/compose-collection.js"(exports) {
4376
4376
  "use strict";
4377
4377
  var identity = require_identity();
4378
4378
  var Scalar = require_Scalar();
@@ -4435,9 +4435,9 @@ var require_compose_collection = __commonJS({
4435
4435
  }
4436
4436
  });
4437
4437
 
4438
- // node_modules/yaml/dist/compose/resolve-block-scalar.js
4438
+ // ../../node_modules/yaml/dist/compose/resolve-block-scalar.js
4439
4439
  var require_resolve_block_scalar = __commonJS({
4440
- "node_modules/yaml/dist/compose/resolve-block-scalar.js"(exports) {
4440
+ "../../node_modules/yaml/dist/compose/resolve-block-scalar.js"(exports) {
4441
4441
  "use strict";
4442
4442
  var Scalar = require_Scalar();
4443
4443
  function resolveBlockScalar(ctx, scalar, onError) {
@@ -4618,9 +4618,9 @@ var require_resolve_block_scalar = __commonJS({
4618
4618
  }
4619
4619
  });
4620
4620
 
4621
- // node_modules/yaml/dist/compose/resolve-flow-scalar.js
4621
+ // ../../node_modules/yaml/dist/compose/resolve-flow-scalar.js
4622
4622
  var require_resolve_flow_scalar = __commonJS({
4623
- "node_modules/yaml/dist/compose/resolve-flow-scalar.js"(exports) {
4623
+ "../../node_modules/yaml/dist/compose/resolve-flow-scalar.js"(exports) {
4624
4624
  "use strict";
4625
4625
  var Scalar = require_Scalar();
4626
4626
  var resolveEnd = require_resolve_end();
@@ -4837,9 +4837,9 @@ var require_resolve_flow_scalar = __commonJS({
4837
4837
  }
4838
4838
  });
4839
4839
 
4840
- // node_modules/yaml/dist/compose/compose-scalar.js
4840
+ // ../../node_modules/yaml/dist/compose/compose-scalar.js
4841
4841
  var require_compose_scalar = __commonJS({
4842
- "node_modules/yaml/dist/compose/compose-scalar.js"(exports) {
4842
+ "../../node_modules/yaml/dist/compose/compose-scalar.js"(exports) {
4843
4843
  "use strict";
4844
4844
  var identity = require_identity();
4845
4845
  var Scalar = require_Scalar();
@@ -4918,9 +4918,9 @@ var require_compose_scalar = __commonJS({
4918
4918
  }
4919
4919
  });
4920
4920
 
4921
- // node_modules/yaml/dist/compose/util-empty-scalar-position.js
4921
+ // ../../node_modules/yaml/dist/compose/util-empty-scalar-position.js
4922
4922
  var require_util_empty_scalar_position = __commonJS({
4923
- "node_modules/yaml/dist/compose/util-empty-scalar-position.js"(exports) {
4923
+ "../../node_modules/yaml/dist/compose/util-empty-scalar-position.js"(exports) {
4924
4924
  "use strict";
4925
4925
  function emptyScalarPosition(offset, before, pos) {
4926
4926
  if (before) {
@@ -4948,9 +4948,9 @@ var require_util_empty_scalar_position = __commonJS({
4948
4948
  }
4949
4949
  });
4950
4950
 
4951
- // node_modules/yaml/dist/compose/compose-node.js
4951
+ // ../../node_modules/yaml/dist/compose/compose-node.js
4952
4952
  var require_compose_node = __commonJS({
4953
- "node_modules/yaml/dist/compose/compose-node.js"(exports) {
4953
+ "../../node_modules/yaml/dist/compose/compose-node.js"(exports) {
4954
4954
  "use strict";
4955
4955
  var Alias = require_Alias();
4956
4956
  var identity = require_identity();
@@ -5054,9 +5054,9 @@ var require_compose_node = __commonJS({
5054
5054
  }
5055
5055
  });
5056
5056
 
5057
- // node_modules/yaml/dist/compose/compose-doc.js
5057
+ // ../../node_modules/yaml/dist/compose/compose-doc.js
5058
5058
  var require_compose_doc = __commonJS({
5059
- "node_modules/yaml/dist/compose/compose-doc.js"(exports) {
5059
+ "../../node_modules/yaml/dist/compose/compose-doc.js"(exports) {
5060
5060
  "use strict";
5061
5061
  var Document = require_Document();
5062
5062
  var composeNode = require_compose_node();
@@ -5097,9 +5097,9 @@ var require_compose_doc = __commonJS({
5097
5097
  }
5098
5098
  });
5099
5099
 
5100
- // node_modules/yaml/dist/compose/composer.js
5100
+ // ../../node_modules/yaml/dist/compose/composer.js
5101
5101
  var require_composer = __commonJS({
5102
- "node_modules/yaml/dist/compose/composer.js"(exports) {
5102
+ "../../node_modules/yaml/dist/compose/composer.js"(exports) {
5103
5103
  "use strict";
5104
5104
  var node_process = __require("process");
5105
5105
  var directives = require_directives();
@@ -5303,9 +5303,9 @@ ${end.comment}` : end.comment;
5303
5303
  }
5304
5304
  });
5305
5305
 
5306
- // node_modules/yaml/dist/parse/cst-scalar.js
5306
+ // ../../node_modules/yaml/dist/parse/cst-scalar.js
5307
5307
  var require_cst_scalar = __commonJS({
5308
- "node_modules/yaml/dist/parse/cst-scalar.js"(exports) {
5308
+ "../../node_modules/yaml/dist/parse/cst-scalar.js"(exports) {
5309
5309
  "use strict";
5310
5310
  var resolveBlockScalar = require_resolve_block_scalar();
5311
5311
  var resolveFlowScalar = require_resolve_flow_scalar();
@@ -5488,9 +5488,9 @@ var require_cst_scalar = __commonJS({
5488
5488
  }
5489
5489
  });
5490
5490
 
5491
- // node_modules/yaml/dist/parse/cst-stringify.js
5491
+ // ../../node_modules/yaml/dist/parse/cst-stringify.js
5492
5492
  var require_cst_stringify = __commonJS({
5493
- "node_modules/yaml/dist/parse/cst-stringify.js"(exports) {
5493
+ "../../node_modules/yaml/dist/parse/cst-stringify.js"(exports) {
5494
5494
  "use strict";
5495
5495
  var stringify = (cst) => "type" in cst ? stringifyToken(cst) : stringifyItem(cst);
5496
5496
  function stringifyToken(token) {
@@ -5549,9 +5549,9 @@ var require_cst_stringify = __commonJS({
5549
5549
  }
5550
5550
  });
5551
5551
 
5552
- // node_modules/yaml/dist/parse/cst-visit.js
5552
+ // ../../node_modules/yaml/dist/parse/cst-visit.js
5553
5553
  var require_cst_visit = __commonJS({
5554
- "node_modules/yaml/dist/parse/cst-visit.js"(exports) {
5554
+ "../../node_modules/yaml/dist/parse/cst-visit.js"(exports) {
5555
5555
  "use strict";
5556
5556
  var BREAK = /* @__PURE__ */ Symbol("break visit");
5557
5557
  var SKIP2 = /* @__PURE__ */ Symbol("skip children");
@@ -5611,9 +5611,9 @@ var require_cst_visit = __commonJS({
5611
5611
  }
5612
5612
  });
5613
5613
 
5614
- // node_modules/yaml/dist/parse/cst.js
5614
+ // ../../node_modules/yaml/dist/parse/cst.js
5615
5615
  var require_cst = __commonJS({
5616
- "node_modules/yaml/dist/parse/cst.js"(exports) {
5616
+ "../../node_modules/yaml/dist/parse/cst.js"(exports) {
5617
5617
  "use strict";
5618
5618
  var cstScalar = require_cst_scalar();
5619
5619
  var cstStringify = require_cst_stringify();
@@ -5713,9 +5713,9 @@ var require_cst = __commonJS({
5713
5713
  }
5714
5714
  });
5715
5715
 
5716
- // node_modules/yaml/dist/parse/lexer.js
5716
+ // ../../node_modules/yaml/dist/parse/lexer.js
5717
5717
  var require_lexer = __commonJS({
5718
- "node_modules/yaml/dist/parse/lexer.js"(exports) {
5718
+ "../../node_modules/yaml/dist/parse/lexer.js"(exports) {
5719
5719
  "use strict";
5720
5720
  var cst = require_cst();
5721
5721
  function isEmpty(ch) {
@@ -6292,9 +6292,9 @@ var require_lexer = __commonJS({
6292
6292
  }
6293
6293
  });
6294
6294
 
6295
- // node_modules/yaml/dist/parse/line-counter.js
6295
+ // ../../node_modules/yaml/dist/parse/line-counter.js
6296
6296
  var require_line_counter = __commonJS({
6297
- "node_modules/yaml/dist/parse/line-counter.js"(exports) {
6297
+ "../../node_modules/yaml/dist/parse/line-counter.js"(exports) {
6298
6298
  "use strict";
6299
6299
  var LineCounter = class {
6300
6300
  constructor() {
@@ -6323,9 +6323,9 @@ var require_line_counter = __commonJS({
6323
6323
  }
6324
6324
  });
6325
6325
 
6326
- // node_modules/yaml/dist/parse/parser.js
6326
+ // ../../node_modules/yaml/dist/parse/parser.js
6327
6327
  var require_parser = __commonJS({
6328
- "node_modules/yaml/dist/parse/parser.js"(exports) {
6328
+ "../../node_modules/yaml/dist/parse/parser.js"(exports) {
6329
6329
  "use strict";
6330
6330
  var node_process = __require("process");
6331
6331
  var cst = require_cst();
@@ -7190,9 +7190,9 @@ var require_parser = __commonJS({
7190
7190
  }
7191
7191
  });
7192
7192
 
7193
- // node_modules/yaml/dist/public-api.js
7193
+ // ../../node_modules/yaml/dist/public-api.js
7194
7194
  var require_public_api = __commonJS({
7195
- "node_modules/yaml/dist/public-api.js"(exports) {
7195
+ "../../node_modules/yaml/dist/public-api.js"(exports) {
7196
7196
  "use strict";
7197
7197
  var composer = require_composer();
7198
7198
  var Document = require_Document();
@@ -7287,9 +7287,9 @@ var require_public_api = __commonJS({
7287
7287
  }
7288
7288
  });
7289
7289
 
7290
- // node_modules/yaml/dist/index.js
7290
+ // ../../node_modules/yaml/dist/index.js
7291
7291
  var require_dist = __commonJS({
7292
- "node_modules/yaml/dist/index.js"(exports) {
7292
+ "../../node_modules/yaml/dist/index.js"(exports) {
7293
7293
  "use strict";
7294
7294
  var composer = require_composer();
7295
7295
  var Document = require_Document();
@@ -7339,9 +7339,9 @@ var require_dist = __commonJS({
7339
7339
  }
7340
7340
  });
7341
7341
 
7342
- // node_modules/extend/index.js
7342
+ // ../../node_modules/extend/index.js
7343
7343
  var require_extend = __commonJS({
7344
- "node_modules/extend/index.js"(exports, module) {
7344
+ "../../node_modules/extend/index.js"(exports, module) {
7345
7345
  "use strict";
7346
7346
  var hasOwn = Object.prototype.hasOwnProperty;
7347
7347
  var toStr = Object.prototype.toString;
@@ -7622,6 +7622,7 @@ function sourceSliceProperty(sourceSlice2) {
7622
7622
  }
7623
7623
 
7624
7624
  // src/declarative-validation/assertions/diagnostics.ts
7625
+ var SOURCE_UNAVAILABLE_DIAGNOSTIC_CODE = "profile.validation.sourceUnavailable";
7625
7626
  function noAlternativeMatchedDiagnostic(rule) {
7626
7627
  return {
7627
7628
  code: "profile.validation.noAlternativeMatched",
@@ -7650,6 +7651,23 @@ function emptySelectionDiagnostic(rule, assertionIndex) {
7650
7651
  }
7651
7652
  );
7652
7653
  }
7654
+ function sourceUnavailableDiagnostic(rule, assertionIndex) {
7655
+ return {
7656
+ diagnostic: {
7657
+ code: SOURCE_UNAVAILABLE_DIAGNOSTIC_CODE,
7658
+ ruleId: rule.ruleId,
7659
+ message: "Complete Markdown source is required to evaluate sourceLength.",
7660
+ severity: "error"
7661
+ },
7662
+ assertionIndex,
7663
+ targetOrder: 0,
7664
+ targetKey: "document:source",
7665
+ diagnosticOrder: 0
7666
+ };
7667
+ }
7668
+ function isSourceUnavailableDiagnostic(diagnostic) {
7669
+ return diagnostic.code === SOURCE_UNAVAILABLE_DIAGNOSTIC_CODE;
7670
+ }
7653
7671
  function validationDiagnostic(code3, message, rule, options) {
7654
7672
  const sourceRange = options.sourceRange ?? targetSourceRange(options.target);
7655
7673
  return {
@@ -9460,6 +9478,43 @@ function sectionHeadingSourceRange(document3, section) {
9460
9478
  return section === void 0 ? void 0 : documentQueries.sourceSlice(document3, section.headingTarget)?.range;
9461
9479
  }
9462
9480
 
9481
+ // src/declarative-validation/assertions/source-length.ts
9482
+ function evaluateSourceLength(assertion, context) {
9483
+ if (context.sourceText === void 0) {
9484
+ return [sourceUnavailableDiagnostic(context.rule, context.assertionIndex)];
9485
+ }
9486
+ const actualLength = context.sourceText.length;
9487
+ if (isLengthWithinBounds(actualLength, assertion)) {
9488
+ return [];
9489
+ }
9490
+ return [
9491
+ validationDiagnostic(
9492
+ "profile.validation.assertionFailed",
9493
+ `Document source length must be ${sourceLengthRequirement(assertion)}; found ${actualLength}.`,
9494
+ context.rule,
9495
+ {
9496
+ assertionIndex: context.assertionIndex,
9497
+ targetKey: "document:source"
9498
+ }
9499
+ )
9500
+ ];
9501
+ }
9502
+ function isLengthWithinBounds(actualLength, assertion) {
9503
+ return (assertion.min === void 0 || actualLength >= assertion.min) && (assertion.max === void 0 || actualLength <= assertion.max);
9504
+ }
9505
+ function sourceLengthRequirement(assertion) {
9506
+ if (assertion.min !== void 0 && assertion.max !== void 0) {
9507
+ return `between ${assertion.min} and ${assertion.max}`;
9508
+ }
9509
+ if (assertion.min !== void 0) {
9510
+ return `at least ${assertion.min}`;
9511
+ }
9512
+ if (assertion.max !== void 0) {
9513
+ return `at most ${assertion.max}`;
9514
+ }
9515
+ return "within configured bounds";
9516
+ }
9517
+
9463
9518
  // src/declarative-validation/assertions/table-column-coverage.ts
9464
9519
  function evaluateTableColumnCoverage(assertion, context) {
9465
9520
  const options = idTokenOptions(assertion);
@@ -9791,7 +9846,7 @@ function evaluateTextLength(assertion, context) {
9791
9846
  }
9792
9847
  function evaluateTextLengthTarget(assertion, context, target, targetOrder) {
9793
9848
  const actualLength = target.text.length;
9794
- if (isLengthWithinBounds(actualLength, assertion)) {
9849
+ if (isLengthWithinBounds2(actualLength, assertion)) {
9795
9850
  return [];
9796
9851
  }
9797
9852
  return [
@@ -9807,7 +9862,7 @@ function evaluateTextLengthTarget(assertion, context, target, targetOrder) {
9807
9862
  )
9808
9863
  ];
9809
9864
  }
9810
- function isLengthWithinBounds(actualLength, assertion) {
9865
+ function isLengthWithinBounds2(actualLength, assertion) {
9811
9866
  return (assertion.min === void 0 || actualLength >= assertion.min) && (assertion.max === void 0 || actualLength <= assertion.max);
9812
9867
  }
9813
9868
  function textLengthMessage(targetKind, actualLength, assertion) {
@@ -9858,12 +9913,13 @@ function evaluateTextOccurrenceCountTarget(assertion, context, target, targetOrd
9858
9913
  }
9859
9914
 
9860
9915
  // src/declarative-validation/assertions/evaluator.ts
9861
- function evaluateCompiledDeclarativeRule(rule, selection) {
9916
+ function evaluateCompiledDeclarativeRule(rule, selection, runtimeContext = {}) {
9862
9917
  const evaluatedDiagnostics = rule.assertions.flatMap(
9863
9918
  (assertion, assertionIndex) => evaluateAssertion(assertion, {
9864
9919
  rule,
9865
9920
  selection,
9866
- assertionIndex
9921
+ assertionIndex,
9922
+ ...runtimeContext.sourceText !== void 0 ? { sourceText: runtimeContext.sourceText } : {}
9867
9923
  })
9868
9924
  );
9869
9925
  const diagnostics = sortAssertionDiagnostics(evaluatedDiagnostics);
@@ -9885,6 +9941,8 @@ function evaluateAssertion(assertion, context) {
9885
9941
  return evaluateTextOccurrenceCount(assertion, context);
9886
9942
  case "textLength":
9887
9943
  return evaluateTextLength(assertion, context);
9944
+ case "sourceLength":
9945
+ return evaluateSourceLength(assertion, context);
9888
9946
  case "textFormat":
9889
9947
  return evaluateTextFormat(assertion, context);
9890
9948
  case "frontmatterRequired":
@@ -9903,14 +9961,15 @@ function evaluateAssertion(assertion, context) {
9903
9961
  }
9904
9962
 
9905
9963
  // src/declarative-validation/applicability/classifier.ts
9906
- function classifyCompiledDeclarativeRuleApplicability(rule, document3) {
9964
+ function classifyCompiledDeclarativeRuleApplicability(rule, document3, runtimeContext = {}) {
9907
9965
  const applicability = compiledApplicabilityFromRule(rule);
9908
9966
  if (applicability === void 0) {
9909
9967
  return { status: "notConfigured" };
9910
9968
  }
9911
9969
  const result = evaluateCompiledDeclarativeRule(
9912
9970
  applicabilityRuleFromPlan(rule, applicability),
9913
- resolveDeclarativeSelector(document3, applicability.selector)
9971
+ resolveDeclarativeSelector(document3, applicability.selector),
9972
+ runtimeContext
9914
9973
  );
9915
9974
  if (result.diagnostics.length === 0) {
9916
9975
  return {
@@ -9942,11 +10001,21 @@ function applicabilityRuleFromPlan(rule, applicability) {
9942
10001
  }
9943
10002
 
9944
10003
  // src/declarative-validation/assertions/group-evaluator.ts
9945
- function evaluateCompiledDeclarativeAnyOfRule(rule, document3) {
9946
- const branches = evaluateCompiledDeclarativeBranches(rule.branches, document3);
10004
+ function evaluateCompiledDeclarativeAnyOfRule(rule, document3, runtimeContext = {}) {
10005
+ const branches = evaluateCompiledDeclarativeBranches(
10006
+ rule.branches,
10007
+ document3,
10008
+ runtimeContext
10009
+ );
10010
+ const sourceUnavailable = sourceUnavailableDiagnostics(branches);
9947
10011
  const selectedBranch = branches.find((branch) => branch.status === "passed");
9948
- const passed = selectedBranch !== void 0;
9949
- const diagnostics = passed ? [] : [noAlternativeMatchedDiagnostic(rule)];
10012
+ const passed = selectedBranch !== void 0 && sourceUnavailable.length === 0;
10013
+ let diagnostics = [];
10014
+ if (sourceUnavailable.length > 0) {
10015
+ diagnostics = sourceUnavailable;
10016
+ } else if (!passed) {
10017
+ diagnostics = [noAlternativeMatchedDiagnostic(rule)];
10018
+ }
9950
10019
  return {
9951
10020
  ruleId: rule.ruleId,
9952
10021
  status: passed ? "passed" : "failed",
@@ -9954,15 +10023,25 @@ function evaluateCompiledDeclarativeAnyOfRule(rule, document3) {
9954
10023
  diagnostics,
9955
10024
  evaluation: {
9956
10025
  kind: "anyOf",
9957
- ...selectedBranch !== void 0 ? { selectedBranch: branchReferenceFromResult(selectedBranch) } : {},
10026
+ ...passed && selectedBranch !== void 0 ? { selectedBranch: branchReferenceFromResult(selectedBranch) } : {},
9958
10027
  branches
9959
10028
  }
9960
10029
  };
9961
10030
  }
9962
- function evaluateCompiledDeclarativeAllOfRule(rule, document3) {
9963
- const branches = evaluateCompiledDeclarativeBranches(rule.branches, document3);
9964
- const failed = branches.some((branch) => branch.status === "failed");
9965
- const diagnostics = failed ? [groupRequirementFailedDiagnostic(rule)] : [];
10031
+ function evaluateCompiledDeclarativeAllOfRule(rule, document3, runtimeContext = {}) {
10032
+ const branches = evaluateCompiledDeclarativeBranches(
10033
+ rule.branches,
10034
+ document3,
10035
+ runtimeContext
10036
+ );
10037
+ const sourceUnavailable = sourceUnavailableDiagnostics(branches);
10038
+ const failed = sourceUnavailable.length > 0 || branches.some((branch) => branch.status === "failed");
10039
+ let diagnostics = [];
10040
+ if (sourceUnavailable.length > 0) {
10041
+ diagnostics = sourceUnavailable;
10042
+ } else if (failed) {
10043
+ diagnostics = [groupRequirementFailedDiagnostic(rule)];
10044
+ }
9966
10045
  const status = failed ? "failed" : "passed";
9967
10046
  return {
9968
10047
  ruleId: rule.ruleId,
@@ -9975,15 +10054,16 @@ function evaluateCompiledDeclarativeAllOfRule(rule, document3) {
9975
10054
  }
9976
10055
  };
9977
10056
  }
9978
- function evaluateCompiledDeclarativeBranches(branches, document3) {
10057
+ function evaluateCompiledDeclarativeBranches(branches, document3, runtimeContext) {
9979
10058
  return branches.map(
9980
- (branch) => evaluateCompiledDeclarativeBranch(branch, document3)
10059
+ (branch) => evaluateCompiledDeclarativeBranch(branch, document3, runtimeContext)
9981
10060
  );
9982
10061
  }
9983
- function evaluateCompiledDeclarativeBranch(branch, document3) {
10062
+ function evaluateCompiledDeclarativeBranch(branch, document3, runtimeContext) {
9984
10063
  const result = evaluateCompiledDeclarativeRule(
9985
10064
  branch,
9986
- resolveDeclarativeSelector(document3, branch.selector)
10065
+ resolveDeclarativeSelector(document3, branch.selector),
10066
+ runtimeContext
9987
10067
  );
9988
10068
  return {
9989
10069
  branchIndex: branch.branchIndex,
@@ -9992,6 +10072,11 @@ function evaluateCompiledDeclarativeBranch(branch, document3) {
9992
10072
  diagnostics: result.diagnostics
9993
10073
  };
9994
10074
  }
10075
+ function sourceUnavailableDiagnostics(branches) {
10076
+ return branches.flatMap(
10077
+ (branch) => branch.diagnostics.filter(isSourceUnavailableDiagnostic)
10078
+ );
10079
+ }
9995
10080
  function branchReferenceFromResult(branch) {
9996
10081
  return {
9997
10082
  branchIndex: branch.branchIndex,
@@ -9999,6 +10084,77 @@ function branchReferenceFromResult(branch) {
9999
10084
  };
10000
10085
  }
10001
10086
 
10087
+ // src/declarative-validation/profile/syntax-version.ts
10088
+ var PROFILE_SYNTAX_VERSION_V1 = "markdown-engine.validation@v1";
10089
+ var PROFILE_SYNTAX_VERSION_V2 = "markdown-engine.validation@v2";
10090
+ var PROFILE_SYNTAX_VERSION = PROFILE_SYNTAX_VERSION_V1;
10091
+ var SUPPORTED_PROFILE_SYNTAX_VERSIONS = [
10092
+ PROFILE_SYNTAX_VERSION_V1,
10093
+ PROFILE_SYNTAX_VERSION_V2
10094
+ ];
10095
+ function isValidationProfileSyntaxVersion(value) {
10096
+ return SUPPORTED_PROFILE_SYNTAX_VERSIONS.some(
10097
+ (syntaxVersion) => value === syntaxVersion
10098
+ );
10099
+ }
10100
+
10101
+ // src/declarative-validation/diagnostics/profile-config-diagnostics.ts
10102
+ var REGEX_LIKE_PROFILE_KEYS = [
10103
+ "matches",
10104
+ "pattern",
10105
+ "regex",
10106
+ "regexp"
10107
+ ];
10108
+ var UNSAFE_PROFILE_KEYS = [
10109
+ "callback",
10110
+ "eval",
10111
+ "execute",
10112
+ "expression",
10113
+ "function",
10114
+ "import",
10115
+ "imports",
10116
+ "plugin",
10117
+ "script"
10118
+ ];
10119
+ var CONFIG_UNSUPPORTED_KEY_PRECEDENCE = /* @__PURE__ */ new Set([
10120
+ ...REGEX_LIKE_PROFILE_KEYS,
10121
+ ...UNSAFE_PROFILE_KEYS
10122
+ ]);
10123
+ function profileDiagnostic(code3, message) {
10124
+ return { code: code3, message, severity: "error" };
10125
+ }
10126
+ function invalidProfileShape(message) {
10127
+ return profileDiagnostic("profile.config.invalidShape", message);
10128
+ }
10129
+ function unsupportedProfileKey(key) {
10130
+ return profileDiagnostic(
10131
+ "profile.config.unsupportedKey",
10132
+ `Unsupported validation profile key "${key}".`
10133
+ );
10134
+ }
10135
+ function unsupportedSyntaxVersion() {
10136
+ return profileDiagnostic(
10137
+ "profile.config.unsupportedSyntaxVersion",
10138
+ `Profile syntaxVersion must be ${quotedList(SUPPORTED_PROFILE_SYNTAX_VERSIONS)}`
10139
+ );
10140
+ }
10141
+ function unsupportedProfileKeys(record, allowedKeys, diagnostics) {
10142
+ for (const key of Object.keys(record)) {
10143
+ if (!allowedKeys.includes(key)) {
10144
+ diagnostics.push(unsupportedProfileKey(key));
10145
+ }
10146
+ }
10147
+ }
10148
+ function hasConfigUnsupportedKeyPrecedence(key) {
10149
+ return CONFIG_UNSUPPORTED_KEY_PRECEDENCE.has(key);
10150
+ }
10151
+ function quotedList(values) {
10152
+ const quotedValues = values.map((value) => `"${value}"`);
10153
+ const finalValue = quotedValues.at(-1) ?? "";
10154
+ const prefix = quotedValues.slice(0, -1).join(", ");
10155
+ return prefix.length === 0 ? `${finalValue}.` : `${prefix} or ${finalValue}.`;
10156
+ }
10157
+
10002
10158
  // src/declarative-validation/profile/data-closure.ts
10003
10159
  import { types as nodeTypes } from "node:util";
10004
10160
  var DATA_CLOSURE_FAILED = /* @__PURE__ */ Symbol("data-closure-failed");
@@ -10190,79 +10346,6 @@ function safePropertyDescriptor(value, key, fieldName, diagnostics, ruleId) {
10190
10346
 
10191
10347
  // src/declarative-validation/profile/direct-profile-diagnostics.ts
10192
10348
  import { types as nodeTypes2 } from "node:util";
10193
-
10194
- // src/declarative-validation/profile/syntax-version.ts
10195
- var PROFILE_SYNTAX_VERSION_V1 = "markdown-engine.validation@v1";
10196
- var PROFILE_SYNTAX_VERSION_V2 = "markdown-engine.validation@v2";
10197
- var PROFILE_SYNTAX_VERSION = PROFILE_SYNTAX_VERSION_V1;
10198
- var SUPPORTED_PROFILE_SYNTAX_VERSIONS = [
10199
- PROFILE_SYNTAX_VERSION_V1,
10200
- PROFILE_SYNTAX_VERSION_V2
10201
- ];
10202
- function isValidationProfileSyntaxVersion(value) {
10203
- return SUPPORTED_PROFILE_SYNTAX_VERSIONS.some(
10204
- (syntaxVersion) => value === syntaxVersion
10205
- );
10206
- }
10207
-
10208
- // src/declarative-validation/diagnostics/profile-config-diagnostics.ts
10209
- var REGEX_LIKE_PROFILE_KEYS = [
10210
- "matches",
10211
- "pattern",
10212
- "regex",
10213
- "regexp"
10214
- ];
10215
- var UNSAFE_PROFILE_KEYS = [
10216
- "callback",
10217
- "eval",
10218
- "execute",
10219
- "expression",
10220
- "function",
10221
- "import",
10222
- "imports",
10223
- "plugin",
10224
- "script"
10225
- ];
10226
- var CONFIG_UNSUPPORTED_KEY_PRECEDENCE = /* @__PURE__ */ new Set([
10227
- ...REGEX_LIKE_PROFILE_KEYS,
10228
- ...UNSAFE_PROFILE_KEYS
10229
- ]);
10230
- function profileDiagnostic(code3, message) {
10231
- return { code: code3, message, severity: "error" };
10232
- }
10233
- function invalidProfileShape(message) {
10234
- return profileDiagnostic("profile.config.invalidShape", message);
10235
- }
10236
- function unsupportedProfileKey(key) {
10237
- return profileDiagnostic(
10238
- "profile.config.unsupportedKey",
10239
- `Unsupported validation profile key "${key}".`
10240
- );
10241
- }
10242
- function unsupportedSyntaxVersion() {
10243
- return profileDiagnostic(
10244
- "profile.config.unsupportedSyntaxVersion",
10245
- `Profile syntaxVersion must be ${quotedList(SUPPORTED_PROFILE_SYNTAX_VERSIONS)}`
10246
- );
10247
- }
10248
- function unsupportedProfileKeys(record, allowedKeys, diagnostics) {
10249
- for (const key of Object.keys(record)) {
10250
- if (!allowedKeys.includes(key)) {
10251
- diagnostics.push(unsupportedProfileKey(key));
10252
- }
10253
- }
10254
- }
10255
- function hasConfigUnsupportedKeyPrecedence(key) {
10256
- return CONFIG_UNSUPPORTED_KEY_PRECEDENCE.has(key);
10257
- }
10258
- function quotedList(values) {
10259
- const quotedValues = values.map((value) => `"${value}"`);
10260
- const finalValue = quotedValues.at(-1) ?? "";
10261
- const prefix = quotedValues.slice(0, -1).join(", ");
10262
- return prefix.length === 0 ? `${finalValue}.` : `${prefix} or ${finalValue}.`;
10263
- }
10264
-
10265
- // src/declarative-validation/profile/direct-profile-diagnostics.ts
10266
10349
  var PROFILE_KEYS = ["syntaxVersion", "documentVersion", "rules"];
10267
10350
  var RULE_KEYS_V1 = ["id", "severity", "select", "assert"];
10268
10351
  var RULE_KEYS_V2 = [...RULE_KEYS_V1, "when", "anyOf", "allOf"];
@@ -10873,38 +10956,6 @@ function pushTextOccurrenceCountDiagnostic(value, ruleId, diagnostics) {
10873
10956
  "textOccurrenceCount.count must be a number."
10874
10957
  );
10875
10958
  }
10876
- function pushTextLengthShapeDiagnostics(assertion, ruleId, diagnostics) {
10877
- let valid = true;
10878
- const min = assertion?.min;
10879
- const max = assertion?.max;
10880
- if (min !== void 0 && !pushTextLengthNumberDiagnostic(
10881
- "textLength.min",
10882
- min,
10883
- ruleId,
10884
- diagnostics
10885
- )) {
10886
- valid = false;
10887
- }
10888
- if (max !== void 0 && !pushTextLengthNumberDiagnostic(
10889
- "textLength.max",
10890
- max,
10891
- ruleId,
10892
- diagnostics
10893
- )) {
10894
- valid = false;
10895
- }
10896
- if (valid && min !== void 0 && max !== void 0 && min > max) {
10897
- diagnostics.push(
10898
- compileDiagnostic(
10899
- "profile.config.invalidShape",
10900
- "textLength.min must be less than or equal to textLength.max.",
10901
- ruleId
10902
- )
10903
- );
10904
- valid = false;
10905
- }
10906
- return valid;
10907
- }
10908
10959
  function pushIdsCountShapeDiagnostics(assertion, ruleId, diagnostics) {
10909
10960
  let valid = true;
10910
10961
  const minCount = assertion?.minCount;
@@ -11125,9 +11176,6 @@ function pushNonEmptyStringDiagnostic(fieldName, value, ruleId, diagnostics) {
11125
11176
  );
11126
11177
  return false;
11127
11178
  }
11128
- function pushTextLengthNumberDiagnostic(fieldName, value, ruleId, diagnostics) {
11129
- return pushNonNegativeIntegerDiagnostic(fieldName, value, ruleId, diagnostics);
11130
- }
11131
11179
  function pushNonNegativeIntegerDiagnostic(fieldName, value, ruleId, diagnostics) {
11132
11180
  if (typeof value !== "number" || !Number.isFinite(value)) {
11133
11181
  diagnostics.push(
@@ -11190,9 +11238,6 @@ function optionalNumber2(key, value) {
11190
11238
  function hasTextPredicate(assertion) {
11191
11239
  return assertion?.contains !== void 0 || assertion?.excludes !== void 0 && assertion.excludes.length > 0;
11192
11240
  }
11193
- function hasTextLengthBound(assertion) {
11194
- return assertion?.min !== void 0 || assertion?.max !== void 0;
11195
- }
11196
11241
 
11197
11242
  // src/declarative-validation/profile/ids-assertion-contract.ts
11198
11243
  var IDS_COUNT_BOUND_KEYS = ["minCount", "maxCount"];
@@ -11230,6 +11275,7 @@ function selectorAssertionCompatibilityError(assertionName, selector) {
11230
11275
  case "references":
11231
11276
  case "tableColumnCoverage":
11232
11277
  case "frontmatterShape":
11278
+ case "sourceLength":
11233
11279
  return selector.target === "document" ? void 0 : selectorCompatibilityMessage(assertionName, "document");
11234
11280
  case "tableColumnsRequired":
11235
11281
  return selector.target === "table" ? void 0 : selectorCompatibilityMessage(assertionName, "table");
@@ -11243,10 +11289,106 @@ function selectorAssertionCompatibilityError(assertionName, selector) {
11243
11289
  return selector.target === "document" ? void 0 : selectorCompatibilityMessage(assertionName, "document");
11244
11290
  }
11245
11291
  }
11292
+ function pushCompatibilityDiagnostic(assertionName, selector, ruleId, diagnostics) {
11293
+ const message = selectorAssertionCompatibilityError(assertionName, selector);
11294
+ if (message === void 0) {
11295
+ return true;
11296
+ }
11297
+ diagnostics.push(
11298
+ compileDiagnostic(
11299
+ "profile.compile.incompatibleSelectorAssertion",
11300
+ message,
11301
+ ruleId
11302
+ )
11303
+ );
11304
+ return false;
11305
+ }
11246
11306
  function selectorCompatibilityMessage(assertionName, selectorName) {
11247
11307
  return `Assertion "${assertionName}" is compatible only with ${selectorName} selectors.`;
11248
11308
  }
11249
11309
 
11310
+ // src/declarative-validation/compiler/length-assertion-builders.ts
11311
+ function buildTextLengthAssertion(assertion, selector, ruleId, _syntaxVersion, diagnostics) {
11312
+ const bounds = assertion.textLength;
11313
+ return bounds === void 0 ? void 0 : buildLengthAssertion("textLength", bounds, selector, ruleId, diagnostics);
11314
+ }
11315
+ function buildSourceLengthAssertion(assertion, selector, ruleId, syntaxVersion, diagnostics) {
11316
+ const bounds = assertion.sourceLength;
11317
+ return bounds === void 0 || syntaxVersion !== PROFILE_SYNTAX_VERSION_V2 ? void 0 : buildLengthAssertion(
11318
+ "sourceLength",
11319
+ bounds,
11320
+ selector,
11321
+ ruleId,
11322
+ diagnostics
11323
+ );
11324
+ }
11325
+ function buildLengthAssertion(assertionName, bounds, selector, ruleId, diagnostics) {
11326
+ if (!pushObjectDiagnostic(assertionName, bounds, ruleId, diagnostics) || !pushUnsupportedKeyDiagnostics(bounds, ["min", "max"], diagnostics) || !pushLengthBoundShapeDiagnostics(
11327
+ assertionName,
11328
+ bounds,
11329
+ ruleId,
11330
+ diagnostics
11331
+ )) {
11332
+ return void 0;
11333
+ }
11334
+ if (!hasLengthBound(bounds)) {
11335
+ diagnostics.push(
11336
+ compileDiagnostic(
11337
+ "profile.config.invalidShape",
11338
+ `${assertionName} must include min, max, or both.`,
11339
+ ruleId
11340
+ )
11341
+ );
11342
+ return void 0;
11343
+ }
11344
+ if (!pushCompatibilityDiagnostic(
11345
+ assertionName,
11346
+ selector,
11347
+ ruleId,
11348
+ diagnostics
11349
+ )) {
11350
+ return void 0;
11351
+ }
11352
+ return {
11353
+ kind: assertionName,
11354
+ ...optionalNumber2("min", bounds.min),
11355
+ ...optionalNumber2("max", bounds.max)
11356
+ };
11357
+ }
11358
+ function pushLengthBoundShapeDiagnostics(assertionName, bounds, ruleId, diagnostics) {
11359
+ let valid = true;
11360
+ if (bounds.min !== void 0 && !pushNonNegativeIntegerDiagnostic(
11361
+ `${assertionName}.min`,
11362
+ bounds.min,
11363
+ ruleId,
11364
+ diagnostics
11365
+ )) {
11366
+ valid = false;
11367
+ }
11368
+ if (bounds.max !== void 0 && !pushNonNegativeIntegerDiagnostic(
11369
+ `${assertionName}.max`,
11370
+ bounds.max,
11371
+ ruleId,
11372
+ diagnostics
11373
+ )) {
11374
+ valid = false;
11375
+ }
11376
+ if (valid && bounds.min !== void 0 && bounds.max !== void 0 && bounds.min > bounds.max) {
11377
+ diagnostics.push(
11378
+ compileDiagnostic(
11379
+ "profile.config.invalidShape",
11380
+ `${assertionName}.min must be less than or equal to ${assertionName}.max.`,
11381
+ ruleId
11382
+ )
11383
+ );
11384
+ valid = false;
11385
+ }
11386
+ return valid;
11387
+ }
11388
+ function hasLengthBound(bounds) {
11389
+ return bounds.min !== void 0 || bounds.max !== void 0;
11390
+ }
11391
+
11250
11392
  // src/declarative-validation/compiler/assertion-builders.ts
11251
11393
  var ASSERTION_BUILDERS = [
11252
11394
  buildExistsAssertion,
@@ -11259,6 +11401,7 @@ var ASSERTION_BUILDERS = [
11259
11401
  buildTextAssertion,
11260
11402
  buildTextOccurrenceCountAssertion,
11261
11403
  buildTextLengthAssertion,
11404
+ buildSourceLengthAssertion,
11262
11405
  buildTextFormatAssertion,
11263
11406
  buildFrontmatterRequiredAssertion
11264
11407
  ];
@@ -11577,32 +11720,6 @@ function buildTextOccurrenceCountAssertion(assertion, selector, ruleId, _syntaxV
11577
11720
  }
11578
11721
  return void 0;
11579
11722
  }
11580
- function buildTextLengthAssertion(assertion, selector, ruleId, _syntaxVersion, diagnostics) {
11581
- if (assertion.textLength === void 0) {
11582
- return void 0;
11583
- }
11584
- if (!pushObjectDiagnostic("textLength", assertion.textLength, ruleId, diagnostics) || !pushUnsupportedKeyDiagnostics(assertion.textLength, ["min", "max"], diagnostics) || !pushTextLengthShapeDiagnostics(assertion.textLength, ruleId, diagnostics)) {
11585
- return void 0;
11586
- }
11587
- if (!hasTextLengthBound(assertion.textLength)) {
11588
- diagnostics.push(
11589
- compileDiagnostic(
11590
- "profile.config.invalidShape",
11591
- "textLength must include min, max, or both.",
11592
- ruleId
11593
- )
11594
- );
11595
- return void 0;
11596
- }
11597
- if (pushCompatibilityDiagnostic("textLength", selector, ruleId, diagnostics)) {
11598
- return {
11599
- kind: "textLength",
11600
- ...optionalNumber2("min", assertion.textLength.min),
11601
- ...optionalNumber2("max", assertion.textLength.max)
11602
- };
11603
- }
11604
- return void 0;
11605
- }
11606
11723
  function buildTextFormatAssertion(assertion, selector, ruleId, syntaxVersion, diagnostics) {
11607
11724
  if (assertion.textFormat === void 0 || syntaxVersion !== PROFILE_SYNTAX_VERSION_V2) {
11608
11725
  return void 0;
@@ -11650,20 +11767,6 @@ function buildFrontmatterRequiredAssertion(assertion, selector, ruleId, _syntaxV
11650
11767
  }
11651
11768
  return void 0;
11652
11769
  }
11653
- function pushCompatibilityDiagnostic(assertionName, selector, ruleId, diagnostics) {
11654
- const message = selectorAssertionCompatibilityError(assertionName, selector);
11655
- if (message !== void 0) {
11656
- diagnostics.push(
11657
- compileDiagnostic(
11658
- "profile.compile.incompatibleSelectorAssertion",
11659
- message,
11660
- ruleId
11661
- )
11662
- );
11663
- return false;
11664
- }
11665
- return true;
11666
- }
11667
11770
 
11668
11771
  // src/declarative-validation/compiler/assertions.ts
11669
11772
  var ASSERTION_KEYS_V1 = [
@@ -11679,6 +11782,7 @@ var ASSERTION_KEYS_V1 = [
11679
11782
  ];
11680
11783
  var ASSERTION_KEYS_V2 = [
11681
11784
  ...ASSERTION_KEYS_V1,
11785
+ "sourceLength",
11682
11786
  "tableColumnCoverage",
11683
11787
  "frontmatterShape",
11684
11788
  "textFormat"
@@ -11941,6 +12045,12 @@ function compileValidationProfile(profile) {
11941
12045
  ]
11942
12046
  };
11943
12047
  }
12048
+ const syntaxVersion = closedProfile.syntaxVersion;
12049
+ if (!isValidationProfileSyntaxVersion(syntaxVersion)) {
12050
+ return {
12051
+ diagnostics: [...diagnostics, unsupportedSyntaxVersion()]
12052
+ };
12053
+ }
11944
12054
  const profileRules = profileRulesFromValue(closedProfile.rules, diagnostics);
11945
12055
  if (profileRules === void 0) {
11946
12056
  return { diagnostics };
@@ -11975,7 +12085,7 @@ function compileValidationProfile(profile) {
11975
12085
  index2,
11976
12086
  ruleId,
11977
12087
  severity ?? "error",
11978
- profile.syntaxVersion,
12088
+ syntaxVersion,
11979
12089
  diagnostics
11980
12090
  );
11981
12091
  if (compiledRule !== void 0) {
@@ -11983,7 +12093,7 @@ function compileValidationProfile(profile) {
11983
12093
  }
11984
12094
  }
11985
12095
  return diagnostics.length > 0 ? { diagnostics } : {
11986
- plan: compiledPlanFromRules(profile.syntaxVersion, rules),
12096
+ plan: compiledPlanFromRules(syntaxVersion, rules),
11987
12097
  diagnostics
11988
12098
  };
11989
12099
  }
@@ -12363,6 +12473,70 @@ var YAML_MATERIALIZE_OPTIONS = {
12363
12473
  maxAliasCount: 50
12364
12474
  };
12365
12475
 
12476
+ // src/declarative-validation/profile/length-bound-schema.ts
12477
+ function lengthBoundsFromValue(value, assertionName, diagnostics) {
12478
+ if (value === void 0) {
12479
+ return void 0;
12480
+ }
12481
+ if (!isPlainRecord(value)) {
12482
+ diagnostics.push(invalidShape(`${assertionName} must be an object.`));
12483
+ return void 0;
12484
+ }
12485
+ unsupportedKeys(value, ["min", "max"], diagnostics);
12486
+ const diagnosticCountBeforeBounds = diagnostics.length;
12487
+ const bounds = {
12488
+ ...optionalLengthBound(value, assertionName, "min", diagnostics),
12489
+ ...optionalLengthBound(value, assertionName, "max", diagnostics)
12490
+ };
12491
+ if (!hasLengthBound2(bounds)) {
12492
+ if (diagnostics.length === diagnosticCountBeforeBounds) {
12493
+ diagnostics.push(
12494
+ invalidShape(`${assertionName} must include min, max, or both.`)
12495
+ );
12496
+ }
12497
+ return void 0;
12498
+ }
12499
+ if (!hasValidLengthRange(bounds)) {
12500
+ diagnostics.push(
12501
+ invalidShape(
12502
+ `${assertionName}.min must be less than or equal to ${assertionName}.max.`
12503
+ )
12504
+ );
12505
+ return void 0;
12506
+ }
12507
+ return bounds;
12508
+ }
12509
+ function optionalLengthBound(record, assertionName, key, diagnostics) {
12510
+ const value = record[key];
12511
+ if (value === void 0) {
12512
+ return {};
12513
+ }
12514
+ if (!isFiniteNumber(value)) {
12515
+ diagnostics.push(
12516
+ invalidShape(`${assertionName}.${key} must be a number when provided.`)
12517
+ );
12518
+ return {};
12519
+ }
12520
+ if (!isNonNegativeInteger(value)) {
12521
+ diagnostics.push(
12522
+ invalidShape(
12523
+ `${assertionName}.${key} must be a non-negative integer when provided.`
12524
+ )
12525
+ );
12526
+ return {};
12527
+ }
12528
+ return { [key]: value };
12529
+ }
12530
+ function hasLengthBound2(bounds) {
12531
+ return bounds.min !== void 0 || bounds.max !== void 0;
12532
+ }
12533
+ function hasValidLengthRange(bounds) {
12534
+ return bounds.min === void 0 || bounds.max === void 0 || bounds.min <= bounds.max;
12535
+ }
12536
+ function isNonNegativeInteger(value) {
12537
+ return Number.isInteger(value) && value >= 0;
12538
+ }
12539
+
12366
12540
  // src/declarative-validation/profile/assertion-schema.ts
12367
12541
  var SUPPORTED_ASSERTION_KEYS_V1 = [
12368
12542
  "exists",
@@ -12377,6 +12551,7 @@ var SUPPORTED_ASSERTION_KEYS_V1 = [
12377
12551
  ];
12378
12552
  var SUPPORTED_ASSERTION_KEYS_V2 = [
12379
12553
  ...SUPPORTED_ASSERTION_KEYS_V1,
12554
+ "sourceLength",
12380
12555
  "tableColumnCoverage",
12381
12556
  "frontmatterShape",
12382
12557
  "textFormat"
@@ -12400,6 +12575,7 @@ function assertionFromValue(value, syntaxVersion, diagnostics) {
12400
12575
  ...textAssertionFromValue(value.text, diagnostics),
12401
12576
  ...textOccurrenceCountFromValue(value.textOccurrenceCount, diagnostics),
12402
12577
  ...textLengthFromValue(value.textLength, diagnostics),
12578
+ ...supportsV2AssertionSurface(syntaxVersion) ? sourceLengthFromValue(value.sourceLength, diagnostics) : {},
12403
12579
  ...frontmatterRequiredFromValue(value.frontmatterRequired, diagnostics),
12404
12580
  ...supportsV2AssertionSurface(syntaxVersion) ? tableColumnCoverageFromValue(value.tableColumnCoverage, diagnostics) : {},
12405
12581
  ...supportsV2AssertionSurface(syntaxVersion) ? frontmatterShapeFromValue2(value.frontmatterShape, diagnostics) : {},
@@ -12743,34 +12919,12 @@ function textOccurrenceCountFromValue(value, diagnostics) {
12743
12919
  };
12744
12920
  }
12745
12921
  function textLengthFromValue(value, diagnostics) {
12746
- if (value === void 0) {
12747
- return {};
12748
- }
12749
- if (!isPlainRecord(value)) {
12750
- diagnostics.push(invalidShape("textLength must be an object."));
12751
- return {};
12752
- }
12753
- unsupportedKeys(value, ["min", "max"], diagnostics);
12754
- const diagnosticCountBeforeBounds = diagnostics.length;
12755
- const textLength = {
12756
- ...optionalTextLengthBound(value, "min", diagnostics),
12757
- ...optionalTextLengthBound(value, "max", diagnostics)
12758
- };
12759
- if (!hasTextLengthBound2(textLength)) {
12760
- if (diagnostics.length === diagnosticCountBeforeBounds) {
12761
- diagnostics.push(
12762
- invalidShape("textLength must include min, max, or both.")
12763
- );
12764
- }
12765
- return {};
12766
- }
12767
- if (!hasValidTextLengthRange(textLength)) {
12768
- diagnostics.push(
12769
- invalidShape("textLength.min must be less than or equal to textLength.max.")
12770
- );
12771
- return {};
12772
- }
12773
- return { textLength };
12922
+ const bounds = lengthBoundsFromValue(value, "textLength", diagnostics);
12923
+ return bounds === void 0 ? {} : { textLength: bounds };
12924
+ }
12925
+ function sourceLengthFromValue(value, diagnostics) {
12926
+ const bounds = lengthBoundsFromValue(value, "sourceLength", diagnostics);
12927
+ return bounds === void 0 ? {} : { sourceLength: bounds };
12774
12928
  }
12775
12929
  function textFormatFromValue(value, diagnostics) {
12776
12930
  if (value === void 0) {
@@ -12848,27 +13002,6 @@ function optionalBoolean2(record, key, diagnostics) {
12848
13002
  (field) => `${field} must be a boolean when provided.`
12849
13003
  );
12850
13004
  }
12851
- function optionalTextLengthBound(record, key, diagnostics) {
12852
- const value = record[key];
12853
- if (value === void 0) {
12854
- return {};
12855
- }
12856
- if (!isFiniteNumber(value)) {
12857
- diagnostics.push(
12858
- invalidShape(`textLength.${key} must be a number when provided.`)
12859
- );
12860
- return {};
12861
- }
12862
- if (!isTextLengthBound(value)) {
12863
- diagnostics.push(
12864
- invalidShape(
12865
- `textLength.${key} must be a non-negative integer when provided.`
12866
- )
12867
- );
12868
- return {};
12869
- }
12870
- return { [key]: value };
12871
- }
12872
13005
  function optionalIdCountBound(record, key, diagnostics) {
12873
13006
  const value = record[key];
12874
13007
  if (value === void 0) {
@@ -12878,7 +13011,7 @@ function optionalIdCountBound(record, key, diagnostics) {
12878
13011
  diagnostics.push(invalidShape(`ids.${key} must be a number when provided.`));
12879
13012
  return {};
12880
13013
  }
12881
- if (!isNonNegativeInteger(value)) {
13014
+ if (!isNonNegativeInteger2(value)) {
12882
13015
  diagnostics.push(
12883
13016
  invalidShape(`ids.${key} must be a non-negative integer when provided.`)
12884
13017
  );
@@ -12897,16 +13030,7 @@ function requiredAssertionString(value, field, diagnostics) {
12897
13030
  function hasTextPredicate2(text5) {
12898
13031
  return text5?.contains !== void 0 || text5?.excludes !== void 0;
12899
13032
  }
12900
- function hasTextLengthBound2(textLength) {
12901
- return textLength?.min !== void 0 || textLength?.max !== void 0;
12902
- }
12903
- function hasValidTextLengthRange(textLength) {
12904
- return textLength?.min === void 0 || textLength.max === void 0 || textLength.min <= textLength.max;
12905
- }
12906
- function isTextLengthBound(value) {
12907
- return isNonNegativeInteger(value);
12908
- }
12909
- function isNonNegativeInteger(value) {
13033
+ function isNonNegativeInteger2(value) {
12910
13034
  return Number.isInteger(value) && value >= 0;
12911
13035
  }
12912
13036
 
@@ -13418,6 +13542,9 @@ function cloneSourceRange2(sourceRange) {
13418
13542
  // src/declarative-validation/evidence/index.ts
13419
13543
  import { createHash } from "node:crypto";
13420
13544
 
13545
+ // src/internal/package-version.ts
13546
+ var MARKDOWN_ENGINE_PACKAGE_VERSION = "3.2.0";
13547
+
13421
13548
  // src/internal/stable-json.ts
13422
13549
  function normalizeStableJsonValue(value) {
13423
13550
  if (Array.isArray(value)) {
@@ -13552,16 +13679,37 @@ function passedFromStatus(status) {
13552
13679
  }
13553
13680
 
13554
13681
  // src/declarative-validation/evidence/index.ts
13555
- function createDeclarativeValidationEvidence(document3, profile, ruleResults, diagnostics) {
13682
+ function createDeclarativeValidationEvidence(document3, profile, ruleResults, diagnostics, sourceText) {
13683
+ const sourceLength = sourceText !== void 0 && profileUsesSourceLength(profile) ? sourceText.length : void 0;
13556
13684
  return {
13557
- inputHash: sha256(stringifyStableJson(documentWithoutPath(document3))),
13685
+ inputHash: sha256(
13686
+ stringifyStableJson(canonicalInput(document3, sourceLength))
13687
+ ),
13558
13688
  profileHash: sha256(stringifyStableJson(resolvedProfile(profile, document3))),
13559
- engineVersion: "3.0.0",
13689
+ engineVersion: MARKDOWN_ENGINE_PACKAGE_VERSION,
13560
13690
  runtimeVersion: process.version,
13691
+ ...sourceLength !== void 0 ? { sourceLength } : {},
13561
13692
  ruleResults: cloneRuleResults(ruleResults),
13562
13693
  diagnostics: cloneDiagnostics(diagnostics)
13563
13694
  };
13564
13695
  }
13696
+ function canonicalInput(document3, sourceLength) {
13697
+ const normalizedDocument = documentWithoutPath(document3);
13698
+ return sourceLength === void 0 ? normalizedDocument : { document: normalizedDocument, sourceLength };
13699
+ }
13700
+ function profileUsesSourceLength(profile) {
13701
+ return profile.rules.some(ruleUsesSourceLength);
13702
+ }
13703
+ function ruleUsesSourceLength(rule) {
13704
+ if (rule.when?.assert.sourceLength !== void 0) {
13705
+ return true;
13706
+ }
13707
+ if ("assert" in rule) {
13708
+ return rule.assert.sourceLength !== void 0;
13709
+ }
13710
+ const branches = "anyOf" in rule ? rule.anyOf : rule.allOf;
13711
+ return branches.some((branch) => branch.assert.sourceLength !== void 0);
13712
+ }
13565
13713
  function resolvedProfile(profile, document3) {
13566
13714
  return {
13567
13715
  syntaxVersion: profile.syntaxVersion,
@@ -13643,7 +13791,8 @@ function withEvidence(result, document3, profile, options) {
13643
13791
  document3,
13644
13792
  profile,
13645
13793
  result.ruleResults,
13646
- result.diagnostics
13794
+ result.diagnostics,
13795
+ options.sourceText
13647
13796
  )
13648
13797
  };
13649
13798
  }
@@ -13709,8 +13858,11 @@ function validateWithProfile(document3, profile, options = {}) {
13709
13858
  }
13710
13859
  const compileResult = compileValidationProfile(materializedProfile.profile);
13711
13860
  const compiledRules = compileResult.plan?.rules ?? [];
13861
+ const runtimeContext = options.sourceText === void 0 ? {} : { sourceText: options.sourceText };
13712
13862
  const ruleResults = sortValidationRuleResults(
13713
- compiledRules.flatMap((rule) => evaluateApplicableCompiledRule(document3, rule))
13863
+ compiledRules.flatMap(
13864
+ (rule) => evaluateApplicableCompiledRule(document3, rule, runtimeContext)
13865
+ )
13714
13866
  );
13715
13867
  const diagnostics = [
13716
13868
  ...compileResult.diagnostics,
@@ -13724,32 +13876,56 @@ function validateWithProfile(document3, profile, options = {}) {
13724
13876
  options
13725
13877
  });
13726
13878
  }
13727
- function evaluateApplicableCompiledRule(document3, rule) {
13879
+ function evaluateApplicableCompiledRule(document3, rule, runtimeContext) {
13728
13880
  const applicability = classifyCompiledDeclarativeRuleApplicability(
13729
13881
  rule,
13730
- document3
13882
+ document3,
13883
+ runtimeContext
13731
13884
  );
13732
- return applicability.status === "notMatched" ? [
13733
- createSkippedDeclarativeValidationRuleResult({
13734
- ruleId: rule.ruleId,
13735
- when: applicability.result
13736
- })
13737
- ] : evaluateCompiledRule(document3, rule);
13885
+ if (applicability.status === "notMatched") {
13886
+ if (applicability.result.diagnostics.some(isSourceUnavailableDiagnostic)) {
13887
+ return [sourceUnavailableApplicabilityResult(rule, applicability.result)];
13888
+ }
13889
+ return [
13890
+ createSkippedDeclarativeValidationRuleResult({
13891
+ ruleId: rule.ruleId,
13892
+ when: applicability.result
13893
+ })
13894
+ ];
13895
+ }
13896
+ return evaluateCompiledRule(document3, rule, runtimeContext);
13738
13897
  }
13739
- function evaluateCompiledRule(document3, rule) {
13898
+ function evaluateCompiledRule(document3, rule, runtimeContext) {
13740
13899
  if (isCompiledAnyOfRule(rule)) {
13741
- return [evaluateCompiledDeclarativeAnyOfRule(rule, document3)];
13900
+ return [evaluateCompiledDeclarativeAnyOfRule(rule, document3, runtimeContext)];
13742
13901
  }
13743
13902
  if (isCompiledAllOfRule(rule)) {
13744
- return [evaluateCompiledDeclarativeAllOfRule(rule, document3)];
13903
+ return [evaluateCompiledDeclarativeAllOfRule(rule, document3, runtimeContext)];
13745
13904
  }
13746
13905
  return [
13747
13906
  evaluateCompiledDeclarativeRule(
13748
13907
  rule,
13749
- resolveDeclarativeSelector(document3, rule.selector)
13908
+ resolveDeclarativeSelector(document3, rule.selector),
13909
+ runtimeContext
13750
13910
  )
13751
13911
  ];
13752
13912
  }
13913
+ function sourceUnavailableApplicabilityResult(rule, when) {
13914
+ const diagnostics = when.diagnostics.filter(
13915
+ isSourceUnavailableDiagnostic
13916
+ );
13917
+ return {
13918
+ ruleId: rule.ruleId,
13919
+ status: "failed",
13920
+ passed: false,
13921
+ diagnostics,
13922
+ when,
13923
+ evaluation: {
13924
+ kind: "assertions",
13925
+ diagnostics
13926
+ }
13927
+ };
13928
+ }
13753
13929
  function isCompiledAnyOfRule(rule) {
13754
13930
  return "kind" in rule && rule.kind === "anyOf";
13755
13931
  }
@@ -14553,7 +14729,7 @@ function parseFrontmatter(markdown) {
14553
14729
  };
14554
14730
  }
14555
14731
 
14556
- // node_modules/ccount/index.js
14732
+ // ../../node_modules/ccount/index.js
14557
14733
  function ccount(value, character) {
14558
14734
  const source = String(value);
14559
14735
  if (typeof character !== "string") {
@@ -14568,11 +14744,11 @@ function ccount(value, character) {
14568
14744
  return count;
14569
14745
  }
14570
14746
 
14571
- // node_modules/devlop/lib/default.js
14747
+ // ../../node_modules/devlop/lib/default.js
14572
14748
  function ok() {
14573
14749
  }
14574
14750
 
14575
- // node_modules/micromark-util-character/index.js
14751
+ // ../../node_modules/micromark-util-character/index.js
14576
14752
  var asciiAlpha = regexCheck(/[A-Za-z]/);
14577
14753
  var asciiAlphanumeric = regexCheck(/[\dA-Za-z]/);
14578
14754
  var asciiAtext = regexCheck(/[#-'*+\--9=?A-Z^-~]/);
@@ -14604,7 +14780,7 @@ function regexCheck(regex) {
14604
14780
  }
14605
14781
  }
14606
14782
 
14607
- // node_modules/escape-string-regexp/index.js
14783
+ // ../../node_modules/escape-string-regexp/index.js
14608
14784
  function escapeStringRegexp(string3) {
14609
14785
  if (typeof string3 !== "string") {
14610
14786
  throw new TypeError("Expected a string");
@@ -14612,7 +14788,7 @@ function escapeStringRegexp(string3) {
14612
14788
  return string3.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d");
14613
14789
  }
14614
14790
 
14615
- // node_modules/unist-util-is/lib/index.js
14791
+ // ../../node_modules/unist-util-is/lib/index.js
14616
14792
  var convert = (
14617
14793
  // Note: overloads in JSDoc can’t yet use different `@template`s.
14618
14794
  /**
@@ -14711,12 +14887,12 @@ function looksLikeANode(value) {
14711
14887
  return value !== null && typeof value === "object" && "type" in value;
14712
14888
  }
14713
14889
 
14714
- // node_modules/unist-util-visit-parents/lib/color.node.js
14890
+ // ../../node_modules/unist-util-visit-parents/lib/color.node.js
14715
14891
  function color(d) {
14716
14892
  return "\x1B[33m" + d + "\x1B[39m";
14717
14893
  }
14718
14894
 
14719
- // node_modules/unist-util-visit-parents/lib/index.js
14895
+ // ../../node_modules/unist-util-visit-parents/lib/index.js
14720
14896
  var empty = [];
14721
14897
  var CONTINUE = true;
14722
14898
  var EXIT = false;
@@ -14793,7 +14969,7 @@ function toResult(value) {
14793
14969
  return value === null || value === void 0 ? empty : [value];
14794
14970
  }
14795
14971
 
14796
- // node_modules/mdast-util-find-and-replace/lib/index.js
14972
+ // ../../node_modules/mdast-util-find-and-replace/lib/index.js
14797
14973
  function findAndReplace(tree, list3, options) {
14798
14974
  const settings = options || {};
14799
14975
  const ignored = convert(settings.ignore || []);
@@ -14898,7 +15074,7 @@ function toFunction(replace2) {
14898
15074
  };
14899
15075
  }
14900
15076
 
14901
- // node_modules/mdast-util-gfm-autolink-literal/lib/index.js
15077
+ // ../../node_modules/mdast-util-gfm-autolink-literal/lib/index.js
14902
15078
  var inConstruct = "phrasing";
14903
15079
  var notInConstruct = ["autolink", "link", "image", "label"];
14904
15080
  function gfmAutolinkLiteralFromMarkdown() {
@@ -15048,12 +15224,12 @@ function previous(match, email) {
15048
15224
  (!email || code3 !== 47);
15049
15225
  }
15050
15226
 
15051
- // node_modules/micromark-util-normalize-identifier/index.js
15227
+ // ../../node_modules/micromark-util-normalize-identifier/index.js
15052
15228
  function normalizeIdentifier(value) {
15053
15229
  return value.replace(/[\t\n\r ]+/g, " ").replace(/^ | $/g, "").toLowerCase().toUpperCase();
15054
15230
  }
15055
15231
 
15056
- // node_modules/mdast-util-gfm-footnote/lib/index.js
15232
+ // ../../node_modules/mdast-util-gfm-footnote/lib/index.js
15057
15233
  footnoteReference.peek = footnoteReferencePeek;
15058
15234
  function enterFootnoteCallString() {
15059
15235
  this.buffer();
@@ -15166,7 +15342,7 @@ function mapAll(line, index2, blank) {
15166
15342
  return (blank ? "" : " ") + line;
15167
15343
  }
15168
15344
 
15169
- // node_modules/mdast-util-gfm-strikethrough/lib/index.js
15345
+ // ../../node_modules/mdast-util-gfm-strikethrough/lib/index.js
15170
15346
  var constructsWithoutStrikethrough = [
15171
15347
  "autolink",
15172
15348
  "destinationLiteral",
@@ -15218,7 +15394,7 @@ function peekDelete() {
15218
15394
  return "~";
15219
15395
  }
15220
15396
 
15221
- // node_modules/markdown-table/index.js
15397
+ // ../../node_modules/markdown-table/index.js
15222
15398
  function defaultStringLength(value) {
15223
15399
  return value.length;
15224
15400
  }
@@ -15359,7 +15535,7 @@ function toAlignment(value) {
15359
15535
  return code3 === 67 || code3 === 99 ? 99 : code3 === 76 || code3 === 108 ? 108 : code3 === 82 || code3 === 114 ? 114 : 0;
15360
15536
  }
15361
15537
 
15362
- // node_modules/mdast-util-to-markdown/lib/handle/blockquote.js
15538
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/blockquote.js
15363
15539
  function blockquote(node2, _, state, info) {
15364
15540
  const exit3 = state.enter("blockquote");
15365
15541
  const tracker = state.createTracker(info);
@@ -15376,7 +15552,7 @@ function map(line, _, blank) {
15376
15552
  return ">" + (blank ? "" : " ") + line;
15377
15553
  }
15378
15554
 
15379
- // node_modules/mdast-util-to-markdown/lib/util/pattern-in-scope.js
15555
+ // ../../node_modules/mdast-util-to-markdown/lib/util/pattern-in-scope.js
15380
15556
  function patternInScope(stack, pattern) {
15381
15557
  return listInScope(stack, pattern.inConstruct, true) && !listInScope(stack, pattern.notInConstruct, false);
15382
15558
  }
@@ -15396,7 +15572,7 @@ function listInScope(stack, list3, none) {
15396
15572
  return false;
15397
15573
  }
15398
15574
 
15399
- // node_modules/mdast-util-to-markdown/lib/handle/break.js
15575
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/break.js
15400
15576
  function hardBreak(_, _1, state, info) {
15401
15577
  let index2 = -1;
15402
15578
  while (++index2 < state.unsafe.length) {
@@ -15407,7 +15583,7 @@ function hardBreak(_, _1, state, info) {
15407
15583
  return "\\\n";
15408
15584
  }
15409
15585
 
15410
- // node_modules/longest-streak/index.js
15586
+ // ../../node_modules/longest-streak/index.js
15411
15587
  function longestStreak(value, substring) {
15412
15588
  const source = String(value);
15413
15589
  let index2 = source.indexOf(substring);
@@ -15431,7 +15607,7 @@ function longestStreak(value, substring) {
15431
15607
  return max;
15432
15608
  }
15433
15609
 
15434
- // node_modules/mdast-util-to-markdown/lib/util/format-code-as-indented.js
15610
+ // ../../node_modules/mdast-util-to-markdown/lib/util/format-code-as-indented.js
15435
15611
  function formatCodeAsIndented(node2, state) {
15436
15612
  return Boolean(
15437
15613
  state.options.fences === false && node2.value && // If there’s no info…
@@ -15441,7 +15617,7 @@ function formatCodeAsIndented(node2, state) {
15441
15617
  );
15442
15618
  }
15443
15619
 
15444
- // node_modules/mdast-util-to-markdown/lib/util/check-fence.js
15620
+ // ../../node_modules/mdast-util-to-markdown/lib/util/check-fence.js
15445
15621
  function checkFence(state) {
15446
15622
  const marker = state.options.fence || "`";
15447
15623
  if (marker !== "`" && marker !== "~") {
@@ -15452,7 +15628,7 @@ function checkFence(state) {
15452
15628
  return marker;
15453
15629
  }
15454
15630
 
15455
- // node_modules/mdast-util-to-markdown/lib/handle/code.js
15631
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/code.js
15456
15632
  function code(node2, _, state, info) {
15457
15633
  const marker = checkFence(state);
15458
15634
  const raw = node2.value || "";
@@ -15504,7 +15680,7 @@ function map2(line, _, blank) {
15504
15680
  return (blank ? "" : " ") + line;
15505
15681
  }
15506
15682
 
15507
- // node_modules/mdast-util-to-markdown/lib/util/check-quote.js
15683
+ // ../../node_modules/mdast-util-to-markdown/lib/util/check-quote.js
15508
15684
  function checkQuote(state) {
15509
15685
  const marker = state.options.quote || '"';
15510
15686
  if (marker !== '"' && marker !== "'") {
@@ -15515,7 +15691,7 @@ function checkQuote(state) {
15515
15691
  return marker;
15516
15692
  }
15517
15693
 
15518
- // node_modules/mdast-util-to-markdown/lib/handle/definition.js
15694
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/definition.js
15519
15695
  function definition(node2, _, state, info) {
15520
15696
  const quote = checkQuote(state);
15521
15697
  const suffix = quote === '"' ? "Quote" : "Apostrophe";
@@ -15571,7 +15747,7 @@ function definition(node2, _, state, info) {
15571
15747
  return value;
15572
15748
  }
15573
15749
 
15574
- // node_modules/mdast-util-to-markdown/lib/util/check-emphasis.js
15750
+ // ../../node_modules/mdast-util-to-markdown/lib/util/check-emphasis.js
15575
15751
  function checkEmphasis(state) {
15576
15752
  const marker = state.options.emphasis || "*";
15577
15753
  if (marker !== "*" && marker !== "_") {
@@ -15582,12 +15758,12 @@ function checkEmphasis(state) {
15582
15758
  return marker;
15583
15759
  }
15584
15760
 
15585
- // node_modules/mdast-util-to-markdown/lib/util/encode-character-reference.js
15761
+ // ../../node_modules/mdast-util-to-markdown/lib/util/encode-character-reference.js
15586
15762
  function encodeCharacterReference(code3) {
15587
15763
  return "&#x" + code3.toString(16).toUpperCase() + ";";
15588
15764
  }
15589
15765
 
15590
- // node_modules/micromark-util-classify-character/index.js
15766
+ // ../../node_modules/micromark-util-classify-character/index.js
15591
15767
  function classifyCharacter(code3) {
15592
15768
  if (code3 === null || markdownLineEndingOrSpace(code3) || unicodeWhitespace(code3)) {
15593
15769
  return 1;
@@ -15597,7 +15773,7 @@ function classifyCharacter(code3) {
15597
15773
  }
15598
15774
  }
15599
15775
 
15600
- // node_modules/mdast-util-to-markdown/lib/util/encode-info.js
15776
+ // ../../node_modules/mdast-util-to-markdown/lib/util/encode-info.js
15601
15777
  function encodeInfo(outside, inside, marker) {
15602
15778
  const outsideKind = classifyCharacter(outside);
15603
15779
  const insideKind = classifyCharacter(inside);
@@ -15639,7 +15815,7 @@ function encodeInfo(outside, inside, marker) {
15639
15815
  );
15640
15816
  }
15641
15817
 
15642
- // node_modules/mdast-util-to-markdown/lib/handle/emphasis.js
15818
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/emphasis.js
15643
15819
  emphasis.peek = emphasisPeek;
15644
15820
  function emphasis(node2, _, state, info) {
15645
15821
  const marker = checkEmphasis(state);
@@ -15679,7 +15855,7 @@ function emphasisPeek(_, _1, state) {
15679
15855
  return state.options.emphasis || "*";
15680
15856
  }
15681
15857
 
15682
- // node_modules/unist-util-visit/lib/index.js
15858
+ // ../../node_modules/unist-util-visit/lib/index.js
15683
15859
  function visit(tree, testOrVisitor, visitorOrReverse, maybeReverse) {
15684
15860
  let reverse;
15685
15861
  let test;
@@ -15701,7 +15877,7 @@ function visit(tree, testOrVisitor, visitorOrReverse, maybeReverse) {
15701
15877
  }
15702
15878
  }
15703
15879
 
15704
- // node_modules/mdast-util-to-string/lib/index.js
15880
+ // ../../node_modules/mdast-util-to-string/lib/index.js
15705
15881
  var emptyOptions = {};
15706
15882
  function toString(value, options) {
15707
15883
  const settings = options || emptyOptions;
@@ -15738,7 +15914,7 @@ function node(value) {
15738
15914
  return Boolean(value && typeof value === "object");
15739
15915
  }
15740
15916
 
15741
- // node_modules/mdast-util-to-markdown/lib/util/format-heading-as-setext.js
15917
+ // ../../node_modules/mdast-util-to-markdown/lib/util/format-heading-as-setext.js
15742
15918
  function formatHeadingAsSetext(node2, state) {
15743
15919
  let literalWithBreak = false;
15744
15920
  visit(node2, function(node3) {
@@ -15752,7 +15928,7 @@ function formatHeadingAsSetext(node2, state) {
15752
15928
  );
15753
15929
  }
15754
15930
 
15755
- // node_modules/mdast-util-to-markdown/lib/handle/heading.js
15931
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/heading.js
15756
15932
  function heading(node2, _, state, info) {
15757
15933
  const rank = Math.max(Math.min(6, node2.depth || 1), 1);
15758
15934
  const tracker = state.createTracker(info);
@@ -15794,7 +15970,7 @@ function heading(node2, _, state, info) {
15794
15970
  return value;
15795
15971
  }
15796
15972
 
15797
- // node_modules/mdast-util-to-markdown/lib/handle/html.js
15973
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/html.js
15798
15974
  html.peek = htmlPeek;
15799
15975
  function html(node2) {
15800
15976
  return node2.value || "";
@@ -15803,7 +15979,7 @@ function htmlPeek() {
15803
15979
  return "<";
15804
15980
  }
15805
15981
 
15806
- // node_modules/mdast-util-to-markdown/lib/handle/image.js
15982
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/image.js
15807
15983
  image.peek = imagePeek;
15808
15984
  function image(node2, _, state, info) {
15809
15985
  const quote = checkQuote(state);
@@ -15860,7 +16036,7 @@ function imagePeek() {
15860
16036
  return "!";
15861
16037
  }
15862
16038
 
15863
- // node_modules/mdast-util-to-markdown/lib/handle/image-reference.js
16039
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/image-reference.js
15864
16040
  imageReference.peek = imageReferencePeek;
15865
16041
  function imageReference(node2, _, state, info) {
15866
16042
  const type = node2.referenceType;
@@ -15899,7 +16075,7 @@ function imageReferencePeek() {
15899
16075
  return "!";
15900
16076
  }
15901
16077
 
15902
- // node_modules/mdast-util-to-markdown/lib/handle/inline-code.js
16078
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/inline-code.js
15903
16079
  inlineCode.peek = inlineCodePeek;
15904
16080
  function inlineCode(node2, _, state) {
15905
16081
  let value = node2.value || "";
@@ -15930,7 +16106,7 @@ function inlineCodePeek() {
15930
16106
  return "`";
15931
16107
  }
15932
16108
 
15933
- // node_modules/mdast-util-to-markdown/lib/util/format-link-as-autolink.js
16109
+ // ../../node_modules/mdast-util-to-markdown/lib/util/format-link-as-autolink.js
15934
16110
  function formatLinkAsAutolink(node2, state) {
15935
16111
  const raw = toString(node2);
15936
16112
  return Boolean(
@@ -15945,7 +16121,7 @@ function formatLinkAsAutolink(node2, state) {
15945
16121
  );
15946
16122
  }
15947
16123
 
15948
- // node_modules/mdast-util-to-markdown/lib/handle/link.js
16124
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/link.js
15949
16125
  link.peek = linkPeek;
15950
16126
  function link(node2, _, state, info) {
15951
16127
  const quote = checkQuote(state);
@@ -16025,7 +16201,7 @@ function linkPeek(node2, _, state) {
16025
16201
  return formatLinkAsAutolink(node2, state) ? "<" : "[";
16026
16202
  }
16027
16203
 
16028
- // node_modules/mdast-util-to-markdown/lib/handle/link-reference.js
16204
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/link-reference.js
16029
16205
  linkReference.peek = linkReferencePeek;
16030
16206
  function linkReference(node2, _, state, info) {
16031
16207
  const type = node2.referenceType;
@@ -16064,7 +16240,7 @@ function linkReferencePeek() {
16064
16240
  return "[";
16065
16241
  }
16066
16242
 
16067
- // node_modules/mdast-util-to-markdown/lib/util/check-bullet.js
16243
+ // ../../node_modules/mdast-util-to-markdown/lib/util/check-bullet.js
16068
16244
  function checkBullet(state) {
16069
16245
  const marker = state.options.bullet || "*";
16070
16246
  if (marker !== "*" && marker !== "+" && marker !== "-") {
@@ -16075,7 +16251,7 @@ function checkBullet(state) {
16075
16251
  return marker;
16076
16252
  }
16077
16253
 
16078
- // node_modules/mdast-util-to-markdown/lib/util/check-bullet-other.js
16254
+ // ../../node_modules/mdast-util-to-markdown/lib/util/check-bullet-other.js
16079
16255
  function checkBulletOther(state) {
16080
16256
  const bullet = checkBullet(state);
16081
16257
  const bulletOther = state.options.bulletOther;
@@ -16095,7 +16271,7 @@ function checkBulletOther(state) {
16095
16271
  return bulletOther;
16096
16272
  }
16097
16273
 
16098
- // node_modules/mdast-util-to-markdown/lib/util/check-bullet-ordered.js
16274
+ // ../../node_modules/mdast-util-to-markdown/lib/util/check-bullet-ordered.js
16099
16275
  function checkBulletOrdered(state) {
16100
16276
  const marker = state.options.bulletOrdered || ".";
16101
16277
  if (marker !== "." && marker !== ")") {
@@ -16106,7 +16282,7 @@ function checkBulletOrdered(state) {
16106
16282
  return marker;
16107
16283
  }
16108
16284
 
16109
- // node_modules/mdast-util-to-markdown/lib/util/check-rule.js
16285
+ // ../../node_modules/mdast-util-to-markdown/lib/util/check-rule.js
16110
16286
  function checkRule(state) {
16111
16287
  const marker = state.options.rule || "*";
16112
16288
  if (marker !== "*" && marker !== "-" && marker !== "_") {
@@ -16117,7 +16293,7 @@ function checkRule(state) {
16117
16293
  return marker;
16118
16294
  }
16119
16295
 
16120
- // node_modules/mdast-util-to-markdown/lib/handle/list.js
16296
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/list.js
16121
16297
  function list(node2, parent, state, info) {
16122
16298
  const exit3 = state.enter("list");
16123
16299
  const bulletCurrent = state.bulletCurrent;
@@ -16157,7 +16333,7 @@ function list(node2, parent, state, info) {
16157
16333
  return value;
16158
16334
  }
16159
16335
 
16160
- // node_modules/mdast-util-to-markdown/lib/util/check-list-item-indent.js
16336
+ // ../../node_modules/mdast-util-to-markdown/lib/util/check-list-item-indent.js
16161
16337
  function checkListItemIndent(state) {
16162
16338
  const style = state.options.listItemIndent || "one";
16163
16339
  if (style !== "tab" && style !== "one" && style !== "mixed") {
@@ -16168,7 +16344,7 @@ function checkListItemIndent(state) {
16168
16344
  return style;
16169
16345
  }
16170
16346
 
16171
- // node_modules/mdast-util-to-markdown/lib/handle/list-item.js
16347
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/list-item.js
16172
16348
  function listItem(node2, parent, state, info) {
16173
16349
  const listItemIndent = checkListItemIndent(state);
16174
16350
  let bullet = state.bulletCurrent || checkBullet(state);
@@ -16197,7 +16373,7 @@ function listItem(node2, parent, state, info) {
16197
16373
  }
16198
16374
  }
16199
16375
 
16200
- // node_modules/mdast-util-to-markdown/lib/handle/paragraph.js
16376
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/paragraph.js
16201
16377
  function paragraph(node2, _, state, info) {
16202
16378
  const exit3 = state.enter("paragraph");
16203
16379
  const subexit = state.enter("phrasing");
@@ -16207,7 +16383,7 @@ function paragraph(node2, _, state, info) {
16207
16383
  return value;
16208
16384
  }
16209
16385
 
16210
- // node_modules/mdast-util-phrasing/lib/index.js
16386
+ // ../../node_modules/mdast-util-phrasing/lib/index.js
16211
16387
  var phrasing = (
16212
16388
  /** @type {(node?: unknown) => node is Exclude<PhrasingContent, Html>} */
16213
16389
  convert([
@@ -16235,7 +16411,7 @@ var phrasing = (
16235
16411
  ])
16236
16412
  );
16237
16413
 
16238
- // node_modules/mdast-util-to-markdown/lib/handle/root.js
16414
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/root.js
16239
16415
  function root(node2, _, state, info) {
16240
16416
  const hasPhrasing = node2.children.some(function(d) {
16241
16417
  return phrasing(d);
@@ -16244,7 +16420,7 @@ function root(node2, _, state, info) {
16244
16420
  return container.call(state, node2, info);
16245
16421
  }
16246
16422
 
16247
- // node_modules/mdast-util-to-markdown/lib/util/check-strong.js
16423
+ // ../../node_modules/mdast-util-to-markdown/lib/util/check-strong.js
16248
16424
  function checkStrong(state) {
16249
16425
  const marker = state.options.strong || "*";
16250
16426
  if (marker !== "*" && marker !== "_") {
@@ -16255,7 +16431,7 @@ function checkStrong(state) {
16255
16431
  return marker;
16256
16432
  }
16257
16433
 
16258
- // node_modules/mdast-util-to-markdown/lib/handle/strong.js
16434
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/strong.js
16259
16435
  strong.peek = strongPeek;
16260
16436
  function strong(node2, _, state, info) {
16261
16437
  const marker = checkStrong(state);
@@ -16295,12 +16471,12 @@ function strongPeek(_, _1, state) {
16295
16471
  return state.options.strong || "*";
16296
16472
  }
16297
16473
 
16298
- // node_modules/mdast-util-to-markdown/lib/handle/text.js
16474
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/text.js
16299
16475
  function text(node2, _, state, info) {
16300
16476
  return state.safe(node2.value, info);
16301
16477
  }
16302
16478
 
16303
- // node_modules/mdast-util-to-markdown/lib/util/check-rule-repetition.js
16479
+ // ../../node_modules/mdast-util-to-markdown/lib/util/check-rule-repetition.js
16304
16480
  function checkRuleRepetition(state) {
16305
16481
  const repetition = state.options.ruleRepetition || 3;
16306
16482
  if (repetition < 3) {
@@ -16311,13 +16487,13 @@ function checkRuleRepetition(state) {
16311
16487
  return repetition;
16312
16488
  }
16313
16489
 
16314
- // node_modules/mdast-util-to-markdown/lib/handle/thematic-break.js
16490
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/thematic-break.js
16315
16491
  function thematicBreak(_, _1, state) {
16316
16492
  const value = (checkRule(state) + (state.options.ruleSpaces ? " " : "")).repeat(checkRuleRepetition(state));
16317
16493
  return state.options.ruleSpaces ? value.slice(0, -1) : value;
16318
16494
  }
16319
16495
 
16320
- // node_modules/mdast-util-to-markdown/lib/handle/index.js
16496
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/index.js
16321
16497
  var handle = {
16322
16498
  blockquote,
16323
16499
  break: hardBreak,
@@ -16341,7 +16517,7 @@ var handle = {
16341
16517
  thematicBreak
16342
16518
  };
16343
16519
 
16344
- // node_modules/character-entities/index.js
16520
+ // ../../node_modules/character-entities/index.js
16345
16521
  var characterEntities = {
16346
16522
  AElig: "\xC6",
16347
16523
  AMP: "&",
@@ -18470,13 +18646,13 @@ var characterEntities = {
18470
18646
  zwnj: "\u200C"
18471
18647
  };
18472
18648
 
18473
- // node_modules/decode-named-character-reference/index.js
18649
+ // ../../node_modules/decode-named-character-reference/index.js
18474
18650
  var own = {}.hasOwnProperty;
18475
18651
  function decodeNamedCharacterReference(value) {
18476
18652
  return own.call(characterEntities, value) ? characterEntities[value] : false;
18477
18653
  }
18478
18654
 
18479
- // node_modules/micromark-util-decode-numeric-character-reference/index.js
18655
+ // ../../node_modules/micromark-util-decode-numeric-character-reference/index.js
18480
18656
  function decodeNumericCharacterReference(value, base) {
18481
18657
  const code3 = Number.parseInt(value, base);
18482
18658
  if (
@@ -18494,7 +18670,7 @@ function decodeNumericCharacterReference(value, base) {
18494
18670
  return String.fromCodePoint(code3);
18495
18671
  }
18496
18672
 
18497
- // node_modules/micromark-util-decode-string/index.js
18673
+ // ../../node_modules/micromark-util-decode-string/index.js
18498
18674
  var characterEscapeOrReference = /\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;
18499
18675
  function decodeString(value) {
18500
18676
  return value.replace(characterEscapeOrReference, decode);
@@ -18512,7 +18688,7 @@ function decode($0, $1, $2) {
18512
18688
  return decodeNamedCharacterReference($2) || $0;
18513
18689
  }
18514
18690
 
18515
- // node_modules/mdast-util-gfm-table/lib/index.js
18691
+ // ../../node_modules/mdast-util-gfm-table/lib/index.js
18516
18692
  function gfmTableFromMarkdown() {
18517
18693
  return {
18518
18694
  enter: {
@@ -18665,7 +18841,7 @@ function gfmTableToMarkdown(options) {
18665
18841
  }
18666
18842
  }
18667
18843
 
18668
- // node_modules/mdast-util-gfm-task-list-item/lib/index.js
18844
+ // ../../node_modules/mdast-util-gfm-task-list-item/lib/index.js
18669
18845
  function gfmTaskListItemFromMarkdown() {
18670
18846
  return {
18671
18847
  exit: {
@@ -18738,7 +18914,7 @@ function listItemWithTaskListItem(node2, parent, state, info) {
18738
18914
  }
18739
18915
  }
18740
18916
 
18741
- // node_modules/mdast-util-gfm/lib/index.js
18917
+ // ../../node_modules/mdast-util-gfm/lib/index.js
18742
18918
  function gfmFromMarkdown() {
18743
18919
  return [
18744
18920
  gfmAutolinkLiteralFromMarkdown(),
@@ -18760,7 +18936,7 @@ function gfmToMarkdown(options) {
18760
18936
  };
18761
18937
  }
18762
18938
 
18763
- // node_modules/micromark-util-chunked/index.js
18939
+ // ../../node_modules/micromark-util-chunked/index.js
18764
18940
  function splice(list3, start, remove, items) {
18765
18941
  const end = list3.length;
18766
18942
  let chunkStart = 0;
@@ -18794,7 +18970,7 @@ function push(list3, items) {
18794
18970
  return items;
18795
18971
  }
18796
18972
 
18797
- // node_modules/micromark-util-combine-extensions/index.js
18973
+ // ../../node_modules/micromark-util-combine-extensions/index.js
18798
18974
  var hasOwnProperty2 = {}.hasOwnProperty;
18799
18975
  function combineExtensions(extensions) {
18800
18976
  const all2 = {};
@@ -18834,7 +19010,7 @@ function constructs(existing, list3) {
18834
19010
  splice(existing, 0, 0, before);
18835
19011
  }
18836
19012
 
18837
- // node_modules/micromark-extension-gfm-autolink-literal/lib/syntax.js
19013
+ // ../../node_modules/micromark-extension-gfm-autolink-literal/lib/syntax.js
18838
19014
  var wwwPrefix = {
18839
19015
  tokenize: tokenizeWwwPrefix,
18840
19016
  partial: true
@@ -19176,7 +19352,7 @@ function previousUnbalanced(events) {
19176
19352
  return result;
19177
19353
  }
19178
19354
 
19179
- // node_modules/micromark-util-resolve-all/index.js
19355
+ // ../../node_modules/micromark-util-resolve-all/index.js
19180
19356
  function resolveAll(constructs2, events, context) {
19181
19357
  const called = [];
19182
19358
  let index2 = -1;
@@ -19190,7 +19366,7 @@ function resolveAll(constructs2, events, context) {
19190
19366
  return events;
19191
19367
  }
19192
19368
 
19193
- // node_modules/micromark-core-commonmark/lib/attention.js
19369
+ // ../../node_modules/micromark-core-commonmark/lib/attention.js
19194
19370
  var attention = {
19195
19371
  name: "attention",
19196
19372
  resolveAll: resolveAllAttention,
@@ -19321,7 +19497,7 @@ function movePoint(point3, offset) {
19321
19497
  point3._bufferIndex += offset;
19322
19498
  }
19323
19499
 
19324
- // node_modules/micromark-core-commonmark/lib/autolink.js
19500
+ // ../../node_modules/micromark-core-commonmark/lib/autolink.js
19325
19501
  var autolink = {
19326
19502
  name: "autolink",
19327
19503
  tokenize: tokenizeAutolink
@@ -19422,7 +19598,7 @@ function tokenizeAutolink(effects, ok3, nok) {
19422
19598
  }
19423
19599
  }
19424
19600
 
19425
- // node_modules/micromark-factory-space/index.js
19601
+ // ../../node_modules/micromark-factory-space/index.js
19426
19602
  function factorySpace(effects, ok3, type, max) {
19427
19603
  const limit = max ? max - 1 : Number.POSITIVE_INFINITY;
19428
19604
  let size = 0;
@@ -19444,7 +19620,7 @@ function factorySpace(effects, ok3, type, max) {
19444
19620
  }
19445
19621
  }
19446
19622
 
19447
- // node_modules/micromark-core-commonmark/lib/blank-line.js
19623
+ // ../../node_modules/micromark-core-commonmark/lib/blank-line.js
19448
19624
  var blankLine = {
19449
19625
  partial: true,
19450
19626
  tokenize: tokenizeBlankLine
@@ -19459,7 +19635,7 @@ function tokenizeBlankLine(effects, ok3, nok) {
19459
19635
  }
19460
19636
  }
19461
19637
 
19462
- // node_modules/micromark-core-commonmark/lib/block-quote.js
19638
+ // ../../node_modules/micromark-core-commonmark/lib/block-quote.js
19463
19639
  var blockQuote = {
19464
19640
  continuation: {
19465
19641
  tokenize: tokenizeBlockQuoteContinuation
@@ -19517,7 +19693,7 @@ function exit2(effects) {
19517
19693
  effects.exit("blockQuote");
19518
19694
  }
19519
19695
 
19520
- // node_modules/micromark-core-commonmark/lib/character-escape.js
19696
+ // ../../node_modules/micromark-core-commonmark/lib/character-escape.js
19521
19697
  var characterEscape = {
19522
19698
  name: "characterEscape",
19523
19699
  tokenize: tokenizeCharacterEscape
@@ -19543,7 +19719,7 @@ function tokenizeCharacterEscape(effects, ok3, nok) {
19543
19719
  }
19544
19720
  }
19545
19721
 
19546
- // node_modules/micromark-core-commonmark/lib/character-reference.js
19722
+ // ../../node_modules/micromark-core-commonmark/lib/character-reference.js
19547
19723
  var characterReference = {
19548
19724
  name: "characterReference",
19549
19725
  tokenize: tokenizeCharacterReference
@@ -19608,7 +19784,7 @@ function tokenizeCharacterReference(effects, ok3, nok) {
19608
19784
  }
19609
19785
  }
19610
19786
 
19611
- // node_modules/micromark-core-commonmark/lib/code-fenced.js
19787
+ // ../../node_modules/micromark-core-commonmark/lib/code-fenced.js
19612
19788
  var nonLazyContinuation = {
19613
19789
  partial: true,
19614
19790
  tokenize: tokenizeNonLazyContinuation
@@ -19791,7 +19967,7 @@ function tokenizeNonLazyContinuation(effects, ok3, nok) {
19791
19967
  }
19792
19968
  }
19793
19969
 
19794
- // node_modules/micromark-core-commonmark/lib/code-indented.js
19970
+ // ../../node_modules/micromark-core-commonmark/lib/code-indented.js
19795
19971
  var codeIndented = {
19796
19972
  name: "codeIndented",
19797
19973
  tokenize: tokenizeCodeIndented
@@ -19855,7 +20031,7 @@ function tokenizeFurtherStart(effects, ok3, nok) {
19855
20031
  }
19856
20032
  }
19857
20033
 
19858
- // node_modules/micromark-core-commonmark/lib/code-text.js
20034
+ // ../../node_modules/micromark-core-commonmark/lib/code-text.js
19859
20035
  var codeText = {
19860
20036
  name: "codeText",
19861
20037
  previous: previous2,
@@ -19970,7 +20146,7 @@ function tokenizeCodeText(effects, ok3, nok) {
19970
20146
  }
19971
20147
  }
19972
20148
 
19973
- // node_modules/micromark-util-subtokenize/lib/splice-buffer.js
20149
+ // ../../node_modules/micromark-util-subtokenize/lib/splice-buffer.js
19974
20150
  var SpliceBuffer = class {
19975
20151
  /**
19976
20152
  * @param {ReadonlyArray<T> | null | undefined} [initial]
@@ -20163,7 +20339,7 @@ function chunkedPush(list3, right) {
20163
20339
  }
20164
20340
  }
20165
20341
 
20166
- // node_modules/micromark-util-subtokenize/index.js
20342
+ // ../../node_modules/micromark-util-subtokenize/index.js
20167
20343
  function subtokenize(eventsArray) {
20168
20344
  const jumps = {};
20169
20345
  let index2 = -1;
@@ -20316,7 +20492,7 @@ function subcontent(events, eventIndex) {
20316
20492
  return gaps;
20317
20493
  }
20318
20494
 
20319
- // node_modules/micromark-core-commonmark/lib/content.js
20495
+ // ../../node_modules/micromark-core-commonmark/lib/content.js
20320
20496
  var content = {
20321
20497
  resolve: resolveContent,
20322
20498
  tokenize: tokenizeContent
@@ -20387,7 +20563,7 @@ function tokenizeContinuation(effects, ok3, nok) {
20387
20563
  }
20388
20564
  }
20389
20565
 
20390
- // node_modules/micromark-factory-destination/index.js
20566
+ // ../../node_modules/micromark-factory-destination/index.js
20391
20567
  function factoryDestination(effects, ok3, nok, type, literalType, literalMarkerType, rawType, stringType, max) {
20392
20568
  const limit = max || Number.POSITIVE_INFINITY;
20393
20569
  let balance = 0;
@@ -20479,7 +20655,7 @@ function factoryDestination(effects, ok3, nok, type, literalType, literalMarkerT
20479
20655
  }
20480
20656
  }
20481
20657
 
20482
- // node_modules/micromark-factory-label/index.js
20658
+ // ../../node_modules/micromark-factory-label/index.js
20483
20659
  function factoryLabel(effects, ok3, nok, type, markerType, stringType) {
20484
20660
  const self = this;
20485
20661
  let size = 0;
@@ -20540,7 +20716,7 @@ function factoryLabel(effects, ok3, nok, type, markerType, stringType) {
20540
20716
  }
20541
20717
  }
20542
20718
 
20543
- // node_modules/micromark-factory-title/index.js
20719
+ // ../../node_modules/micromark-factory-title/index.js
20544
20720
  function factoryTitle(effects, ok3, nok, type, markerType, stringType) {
20545
20721
  let marker;
20546
20722
  return start;
@@ -20602,7 +20778,7 @@ function factoryTitle(effects, ok3, nok, type, markerType, stringType) {
20602
20778
  }
20603
20779
  }
20604
20780
 
20605
- // node_modules/micromark-factory-whitespace/index.js
20781
+ // ../../node_modules/micromark-factory-whitespace/index.js
20606
20782
  function factoryWhitespace(effects, ok3) {
20607
20783
  let seen;
20608
20784
  return start;
@@ -20621,7 +20797,7 @@ function factoryWhitespace(effects, ok3) {
20621
20797
  }
20622
20798
  }
20623
20799
 
20624
- // node_modules/micromark-core-commonmark/lib/definition.js
20800
+ // ../../node_modules/micromark-core-commonmark/lib/definition.js
20625
20801
  var definition2 = {
20626
20802
  name: "definition",
20627
20803
  tokenize: tokenizeDefinition
@@ -20707,7 +20883,7 @@ function tokenizeTitleBefore(effects, ok3, nok) {
20707
20883
  }
20708
20884
  }
20709
20885
 
20710
- // node_modules/micromark-core-commonmark/lib/hard-break-escape.js
20886
+ // ../../node_modules/micromark-core-commonmark/lib/hard-break-escape.js
20711
20887
  var hardBreakEscape = {
20712
20888
  name: "hardBreakEscape",
20713
20889
  tokenize: tokenizeHardBreakEscape
@@ -20728,7 +20904,7 @@ function tokenizeHardBreakEscape(effects, ok3, nok) {
20728
20904
  }
20729
20905
  }
20730
20906
 
20731
- // node_modules/micromark-core-commonmark/lib/heading-atx.js
20907
+ // ../../node_modules/micromark-core-commonmark/lib/heading-atx.js
20732
20908
  var headingAtx = {
20733
20909
  name: "headingAtx",
20734
20910
  resolve: resolveHeadingAtx,
@@ -20819,7 +20995,7 @@ function tokenizeHeadingAtx(effects, ok3, nok) {
20819
20995
  }
20820
20996
  }
20821
20997
 
20822
- // node_modules/micromark-util-html-tag-name/index.js
20998
+ // ../../node_modules/micromark-util-html-tag-name/index.js
20823
20999
  var htmlBlockNames = [
20824
21000
  "address",
20825
21001
  "article",
@@ -20886,7 +21062,7 @@ var htmlBlockNames = [
20886
21062
  ];
20887
21063
  var htmlRawNames = ["pre", "script", "style", "textarea"];
20888
21064
 
20889
- // node_modules/micromark-core-commonmark/lib/html-flow.js
21065
+ // ../../node_modules/micromark-core-commonmark/lib/html-flow.js
20890
21066
  var htmlFlow = {
20891
21067
  concrete: true,
20892
21068
  name: "htmlFlow",
@@ -21265,7 +21441,7 @@ function tokenizeBlankLineBefore(effects, ok3, nok) {
21265
21441
  }
21266
21442
  }
21267
21443
 
21268
- // node_modules/micromark-core-commonmark/lib/html-text.js
21444
+ // ../../node_modules/micromark-core-commonmark/lib/html-text.js
21269
21445
  var htmlText = {
21270
21446
  name: "htmlText",
21271
21447
  tokenize: tokenizeHtmlText
@@ -21571,7 +21747,7 @@ function tokenizeHtmlText(effects, ok3, nok) {
21571
21747
  }
21572
21748
  }
21573
21749
 
21574
- // node_modules/micromark-core-commonmark/lib/label-end.js
21750
+ // ../../node_modules/micromark-core-commonmark/lib/label-end.js
21575
21751
  var labelEnd = {
21576
21752
  name: "labelEnd",
21577
21753
  resolveAll: resolveAllLabelEnd,
@@ -21797,7 +21973,7 @@ function tokenizeReferenceCollapsed(effects, ok3, nok) {
21797
21973
  }
21798
21974
  }
21799
21975
 
21800
- // node_modules/micromark-core-commonmark/lib/label-start-image.js
21976
+ // ../../node_modules/micromark-core-commonmark/lib/label-start-image.js
21801
21977
  var labelStartImage = {
21802
21978
  name: "labelStartImage",
21803
21979
  resolveAll: labelEnd.resolveAll,
@@ -21828,7 +22004,7 @@ function tokenizeLabelStartImage(effects, ok3, nok) {
21828
22004
  }
21829
22005
  }
21830
22006
 
21831
- // node_modules/micromark-core-commonmark/lib/label-start-link.js
22007
+ // ../../node_modules/micromark-core-commonmark/lib/label-start-link.js
21832
22008
  var labelStartLink = {
21833
22009
  name: "labelStartLink",
21834
22010
  resolveAll: labelEnd.resolveAll,
@@ -21850,7 +22026,7 @@ function tokenizeLabelStartLink(effects, ok3, nok) {
21850
22026
  }
21851
22027
  }
21852
22028
 
21853
- // node_modules/micromark-core-commonmark/lib/line-ending.js
22029
+ // ../../node_modules/micromark-core-commonmark/lib/line-ending.js
21854
22030
  var lineEnding = {
21855
22031
  name: "lineEnding",
21856
22032
  tokenize: tokenizeLineEnding
@@ -21865,7 +22041,7 @@ function tokenizeLineEnding(effects, ok3) {
21865
22041
  }
21866
22042
  }
21867
22043
 
21868
- // node_modules/micromark-core-commonmark/lib/thematic-break.js
22044
+ // ../../node_modules/micromark-core-commonmark/lib/thematic-break.js
21869
22045
  var thematicBreak2 = {
21870
22046
  name: "thematicBreak",
21871
22047
  tokenize: tokenizeThematicBreak
@@ -21904,7 +22080,7 @@ function tokenizeThematicBreak(effects, ok3, nok) {
21904
22080
  }
21905
22081
  }
21906
22082
 
21907
- // node_modules/micromark-core-commonmark/lib/list.js
22083
+ // ../../node_modules/micromark-core-commonmark/lib/list.js
21908
22084
  var list2 = {
21909
22085
  continuation: {
21910
22086
  tokenize: tokenizeListContinuation
@@ -22034,7 +22210,7 @@ function tokenizeListItemPrefixWhitespace(effects, ok3, nok) {
22034
22210
  }
22035
22211
  }
22036
22212
 
22037
- // node_modules/micromark-core-commonmark/lib/setext-underline.js
22213
+ // ../../node_modules/micromark-core-commonmark/lib/setext-underline.js
22038
22214
  var setextUnderline = {
22039
22215
  name: "setextUnderline",
22040
22216
  resolveTo: resolveToSetextUnderline,
@@ -22126,7 +22302,7 @@ function tokenizeSetextUnderline(effects, ok3, nok) {
22126
22302
  }
22127
22303
  }
22128
22304
 
22129
- // node_modules/micromark-extension-gfm-footnote/lib/syntax.js
22305
+ // ../../node_modules/micromark-extension-gfm-footnote/lib/syntax.js
22130
22306
  var indent = {
22131
22307
  tokenize: tokenizeIndent2,
22132
22308
  partial: true
@@ -22401,7 +22577,7 @@ function tokenizeIndent2(effects, ok3, nok) {
22401
22577
  }
22402
22578
  }
22403
22579
 
22404
- // node_modules/micromark-extension-gfm-strikethrough/lib/syntax.js
22580
+ // ../../node_modules/micromark-extension-gfm-strikethrough/lib/syntax.js
22405
22581
  function gfmStrikethrough(options) {
22406
22582
  const options_ = options || {};
22407
22583
  let single = options_.singleTilde;
@@ -22495,7 +22671,7 @@ function gfmStrikethrough(options) {
22495
22671
  }
22496
22672
  }
22497
22673
 
22498
- // node_modules/micromark-extension-gfm-table/lib/edit-map.js
22674
+ // ../../node_modules/micromark-extension-gfm-table/lib/edit-map.js
22499
22675
  var EditMap = class {
22500
22676
  /**
22501
22677
  * Create a new edit map.
@@ -22574,7 +22750,7 @@ function addImplementation(editMap, at, remove, add) {
22574
22750
  editMap.map.push([at, remove, add]);
22575
22751
  }
22576
22752
 
22577
- // node_modules/micromark-extension-gfm-table/lib/infer.js
22753
+ // ../../node_modules/micromark-extension-gfm-table/lib/infer.js
22578
22754
  function gfmTableAlign(events, index2) {
22579
22755
  let inDelimiterRow = false;
22580
22756
  const align = [];
@@ -22601,7 +22777,7 @@ function gfmTableAlign(events, index2) {
22601
22777
  return align;
22602
22778
  }
22603
22779
 
22604
- // node_modules/micromark-extension-gfm-table/lib/syntax.js
22780
+ // ../../node_modules/micromark-extension-gfm-table/lib/syntax.js
22605
22781
  function gfmTable() {
22606
22782
  return {
22607
22783
  flow: {
@@ -22987,7 +23163,7 @@ function getPoint(events, index2) {
22987
23163
  return event[1][side];
22988
23164
  }
22989
23165
 
22990
- // node_modules/micromark-extension-gfm-task-list-item/lib/syntax.js
23166
+ // ../../node_modules/micromark-extension-gfm-task-list-item/lib/syntax.js
22991
23167
  var tasklistCheck = {
22992
23168
  name: "tasklistCheck",
22993
23169
  tokenize: tokenizeTasklistCheck
@@ -23061,7 +23237,7 @@ function spaceThenNonSpace(effects, ok3, nok) {
23061
23237
  }
23062
23238
  }
23063
23239
 
23064
- // node_modules/micromark-extension-gfm/index.js
23240
+ // ../../node_modules/micromark-extension-gfm/index.js
23065
23241
  function gfm(options) {
23066
23242
  return combineExtensions([
23067
23243
  gfmAutolinkLiteral(),
@@ -23072,7 +23248,7 @@ function gfm(options) {
23072
23248
  ]);
23073
23249
  }
23074
23250
 
23075
- // node_modules/remark-gfm/lib/index.js
23251
+ // ../../node_modules/remark-gfm/lib/index.js
23076
23252
  var emptyOptions2 = {};
23077
23253
  function remarkGfm(options) {
23078
23254
  const self = (
@@ -23089,7 +23265,7 @@ function remarkGfm(options) {
23089
23265
  toMarkdownExtensions.push(gfmToMarkdown(settings));
23090
23266
  }
23091
23267
 
23092
- // node_modules/micromark/lib/initialize/content.js
23268
+ // ../../node_modules/micromark/lib/initialize/content.js
23093
23269
  var content2 = {
23094
23270
  tokenize: initializeContent
23095
23271
  };
@@ -23139,7 +23315,7 @@ function initializeContent(effects) {
23139
23315
  }
23140
23316
  }
23141
23317
 
23142
- // node_modules/micromark/lib/initialize/document.js
23318
+ // ../../node_modules/micromark/lib/initialize/document.js
23143
23319
  var document = {
23144
23320
  tokenize: initializeDocument
23145
23321
  };
@@ -23321,7 +23497,7 @@ function tokenizeContainer(effects, ok3, nok) {
23321
23497
  return factorySpace(effects, effects.attempt(this.parser.constructs.document, ok3, nok), "linePrefix", this.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4);
23322
23498
  }
23323
23499
 
23324
- // node_modules/micromark/lib/initialize/flow.js
23500
+ // ../../node_modules/micromark/lib/initialize/flow.js
23325
23501
  var flow = {
23326
23502
  tokenize: initializeFlow
23327
23503
  };
@@ -23359,7 +23535,7 @@ function initializeFlow(effects) {
23359
23535
  }
23360
23536
  }
23361
23537
 
23362
- // node_modules/micromark/lib/initialize/text.js
23538
+ // ../../node_modules/micromark/lib/initialize/text.js
23363
23539
  var resolver = {
23364
23540
  resolveAll: createResolver()
23365
23541
  };
@@ -23498,7 +23674,7 @@ function resolveAllLineSuffixes(events, context) {
23498
23674
  return events;
23499
23675
  }
23500
23676
 
23501
- // node_modules/micromark/lib/constructs.js
23677
+ // ../../node_modules/micromark/lib/constructs.js
23502
23678
  var constructs_exports = {};
23503
23679
  __export(constructs_exports, {
23504
23680
  attentionMarkers: () => attentionMarkers,
@@ -23573,7 +23749,7 @@ var disable = {
23573
23749
  null: []
23574
23750
  };
23575
23751
 
23576
- // node_modules/micromark/lib/create-tokenizer.js
23752
+ // ../../node_modules/micromark/lib/create-tokenizer.js
23577
23753
  function createTokenizer(parser, initialize, from) {
23578
23754
  let point3 = {
23579
23755
  _bufferIndex: -1,
@@ -23896,7 +24072,7 @@ function serializeChunks(chunks, expandTabs) {
23896
24072
  return result.join("");
23897
24073
  }
23898
24074
 
23899
- // node_modules/micromark/lib/parse.js
24075
+ // ../../node_modules/micromark/lib/parse.js
23900
24076
  function parse(options) {
23901
24077
  const settings = options || {};
23902
24078
  const constructs2 = (
@@ -23922,14 +24098,14 @@ function parse(options) {
23922
24098
  }
23923
24099
  }
23924
24100
 
23925
- // node_modules/micromark/lib/postprocess.js
24101
+ // ../../node_modules/micromark/lib/postprocess.js
23926
24102
  function postprocess(events) {
23927
24103
  while (!subtokenize(events)) {
23928
24104
  }
23929
24105
  return events;
23930
24106
  }
23931
24107
 
23932
- // node_modules/micromark/lib/preprocess.js
24108
+ // ../../node_modules/micromark/lib/preprocess.js
23933
24109
  var search = /[\0\t\n\r]/g;
23934
24110
  function preprocess() {
23935
24111
  let column = 1;
@@ -24008,7 +24184,7 @@ function preprocess() {
24008
24184
  }
24009
24185
  }
24010
24186
 
24011
- // node_modules/unist-util-stringify-position/lib/index.js
24187
+ // ../../node_modules/unist-util-stringify-position/lib/index.js
24012
24188
  function stringifyPosition(value) {
24013
24189
  if (!value || typeof value !== "object") {
24014
24190
  return "";
@@ -24034,7 +24210,7 @@ function index(value) {
24034
24210
  return value && typeof value === "number" ? value : 1;
24035
24211
  }
24036
24212
 
24037
- // node_modules/mdast-util-from-markdown/lib/index.js
24213
+ // ../../node_modules/mdast-util-from-markdown/lib/index.js
24038
24214
  var own2 = {}.hasOwnProperty;
24039
24215
  function fromMarkdown(value, encoding, options) {
24040
24216
  if (encoding && typeof encoding === "object") {
@@ -24743,7 +24919,7 @@ function defaultOnError(left, right) {
24743
24919
  }
24744
24920
  }
24745
24921
 
24746
- // node_modules/remark-parse/lib/index.js
24922
+ // ../../node_modules/remark-parse/lib/index.js
24747
24923
  function remarkParse(options) {
24748
24924
  const self = this;
24749
24925
  self.parser = parser;
@@ -24760,17 +24936,17 @@ function remarkParse(options) {
24760
24936
  }
24761
24937
  }
24762
24938
 
24763
- // node_modules/bail/index.js
24939
+ // ../../node_modules/bail/index.js
24764
24940
  function bail(error) {
24765
24941
  if (error) {
24766
24942
  throw error;
24767
24943
  }
24768
24944
  }
24769
24945
 
24770
- // node_modules/unified/lib/index.js
24946
+ // ../../node_modules/unified/lib/index.js
24771
24947
  var import_extend = __toESM(require_extend(), 1);
24772
24948
 
24773
- // node_modules/is-plain-obj/index.js
24949
+ // ../../node_modules/is-plain-obj/index.js
24774
24950
  function isPlainObject2(value) {
24775
24951
  if (typeof value !== "object" || value === null) {
24776
24952
  return false;
@@ -24779,7 +24955,7 @@ function isPlainObject2(value) {
24779
24955
  return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in value) && !(Symbol.iterator in value);
24780
24956
  }
24781
24957
 
24782
- // node_modules/trough/lib/index.js
24958
+ // ../../node_modules/trough/lib/index.js
24783
24959
  function trough() {
24784
24960
  const fns = [];
24785
24961
  const pipeline = { run, use };
@@ -24863,7 +25039,7 @@ function wrap(middleware, callback) {
24863
25039
  }
24864
25040
  }
24865
25041
 
24866
- // node_modules/vfile-message/lib/index.js
25042
+ // ../../node_modules/vfile-message/lib/index.js
24867
25043
  var VFileMessage = class extends Error {
24868
25044
  /**
24869
25045
  * Create a message for `reason`.
@@ -24999,16 +25175,16 @@ VFileMessage.prototype.place = void 0;
24999
25175
  VFileMessage.prototype.ruleId = void 0;
25000
25176
  VFileMessage.prototype.source = void 0;
25001
25177
 
25002
- // node_modules/vfile/lib/minpath.js
25178
+ // ../../node_modules/vfile/lib/minpath.js
25003
25179
  import { default as default2 } from "node:path";
25004
25180
 
25005
- // node_modules/vfile/lib/minproc.js
25181
+ // ../../node_modules/vfile/lib/minproc.js
25006
25182
  import { default as default3 } from "node:process";
25007
25183
 
25008
- // node_modules/vfile/lib/minurl.js
25184
+ // ../../node_modules/vfile/lib/minurl.js
25009
25185
  import { fileURLToPath } from "node:url";
25010
25186
 
25011
- // node_modules/vfile/lib/minurl.shared.js
25187
+ // ../../node_modules/vfile/lib/minurl.shared.js
25012
25188
  function isUrl(fileUrlOrPath) {
25013
25189
  return Boolean(
25014
25190
  fileUrlOrPath !== null && typeof fileUrlOrPath === "object" && "href" in fileUrlOrPath && fileUrlOrPath.href && "protocol" in fileUrlOrPath && fileUrlOrPath.protocol && // @ts-expect-error: indexing is fine.
@@ -25016,7 +25192,7 @@ function isUrl(fileUrlOrPath) {
25016
25192
  );
25017
25193
  }
25018
25194
 
25019
- // node_modules/vfile/lib/index.js
25195
+ // ../../node_modules/vfile/lib/index.js
25020
25196
  var order = (
25021
25197
  /** @type {const} */
25022
25198
  [
@@ -25472,7 +25648,7 @@ function isUint8Array(value) {
25472
25648
  );
25473
25649
  }
25474
25650
 
25475
- // node_modules/unified/lib/callable-instance.js
25651
+ // ../../node_modules/unified/lib/callable-instance.js
25476
25652
  var CallableInstance = (
25477
25653
  /**
25478
25654
  * @type {new <Parameters extends Array<unknown>, Result>(property: string | symbol) => (...parameters: Parameters) => Result}
@@ -25501,7 +25677,7 @@ var CallableInstance = (
25501
25677
  })
25502
25678
  );
25503
25679
 
25504
- // node_modules/unified/lib/index.js
25680
+ // ../../node_modules/unified/lib/index.js
25505
25681
  var own3 = {}.hasOwnProperty;
25506
25682
  var Processor = class _Processor extends CallableInstance {
25507
25683
  /**
@@ -27209,6 +27385,7 @@ async function runDeclarativeValidationCli(input) {
27209
27385
  documentDiagnosticsResult(
27210
27386
  normalizeResult.document,
27211
27387
  profileResult.profile,
27388
+ markdown.content,
27212
27389
  [
27213
27390
  ...documentDiagnostics,
27214
27391
  ...documentVersionDiagnostics(
@@ -27223,7 +27400,7 @@ async function runDeclarativeValidationCli(input) {
27223
27400
  const validationResult = validateWithProfile(
27224
27401
  normalizeResult.document,
27225
27402
  profileResult.profile,
27226
- { includeEvidence: true }
27403
+ { includeEvidence: true, sourceText: markdown.content }
27227
27404
  );
27228
27405
  const result = mergeDocumentDiagnostics(
27229
27406
  validationResult,
@@ -27255,13 +27432,13 @@ function profileStageResult(diagnostics) {
27255
27432
  ruleResults: []
27256
27433
  };
27257
27434
  }
27258
- function documentDiagnosticsResult(document3, profile, diagnostics) {
27435
+ function documentDiagnosticsResult(document3, profile, sourceText, diagnostics) {
27259
27436
  return createDeclarativeValidationResult({
27260
27437
  document: document3,
27261
27438
  profile,
27262
27439
  ruleResults: [],
27263
27440
  diagnostics,
27264
- options: { includeEvidence: true }
27441
+ options: { includeEvidence: true, sourceText }
27265
27442
  });
27266
27443
  }
27267
27444
  function mergeDocumentDiagnostics(validationResult, documentDiagnostics) {