@jasonbelmonti/markdown-engine 3.1.1 → 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 (79) hide show
  1. package/CHANGELOG.md +14 -0
  2. package/README.md +28 -11
  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 +25 -2
  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 +1 -1
  75. package/dist/internal/package-version.js +1 -1
  76. package/dist-bundled/markdown-engine-cli.mjs +699 -525
  77. package/docs/contracts/declarative-validation.md +64 -8
  78. package/package.json +9 -5
  79. 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
 
@@ -13419,7 +13543,7 @@ function cloneSourceRange2(sourceRange) {
13419
13543
  import { createHash } from "node:crypto";
13420
13544
 
13421
13545
  // src/internal/package-version.ts
13422
- var MARKDOWN_ENGINE_PACKAGE_VERSION = "3.1.1";
13546
+ var MARKDOWN_ENGINE_PACKAGE_VERSION = "3.2.0";
13423
13547
 
13424
13548
  // src/internal/stable-json.ts
13425
13549
  function normalizeStableJsonValue(value) {
@@ -13555,16 +13679,37 @@ function passedFromStatus(status) {
13555
13679
  }
13556
13680
 
13557
13681
  // src/declarative-validation/evidence/index.ts
13558
- 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;
13559
13684
  return {
13560
- inputHash: sha256(stringifyStableJson(documentWithoutPath(document3))),
13685
+ inputHash: sha256(
13686
+ stringifyStableJson(canonicalInput(document3, sourceLength))
13687
+ ),
13561
13688
  profileHash: sha256(stringifyStableJson(resolvedProfile(profile, document3))),
13562
13689
  engineVersion: MARKDOWN_ENGINE_PACKAGE_VERSION,
13563
13690
  runtimeVersion: process.version,
13691
+ ...sourceLength !== void 0 ? { sourceLength } : {},
13564
13692
  ruleResults: cloneRuleResults(ruleResults),
13565
13693
  diagnostics: cloneDiagnostics(diagnostics)
13566
13694
  };
13567
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
+ }
13568
13713
  function resolvedProfile(profile, document3) {
13569
13714
  return {
13570
13715
  syntaxVersion: profile.syntaxVersion,
@@ -13646,7 +13791,8 @@ function withEvidence(result, document3, profile, options) {
13646
13791
  document3,
13647
13792
  profile,
13648
13793
  result.ruleResults,
13649
- result.diagnostics
13794
+ result.diagnostics,
13795
+ options.sourceText
13650
13796
  )
13651
13797
  };
13652
13798
  }
@@ -13712,8 +13858,11 @@ function validateWithProfile(document3, profile, options = {}) {
13712
13858
  }
13713
13859
  const compileResult = compileValidationProfile(materializedProfile.profile);
13714
13860
  const compiledRules = compileResult.plan?.rules ?? [];
13861
+ const runtimeContext = options.sourceText === void 0 ? {} : { sourceText: options.sourceText };
13715
13862
  const ruleResults = sortValidationRuleResults(
13716
- compiledRules.flatMap((rule) => evaluateApplicableCompiledRule(document3, rule))
13863
+ compiledRules.flatMap(
13864
+ (rule) => evaluateApplicableCompiledRule(document3, rule, runtimeContext)
13865
+ )
13717
13866
  );
13718
13867
  const diagnostics = [
13719
13868
  ...compileResult.diagnostics,
@@ -13727,32 +13876,56 @@ function validateWithProfile(document3, profile, options = {}) {
13727
13876
  options
13728
13877
  });
13729
13878
  }
13730
- function evaluateApplicableCompiledRule(document3, rule) {
13879
+ function evaluateApplicableCompiledRule(document3, rule, runtimeContext) {
13731
13880
  const applicability = classifyCompiledDeclarativeRuleApplicability(
13732
13881
  rule,
13733
- document3
13882
+ document3,
13883
+ runtimeContext
13734
13884
  );
13735
- return applicability.status === "notMatched" ? [
13736
- createSkippedDeclarativeValidationRuleResult({
13737
- ruleId: rule.ruleId,
13738
- when: applicability.result
13739
- })
13740
- ] : 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);
13741
13897
  }
13742
- function evaluateCompiledRule(document3, rule) {
13898
+ function evaluateCompiledRule(document3, rule, runtimeContext) {
13743
13899
  if (isCompiledAnyOfRule(rule)) {
13744
- return [evaluateCompiledDeclarativeAnyOfRule(rule, document3)];
13900
+ return [evaluateCompiledDeclarativeAnyOfRule(rule, document3, runtimeContext)];
13745
13901
  }
13746
13902
  if (isCompiledAllOfRule(rule)) {
13747
- return [evaluateCompiledDeclarativeAllOfRule(rule, document3)];
13903
+ return [evaluateCompiledDeclarativeAllOfRule(rule, document3, runtimeContext)];
13748
13904
  }
13749
13905
  return [
13750
13906
  evaluateCompiledDeclarativeRule(
13751
13907
  rule,
13752
- resolveDeclarativeSelector(document3, rule.selector)
13908
+ resolveDeclarativeSelector(document3, rule.selector),
13909
+ runtimeContext
13753
13910
  )
13754
13911
  ];
13755
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
+ }
13756
13929
  function isCompiledAnyOfRule(rule) {
13757
13930
  return "kind" in rule && rule.kind === "anyOf";
13758
13931
  }
@@ -14556,7 +14729,7 @@ function parseFrontmatter(markdown) {
14556
14729
  };
14557
14730
  }
14558
14731
 
14559
- // node_modules/ccount/index.js
14732
+ // ../../node_modules/ccount/index.js
14560
14733
  function ccount(value, character) {
14561
14734
  const source = String(value);
14562
14735
  if (typeof character !== "string") {
@@ -14571,11 +14744,11 @@ function ccount(value, character) {
14571
14744
  return count;
14572
14745
  }
14573
14746
 
14574
- // node_modules/devlop/lib/default.js
14747
+ // ../../node_modules/devlop/lib/default.js
14575
14748
  function ok() {
14576
14749
  }
14577
14750
 
14578
- // node_modules/micromark-util-character/index.js
14751
+ // ../../node_modules/micromark-util-character/index.js
14579
14752
  var asciiAlpha = regexCheck(/[A-Za-z]/);
14580
14753
  var asciiAlphanumeric = regexCheck(/[\dA-Za-z]/);
14581
14754
  var asciiAtext = regexCheck(/[#-'*+\--9=?A-Z^-~]/);
@@ -14607,7 +14780,7 @@ function regexCheck(regex) {
14607
14780
  }
14608
14781
  }
14609
14782
 
14610
- // node_modules/escape-string-regexp/index.js
14783
+ // ../../node_modules/escape-string-regexp/index.js
14611
14784
  function escapeStringRegexp(string3) {
14612
14785
  if (typeof string3 !== "string") {
14613
14786
  throw new TypeError("Expected a string");
@@ -14615,7 +14788,7 @@ function escapeStringRegexp(string3) {
14615
14788
  return string3.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d");
14616
14789
  }
14617
14790
 
14618
- // node_modules/unist-util-is/lib/index.js
14791
+ // ../../node_modules/unist-util-is/lib/index.js
14619
14792
  var convert = (
14620
14793
  // Note: overloads in JSDoc can’t yet use different `@template`s.
14621
14794
  /**
@@ -14714,12 +14887,12 @@ function looksLikeANode(value) {
14714
14887
  return value !== null && typeof value === "object" && "type" in value;
14715
14888
  }
14716
14889
 
14717
- // node_modules/unist-util-visit-parents/lib/color.node.js
14890
+ // ../../node_modules/unist-util-visit-parents/lib/color.node.js
14718
14891
  function color(d) {
14719
14892
  return "\x1B[33m" + d + "\x1B[39m";
14720
14893
  }
14721
14894
 
14722
- // node_modules/unist-util-visit-parents/lib/index.js
14895
+ // ../../node_modules/unist-util-visit-parents/lib/index.js
14723
14896
  var empty = [];
14724
14897
  var CONTINUE = true;
14725
14898
  var EXIT = false;
@@ -14796,7 +14969,7 @@ function toResult(value) {
14796
14969
  return value === null || value === void 0 ? empty : [value];
14797
14970
  }
14798
14971
 
14799
- // node_modules/mdast-util-find-and-replace/lib/index.js
14972
+ // ../../node_modules/mdast-util-find-and-replace/lib/index.js
14800
14973
  function findAndReplace(tree, list3, options) {
14801
14974
  const settings = options || {};
14802
14975
  const ignored = convert(settings.ignore || []);
@@ -14901,7 +15074,7 @@ function toFunction(replace2) {
14901
15074
  };
14902
15075
  }
14903
15076
 
14904
- // node_modules/mdast-util-gfm-autolink-literal/lib/index.js
15077
+ // ../../node_modules/mdast-util-gfm-autolink-literal/lib/index.js
14905
15078
  var inConstruct = "phrasing";
14906
15079
  var notInConstruct = ["autolink", "link", "image", "label"];
14907
15080
  function gfmAutolinkLiteralFromMarkdown() {
@@ -15051,12 +15224,12 @@ function previous(match, email) {
15051
15224
  (!email || code3 !== 47);
15052
15225
  }
15053
15226
 
15054
- // node_modules/micromark-util-normalize-identifier/index.js
15227
+ // ../../node_modules/micromark-util-normalize-identifier/index.js
15055
15228
  function normalizeIdentifier(value) {
15056
15229
  return value.replace(/[\t\n\r ]+/g, " ").replace(/^ | $/g, "").toLowerCase().toUpperCase();
15057
15230
  }
15058
15231
 
15059
- // node_modules/mdast-util-gfm-footnote/lib/index.js
15232
+ // ../../node_modules/mdast-util-gfm-footnote/lib/index.js
15060
15233
  footnoteReference.peek = footnoteReferencePeek;
15061
15234
  function enterFootnoteCallString() {
15062
15235
  this.buffer();
@@ -15169,7 +15342,7 @@ function mapAll(line, index2, blank) {
15169
15342
  return (blank ? "" : " ") + line;
15170
15343
  }
15171
15344
 
15172
- // node_modules/mdast-util-gfm-strikethrough/lib/index.js
15345
+ // ../../node_modules/mdast-util-gfm-strikethrough/lib/index.js
15173
15346
  var constructsWithoutStrikethrough = [
15174
15347
  "autolink",
15175
15348
  "destinationLiteral",
@@ -15221,7 +15394,7 @@ function peekDelete() {
15221
15394
  return "~";
15222
15395
  }
15223
15396
 
15224
- // node_modules/markdown-table/index.js
15397
+ // ../../node_modules/markdown-table/index.js
15225
15398
  function defaultStringLength(value) {
15226
15399
  return value.length;
15227
15400
  }
@@ -15362,7 +15535,7 @@ function toAlignment(value) {
15362
15535
  return code3 === 67 || code3 === 99 ? 99 : code3 === 76 || code3 === 108 ? 108 : code3 === 82 || code3 === 114 ? 114 : 0;
15363
15536
  }
15364
15537
 
15365
- // node_modules/mdast-util-to-markdown/lib/handle/blockquote.js
15538
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/blockquote.js
15366
15539
  function blockquote(node2, _, state, info) {
15367
15540
  const exit3 = state.enter("blockquote");
15368
15541
  const tracker = state.createTracker(info);
@@ -15379,7 +15552,7 @@ function map(line, _, blank) {
15379
15552
  return ">" + (blank ? "" : " ") + line;
15380
15553
  }
15381
15554
 
15382
- // 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
15383
15556
  function patternInScope(stack, pattern) {
15384
15557
  return listInScope(stack, pattern.inConstruct, true) && !listInScope(stack, pattern.notInConstruct, false);
15385
15558
  }
@@ -15399,7 +15572,7 @@ function listInScope(stack, list3, none) {
15399
15572
  return false;
15400
15573
  }
15401
15574
 
15402
- // node_modules/mdast-util-to-markdown/lib/handle/break.js
15575
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/break.js
15403
15576
  function hardBreak(_, _1, state, info) {
15404
15577
  let index2 = -1;
15405
15578
  while (++index2 < state.unsafe.length) {
@@ -15410,7 +15583,7 @@ function hardBreak(_, _1, state, info) {
15410
15583
  return "\\\n";
15411
15584
  }
15412
15585
 
15413
- // node_modules/longest-streak/index.js
15586
+ // ../../node_modules/longest-streak/index.js
15414
15587
  function longestStreak(value, substring) {
15415
15588
  const source = String(value);
15416
15589
  let index2 = source.indexOf(substring);
@@ -15434,7 +15607,7 @@ function longestStreak(value, substring) {
15434
15607
  return max;
15435
15608
  }
15436
15609
 
15437
- // 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
15438
15611
  function formatCodeAsIndented(node2, state) {
15439
15612
  return Boolean(
15440
15613
  state.options.fences === false && node2.value && // If there’s no info…
@@ -15444,7 +15617,7 @@ function formatCodeAsIndented(node2, state) {
15444
15617
  );
15445
15618
  }
15446
15619
 
15447
- // node_modules/mdast-util-to-markdown/lib/util/check-fence.js
15620
+ // ../../node_modules/mdast-util-to-markdown/lib/util/check-fence.js
15448
15621
  function checkFence(state) {
15449
15622
  const marker = state.options.fence || "`";
15450
15623
  if (marker !== "`" && marker !== "~") {
@@ -15455,7 +15628,7 @@ function checkFence(state) {
15455
15628
  return marker;
15456
15629
  }
15457
15630
 
15458
- // node_modules/mdast-util-to-markdown/lib/handle/code.js
15631
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/code.js
15459
15632
  function code(node2, _, state, info) {
15460
15633
  const marker = checkFence(state);
15461
15634
  const raw = node2.value || "";
@@ -15507,7 +15680,7 @@ function map2(line, _, blank) {
15507
15680
  return (blank ? "" : " ") + line;
15508
15681
  }
15509
15682
 
15510
- // node_modules/mdast-util-to-markdown/lib/util/check-quote.js
15683
+ // ../../node_modules/mdast-util-to-markdown/lib/util/check-quote.js
15511
15684
  function checkQuote(state) {
15512
15685
  const marker = state.options.quote || '"';
15513
15686
  if (marker !== '"' && marker !== "'") {
@@ -15518,7 +15691,7 @@ function checkQuote(state) {
15518
15691
  return marker;
15519
15692
  }
15520
15693
 
15521
- // node_modules/mdast-util-to-markdown/lib/handle/definition.js
15694
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/definition.js
15522
15695
  function definition(node2, _, state, info) {
15523
15696
  const quote = checkQuote(state);
15524
15697
  const suffix = quote === '"' ? "Quote" : "Apostrophe";
@@ -15574,7 +15747,7 @@ function definition(node2, _, state, info) {
15574
15747
  return value;
15575
15748
  }
15576
15749
 
15577
- // node_modules/mdast-util-to-markdown/lib/util/check-emphasis.js
15750
+ // ../../node_modules/mdast-util-to-markdown/lib/util/check-emphasis.js
15578
15751
  function checkEmphasis(state) {
15579
15752
  const marker = state.options.emphasis || "*";
15580
15753
  if (marker !== "*" && marker !== "_") {
@@ -15585,12 +15758,12 @@ function checkEmphasis(state) {
15585
15758
  return marker;
15586
15759
  }
15587
15760
 
15588
- // 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
15589
15762
  function encodeCharacterReference(code3) {
15590
15763
  return "&#x" + code3.toString(16).toUpperCase() + ";";
15591
15764
  }
15592
15765
 
15593
- // node_modules/micromark-util-classify-character/index.js
15766
+ // ../../node_modules/micromark-util-classify-character/index.js
15594
15767
  function classifyCharacter(code3) {
15595
15768
  if (code3 === null || markdownLineEndingOrSpace(code3) || unicodeWhitespace(code3)) {
15596
15769
  return 1;
@@ -15600,7 +15773,7 @@ function classifyCharacter(code3) {
15600
15773
  }
15601
15774
  }
15602
15775
 
15603
- // node_modules/mdast-util-to-markdown/lib/util/encode-info.js
15776
+ // ../../node_modules/mdast-util-to-markdown/lib/util/encode-info.js
15604
15777
  function encodeInfo(outside, inside, marker) {
15605
15778
  const outsideKind = classifyCharacter(outside);
15606
15779
  const insideKind = classifyCharacter(inside);
@@ -15642,7 +15815,7 @@ function encodeInfo(outside, inside, marker) {
15642
15815
  );
15643
15816
  }
15644
15817
 
15645
- // node_modules/mdast-util-to-markdown/lib/handle/emphasis.js
15818
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/emphasis.js
15646
15819
  emphasis.peek = emphasisPeek;
15647
15820
  function emphasis(node2, _, state, info) {
15648
15821
  const marker = checkEmphasis(state);
@@ -15682,7 +15855,7 @@ function emphasisPeek(_, _1, state) {
15682
15855
  return state.options.emphasis || "*";
15683
15856
  }
15684
15857
 
15685
- // node_modules/unist-util-visit/lib/index.js
15858
+ // ../../node_modules/unist-util-visit/lib/index.js
15686
15859
  function visit(tree, testOrVisitor, visitorOrReverse, maybeReverse) {
15687
15860
  let reverse;
15688
15861
  let test;
@@ -15704,7 +15877,7 @@ function visit(tree, testOrVisitor, visitorOrReverse, maybeReverse) {
15704
15877
  }
15705
15878
  }
15706
15879
 
15707
- // node_modules/mdast-util-to-string/lib/index.js
15880
+ // ../../node_modules/mdast-util-to-string/lib/index.js
15708
15881
  var emptyOptions = {};
15709
15882
  function toString(value, options) {
15710
15883
  const settings = options || emptyOptions;
@@ -15741,7 +15914,7 @@ function node(value) {
15741
15914
  return Boolean(value && typeof value === "object");
15742
15915
  }
15743
15916
 
15744
- // 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
15745
15918
  function formatHeadingAsSetext(node2, state) {
15746
15919
  let literalWithBreak = false;
15747
15920
  visit(node2, function(node3) {
@@ -15755,7 +15928,7 @@ function formatHeadingAsSetext(node2, state) {
15755
15928
  );
15756
15929
  }
15757
15930
 
15758
- // node_modules/mdast-util-to-markdown/lib/handle/heading.js
15931
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/heading.js
15759
15932
  function heading(node2, _, state, info) {
15760
15933
  const rank = Math.max(Math.min(6, node2.depth || 1), 1);
15761
15934
  const tracker = state.createTracker(info);
@@ -15797,7 +15970,7 @@ function heading(node2, _, state, info) {
15797
15970
  return value;
15798
15971
  }
15799
15972
 
15800
- // node_modules/mdast-util-to-markdown/lib/handle/html.js
15973
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/html.js
15801
15974
  html.peek = htmlPeek;
15802
15975
  function html(node2) {
15803
15976
  return node2.value || "";
@@ -15806,7 +15979,7 @@ function htmlPeek() {
15806
15979
  return "<";
15807
15980
  }
15808
15981
 
15809
- // node_modules/mdast-util-to-markdown/lib/handle/image.js
15982
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/image.js
15810
15983
  image.peek = imagePeek;
15811
15984
  function image(node2, _, state, info) {
15812
15985
  const quote = checkQuote(state);
@@ -15863,7 +16036,7 @@ function imagePeek() {
15863
16036
  return "!";
15864
16037
  }
15865
16038
 
15866
- // node_modules/mdast-util-to-markdown/lib/handle/image-reference.js
16039
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/image-reference.js
15867
16040
  imageReference.peek = imageReferencePeek;
15868
16041
  function imageReference(node2, _, state, info) {
15869
16042
  const type = node2.referenceType;
@@ -15902,7 +16075,7 @@ function imageReferencePeek() {
15902
16075
  return "!";
15903
16076
  }
15904
16077
 
15905
- // node_modules/mdast-util-to-markdown/lib/handle/inline-code.js
16078
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/inline-code.js
15906
16079
  inlineCode.peek = inlineCodePeek;
15907
16080
  function inlineCode(node2, _, state) {
15908
16081
  let value = node2.value || "";
@@ -15933,7 +16106,7 @@ function inlineCodePeek() {
15933
16106
  return "`";
15934
16107
  }
15935
16108
 
15936
- // 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
15937
16110
  function formatLinkAsAutolink(node2, state) {
15938
16111
  const raw = toString(node2);
15939
16112
  return Boolean(
@@ -15948,7 +16121,7 @@ function formatLinkAsAutolink(node2, state) {
15948
16121
  );
15949
16122
  }
15950
16123
 
15951
- // node_modules/mdast-util-to-markdown/lib/handle/link.js
16124
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/link.js
15952
16125
  link.peek = linkPeek;
15953
16126
  function link(node2, _, state, info) {
15954
16127
  const quote = checkQuote(state);
@@ -16028,7 +16201,7 @@ function linkPeek(node2, _, state) {
16028
16201
  return formatLinkAsAutolink(node2, state) ? "<" : "[";
16029
16202
  }
16030
16203
 
16031
- // node_modules/mdast-util-to-markdown/lib/handle/link-reference.js
16204
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/link-reference.js
16032
16205
  linkReference.peek = linkReferencePeek;
16033
16206
  function linkReference(node2, _, state, info) {
16034
16207
  const type = node2.referenceType;
@@ -16067,7 +16240,7 @@ function linkReferencePeek() {
16067
16240
  return "[";
16068
16241
  }
16069
16242
 
16070
- // node_modules/mdast-util-to-markdown/lib/util/check-bullet.js
16243
+ // ../../node_modules/mdast-util-to-markdown/lib/util/check-bullet.js
16071
16244
  function checkBullet(state) {
16072
16245
  const marker = state.options.bullet || "*";
16073
16246
  if (marker !== "*" && marker !== "+" && marker !== "-") {
@@ -16078,7 +16251,7 @@ function checkBullet(state) {
16078
16251
  return marker;
16079
16252
  }
16080
16253
 
16081
- // 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
16082
16255
  function checkBulletOther(state) {
16083
16256
  const bullet = checkBullet(state);
16084
16257
  const bulletOther = state.options.bulletOther;
@@ -16098,7 +16271,7 @@ function checkBulletOther(state) {
16098
16271
  return bulletOther;
16099
16272
  }
16100
16273
 
16101
- // 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
16102
16275
  function checkBulletOrdered(state) {
16103
16276
  const marker = state.options.bulletOrdered || ".";
16104
16277
  if (marker !== "." && marker !== ")") {
@@ -16109,7 +16282,7 @@ function checkBulletOrdered(state) {
16109
16282
  return marker;
16110
16283
  }
16111
16284
 
16112
- // node_modules/mdast-util-to-markdown/lib/util/check-rule.js
16285
+ // ../../node_modules/mdast-util-to-markdown/lib/util/check-rule.js
16113
16286
  function checkRule(state) {
16114
16287
  const marker = state.options.rule || "*";
16115
16288
  if (marker !== "*" && marker !== "-" && marker !== "_") {
@@ -16120,7 +16293,7 @@ function checkRule(state) {
16120
16293
  return marker;
16121
16294
  }
16122
16295
 
16123
- // node_modules/mdast-util-to-markdown/lib/handle/list.js
16296
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/list.js
16124
16297
  function list(node2, parent, state, info) {
16125
16298
  const exit3 = state.enter("list");
16126
16299
  const bulletCurrent = state.bulletCurrent;
@@ -16160,7 +16333,7 @@ function list(node2, parent, state, info) {
16160
16333
  return value;
16161
16334
  }
16162
16335
 
16163
- // 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
16164
16337
  function checkListItemIndent(state) {
16165
16338
  const style = state.options.listItemIndent || "one";
16166
16339
  if (style !== "tab" && style !== "one" && style !== "mixed") {
@@ -16171,7 +16344,7 @@ function checkListItemIndent(state) {
16171
16344
  return style;
16172
16345
  }
16173
16346
 
16174
- // node_modules/mdast-util-to-markdown/lib/handle/list-item.js
16347
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/list-item.js
16175
16348
  function listItem(node2, parent, state, info) {
16176
16349
  const listItemIndent = checkListItemIndent(state);
16177
16350
  let bullet = state.bulletCurrent || checkBullet(state);
@@ -16200,7 +16373,7 @@ function listItem(node2, parent, state, info) {
16200
16373
  }
16201
16374
  }
16202
16375
 
16203
- // node_modules/mdast-util-to-markdown/lib/handle/paragraph.js
16376
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/paragraph.js
16204
16377
  function paragraph(node2, _, state, info) {
16205
16378
  const exit3 = state.enter("paragraph");
16206
16379
  const subexit = state.enter("phrasing");
@@ -16210,7 +16383,7 @@ function paragraph(node2, _, state, info) {
16210
16383
  return value;
16211
16384
  }
16212
16385
 
16213
- // node_modules/mdast-util-phrasing/lib/index.js
16386
+ // ../../node_modules/mdast-util-phrasing/lib/index.js
16214
16387
  var phrasing = (
16215
16388
  /** @type {(node?: unknown) => node is Exclude<PhrasingContent, Html>} */
16216
16389
  convert([
@@ -16238,7 +16411,7 @@ var phrasing = (
16238
16411
  ])
16239
16412
  );
16240
16413
 
16241
- // node_modules/mdast-util-to-markdown/lib/handle/root.js
16414
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/root.js
16242
16415
  function root(node2, _, state, info) {
16243
16416
  const hasPhrasing = node2.children.some(function(d) {
16244
16417
  return phrasing(d);
@@ -16247,7 +16420,7 @@ function root(node2, _, state, info) {
16247
16420
  return container.call(state, node2, info);
16248
16421
  }
16249
16422
 
16250
- // node_modules/mdast-util-to-markdown/lib/util/check-strong.js
16423
+ // ../../node_modules/mdast-util-to-markdown/lib/util/check-strong.js
16251
16424
  function checkStrong(state) {
16252
16425
  const marker = state.options.strong || "*";
16253
16426
  if (marker !== "*" && marker !== "_") {
@@ -16258,7 +16431,7 @@ function checkStrong(state) {
16258
16431
  return marker;
16259
16432
  }
16260
16433
 
16261
- // node_modules/mdast-util-to-markdown/lib/handle/strong.js
16434
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/strong.js
16262
16435
  strong.peek = strongPeek;
16263
16436
  function strong(node2, _, state, info) {
16264
16437
  const marker = checkStrong(state);
@@ -16298,12 +16471,12 @@ function strongPeek(_, _1, state) {
16298
16471
  return state.options.strong || "*";
16299
16472
  }
16300
16473
 
16301
- // node_modules/mdast-util-to-markdown/lib/handle/text.js
16474
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/text.js
16302
16475
  function text(node2, _, state, info) {
16303
16476
  return state.safe(node2.value, info);
16304
16477
  }
16305
16478
 
16306
- // 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
16307
16480
  function checkRuleRepetition(state) {
16308
16481
  const repetition = state.options.ruleRepetition || 3;
16309
16482
  if (repetition < 3) {
@@ -16314,13 +16487,13 @@ function checkRuleRepetition(state) {
16314
16487
  return repetition;
16315
16488
  }
16316
16489
 
16317
- // node_modules/mdast-util-to-markdown/lib/handle/thematic-break.js
16490
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/thematic-break.js
16318
16491
  function thematicBreak(_, _1, state) {
16319
16492
  const value = (checkRule(state) + (state.options.ruleSpaces ? " " : "")).repeat(checkRuleRepetition(state));
16320
16493
  return state.options.ruleSpaces ? value.slice(0, -1) : value;
16321
16494
  }
16322
16495
 
16323
- // node_modules/mdast-util-to-markdown/lib/handle/index.js
16496
+ // ../../node_modules/mdast-util-to-markdown/lib/handle/index.js
16324
16497
  var handle = {
16325
16498
  blockquote,
16326
16499
  break: hardBreak,
@@ -16344,7 +16517,7 @@ var handle = {
16344
16517
  thematicBreak
16345
16518
  };
16346
16519
 
16347
- // node_modules/character-entities/index.js
16520
+ // ../../node_modules/character-entities/index.js
16348
16521
  var characterEntities = {
16349
16522
  AElig: "\xC6",
16350
16523
  AMP: "&",
@@ -18473,13 +18646,13 @@ var characterEntities = {
18473
18646
  zwnj: "\u200C"
18474
18647
  };
18475
18648
 
18476
- // node_modules/decode-named-character-reference/index.js
18649
+ // ../../node_modules/decode-named-character-reference/index.js
18477
18650
  var own = {}.hasOwnProperty;
18478
18651
  function decodeNamedCharacterReference(value) {
18479
18652
  return own.call(characterEntities, value) ? characterEntities[value] : false;
18480
18653
  }
18481
18654
 
18482
- // node_modules/micromark-util-decode-numeric-character-reference/index.js
18655
+ // ../../node_modules/micromark-util-decode-numeric-character-reference/index.js
18483
18656
  function decodeNumericCharacterReference(value, base) {
18484
18657
  const code3 = Number.parseInt(value, base);
18485
18658
  if (
@@ -18497,7 +18670,7 @@ function decodeNumericCharacterReference(value, base) {
18497
18670
  return String.fromCodePoint(code3);
18498
18671
  }
18499
18672
 
18500
- // node_modules/micromark-util-decode-string/index.js
18673
+ // ../../node_modules/micromark-util-decode-string/index.js
18501
18674
  var characterEscapeOrReference = /\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;
18502
18675
  function decodeString(value) {
18503
18676
  return value.replace(characterEscapeOrReference, decode);
@@ -18515,7 +18688,7 @@ function decode($0, $1, $2) {
18515
18688
  return decodeNamedCharacterReference($2) || $0;
18516
18689
  }
18517
18690
 
18518
- // node_modules/mdast-util-gfm-table/lib/index.js
18691
+ // ../../node_modules/mdast-util-gfm-table/lib/index.js
18519
18692
  function gfmTableFromMarkdown() {
18520
18693
  return {
18521
18694
  enter: {
@@ -18668,7 +18841,7 @@ function gfmTableToMarkdown(options) {
18668
18841
  }
18669
18842
  }
18670
18843
 
18671
- // node_modules/mdast-util-gfm-task-list-item/lib/index.js
18844
+ // ../../node_modules/mdast-util-gfm-task-list-item/lib/index.js
18672
18845
  function gfmTaskListItemFromMarkdown() {
18673
18846
  return {
18674
18847
  exit: {
@@ -18741,7 +18914,7 @@ function listItemWithTaskListItem(node2, parent, state, info) {
18741
18914
  }
18742
18915
  }
18743
18916
 
18744
- // node_modules/mdast-util-gfm/lib/index.js
18917
+ // ../../node_modules/mdast-util-gfm/lib/index.js
18745
18918
  function gfmFromMarkdown() {
18746
18919
  return [
18747
18920
  gfmAutolinkLiteralFromMarkdown(),
@@ -18763,7 +18936,7 @@ function gfmToMarkdown(options) {
18763
18936
  };
18764
18937
  }
18765
18938
 
18766
- // node_modules/micromark-util-chunked/index.js
18939
+ // ../../node_modules/micromark-util-chunked/index.js
18767
18940
  function splice(list3, start, remove, items) {
18768
18941
  const end = list3.length;
18769
18942
  let chunkStart = 0;
@@ -18797,7 +18970,7 @@ function push(list3, items) {
18797
18970
  return items;
18798
18971
  }
18799
18972
 
18800
- // node_modules/micromark-util-combine-extensions/index.js
18973
+ // ../../node_modules/micromark-util-combine-extensions/index.js
18801
18974
  var hasOwnProperty2 = {}.hasOwnProperty;
18802
18975
  function combineExtensions(extensions) {
18803
18976
  const all2 = {};
@@ -18837,7 +19010,7 @@ function constructs(existing, list3) {
18837
19010
  splice(existing, 0, 0, before);
18838
19011
  }
18839
19012
 
18840
- // node_modules/micromark-extension-gfm-autolink-literal/lib/syntax.js
19013
+ // ../../node_modules/micromark-extension-gfm-autolink-literal/lib/syntax.js
18841
19014
  var wwwPrefix = {
18842
19015
  tokenize: tokenizeWwwPrefix,
18843
19016
  partial: true
@@ -19179,7 +19352,7 @@ function previousUnbalanced(events) {
19179
19352
  return result;
19180
19353
  }
19181
19354
 
19182
- // node_modules/micromark-util-resolve-all/index.js
19355
+ // ../../node_modules/micromark-util-resolve-all/index.js
19183
19356
  function resolveAll(constructs2, events, context) {
19184
19357
  const called = [];
19185
19358
  let index2 = -1;
@@ -19193,7 +19366,7 @@ function resolveAll(constructs2, events, context) {
19193
19366
  return events;
19194
19367
  }
19195
19368
 
19196
- // node_modules/micromark-core-commonmark/lib/attention.js
19369
+ // ../../node_modules/micromark-core-commonmark/lib/attention.js
19197
19370
  var attention = {
19198
19371
  name: "attention",
19199
19372
  resolveAll: resolveAllAttention,
@@ -19324,7 +19497,7 @@ function movePoint(point3, offset) {
19324
19497
  point3._bufferIndex += offset;
19325
19498
  }
19326
19499
 
19327
- // node_modules/micromark-core-commonmark/lib/autolink.js
19500
+ // ../../node_modules/micromark-core-commonmark/lib/autolink.js
19328
19501
  var autolink = {
19329
19502
  name: "autolink",
19330
19503
  tokenize: tokenizeAutolink
@@ -19425,7 +19598,7 @@ function tokenizeAutolink(effects, ok3, nok) {
19425
19598
  }
19426
19599
  }
19427
19600
 
19428
- // node_modules/micromark-factory-space/index.js
19601
+ // ../../node_modules/micromark-factory-space/index.js
19429
19602
  function factorySpace(effects, ok3, type, max) {
19430
19603
  const limit = max ? max - 1 : Number.POSITIVE_INFINITY;
19431
19604
  let size = 0;
@@ -19447,7 +19620,7 @@ function factorySpace(effects, ok3, type, max) {
19447
19620
  }
19448
19621
  }
19449
19622
 
19450
- // node_modules/micromark-core-commonmark/lib/blank-line.js
19623
+ // ../../node_modules/micromark-core-commonmark/lib/blank-line.js
19451
19624
  var blankLine = {
19452
19625
  partial: true,
19453
19626
  tokenize: tokenizeBlankLine
@@ -19462,7 +19635,7 @@ function tokenizeBlankLine(effects, ok3, nok) {
19462
19635
  }
19463
19636
  }
19464
19637
 
19465
- // node_modules/micromark-core-commonmark/lib/block-quote.js
19638
+ // ../../node_modules/micromark-core-commonmark/lib/block-quote.js
19466
19639
  var blockQuote = {
19467
19640
  continuation: {
19468
19641
  tokenize: tokenizeBlockQuoteContinuation
@@ -19520,7 +19693,7 @@ function exit2(effects) {
19520
19693
  effects.exit("blockQuote");
19521
19694
  }
19522
19695
 
19523
- // node_modules/micromark-core-commonmark/lib/character-escape.js
19696
+ // ../../node_modules/micromark-core-commonmark/lib/character-escape.js
19524
19697
  var characterEscape = {
19525
19698
  name: "characterEscape",
19526
19699
  tokenize: tokenizeCharacterEscape
@@ -19546,7 +19719,7 @@ function tokenizeCharacterEscape(effects, ok3, nok) {
19546
19719
  }
19547
19720
  }
19548
19721
 
19549
- // node_modules/micromark-core-commonmark/lib/character-reference.js
19722
+ // ../../node_modules/micromark-core-commonmark/lib/character-reference.js
19550
19723
  var characterReference = {
19551
19724
  name: "characterReference",
19552
19725
  tokenize: tokenizeCharacterReference
@@ -19611,7 +19784,7 @@ function tokenizeCharacterReference(effects, ok3, nok) {
19611
19784
  }
19612
19785
  }
19613
19786
 
19614
- // node_modules/micromark-core-commonmark/lib/code-fenced.js
19787
+ // ../../node_modules/micromark-core-commonmark/lib/code-fenced.js
19615
19788
  var nonLazyContinuation = {
19616
19789
  partial: true,
19617
19790
  tokenize: tokenizeNonLazyContinuation
@@ -19794,7 +19967,7 @@ function tokenizeNonLazyContinuation(effects, ok3, nok) {
19794
19967
  }
19795
19968
  }
19796
19969
 
19797
- // node_modules/micromark-core-commonmark/lib/code-indented.js
19970
+ // ../../node_modules/micromark-core-commonmark/lib/code-indented.js
19798
19971
  var codeIndented = {
19799
19972
  name: "codeIndented",
19800
19973
  tokenize: tokenizeCodeIndented
@@ -19858,7 +20031,7 @@ function tokenizeFurtherStart(effects, ok3, nok) {
19858
20031
  }
19859
20032
  }
19860
20033
 
19861
- // node_modules/micromark-core-commonmark/lib/code-text.js
20034
+ // ../../node_modules/micromark-core-commonmark/lib/code-text.js
19862
20035
  var codeText = {
19863
20036
  name: "codeText",
19864
20037
  previous: previous2,
@@ -19973,7 +20146,7 @@ function tokenizeCodeText(effects, ok3, nok) {
19973
20146
  }
19974
20147
  }
19975
20148
 
19976
- // node_modules/micromark-util-subtokenize/lib/splice-buffer.js
20149
+ // ../../node_modules/micromark-util-subtokenize/lib/splice-buffer.js
19977
20150
  var SpliceBuffer = class {
19978
20151
  /**
19979
20152
  * @param {ReadonlyArray<T> | null | undefined} [initial]
@@ -20166,7 +20339,7 @@ function chunkedPush(list3, right) {
20166
20339
  }
20167
20340
  }
20168
20341
 
20169
- // node_modules/micromark-util-subtokenize/index.js
20342
+ // ../../node_modules/micromark-util-subtokenize/index.js
20170
20343
  function subtokenize(eventsArray) {
20171
20344
  const jumps = {};
20172
20345
  let index2 = -1;
@@ -20319,7 +20492,7 @@ function subcontent(events, eventIndex) {
20319
20492
  return gaps;
20320
20493
  }
20321
20494
 
20322
- // node_modules/micromark-core-commonmark/lib/content.js
20495
+ // ../../node_modules/micromark-core-commonmark/lib/content.js
20323
20496
  var content = {
20324
20497
  resolve: resolveContent,
20325
20498
  tokenize: tokenizeContent
@@ -20390,7 +20563,7 @@ function tokenizeContinuation(effects, ok3, nok) {
20390
20563
  }
20391
20564
  }
20392
20565
 
20393
- // node_modules/micromark-factory-destination/index.js
20566
+ // ../../node_modules/micromark-factory-destination/index.js
20394
20567
  function factoryDestination(effects, ok3, nok, type, literalType, literalMarkerType, rawType, stringType, max) {
20395
20568
  const limit = max || Number.POSITIVE_INFINITY;
20396
20569
  let balance = 0;
@@ -20482,7 +20655,7 @@ function factoryDestination(effects, ok3, nok, type, literalType, literalMarkerT
20482
20655
  }
20483
20656
  }
20484
20657
 
20485
- // node_modules/micromark-factory-label/index.js
20658
+ // ../../node_modules/micromark-factory-label/index.js
20486
20659
  function factoryLabel(effects, ok3, nok, type, markerType, stringType) {
20487
20660
  const self = this;
20488
20661
  let size = 0;
@@ -20543,7 +20716,7 @@ function factoryLabel(effects, ok3, nok, type, markerType, stringType) {
20543
20716
  }
20544
20717
  }
20545
20718
 
20546
- // node_modules/micromark-factory-title/index.js
20719
+ // ../../node_modules/micromark-factory-title/index.js
20547
20720
  function factoryTitle(effects, ok3, nok, type, markerType, stringType) {
20548
20721
  let marker;
20549
20722
  return start;
@@ -20605,7 +20778,7 @@ function factoryTitle(effects, ok3, nok, type, markerType, stringType) {
20605
20778
  }
20606
20779
  }
20607
20780
 
20608
- // node_modules/micromark-factory-whitespace/index.js
20781
+ // ../../node_modules/micromark-factory-whitespace/index.js
20609
20782
  function factoryWhitespace(effects, ok3) {
20610
20783
  let seen;
20611
20784
  return start;
@@ -20624,7 +20797,7 @@ function factoryWhitespace(effects, ok3) {
20624
20797
  }
20625
20798
  }
20626
20799
 
20627
- // node_modules/micromark-core-commonmark/lib/definition.js
20800
+ // ../../node_modules/micromark-core-commonmark/lib/definition.js
20628
20801
  var definition2 = {
20629
20802
  name: "definition",
20630
20803
  tokenize: tokenizeDefinition
@@ -20710,7 +20883,7 @@ function tokenizeTitleBefore(effects, ok3, nok) {
20710
20883
  }
20711
20884
  }
20712
20885
 
20713
- // node_modules/micromark-core-commonmark/lib/hard-break-escape.js
20886
+ // ../../node_modules/micromark-core-commonmark/lib/hard-break-escape.js
20714
20887
  var hardBreakEscape = {
20715
20888
  name: "hardBreakEscape",
20716
20889
  tokenize: tokenizeHardBreakEscape
@@ -20731,7 +20904,7 @@ function tokenizeHardBreakEscape(effects, ok3, nok) {
20731
20904
  }
20732
20905
  }
20733
20906
 
20734
- // node_modules/micromark-core-commonmark/lib/heading-atx.js
20907
+ // ../../node_modules/micromark-core-commonmark/lib/heading-atx.js
20735
20908
  var headingAtx = {
20736
20909
  name: "headingAtx",
20737
20910
  resolve: resolveHeadingAtx,
@@ -20822,7 +20995,7 @@ function tokenizeHeadingAtx(effects, ok3, nok) {
20822
20995
  }
20823
20996
  }
20824
20997
 
20825
- // node_modules/micromark-util-html-tag-name/index.js
20998
+ // ../../node_modules/micromark-util-html-tag-name/index.js
20826
20999
  var htmlBlockNames = [
20827
21000
  "address",
20828
21001
  "article",
@@ -20889,7 +21062,7 @@ var htmlBlockNames = [
20889
21062
  ];
20890
21063
  var htmlRawNames = ["pre", "script", "style", "textarea"];
20891
21064
 
20892
- // node_modules/micromark-core-commonmark/lib/html-flow.js
21065
+ // ../../node_modules/micromark-core-commonmark/lib/html-flow.js
20893
21066
  var htmlFlow = {
20894
21067
  concrete: true,
20895
21068
  name: "htmlFlow",
@@ -21268,7 +21441,7 @@ function tokenizeBlankLineBefore(effects, ok3, nok) {
21268
21441
  }
21269
21442
  }
21270
21443
 
21271
- // node_modules/micromark-core-commonmark/lib/html-text.js
21444
+ // ../../node_modules/micromark-core-commonmark/lib/html-text.js
21272
21445
  var htmlText = {
21273
21446
  name: "htmlText",
21274
21447
  tokenize: tokenizeHtmlText
@@ -21574,7 +21747,7 @@ function tokenizeHtmlText(effects, ok3, nok) {
21574
21747
  }
21575
21748
  }
21576
21749
 
21577
- // node_modules/micromark-core-commonmark/lib/label-end.js
21750
+ // ../../node_modules/micromark-core-commonmark/lib/label-end.js
21578
21751
  var labelEnd = {
21579
21752
  name: "labelEnd",
21580
21753
  resolveAll: resolveAllLabelEnd,
@@ -21800,7 +21973,7 @@ function tokenizeReferenceCollapsed(effects, ok3, nok) {
21800
21973
  }
21801
21974
  }
21802
21975
 
21803
- // node_modules/micromark-core-commonmark/lib/label-start-image.js
21976
+ // ../../node_modules/micromark-core-commonmark/lib/label-start-image.js
21804
21977
  var labelStartImage = {
21805
21978
  name: "labelStartImage",
21806
21979
  resolveAll: labelEnd.resolveAll,
@@ -21831,7 +22004,7 @@ function tokenizeLabelStartImage(effects, ok3, nok) {
21831
22004
  }
21832
22005
  }
21833
22006
 
21834
- // node_modules/micromark-core-commonmark/lib/label-start-link.js
22007
+ // ../../node_modules/micromark-core-commonmark/lib/label-start-link.js
21835
22008
  var labelStartLink = {
21836
22009
  name: "labelStartLink",
21837
22010
  resolveAll: labelEnd.resolveAll,
@@ -21853,7 +22026,7 @@ function tokenizeLabelStartLink(effects, ok3, nok) {
21853
22026
  }
21854
22027
  }
21855
22028
 
21856
- // node_modules/micromark-core-commonmark/lib/line-ending.js
22029
+ // ../../node_modules/micromark-core-commonmark/lib/line-ending.js
21857
22030
  var lineEnding = {
21858
22031
  name: "lineEnding",
21859
22032
  tokenize: tokenizeLineEnding
@@ -21868,7 +22041,7 @@ function tokenizeLineEnding(effects, ok3) {
21868
22041
  }
21869
22042
  }
21870
22043
 
21871
- // node_modules/micromark-core-commonmark/lib/thematic-break.js
22044
+ // ../../node_modules/micromark-core-commonmark/lib/thematic-break.js
21872
22045
  var thematicBreak2 = {
21873
22046
  name: "thematicBreak",
21874
22047
  tokenize: tokenizeThematicBreak
@@ -21907,7 +22080,7 @@ function tokenizeThematicBreak(effects, ok3, nok) {
21907
22080
  }
21908
22081
  }
21909
22082
 
21910
- // node_modules/micromark-core-commonmark/lib/list.js
22083
+ // ../../node_modules/micromark-core-commonmark/lib/list.js
21911
22084
  var list2 = {
21912
22085
  continuation: {
21913
22086
  tokenize: tokenizeListContinuation
@@ -22037,7 +22210,7 @@ function tokenizeListItemPrefixWhitespace(effects, ok3, nok) {
22037
22210
  }
22038
22211
  }
22039
22212
 
22040
- // node_modules/micromark-core-commonmark/lib/setext-underline.js
22213
+ // ../../node_modules/micromark-core-commonmark/lib/setext-underline.js
22041
22214
  var setextUnderline = {
22042
22215
  name: "setextUnderline",
22043
22216
  resolveTo: resolveToSetextUnderline,
@@ -22129,7 +22302,7 @@ function tokenizeSetextUnderline(effects, ok3, nok) {
22129
22302
  }
22130
22303
  }
22131
22304
 
22132
- // node_modules/micromark-extension-gfm-footnote/lib/syntax.js
22305
+ // ../../node_modules/micromark-extension-gfm-footnote/lib/syntax.js
22133
22306
  var indent = {
22134
22307
  tokenize: tokenizeIndent2,
22135
22308
  partial: true
@@ -22404,7 +22577,7 @@ function tokenizeIndent2(effects, ok3, nok) {
22404
22577
  }
22405
22578
  }
22406
22579
 
22407
- // node_modules/micromark-extension-gfm-strikethrough/lib/syntax.js
22580
+ // ../../node_modules/micromark-extension-gfm-strikethrough/lib/syntax.js
22408
22581
  function gfmStrikethrough(options) {
22409
22582
  const options_ = options || {};
22410
22583
  let single = options_.singleTilde;
@@ -22498,7 +22671,7 @@ function gfmStrikethrough(options) {
22498
22671
  }
22499
22672
  }
22500
22673
 
22501
- // node_modules/micromark-extension-gfm-table/lib/edit-map.js
22674
+ // ../../node_modules/micromark-extension-gfm-table/lib/edit-map.js
22502
22675
  var EditMap = class {
22503
22676
  /**
22504
22677
  * Create a new edit map.
@@ -22577,7 +22750,7 @@ function addImplementation(editMap, at, remove, add) {
22577
22750
  editMap.map.push([at, remove, add]);
22578
22751
  }
22579
22752
 
22580
- // node_modules/micromark-extension-gfm-table/lib/infer.js
22753
+ // ../../node_modules/micromark-extension-gfm-table/lib/infer.js
22581
22754
  function gfmTableAlign(events, index2) {
22582
22755
  let inDelimiterRow = false;
22583
22756
  const align = [];
@@ -22604,7 +22777,7 @@ function gfmTableAlign(events, index2) {
22604
22777
  return align;
22605
22778
  }
22606
22779
 
22607
- // node_modules/micromark-extension-gfm-table/lib/syntax.js
22780
+ // ../../node_modules/micromark-extension-gfm-table/lib/syntax.js
22608
22781
  function gfmTable() {
22609
22782
  return {
22610
22783
  flow: {
@@ -22990,7 +23163,7 @@ function getPoint(events, index2) {
22990
23163
  return event[1][side];
22991
23164
  }
22992
23165
 
22993
- // node_modules/micromark-extension-gfm-task-list-item/lib/syntax.js
23166
+ // ../../node_modules/micromark-extension-gfm-task-list-item/lib/syntax.js
22994
23167
  var tasklistCheck = {
22995
23168
  name: "tasklistCheck",
22996
23169
  tokenize: tokenizeTasklistCheck
@@ -23064,7 +23237,7 @@ function spaceThenNonSpace(effects, ok3, nok) {
23064
23237
  }
23065
23238
  }
23066
23239
 
23067
- // node_modules/micromark-extension-gfm/index.js
23240
+ // ../../node_modules/micromark-extension-gfm/index.js
23068
23241
  function gfm(options) {
23069
23242
  return combineExtensions([
23070
23243
  gfmAutolinkLiteral(),
@@ -23075,7 +23248,7 @@ function gfm(options) {
23075
23248
  ]);
23076
23249
  }
23077
23250
 
23078
- // node_modules/remark-gfm/lib/index.js
23251
+ // ../../node_modules/remark-gfm/lib/index.js
23079
23252
  var emptyOptions2 = {};
23080
23253
  function remarkGfm(options) {
23081
23254
  const self = (
@@ -23092,7 +23265,7 @@ function remarkGfm(options) {
23092
23265
  toMarkdownExtensions.push(gfmToMarkdown(settings));
23093
23266
  }
23094
23267
 
23095
- // node_modules/micromark/lib/initialize/content.js
23268
+ // ../../node_modules/micromark/lib/initialize/content.js
23096
23269
  var content2 = {
23097
23270
  tokenize: initializeContent
23098
23271
  };
@@ -23142,7 +23315,7 @@ function initializeContent(effects) {
23142
23315
  }
23143
23316
  }
23144
23317
 
23145
- // node_modules/micromark/lib/initialize/document.js
23318
+ // ../../node_modules/micromark/lib/initialize/document.js
23146
23319
  var document = {
23147
23320
  tokenize: initializeDocument
23148
23321
  };
@@ -23324,7 +23497,7 @@ function tokenizeContainer(effects, ok3, nok) {
23324
23497
  return factorySpace(effects, effects.attempt(this.parser.constructs.document, ok3, nok), "linePrefix", this.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4);
23325
23498
  }
23326
23499
 
23327
- // node_modules/micromark/lib/initialize/flow.js
23500
+ // ../../node_modules/micromark/lib/initialize/flow.js
23328
23501
  var flow = {
23329
23502
  tokenize: initializeFlow
23330
23503
  };
@@ -23362,7 +23535,7 @@ function initializeFlow(effects) {
23362
23535
  }
23363
23536
  }
23364
23537
 
23365
- // node_modules/micromark/lib/initialize/text.js
23538
+ // ../../node_modules/micromark/lib/initialize/text.js
23366
23539
  var resolver = {
23367
23540
  resolveAll: createResolver()
23368
23541
  };
@@ -23501,7 +23674,7 @@ function resolveAllLineSuffixes(events, context) {
23501
23674
  return events;
23502
23675
  }
23503
23676
 
23504
- // node_modules/micromark/lib/constructs.js
23677
+ // ../../node_modules/micromark/lib/constructs.js
23505
23678
  var constructs_exports = {};
23506
23679
  __export(constructs_exports, {
23507
23680
  attentionMarkers: () => attentionMarkers,
@@ -23576,7 +23749,7 @@ var disable = {
23576
23749
  null: []
23577
23750
  };
23578
23751
 
23579
- // node_modules/micromark/lib/create-tokenizer.js
23752
+ // ../../node_modules/micromark/lib/create-tokenizer.js
23580
23753
  function createTokenizer(parser, initialize, from) {
23581
23754
  let point3 = {
23582
23755
  _bufferIndex: -1,
@@ -23899,7 +24072,7 @@ function serializeChunks(chunks, expandTabs) {
23899
24072
  return result.join("");
23900
24073
  }
23901
24074
 
23902
- // node_modules/micromark/lib/parse.js
24075
+ // ../../node_modules/micromark/lib/parse.js
23903
24076
  function parse(options) {
23904
24077
  const settings = options || {};
23905
24078
  const constructs2 = (
@@ -23925,14 +24098,14 @@ function parse(options) {
23925
24098
  }
23926
24099
  }
23927
24100
 
23928
- // node_modules/micromark/lib/postprocess.js
24101
+ // ../../node_modules/micromark/lib/postprocess.js
23929
24102
  function postprocess(events) {
23930
24103
  while (!subtokenize(events)) {
23931
24104
  }
23932
24105
  return events;
23933
24106
  }
23934
24107
 
23935
- // node_modules/micromark/lib/preprocess.js
24108
+ // ../../node_modules/micromark/lib/preprocess.js
23936
24109
  var search = /[\0\t\n\r]/g;
23937
24110
  function preprocess() {
23938
24111
  let column = 1;
@@ -24011,7 +24184,7 @@ function preprocess() {
24011
24184
  }
24012
24185
  }
24013
24186
 
24014
- // node_modules/unist-util-stringify-position/lib/index.js
24187
+ // ../../node_modules/unist-util-stringify-position/lib/index.js
24015
24188
  function stringifyPosition(value) {
24016
24189
  if (!value || typeof value !== "object") {
24017
24190
  return "";
@@ -24037,7 +24210,7 @@ function index(value) {
24037
24210
  return value && typeof value === "number" ? value : 1;
24038
24211
  }
24039
24212
 
24040
- // node_modules/mdast-util-from-markdown/lib/index.js
24213
+ // ../../node_modules/mdast-util-from-markdown/lib/index.js
24041
24214
  var own2 = {}.hasOwnProperty;
24042
24215
  function fromMarkdown(value, encoding, options) {
24043
24216
  if (encoding && typeof encoding === "object") {
@@ -24746,7 +24919,7 @@ function defaultOnError(left, right) {
24746
24919
  }
24747
24920
  }
24748
24921
 
24749
- // node_modules/remark-parse/lib/index.js
24922
+ // ../../node_modules/remark-parse/lib/index.js
24750
24923
  function remarkParse(options) {
24751
24924
  const self = this;
24752
24925
  self.parser = parser;
@@ -24763,17 +24936,17 @@ function remarkParse(options) {
24763
24936
  }
24764
24937
  }
24765
24938
 
24766
- // node_modules/bail/index.js
24939
+ // ../../node_modules/bail/index.js
24767
24940
  function bail(error) {
24768
24941
  if (error) {
24769
24942
  throw error;
24770
24943
  }
24771
24944
  }
24772
24945
 
24773
- // node_modules/unified/lib/index.js
24946
+ // ../../node_modules/unified/lib/index.js
24774
24947
  var import_extend = __toESM(require_extend(), 1);
24775
24948
 
24776
- // node_modules/is-plain-obj/index.js
24949
+ // ../../node_modules/is-plain-obj/index.js
24777
24950
  function isPlainObject2(value) {
24778
24951
  if (typeof value !== "object" || value === null) {
24779
24952
  return false;
@@ -24782,7 +24955,7 @@ function isPlainObject2(value) {
24782
24955
  return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in value) && !(Symbol.iterator in value);
24783
24956
  }
24784
24957
 
24785
- // node_modules/trough/lib/index.js
24958
+ // ../../node_modules/trough/lib/index.js
24786
24959
  function trough() {
24787
24960
  const fns = [];
24788
24961
  const pipeline = { run, use };
@@ -24866,7 +25039,7 @@ function wrap(middleware, callback) {
24866
25039
  }
24867
25040
  }
24868
25041
 
24869
- // node_modules/vfile-message/lib/index.js
25042
+ // ../../node_modules/vfile-message/lib/index.js
24870
25043
  var VFileMessage = class extends Error {
24871
25044
  /**
24872
25045
  * Create a message for `reason`.
@@ -25002,16 +25175,16 @@ VFileMessage.prototype.place = void 0;
25002
25175
  VFileMessage.prototype.ruleId = void 0;
25003
25176
  VFileMessage.prototype.source = void 0;
25004
25177
 
25005
- // node_modules/vfile/lib/minpath.js
25178
+ // ../../node_modules/vfile/lib/minpath.js
25006
25179
  import { default as default2 } from "node:path";
25007
25180
 
25008
- // node_modules/vfile/lib/minproc.js
25181
+ // ../../node_modules/vfile/lib/minproc.js
25009
25182
  import { default as default3 } from "node:process";
25010
25183
 
25011
- // node_modules/vfile/lib/minurl.js
25184
+ // ../../node_modules/vfile/lib/minurl.js
25012
25185
  import { fileURLToPath } from "node:url";
25013
25186
 
25014
- // node_modules/vfile/lib/minurl.shared.js
25187
+ // ../../node_modules/vfile/lib/minurl.shared.js
25015
25188
  function isUrl(fileUrlOrPath) {
25016
25189
  return Boolean(
25017
25190
  fileUrlOrPath !== null && typeof fileUrlOrPath === "object" && "href" in fileUrlOrPath && fileUrlOrPath.href && "protocol" in fileUrlOrPath && fileUrlOrPath.protocol && // @ts-expect-error: indexing is fine.
@@ -25019,7 +25192,7 @@ function isUrl(fileUrlOrPath) {
25019
25192
  );
25020
25193
  }
25021
25194
 
25022
- // node_modules/vfile/lib/index.js
25195
+ // ../../node_modules/vfile/lib/index.js
25023
25196
  var order = (
25024
25197
  /** @type {const} */
25025
25198
  [
@@ -25475,7 +25648,7 @@ function isUint8Array(value) {
25475
25648
  );
25476
25649
  }
25477
25650
 
25478
- // node_modules/unified/lib/callable-instance.js
25651
+ // ../../node_modules/unified/lib/callable-instance.js
25479
25652
  var CallableInstance = (
25480
25653
  /**
25481
25654
  * @type {new <Parameters extends Array<unknown>, Result>(property: string | symbol) => (...parameters: Parameters) => Result}
@@ -25504,7 +25677,7 @@ var CallableInstance = (
25504
25677
  })
25505
25678
  );
25506
25679
 
25507
- // node_modules/unified/lib/index.js
25680
+ // ../../node_modules/unified/lib/index.js
25508
25681
  var own3 = {}.hasOwnProperty;
25509
25682
  var Processor = class _Processor extends CallableInstance {
25510
25683
  /**
@@ -27212,6 +27385,7 @@ async function runDeclarativeValidationCli(input) {
27212
27385
  documentDiagnosticsResult(
27213
27386
  normalizeResult.document,
27214
27387
  profileResult.profile,
27388
+ markdown.content,
27215
27389
  [
27216
27390
  ...documentDiagnostics,
27217
27391
  ...documentVersionDiagnostics(
@@ -27226,7 +27400,7 @@ async function runDeclarativeValidationCli(input) {
27226
27400
  const validationResult = validateWithProfile(
27227
27401
  normalizeResult.document,
27228
27402
  profileResult.profile,
27229
- { includeEvidence: true }
27403
+ { includeEvidence: true, sourceText: markdown.content }
27230
27404
  );
27231
27405
  const result = mergeDocumentDiagnostics(
27232
27406
  validationResult,
@@ -27258,13 +27432,13 @@ function profileStageResult(diagnostics) {
27258
27432
  ruleResults: []
27259
27433
  };
27260
27434
  }
27261
- function documentDiagnosticsResult(document3, profile, diagnostics) {
27435
+ function documentDiagnosticsResult(document3, profile, sourceText, diagnostics) {
27262
27436
  return createDeclarativeValidationResult({
27263
27437
  document: document3,
27264
27438
  profile,
27265
27439
  ruleResults: [],
27266
27440
  diagnostics,
27267
- options: { includeEvidence: true }
27441
+ options: { includeEvidence: true, sourceText }
27268
27442
  });
27269
27443
  }
27270
27444
  function mergeDocumentDiagnostics(validationResult, documentDiagnostics) {