@jasonbelmonti/markdown-engine 3.6.0 → 4.0.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 +27 -2
  2. package/README.md +52 -14
  3. package/SECURITY.md +6 -4
  4. package/dist/cli/declarative-validation.d.ts +3 -9
  5. package/dist/cli/declarative-validation.d.ts.map +1 -1
  6. package/dist/cli/declarative-validation.js +6 -16
  7. package/dist/cli/declarative-validation.js.map +1 -1
  8. package/dist/cli/run.d.ts.map +1 -1
  9. package/dist/cli/run.js +2 -0
  10. package/dist/cli/run.js.map +1 -1
  11. package/dist/cli/validate-args.d.ts +3 -1
  12. package/dist/cli/validate-args.d.ts.map +1 -1
  13. package/dist/cli/validate-args.js +46 -92
  14. package/dist/cli/validate-args.js.map +1 -1
  15. package/dist/cli/validation-output.d.ts +16 -0
  16. package/dist/cli/validation-output.d.ts.map +1 -0
  17. package/dist/cli/validation-output.js +27 -0
  18. package/dist/cli/validation-output.js.map +1 -0
  19. package/dist/cli/validation-report-cache.d.ts +3 -0
  20. package/dist/cli/validation-report-cache.d.ts.map +1 -0
  21. package/dist/cli/validation-report-cache.js +41 -0
  22. package/dist/cli/validation-report-cache.js.map +1 -0
  23. package/dist/cli/validation-report.d.ts +8 -0
  24. package/dist/cli/validation-report.d.ts.map +1 -0
  25. package/dist/cli/validation-report.js +24 -0
  26. package/dist/cli/validation-report.js.map +1 -0
  27. package/dist/cli/validation-summary.d.ts +47 -0
  28. package/dist/cli/validation-summary.d.ts.map +1 -0
  29. package/dist/cli/validation-summary.js +55 -0
  30. package/dist/cli/validation-summary.js.map +1 -0
  31. package/dist/declarative-validation/assertions/evaluator.d.ts.map +1 -1
  32. package/dist/declarative-validation/assertions/evaluator.js +3 -0
  33. package/dist/declarative-validation/assertions/evaluator.js.map +1 -1
  34. package/dist/declarative-validation/assertions/table-rows-complete.d.ts +4 -0
  35. package/dist/declarative-validation/assertions/table-rows-complete.d.ts.map +1 -0
  36. package/dist/declarative-validation/assertions/table-rows-complete.js +40 -0
  37. package/dist/declarative-validation/assertions/table-rows-complete.js.map +1 -0
  38. package/dist/declarative-validation/compiler/assertion-builders.d.ts.map +1 -1
  39. package/dist/declarative-validation/compiler/assertion-builders.js +2 -0
  40. package/dist/declarative-validation/compiler/assertion-builders.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.map +1 -1
  45. package/dist/declarative-validation/compiler/compatibility.js +1 -0
  46. package/dist/declarative-validation/compiler/compatibility.js.map +1 -1
  47. package/dist/declarative-validation/compiler/plan.d.ts +2 -0
  48. package/dist/declarative-validation/compiler/plan.d.ts.map +1 -1
  49. package/dist/declarative-validation/compiler/table-rows-complete.d.ts +3 -0
  50. package/dist/declarative-validation/compiler/table-rows-complete.d.ts.map +1 -0
  51. package/dist/declarative-validation/compiler/table-rows-complete.js +17 -0
  52. package/dist/declarative-validation/compiler/table-rows-complete.js.map +1 -0
  53. package/dist/declarative-validation/profile/assertion-schema.d.ts.map +1 -1
  54. package/dist/declarative-validation/profile/assertion-schema.js +14 -0
  55. package/dist/declarative-validation/profile/assertion-schema.js.map +1 -1
  56. package/dist/declarative-validation/profile/index.d.ts +1 -0
  57. package/dist/declarative-validation/profile/index.d.ts.map +1 -1
  58. package/dist/internal/package-version.d.ts +1 -1
  59. package/dist/internal/package-version.js +1 -1
  60. package/dist-bundled/markdown-engine-cli.mjs +575 -422
  61. package/docs/contracts/declarative-validation.md +143 -9
  62. package/fixtures/declarative-validation/examples/table-rows-complete/README.md +65 -0
  63. package/fixtures/declarative-validation/examples/table-rows-complete/blockquote.md +3 -0
  64. package/fixtures/declarative-validation/examples/table-rows-complete/complete.md +3 -0
  65. package/fixtures/declarative-validation/examples/table-rows-complete/consumer-missing.md +50 -0
  66. package/fixtures/declarative-validation/examples/table-rows-complete/consumer-repaired.md +50 -0
  67. package/fixtures/declarative-validation/examples/table-rows-complete/excess.md +3 -0
  68. package/fixtures/declarative-validation/examples/table-rows-complete/explicit-empty.md +3 -0
  69. package/fixtures/declarative-validation/examples/table-rows-complete/header-only.md +2 -0
  70. package/fixtures/declarative-validation/examples/table-rows-complete/legacy.yaml +10 -0
  71. package/fixtures/declarative-validation/examples/table-rows-complete/missing.md +3 -0
  72. package/fixtures/declarative-validation/examples/table-rows-complete/multiple.md +5 -0
  73. package/fixtures/declarative-validation/examples/table-rows-complete/oracle.json +85 -0
  74. package/fixtures/declarative-validation/examples/table-rows-complete/profile.yaml +11 -0
  75. package/fixtures/declarative-validation/examples/table-rows-complete/shape.yaml +8 -0
  76. package/fixtures/declarative-validation/examples/table-rows-complete/syntax.md +3 -0
  77. package/package.json +2 -2
  78. package/scripts/install-markdown-engine-cli.sh +2 -2
  79. package/skills/profile-backed-markdown/SKILL.md +3 -1
@@ -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;
@@ -7531,14 +7531,14 @@ function lists(document3, query = {}) {
7531
7531
  });
7532
7532
  }
7533
7533
  function links(document3, query = {}) {
7534
- return (document3.links ?? []).filter((link2) => {
7535
- if (query.targetId !== void 0 && link2.target.id !== query.targetId) {
7534
+ return (document3.links ?? []).filter((link3) => {
7535
+ if (query.targetId !== void 0 && link3.target.id !== query.targetId) {
7536
7536
  return false;
7537
7537
  }
7538
- if (query.url !== void 0 && link2.url !== query.url) {
7538
+ if (query.url !== void 0 && link3.url !== query.url) {
7539
7539
  return false;
7540
7540
  }
7541
- return query.text === void 0 || link2.text === query.text;
7541
+ return query.text === void 0 || link3.text === query.text;
7542
7542
  });
7543
7543
  }
7544
7544
  function linkReferences(document3, query = {}) {
@@ -9003,11 +9003,11 @@ function linkTargets(document3, selector) {
9003
9003
  return documentQueries.links(document3, {
9004
9004
  ...selector.text !== void 0 ? { text: selector.text } : {},
9005
9005
  ...selector.url !== void 0 ? { url: selector.url } : {}
9006
- }).filter((link2) => targetMatchesSection(document3, link2.target.id, selector.section)).map((link2) => ({
9006
+ }).filter((link3) => targetMatchesSection(document3, link3.target.id, selector.section)).map((link3) => ({
9007
9007
  kind: "link",
9008
- link: link2,
9009
- text: link2.text,
9010
- ...sourceFromTarget(document3, link2.target)
9008
+ link: link3,
9009
+ text: link3.text,
9010
+ ...sourceFromTarget(document3, link3.target)
9011
9011
  }));
9012
9012
  }
9013
9013
  function listTargets(document3, selector) {
@@ -9751,6 +9751,49 @@ function targetColumnSource(assertion) {
9751
9751
  };
9752
9752
  }
9753
9753
 
9754
+ // src/declarative-validation/assertions/table-rows-complete.ts
9755
+ function evaluateTableRowsComplete(context) {
9756
+ if (context.selection.targets.length === 0) {
9757
+ return [emptySelectionDiagnostic(context.rule, context.assertionIndex)];
9758
+ }
9759
+ return context.selection.targets.flatMap(
9760
+ (target, targetOrder) => target.kind === "table" ? incompleteRows(target.table, context, targetOrder) : []
9761
+ );
9762
+ }
9763
+ function incompleteRows(table, context, targetOrder) {
9764
+ const expected = columnIndexes(table.cells.filter((cell) => cell.header));
9765
+ const rows = /* @__PURE__ */ new Map();
9766
+ for (const cell of table.cells) {
9767
+ if (!cell.header) {
9768
+ const cells = rows.get(cell.rowIndex) ?? [];
9769
+ cells.push(cell);
9770
+ rows.set(cell.rowIndex, cells);
9771
+ }
9772
+ }
9773
+ return [...rows].sort(([left], [right]) => left - right).flatMap(([rowIndex, cells]) => {
9774
+ const actual = columnIndexes(cells);
9775
+ if (expected.length === actual.length && expected.every((column, i) => column === actual[i])) {
9776
+ return [];
9777
+ }
9778
+ const sourceRange = [...cells].sort((left, right) => left.columnIndex - right.columnIndex).find((cell) => cell.sourceRange !== void 0)?.sourceRange;
9779
+ return [validationDiagnostic(
9780
+ "profile.validation.assertionFailed",
9781
+ `Selected table "${table.target.id}" body row ${rowIndex} must have column positions ${JSON.stringify(expected)}; found ${JSON.stringify(actual)}.`,
9782
+ context.rule,
9783
+ {
9784
+ assertionIndex: context.assertionIndex,
9785
+ targetOrder,
9786
+ targetKey: `table:${table.target.id}:row:${rowIndex}`,
9787
+ diagnosticOrder: rowIndex,
9788
+ ...sourceRange === void 0 ? {} : { sourceRange }
9789
+ }
9790
+ )];
9791
+ });
9792
+ }
9793
+ function columnIndexes(cells) {
9794
+ return cells.map((cell) => cell.columnIndex).sort((left, right) => left - right);
9795
+ }
9796
+
9754
9797
  // src/declarative-validation/assertions/table-columns-exact.ts
9755
9798
  function evaluateTableColumnsExact(assertion, context) {
9756
9799
  if (context.selection.targets.length === 0) {
@@ -10137,6 +10180,8 @@ function evaluateAssertion(assertion, context) {
10137
10180
  return evaluateFrontmatterRequired(assertion, context);
10138
10181
  case "tableColumnsRequired":
10139
10182
  return evaluateTableColumnsRequired(assertion, context);
10183
+ case "tableRowsComplete":
10184
+ return evaluateTableRowsComplete(context);
10140
10185
  case "tableColumnsExact":
10141
10186
  return evaluateTableColumnsExact(assertion, context);
10142
10187
  case "ids":
@@ -11568,6 +11613,7 @@ function selectorAssertionCompatibilityError(assertionName, selector) {
11568
11613
  return selector.target === "document" ? void 0 : selectorCompatibilityMessage(assertionName, "document");
11569
11614
  case "tableColumnsRequired":
11570
11615
  case "tableColumnsExact":
11616
+ case "tableRowsComplete":
11571
11617
  return selector.target === "table" ? void 0 : selectorCompatibilityMessage(assertionName, "table");
11572
11618
  case "ids":
11573
11619
  case "text":
@@ -11689,12 +11735,29 @@ function hasLengthBound(bounds) {
11689
11735
  return bounds.min !== void 0 || bounds.max !== void 0;
11690
11736
  }
11691
11737
 
11738
+ // src/declarative-validation/compiler/table-rows-complete.ts
11739
+ var buildTableRowsCompleteAssertion = (assertion, selector, ruleId, syntaxVersion, diagnostics) => {
11740
+ if (assertion.tableRowsComplete === void 0 || syntaxVersion !== PROFILE_SYNTAX_VERSION_V2) {
11741
+ return void 0;
11742
+ }
11743
+ if (assertion.tableRowsComplete !== true) {
11744
+ diagnostics.push(compileDiagnostic(
11745
+ "profile.config.invalidShape",
11746
+ "tableRowsComplete must be true.",
11747
+ ruleId
11748
+ ));
11749
+ return void 0;
11750
+ }
11751
+ return pushCompatibilityDiagnostic("tableRowsComplete", selector, ruleId, diagnostics) ? { kind: "tableRowsComplete" } : void 0;
11752
+ };
11753
+
11692
11754
  // src/declarative-validation/compiler/assertion-builders.ts
11693
11755
  var ASSERTION_BUILDERS = [
11694
11756
  buildExistsAssertion,
11695
11757
  buildSectionsRequiredAssertion,
11696
11758
  buildTableColumnsRequiredAssertion,
11697
11759
  buildTableColumnsExactAssertion,
11760
+ buildTableRowsCompleteAssertion,
11698
11761
  buildIdsAssertion,
11699
11762
  buildReferencesAssertion,
11700
11763
  buildTableColumnCoverageAssertion,
@@ -12122,6 +12185,7 @@ var ASSERTION_KEYS_V2 = [
12122
12185
  "selectionCount",
12123
12186
  "sourceLength",
12124
12187
  "tableColumnsExact",
12188
+ "tableRowsComplete",
12125
12189
  "tableColumnCoverage",
12126
12190
  "frontmatterShape",
12127
12191
  "textFormat"
@@ -12893,6 +12957,7 @@ var SUPPORTED_ASSERTION_KEYS_V2 = [
12893
12957
  "selectionCount",
12894
12958
  "sourceLength",
12895
12959
  "tableColumnsExact",
12960
+ "tableRowsComplete",
12896
12961
  "tableColumnCoverage",
12897
12962
  "frontmatterShape",
12898
12963
  "textFormat"
@@ -12919,6 +12984,7 @@ function assertionFromValue(value, syntaxVersion, diagnostics) {
12919
12984
  ...supportsV2AssertionSurface(syntaxVersion) ? selectionCountFromValue(value.selectionCount, diagnostics) : {},
12920
12985
  ...supportsV2AssertionSurface(syntaxVersion) ? sourceLengthFromValue(value.sourceLength, diagnostics) : {},
12921
12986
  ...supportsV2AssertionSurface(syntaxVersion) ? tableColumnsExactFromValue(value.tableColumnsExact, diagnostics) : {},
12987
+ ...supportsV2AssertionSurface(syntaxVersion) ? tableRowsCompleteFromValue(value.tableRowsComplete, diagnostics) : {},
12922
12988
  ...frontmatterRequiredFromValue(value.frontmatterRequired, diagnostics),
12923
12989
  ...supportsV2AssertionSurface(syntaxVersion) ? tableColumnCoverageFromValue(value.tableColumnCoverage, diagnostics) : {},
12924
12990
  ...supportsV2AssertionSurface(syntaxVersion) ? frontmatterShapeFromValue2(value.frontmatterShape, diagnostics) : {},
@@ -12974,6 +13040,16 @@ function existsFromValue(value, diagnostics) {
12974
13040
  }
12975
13041
  return { exists: true };
12976
13042
  }
13043
+ function tableRowsCompleteFromValue(value, diagnostics) {
13044
+ if (value === void 0) {
13045
+ return {};
13046
+ }
13047
+ if (value !== true) {
13048
+ diagnostics.push(invalidShape("tableRowsComplete must be true."));
13049
+ return {};
13050
+ }
13051
+ return { tableRowsComplete: true };
13052
+ }
12977
13053
  function sectionsRequiredFromValue(value, diagnostics) {
12978
13054
  if (value === void 0) {
12979
13055
  return {};
@@ -13926,7 +14002,7 @@ function cloneSourceRange2(sourceRange) {
13926
14002
  import { createHash } from "node:crypto";
13927
14003
 
13928
14004
  // src/internal/package-version.ts
13929
- var MARKDOWN_ENGINE_PACKAGE_VERSION = "3.6.0";
14005
+ var MARKDOWN_ENGINE_PACKAGE_VERSION = "4.0.0";
13930
14006
 
13931
14007
  // src/internal/stable-json.ts
13932
14008
  function normalizeStableJsonValue(value) {
@@ -15112,7 +15188,7 @@ function parseFrontmatter(markdown) {
15112
15188
  };
15113
15189
  }
15114
15190
 
15115
- // ../../node_modules/ccount/index.js
15191
+ // node_modules/ccount/index.js
15116
15192
  function ccount(value, character) {
15117
15193
  const source = String(value);
15118
15194
  if (typeof character !== "string") {
@@ -15127,11 +15203,11 @@ function ccount(value, character) {
15127
15203
  return count;
15128
15204
  }
15129
15205
 
15130
- // ../../node_modules/devlop/lib/default.js
15206
+ // node_modules/devlop/lib/default.js
15131
15207
  function ok() {
15132
15208
  }
15133
15209
 
15134
- // ../../node_modules/micromark-util-character/index.js
15210
+ // node_modules/micromark-util-character/index.js
15135
15211
  var asciiAlpha = regexCheck(/[A-Za-z]/);
15136
15212
  var asciiAlphanumeric = regexCheck(/[\dA-Za-z]/);
15137
15213
  var asciiAtext = regexCheck(/[#-'*+\--9=?A-Z^-~]/);
@@ -15163,7 +15239,7 @@ function regexCheck(regex) {
15163
15239
  }
15164
15240
  }
15165
15241
 
15166
- // ../../node_modules/escape-string-regexp/index.js
15242
+ // node_modules/escape-string-regexp/index.js
15167
15243
  function escapeStringRegexp(string3) {
15168
15244
  if (typeof string3 !== "string") {
15169
15245
  throw new TypeError("Expected a string");
@@ -15171,7 +15247,7 @@ function escapeStringRegexp(string3) {
15171
15247
  return string3.replace(/[|\\{}()[\]^$+*?.]/g, "\\$&").replace(/-/g, "\\x2d");
15172
15248
  }
15173
15249
 
15174
- // ../../node_modules/unist-util-is/lib/index.js
15250
+ // node_modules/unist-util-is/lib/index.js
15175
15251
  var convert = (
15176
15252
  // Note: overloads in JSDoc can’t yet use different `@template`s.
15177
15253
  /**
@@ -15270,12 +15346,12 @@ function looksLikeANode(value) {
15270
15346
  return value !== null && typeof value === "object" && "type" in value;
15271
15347
  }
15272
15348
 
15273
- // ../../node_modules/unist-util-visit-parents/lib/color.node.js
15349
+ // node_modules/unist-util-visit-parents/lib/color.node.js
15274
15350
  function color(d) {
15275
15351
  return "\x1B[33m" + d + "\x1B[39m";
15276
15352
  }
15277
15353
 
15278
- // ../../node_modules/unist-util-visit-parents/lib/index.js
15354
+ // node_modules/unist-util-visit-parents/lib/index.js
15279
15355
  var empty = [];
15280
15356
  var CONTINUE = true;
15281
15357
  var EXIT = false;
@@ -15352,7 +15428,7 @@ function toResult(value) {
15352
15428
  return value === null || value === void 0 ? empty : [value];
15353
15429
  }
15354
15430
 
15355
- // ../../node_modules/mdast-util-find-and-replace/lib/index.js
15431
+ // node_modules/mdast-util-find-and-replace/lib/index.js
15356
15432
  function findAndReplace(tree, list3, options) {
15357
15433
  const settings = options || {};
15358
15434
  const ignored = convert(settings.ignore || []);
@@ -15457,7 +15533,7 @@ function toFunction(replace2) {
15457
15533
  };
15458
15534
  }
15459
15535
 
15460
- // ../../node_modules/mdast-util-gfm-autolink-literal/lib/index.js
15536
+ // node_modules/mdast-util-gfm-autolink-literal/lib/index.js
15461
15537
  var inConstruct = "phrasing";
15462
15538
  var notInConstruct = ["autolink", "link", "image", "label"];
15463
15539
  function gfmAutolinkLiteralFromMarkdown() {
@@ -15607,12 +15683,12 @@ function previous(match, email) {
15607
15683
  (!email || code3 !== 47);
15608
15684
  }
15609
15685
 
15610
- // ../../node_modules/micromark-util-normalize-identifier/index.js
15686
+ // node_modules/micromark-util-normalize-identifier/index.js
15611
15687
  function normalizeIdentifier(value) {
15612
15688
  return value.replace(/[\t\n\r ]+/g, " ").replace(/^ | $/g, "").toLowerCase().toUpperCase();
15613
15689
  }
15614
15690
 
15615
- // ../../node_modules/mdast-util-gfm-footnote/lib/index.js
15691
+ // node_modules/mdast-util-gfm-footnote/lib/index.js
15616
15692
  footnoteReference.peek = footnoteReferencePeek;
15617
15693
  function enterFootnoteCallString() {
15618
15694
  this.buffer();
@@ -15725,7 +15801,7 @@ function mapAll(line, index2, blank) {
15725
15801
  return (blank ? "" : " ") + line;
15726
15802
  }
15727
15803
 
15728
- // ../../node_modules/mdast-util-gfm-strikethrough/lib/index.js
15804
+ // node_modules/mdast-util-gfm-strikethrough/lib/index.js
15729
15805
  var constructsWithoutStrikethrough = [
15730
15806
  "autolink",
15731
15807
  "destinationLiteral",
@@ -15777,7 +15853,7 @@ function peekDelete() {
15777
15853
  return "~";
15778
15854
  }
15779
15855
 
15780
- // ../../node_modules/markdown-table/index.js
15856
+ // node_modules/markdown-table/index.js
15781
15857
  function defaultStringLength(value) {
15782
15858
  return value.length;
15783
15859
  }
@@ -15918,7 +15994,7 @@ function toAlignment(value) {
15918
15994
  return code3 === 67 || code3 === 99 ? 99 : code3 === 76 || code3 === 108 ? 108 : code3 === 82 || code3 === 114 ? 114 : 0;
15919
15995
  }
15920
15996
 
15921
- // ../../node_modules/mdast-util-to-markdown/lib/handle/blockquote.js
15997
+ // node_modules/mdast-util-to-markdown/lib/handle/blockquote.js
15922
15998
  function blockquote(node2, _, state, info) {
15923
15999
  const exit3 = state.enter("blockquote");
15924
16000
  const tracker = state.createTracker(info);
@@ -15935,7 +16011,7 @@ function map(line, _, blank) {
15935
16011
  return ">" + (blank ? "" : " ") + line;
15936
16012
  }
15937
16013
 
15938
- // ../../node_modules/mdast-util-to-markdown/lib/util/pattern-in-scope.js
16014
+ // node_modules/mdast-util-to-markdown/lib/util/pattern-in-scope.js
15939
16015
  function patternInScope(stack, pattern) {
15940
16016
  return listInScope(stack, pattern.inConstruct, true) && !listInScope(stack, pattern.notInConstruct, false);
15941
16017
  }
@@ -15955,7 +16031,7 @@ function listInScope(stack, list3, none) {
15955
16031
  return false;
15956
16032
  }
15957
16033
 
15958
- // ../../node_modules/mdast-util-to-markdown/lib/handle/break.js
16034
+ // node_modules/mdast-util-to-markdown/lib/handle/break.js
15959
16035
  function hardBreak(_, _1, state, info) {
15960
16036
  let index2 = -1;
15961
16037
  while (++index2 < state.unsafe.length) {
@@ -15966,7 +16042,7 @@ function hardBreak(_, _1, state, info) {
15966
16042
  return "\\\n";
15967
16043
  }
15968
16044
 
15969
- // ../../node_modules/longest-streak/index.js
16045
+ // node_modules/longest-streak/index.js
15970
16046
  function longestStreak(value, substring) {
15971
16047
  const source = String(value);
15972
16048
  let index2 = source.indexOf(substring);
@@ -15990,7 +16066,7 @@ function longestStreak(value, substring) {
15990
16066
  return max;
15991
16067
  }
15992
16068
 
15993
- // ../../node_modules/mdast-util-to-markdown/lib/util/format-code-as-indented.js
16069
+ // node_modules/mdast-util-to-markdown/lib/util/format-code-as-indented.js
15994
16070
  function formatCodeAsIndented(node2, state) {
15995
16071
  return Boolean(
15996
16072
  state.options.fences === false && node2.value && // If there’s no info…
@@ -16000,7 +16076,7 @@ function formatCodeAsIndented(node2, state) {
16000
16076
  );
16001
16077
  }
16002
16078
 
16003
- // ../../node_modules/mdast-util-to-markdown/lib/util/check-fence.js
16079
+ // node_modules/mdast-util-to-markdown/lib/util/check-fence.js
16004
16080
  function checkFence(state) {
16005
16081
  const marker = state.options.fence || "`";
16006
16082
  if (marker !== "`" && marker !== "~") {
@@ -16011,7 +16087,7 @@ function checkFence(state) {
16011
16087
  return marker;
16012
16088
  }
16013
16089
 
16014
- // ../../node_modules/mdast-util-to-markdown/lib/handle/code.js
16090
+ // node_modules/mdast-util-to-markdown/lib/handle/code.js
16015
16091
  function code(node2, _, state, info) {
16016
16092
  const marker = checkFence(state);
16017
16093
  const raw = node2.value || "";
@@ -16063,7 +16139,7 @@ function map2(line, _, blank) {
16063
16139
  return (blank ? "" : " ") + line;
16064
16140
  }
16065
16141
 
16066
- // ../../node_modules/mdast-util-to-markdown/lib/util/check-quote.js
16142
+ // node_modules/mdast-util-to-markdown/lib/util/check-quote.js
16067
16143
  function checkQuote(state) {
16068
16144
  const marker = state.options.quote || '"';
16069
16145
  if (marker !== '"' && marker !== "'") {
@@ -16074,7 +16150,7 @@ function checkQuote(state) {
16074
16150
  return marker;
16075
16151
  }
16076
16152
 
16077
- // ../../node_modules/mdast-util-to-markdown/lib/handle/definition.js
16153
+ // node_modules/mdast-util-to-markdown/lib/handle/definition.js
16078
16154
  function definition(node2, _, state, info) {
16079
16155
  const quote = checkQuote(state);
16080
16156
  const suffix = quote === '"' ? "Quote" : "Apostrophe";
@@ -16130,7 +16206,7 @@ function definition(node2, _, state, info) {
16130
16206
  return value;
16131
16207
  }
16132
16208
 
16133
- // ../../node_modules/mdast-util-to-markdown/lib/util/check-emphasis.js
16209
+ // node_modules/mdast-util-to-markdown/lib/util/check-emphasis.js
16134
16210
  function checkEmphasis(state) {
16135
16211
  const marker = state.options.emphasis || "*";
16136
16212
  if (marker !== "*" && marker !== "_") {
@@ -16141,12 +16217,12 @@ function checkEmphasis(state) {
16141
16217
  return marker;
16142
16218
  }
16143
16219
 
16144
- // ../../node_modules/mdast-util-to-markdown/lib/util/encode-character-reference.js
16220
+ // node_modules/mdast-util-to-markdown/lib/util/encode-character-reference.js
16145
16221
  function encodeCharacterReference(code3) {
16146
16222
  return "&#x" + code3.toString(16).toUpperCase() + ";";
16147
16223
  }
16148
16224
 
16149
- // ../../node_modules/micromark-util-classify-character/index.js
16225
+ // node_modules/micromark-util-classify-character/index.js
16150
16226
  function classifyCharacter(code3) {
16151
16227
  if (code3 === null || markdownLineEndingOrSpace(code3) || unicodeWhitespace(code3)) {
16152
16228
  return 1;
@@ -16156,7 +16232,7 @@ function classifyCharacter(code3) {
16156
16232
  }
16157
16233
  }
16158
16234
 
16159
- // ../../node_modules/mdast-util-to-markdown/lib/util/encode-info.js
16235
+ // node_modules/mdast-util-to-markdown/lib/util/encode-info.js
16160
16236
  function encodeInfo(outside, inside, marker) {
16161
16237
  const outsideKind = classifyCharacter(outside);
16162
16238
  const insideKind = classifyCharacter(inside);
@@ -16198,7 +16274,7 @@ function encodeInfo(outside, inside, marker) {
16198
16274
  );
16199
16275
  }
16200
16276
 
16201
- // ../../node_modules/mdast-util-to-markdown/lib/handle/emphasis.js
16277
+ // node_modules/mdast-util-to-markdown/lib/handle/emphasis.js
16202
16278
  emphasis.peek = emphasisPeek;
16203
16279
  function emphasis(node2, _, state, info) {
16204
16280
  const marker = checkEmphasis(state);
@@ -16238,7 +16314,7 @@ function emphasisPeek(_, _1, state) {
16238
16314
  return state.options.emphasis || "*";
16239
16315
  }
16240
16316
 
16241
- // ../../node_modules/unist-util-visit/lib/index.js
16317
+ // node_modules/unist-util-visit/lib/index.js
16242
16318
  function visit(tree, testOrVisitor, visitorOrReverse, maybeReverse) {
16243
16319
  let reverse;
16244
16320
  let test;
@@ -16260,7 +16336,7 @@ function visit(tree, testOrVisitor, visitorOrReverse, maybeReverse) {
16260
16336
  }
16261
16337
  }
16262
16338
 
16263
- // ../../node_modules/mdast-util-to-string/lib/index.js
16339
+ // node_modules/mdast-util-to-string/lib/index.js
16264
16340
  var emptyOptions = {};
16265
16341
  function toString(value, options) {
16266
16342
  const settings = options || emptyOptions;
@@ -16297,7 +16373,7 @@ function node(value) {
16297
16373
  return Boolean(value && typeof value === "object");
16298
16374
  }
16299
16375
 
16300
- // ../../node_modules/mdast-util-to-markdown/lib/util/format-heading-as-setext.js
16376
+ // node_modules/mdast-util-to-markdown/lib/util/format-heading-as-setext.js
16301
16377
  function formatHeadingAsSetext(node2, state) {
16302
16378
  let literalWithBreak = false;
16303
16379
  visit(node2, function(node3) {
@@ -16311,7 +16387,7 @@ function formatHeadingAsSetext(node2, state) {
16311
16387
  );
16312
16388
  }
16313
16389
 
16314
- // ../../node_modules/mdast-util-to-markdown/lib/handle/heading.js
16390
+ // node_modules/mdast-util-to-markdown/lib/handle/heading.js
16315
16391
  function heading(node2, _, state, info) {
16316
16392
  const rank = Math.max(Math.min(6, node2.depth || 1), 1);
16317
16393
  const tracker = state.createTracker(info);
@@ -16353,7 +16429,7 @@ function heading(node2, _, state, info) {
16353
16429
  return value;
16354
16430
  }
16355
16431
 
16356
- // ../../node_modules/mdast-util-to-markdown/lib/handle/html.js
16432
+ // node_modules/mdast-util-to-markdown/lib/handle/html.js
16357
16433
  html.peek = htmlPeek;
16358
16434
  function html(node2) {
16359
16435
  return node2.value || "";
@@ -16362,7 +16438,7 @@ function htmlPeek() {
16362
16438
  return "<";
16363
16439
  }
16364
16440
 
16365
- // ../../node_modules/mdast-util-to-markdown/lib/handle/image.js
16441
+ // node_modules/mdast-util-to-markdown/lib/handle/image.js
16366
16442
  image.peek = imagePeek;
16367
16443
  function image(node2, _, state, info) {
16368
16444
  const quote = checkQuote(state);
@@ -16419,7 +16495,7 @@ function imagePeek() {
16419
16495
  return "!";
16420
16496
  }
16421
16497
 
16422
- // ../../node_modules/mdast-util-to-markdown/lib/handle/image-reference.js
16498
+ // node_modules/mdast-util-to-markdown/lib/handle/image-reference.js
16423
16499
  imageReference.peek = imageReferencePeek;
16424
16500
  function imageReference(node2, _, state, info) {
16425
16501
  const type = node2.referenceType;
@@ -16458,7 +16534,7 @@ function imageReferencePeek() {
16458
16534
  return "!";
16459
16535
  }
16460
16536
 
16461
- // ../../node_modules/mdast-util-to-markdown/lib/handle/inline-code.js
16537
+ // node_modules/mdast-util-to-markdown/lib/handle/inline-code.js
16462
16538
  inlineCode.peek = inlineCodePeek;
16463
16539
  function inlineCode(node2, _, state) {
16464
16540
  let value = node2.value || "";
@@ -16489,7 +16565,7 @@ function inlineCodePeek() {
16489
16565
  return "`";
16490
16566
  }
16491
16567
 
16492
- // ../../node_modules/mdast-util-to-markdown/lib/util/format-link-as-autolink.js
16568
+ // node_modules/mdast-util-to-markdown/lib/util/format-link-as-autolink.js
16493
16569
  function formatLinkAsAutolink(node2, state) {
16494
16570
  const raw = toString(node2);
16495
16571
  return Boolean(
@@ -16504,7 +16580,7 @@ function formatLinkAsAutolink(node2, state) {
16504
16580
  );
16505
16581
  }
16506
16582
 
16507
- // ../../node_modules/mdast-util-to-markdown/lib/handle/link.js
16583
+ // node_modules/mdast-util-to-markdown/lib/handle/link.js
16508
16584
  link.peek = linkPeek;
16509
16585
  function link(node2, _, state, info) {
16510
16586
  const quote = checkQuote(state);
@@ -16584,7 +16660,7 @@ function linkPeek(node2, _, state) {
16584
16660
  return formatLinkAsAutolink(node2, state) ? "<" : "[";
16585
16661
  }
16586
16662
 
16587
- // ../../node_modules/mdast-util-to-markdown/lib/handle/link-reference.js
16663
+ // node_modules/mdast-util-to-markdown/lib/handle/link-reference.js
16588
16664
  linkReference.peek = linkReferencePeek;
16589
16665
  function linkReference(node2, _, state, info) {
16590
16666
  const type = node2.referenceType;
@@ -16623,7 +16699,7 @@ function linkReferencePeek() {
16623
16699
  return "[";
16624
16700
  }
16625
16701
 
16626
- // ../../node_modules/mdast-util-to-markdown/lib/util/check-bullet.js
16702
+ // node_modules/mdast-util-to-markdown/lib/util/check-bullet.js
16627
16703
  function checkBullet(state) {
16628
16704
  const marker = state.options.bullet || "*";
16629
16705
  if (marker !== "*" && marker !== "+" && marker !== "-") {
@@ -16634,7 +16710,7 @@ function checkBullet(state) {
16634
16710
  return marker;
16635
16711
  }
16636
16712
 
16637
- // ../../node_modules/mdast-util-to-markdown/lib/util/check-bullet-other.js
16713
+ // node_modules/mdast-util-to-markdown/lib/util/check-bullet-other.js
16638
16714
  function checkBulletOther(state) {
16639
16715
  const bullet = checkBullet(state);
16640
16716
  const bulletOther = state.options.bulletOther;
@@ -16654,7 +16730,7 @@ function checkBulletOther(state) {
16654
16730
  return bulletOther;
16655
16731
  }
16656
16732
 
16657
- // ../../node_modules/mdast-util-to-markdown/lib/util/check-bullet-ordered.js
16733
+ // node_modules/mdast-util-to-markdown/lib/util/check-bullet-ordered.js
16658
16734
  function checkBulletOrdered(state) {
16659
16735
  const marker = state.options.bulletOrdered || ".";
16660
16736
  if (marker !== "." && marker !== ")") {
@@ -16665,7 +16741,7 @@ function checkBulletOrdered(state) {
16665
16741
  return marker;
16666
16742
  }
16667
16743
 
16668
- // ../../node_modules/mdast-util-to-markdown/lib/util/check-rule.js
16744
+ // node_modules/mdast-util-to-markdown/lib/util/check-rule.js
16669
16745
  function checkRule(state) {
16670
16746
  const marker = state.options.rule || "*";
16671
16747
  if (marker !== "*" && marker !== "-" && marker !== "_") {
@@ -16676,7 +16752,7 @@ function checkRule(state) {
16676
16752
  return marker;
16677
16753
  }
16678
16754
 
16679
- // ../../node_modules/mdast-util-to-markdown/lib/handle/list.js
16755
+ // node_modules/mdast-util-to-markdown/lib/handle/list.js
16680
16756
  function list(node2, parent, state, info) {
16681
16757
  const exit3 = state.enter("list");
16682
16758
  const bulletCurrent = state.bulletCurrent;
@@ -16716,7 +16792,7 @@ function list(node2, parent, state, info) {
16716
16792
  return value;
16717
16793
  }
16718
16794
 
16719
- // ../../node_modules/mdast-util-to-markdown/lib/util/check-list-item-indent.js
16795
+ // node_modules/mdast-util-to-markdown/lib/util/check-list-item-indent.js
16720
16796
  function checkListItemIndent(state) {
16721
16797
  const style = state.options.listItemIndent || "one";
16722
16798
  if (style !== "tab" && style !== "one" && style !== "mixed") {
@@ -16727,7 +16803,7 @@ function checkListItemIndent(state) {
16727
16803
  return style;
16728
16804
  }
16729
16805
 
16730
- // ../../node_modules/mdast-util-to-markdown/lib/handle/list-item.js
16806
+ // node_modules/mdast-util-to-markdown/lib/handle/list-item.js
16731
16807
  function listItem(node2, parent, state, info) {
16732
16808
  const listItemIndent = checkListItemIndent(state);
16733
16809
  let bullet = state.bulletCurrent || checkBullet(state);
@@ -16756,7 +16832,7 @@ function listItem(node2, parent, state, info) {
16756
16832
  }
16757
16833
  }
16758
16834
 
16759
- // ../../node_modules/mdast-util-to-markdown/lib/handle/paragraph.js
16835
+ // node_modules/mdast-util-to-markdown/lib/handle/paragraph.js
16760
16836
  function paragraph(node2, _, state, info) {
16761
16837
  const exit3 = state.enter("paragraph");
16762
16838
  const subexit = state.enter("phrasing");
@@ -16766,7 +16842,7 @@ function paragraph(node2, _, state, info) {
16766
16842
  return value;
16767
16843
  }
16768
16844
 
16769
- // ../../node_modules/mdast-util-phrasing/lib/index.js
16845
+ // node_modules/mdast-util-phrasing/lib/index.js
16770
16846
  var phrasing = (
16771
16847
  /** @type {(node?: unknown) => node is Exclude<PhrasingContent, Html>} */
16772
16848
  convert([
@@ -16794,7 +16870,7 @@ var phrasing = (
16794
16870
  ])
16795
16871
  );
16796
16872
 
16797
- // ../../node_modules/mdast-util-to-markdown/lib/handle/root.js
16873
+ // node_modules/mdast-util-to-markdown/lib/handle/root.js
16798
16874
  function root(node2, _, state, info) {
16799
16875
  const hasPhrasing = node2.children.some(function(d) {
16800
16876
  return phrasing(d);
@@ -16803,7 +16879,7 @@ function root(node2, _, state, info) {
16803
16879
  return container.call(state, node2, info);
16804
16880
  }
16805
16881
 
16806
- // ../../node_modules/mdast-util-to-markdown/lib/util/check-strong.js
16882
+ // node_modules/mdast-util-to-markdown/lib/util/check-strong.js
16807
16883
  function checkStrong(state) {
16808
16884
  const marker = state.options.strong || "*";
16809
16885
  if (marker !== "*" && marker !== "_") {
@@ -16814,7 +16890,7 @@ function checkStrong(state) {
16814
16890
  return marker;
16815
16891
  }
16816
16892
 
16817
- // ../../node_modules/mdast-util-to-markdown/lib/handle/strong.js
16893
+ // node_modules/mdast-util-to-markdown/lib/handle/strong.js
16818
16894
  strong.peek = strongPeek;
16819
16895
  function strong(node2, _, state, info) {
16820
16896
  const marker = checkStrong(state);
@@ -16854,12 +16930,12 @@ function strongPeek(_, _1, state) {
16854
16930
  return state.options.strong || "*";
16855
16931
  }
16856
16932
 
16857
- // ../../node_modules/mdast-util-to-markdown/lib/handle/text.js
16933
+ // node_modules/mdast-util-to-markdown/lib/handle/text.js
16858
16934
  function text(node2, _, state, info) {
16859
16935
  return state.safe(node2.value, info);
16860
16936
  }
16861
16937
 
16862
- // ../../node_modules/mdast-util-to-markdown/lib/util/check-rule-repetition.js
16938
+ // node_modules/mdast-util-to-markdown/lib/util/check-rule-repetition.js
16863
16939
  function checkRuleRepetition(state) {
16864
16940
  const repetition = state.options.ruleRepetition || 3;
16865
16941
  if (repetition < 3) {
@@ -16870,13 +16946,13 @@ function checkRuleRepetition(state) {
16870
16946
  return repetition;
16871
16947
  }
16872
16948
 
16873
- // ../../node_modules/mdast-util-to-markdown/lib/handle/thematic-break.js
16949
+ // node_modules/mdast-util-to-markdown/lib/handle/thematic-break.js
16874
16950
  function thematicBreak(_, _1, state) {
16875
16951
  const value = (checkRule(state) + (state.options.ruleSpaces ? " " : "")).repeat(checkRuleRepetition(state));
16876
16952
  return state.options.ruleSpaces ? value.slice(0, -1) : value;
16877
16953
  }
16878
16954
 
16879
- // ../../node_modules/mdast-util-to-markdown/lib/handle/index.js
16955
+ // node_modules/mdast-util-to-markdown/lib/handle/index.js
16880
16956
  var handle = {
16881
16957
  blockquote,
16882
16958
  break: hardBreak,
@@ -16900,7 +16976,7 @@ var handle = {
16900
16976
  thematicBreak
16901
16977
  };
16902
16978
 
16903
- // ../../node_modules/character-entities/index.js
16979
+ // node_modules/character-entities/index.js
16904
16980
  var characterEntities = {
16905
16981
  AElig: "\xC6",
16906
16982
  AMP: "&",
@@ -19029,13 +19105,13 @@ var characterEntities = {
19029
19105
  zwnj: "\u200C"
19030
19106
  };
19031
19107
 
19032
- // ../../node_modules/decode-named-character-reference/index.js
19108
+ // node_modules/decode-named-character-reference/index.js
19033
19109
  var own = {}.hasOwnProperty;
19034
19110
  function decodeNamedCharacterReference(value) {
19035
19111
  return own.call(characterEntities, value) ? characterEntities[value] : false;
19036
19112
  }
19037
19113
 
19038
- // ../../node_modules/micromark-util-decode-numeric-character-reference/index.js
19114
+ // node_modules/micromark-util-decode-numeric-character-reference/index.js
19039
19115
  function decodeNumericCharacterReference(value, base) {
19040
19116
  const code3 = Number.parseInt(value, base);
19041
19117
  if (
@@ -19053,7 +19129,7 @@ function decodeNumericCharacterReference(value, base) {
19053
19129
  return String.fromCodePoint(code3);
19054
19130
  }
19055
19131
 
19056
- // ../../node_modules/micromark-util-decode-string/index.js
19132
+ // node_modules/micromark-util-decode-string/index.js
19057
19133
  var characterEscapeOrReference = /\\([!-/:-@[-`{-~])|&(#(?:\d{1,7}|x[\da-f]{1,6})|[\da-z]{1,31});/gi;
19058
19134
  function decodeString(value) {
19059
19135
  return value.replace(characterEscapeOrReference, decode);
@@ -19071,7 +19147,7 @@ function decode($0, $1, $2) {
19071
19147
  return decodeNamedCharacterReference($2) || $0;
19072
19148
  }
19073
19149
 
19074
- // ../../node_modules/mdast-util-gfm-table/lib/index.js
19150
+ // node_modules/mdast-util-gfm-table/lib/index.js
19075
19151
  function gfmTableFromMarkdown() {
19076
19152
  return {
19077
19153
  enter: {
@@ -19224,7 +19300,7 @@ function gfmTableToMarkdown(options) {
19224
19300
  }
19225
19301
  }
19226
19302
 
19227
- // ../../node_modules/mdast-util-gfm-task-list-item/lib/index.js
19303
+ // node_modules/mdast-util-gfm-task-list-item/lib/index.js
19228
19304
  function gfmTaskListItemFromMarkdown() {
19229
19305
  return {
19230
19306
  exit: {
@@ -19297,7 +19373,7 @@ function listItemWithTaskListItem(node2, parent, state, info) {
19297
19373
  }
19298
19374
  }
19299
19375
 
19300
- // ../../node_modules/mdast-util-gfm/lib/index.js
19376
+ // node_modules/mdast-util-gfm/lib/index.js
19301
19377
  function gfmFromMarkdown() {
19302
19378
  return [
19303
19379
  gfmAutolinkLiteralFromMarkdown(),
@@ -19319,7 +19395,7 @@ function gfmToMarkdown(options) {
19319
19395
  };
19320
19396
  }
19321
19397
 
19322
- // ../../node_modules/micromark-util-chunked/index.js
19398
+ // node_modules/micromark-util-chunked/index.js
19323
19399
  function splice(list3, start, remove, items) {
19324
19400
  const end = list3.length;
19325
19401
  let chunkStart = 0;
@@ -19353,7 +19429,7 @@ function push(list3, items) {
19353
19429
  return items;
19354
19430
  }
19355
19431
 
19356
- // ../../node_modules/micromark-util-combine-extensions/index.js
19432
+ // node_modules/micromark-util-combine-extensions/index.js
19357
19433
  var hasOwnProperty2 = {}.hasOwnProperty;
19358
19434
  function combineExtensions(extensions) {
19359
19435
  const all2 = {};
@@ -19393,7 +19469,7 @@ function constructs(existing, list3) {
19393
19469
  splice(existing, 0, 0, before);
19394
19470
  }
19395
19471
 
19396
- // ../../node_modules/micromark-extension-gfm-autolink-literal/lib/syntax.js
19472
+ // node_modules/micromark-extension-gfm-autolink-literal/lib/syntax.js
19397
19473
  var wwwPrefix = {
19398
19474
  tokenize: tokenizeWwwPrefix,
19399
19475
  partial: true
@@ -19735,21 +19811,21 @@ function previousUnbalanced(events) {
19735
19811
  return result;
19736
19812
  }
19737
19813
 
19738
- // ../../node_modules/micromark-util-resolve-all/index.js
19814
+ // node_modules/micromark-util-resolve-all/index.js
19739
19815
  function resolveAll(constructs2, events, context) {
19740
19816
  const called = [];
19741
19817
  let index2 = -1;
19742
19818
  while (++index2 < constructs2.length) {
19743
- const resolve2 = constructs2[index2].resolveAll;
19744
- if (resolve2 && !called.includes(resolve2)) {
19745
- events = resolve2(events, context);
19746
- called.push(resolve2);
19819
+ const resolve3 = constructs2[index2].resolveAll;
19820
+ if (resolve3 && !called.includes(resolve3)) {
19821
+ events = resolve3(events, context);
19822
+ called.push(resolve3);
19747
19823
  }
19748
19824
  }
19749
19825
  return events;
19750
19826
  }
19751
19827
 
19752
- // ../../node_modules/micromark-core-commonmark/lib/attention.js
19828
+ // node_modules/micromark-core-commonmark/lib/attention.js
19753
19829
  var attention = {
19754
19830
  name: "attention",
19755
19831
  resolveAll: resolveAllAttention,
@@ -19880,7 +19956,7 @@ function movePoint(point3, offset) {
19880
19956
  point3._bufferIndex += offset;
19881
19957
  }
19882
19958
 
19883
- // ../../node_modules/micromark-core-commonmark/lib/autolink.js
19959
+ // node_modules/micromark-core-commonmark/lib/autolink.js
19884
19960
  var autolink = {
19885
19961
  name: "autolink",
19886
19962
  tokenize: tokenizeAutolink
@@ -19981,7 +20057,7 @@ function tokenizeAutolink(effects, ok3, nok) {
19981
20057
  }
19982
20058
  }
19983
20059
 
19984
- // ../../node_modules/micromark-factory-space/index.js
20060
+ // node_modules/micromark-factory-space/index.js
19985
20061
  function factorySpace(effects, ok3, type, max) {
19986
20062
  const limit = max ? max - 1 : Number.POSITIVE_INFINITY;
19987
20063
  let size = 0;
@@ -20003,7 +20079,7 @@ function factorySpace(effects, ok3, type, max) {
20003
20079
  }
20004
20080
  }
20005
20081
 
20006
- // ../../node_modules/micromark-core-commonmark/lib/blank-line.js
20082
+ // node_modules/micromark-core-commonmark/lib/blank-line.js
20007
20083
  var blankLine = {
20008
20084
  partial: true,
20009
20085
  tokenize: tokenizeBlankLine
@@ -20018,7 +20094,7 @@ function tokenizeBlankLine(effects, ok3, nok) {
20018
20094
  }
20019
20095
  }
20020
20096
 
20021
- // ../../node_modules/micromark-core-commonmark/lib/block-quote.js
20097
+ // node_modules/micromark-core-commonmark/lib/block-quote.js
20022
20098
  var blockQuote = {
20023
20099
  continuation: {
20024
20100
  tokenize: tokenizeBlockQuoteContinuation
@@ -20076,7 +20152,7 @@ function exit2(effects) {
20076
20152
  effects.exit("blockQuote");
20077
20153
  }
20078
20154
 
20079
- // ../../node_modules/micromark-core-commonmark/lib/character-escape.js
20155
+ // node_modules/micromark-core-commonmark/lib/character-escape.js
20080
20156
  var characterEscape = {
20081
20157
  name: "characterEscape",
20082
20158
  tokenize: tokenizeCharacterEscape
@@ -20102,7 +20178,7 @@ function tokenizeCharacterEscape(effects, ok3, nok) {
20102
20178
  }
20103
20179
  }
20104
20180
 
20105
- // ../../node_modules/micromark-core-commonmark/lib/character-reference.js
20181
+ // node_modules/micromark-core-commonmark/lib/character-reference.js
20106
20182
  var characterReference = {
20107
20183
  name: "characterReference",
20108
20184
  tokenize: tokenizeCharacterReference
@@ -20167,7 +20243,7 @@ function tokenizeCharacterReference(effects, ok3, nok) {
20167
20243
  }
20168
20244
  }
20169
20245
 
20170
- // ../../node_modules/micromark-core-commonmark/lib/code-fenced.js
20246
+ // node_modules/micromark-core-commonmark/lib/code-fenced.js
20171
20247
  var nonLazyContinuation = {
20172
20248
  partial: true,
20173
20249
  tokenize: tokenizeNonLazyContinuation
@@ -20350,7 +20426,7 @@ function tokenizeNonLazyContinuation(effects, ok3, nok) {
20350
20426
  }
20351
20427
  }
20352
20428
 
20353
- // ../../node_modules/micromark-core-commonmark/lib/code-indented.js
20429
+ // node_modules/micromark-core-commonmark/lib/code-indented.js
20354
20430
  var codeIndented = {
20355
20431
  name: "codeIndented",
20356
20432
  tokenize: tokenizeCodeIndented
@@ -20414,7 +20490,7 @@ function tokenizeFurtherStart(effects, ok3, nok) {
20414
20490
  }
20415
20491
  }
20416
20492
 
20417
- // ../../node_modules/micromark-core-commonmark/lib/code-text.js
20493
+ // node_modules/micromark-core-commonmark/lib/code-text.js
20418
20494
  var codeText = {
20419
20495
  name: "codeText",
20420
20496
  previous: previous2,
@@ -20529,7 +20605,7 @@ function tokenizeCodeText(effects, ok3, nok) {
20529
20605
  }
20530
20606
  }
20531
20607
 
20532
- // ../../node_modules/micromark-util-subtokenize/lib/splice-buffer.js
20608
+ // node_modules/micromark-util-subtokenize/lib/splice-buffer.js
20533
20609
  var SpliceBuffer = class {
20534
20610
  /**
20535
20611
  * @param {ReadonlyArray<T> | null | undefined} [initial]
@@ -20722,7 +20798,7 @@ function chunkedPush(list3, right) {
20722
20798
  }
20723
20799
  }
20724
20800
 
20725
- // ../../node_modules/micromark-util-subtokenize/index.js
20801
+ // node_modules/micromark-util-subtokenize/index.js
20726
20802
  function subtokenize(eventsArray) {
20727
20803
  const jumps = {};
20728
20804
  let index2 = -1;
@@ -20875,7 +20951,7 @@ function subcontent(events, eventIndex) {
20875
20951
  return gaps;
20876
20952
  }
20877
20953
 
20878
- // ../../node_modules/micromark-core-commonmark/lib/content.js
20954
+ // node_modules/micromark-core-commonmark/lib/content.js
20879
20955
  var content = {
20880
20956
  resolve: resolveContent,
20881
20957
  tokenize: tokenizeContent
@@ -20946,7 +21022,7 @@ function tokenizeContinuation(effects, ok3, nok) {
20946
21022
  }
20947
21023
  }
20948
21024
 
20949
- // ../../node_modules/micromark-factory-destination/index.js
21025
+ // node_modules/micromark-factory-destination/index.js
20950
21026
  function factoryDestination(effects, ok3, nok, type, literalType, literalMarkerType, rawType, stringType, max) {
20951
21027
  const limit = max || Number.POSITIVE_INFINITY;
20952
21028
  let balance = 0;
@@ -21038,7 +21114,7 @@ function factoryDestination(effects, ok3, nok, type, literalType, literalMarkerT
21038
21114
  }
21039
21115
  }
21040
21116
 
21041
- // ../../node_modules/micromark-factory-label/index.js
21117
+ // node_modules/micromark-factory-label/index.js
21042
21118
  function factoryLabel(effects, ok3, nok, type, markerType, stringType) {
21043
21119
  const self = this;
21044
21120
  let size = 0;
@@ -21099,7 +21175,7 @@ function factoryLabel(effects, ok3, nok, type, markerType, stringType) {
21099
21175
  }
21100
21176
  }
21101
21177
 
21102
- // ../../node_modules/micromark-factory-title/index.js
21178
+ // node_modules/micromark-factory-title/index.js
21103
21179
  function factoryTitle(effects, ok3, nok, type, markerType, stringType) {
21104
21180
  let marker;
21105
21181
  return start;
@@ -21161,7 +21237,7 @@ function factoryTitle(effects, ok3, nok, type, markerType, stringType) {
21161
21237
  }
21162
21238
  }
21163
21239
 
21164
- // ../../node_modules/micromark-factory-whitespace/index.js
21240
+ // node_modules/micromark-factory-whitespace/index.js
21165
21241
  function factoryWhitespace(effects, ok3) {
21166
21242
  let seen;
21167
21243
  return start;
@@ -21180,7 +21256,7 @@ function factoryWhitespace(effects, ok3) {
21180
21256
  }
21181
21257
  }
21182
21258
 
21183
- // ../../node_modules/micromark-core-commonmark/lib/definition.js
21259
+ // node_modules/micromark-core-commonmark/lib/definition.js
21184
21260
  var definition2 = {
21185
21261
  name: "definition",
21186
21262
  tokenize: tokenizeDefinition
@@ -21266,7 +21342,7 @@ function tokenizeTitleBefore(effects, ok3, nok) {
21266
21342
  }
21267
21343
  }
21268
21344
 
21269
- // ../../node_modules/micromark-core-commonmark/lib/hard-break-escape.js
21345
+ // node_modules/micromark-core-commonmark/lib/hard-break-escape.js
21270
21346
  var hardBreakEscape = {
21271
21347
  name: "hardBreakEscape",
21272
21348
  tokenize: tokenizeHardBreakEscape
@@ -21287,7 +21363,7 @@ function tokenizeHardBreakEscape(effects, ok3, nok) {
21287
21363
  }
21288
21364
  }
21289
21365
 
21290
- // ../../node_modules/micromark-core-commonmark/lib/heading-atx.js
21366
+ // node_modules/micromark-core-commonmark/lib/heading-atx.js
21291
21367
  var headingAtx = {
21292
21368
  name: "headingAtx",
21293
21369
  resolve: resolveHeadingAtx,
@@ -21378,7 +21454,7 @@ function tokenizeHeadingAtx(effects, ok3, nok) {
21378
21454
  }
21379
21455
  }
21380
21456
 
21381
- // ../../node_modules/micromark-util-html-tag-name/index.js
21457
+ // node_modules/micromark-util-html-tag-name/index.js
21382
21458
  var htmlBlockNames = [
21383
21459
  "address",
21384
21460
  "article",
@@ -21445,7 +21521,7 @@ var htmlBlockNames = [
21445
21521
  ];
21446
21522
  var htmlRawNames = ["pre", "script", "style", "textarea"];
21447
21523
 
21448
- // ../../node_modules/micromark-core-commonmark/lib/html-flow.js
21524
+ // node_modules/micromark-core-commonmark/lib/html-flow.js
21449
21525
  var htmlFlow = {
21450
21526
  concrete: true,
21451
21527
  name: "htmlFlow",
@@ -21824,7 +21900,7 @@ function tokenizeBlankLineBefore(effects, ok3, nok) {
21824
21900
  }
21825
21901
  }
21826
21902
 
21827
- // ../../node_modules/micromark-core-commonmark/lib/html-text.js
21903
+ // node_modules/micromark-core-commonmark/lib/html-text.js
21828
21904
  var htmlText = {
21829
21905
  name: "htmlText",
21830
21906
  tokenize: tokenizeHtmlText
@@ -22130,7 +22206,7 @@ function tokenizeHtmlText(effects, ok3, nok) {
22130
22206
  }
22131
22207
  }
22132
22208
 
22133
- // ../../node_modules/micromark-core-commonmark/lib/label-end.js
22209
+ // node_modules/micromark-core-commonmark/lib/label-end.js
22134
22210
  var labelEnd = {
22135
22211
  name: "labelEnd",
22136
22212
  resolveAll: resolveAllLabelEnd,
@@ -22356,7 +22432,7 @@ function tokenizeReferenceCollapsed(effects, ok3, nok) {
22356
22432
  }
22357
22433
  }
22358
22434
 
22359
- // ../../node_modules/micromark-core-commonmark/lib/label-start-image.js
22435
+ // node_modules/micromark-core-commonmark/lib/label-start-image.js
22360
22436
  var labelStartImage = {
22361
22437
  name: "labelStartImage",
22362
22438
  resolveAll: labelEnd.resolveAll,
@@ -22387,7 +22463,7 @@ function tokenizeLabelStartImage(effects, ok3, nok) {
22387
22463
  }
22388
22464
  }
22389
22465
 
22390
- // ../../node_modules/micromark-core-commonmark/lib/label-start-link.js
22466
+ // node_modules/micromark-core-commonmark/lib/label-start-link.js
22391
22467
  var labelStartLink = {
22392
22468
  name: "labelStartLink",
22393
22469
  resolveAll: labelEnd.resolveAll,
@@ -22409,7 +22485,7 @@ function tokenizeLabelStartLink(effects, ok3, nok) {
22409
22485
  }
22410
22486
  }
22411
22487
 
22412
- // ../../node_modules/micromark-core-commonmark/lib/line-ending.js
22488
+ // node_modules/micromark-core-commonmark/lib/line-ending.js
22413
22489
  var lineEnding = {
22414
22490
  name: "lineEnding",
22415
22491
  tokenize: tokenizeLineEnding
@@ -22424,7 +22500,7 @@ function tokenizeLineEnding(effects, ok3) {
22424
22500
  }
22425
22501
  }
22426
22502
 
22427
- // ../../node_modules/micromark-core-commonmark/lib/thematic-break.js
22503
+ // node_modules/micromark-core-commonmark/lib/thematic-break.js
22428
22504
  var thematicBreak2 = {
22429
22505
  name: "thematicBreak",
22430
22506
  tokenize: tokenizeThematicBreak
@@ -22463,7 +22539,7 @@ function tokenizeThematicBreak(effects, ok3, nok) {
22463
22539
  }
22464
22540
  }
22465
22541
 
22466
- // ../../node_modules/micromark-core-commonmark/lib/list.js
22542
+ // node_modules/micromark-core-commonmark/lib/list.js
22467
22543
  var list2 = {
22468
22544
  continuation: {
22469
22545
  tokenize: tokenizeListContinuation
@@ -22593,7 +22669,7 @@ function tokenizeListItemPrefixWhitespace(effects, ok3, nok) {
22593
22669
  }
22594
22670
  }
22595
22671
 
22596
- // ../../node_modules/micromark-core-commonmark/lib/setext-underline.js
22672
+ // node_modules/micromark-core-commonmark/lib/setext-underline.js
22597
22673
  var setextUnderline = {
22598
22674
  name: "setextUnderline",
22599
22675
  resolveTo: resolveToSetextUnderline,
@@ -22685,7 +22761,7 @@ function tokenizeSetextUnderline(effects, ok3, nok) {
22685
22761
  }
22686
22762
  }
22687
22763
 
22688
- // ../../node_modules/micromark-extension-gfm-footnote/lib/syntax.js
22764
+ // node_modules/micromark-extension-gfm-footnote/lib/syntax.js
22689
22765
  var indent = {
22690
22766
  tokenize: tokenizeIndent2,
22691
22767
  partial: true
@@ -22960,7 +23036,7 @@ function tokenizeIndent2(effects, ok3, nok) {
22960
23036
  }
22961
23037
  }
22962
23038
 
22963
- // ../../node_modules/micromark-extension-gfm-strikethrough/lib/syntax.js
23039
+ // node_modules/micromark-extension-gfm-strikethrough/lib/syntax.js
22964
23040
  function gfmStrikethrough(options) {
22965
23041
  const options_ = options || {};
22966
23042
  let single = options_.singleTilde;
@@ -23054,7 +23130,7 @@ function gfmStrikethrough(options) {
23054
23130
  }
23055
23131
  }
23056
23132
 
23057
- // ../../node_modules/micromark-extension-gfm-table/lib/edit-map.js
23133
+ // node_modules/micromark-extension-gfm-table/lib/edit-map.js
23058
23134
  var EditMap = class {
23059
23135
  /**
23060
23136
  * Create a new edit map.
@@ -23133,7 +23209,7 @@ function addImplementation(editMap, at, remove, add) {
23133
23209
  editMap.map.push([at, remove, add]);
23134
23210
  }
23135
23211
 
23136
- // ../../node_modules/micromark-extension-gfm-table/lib/infer.js
23212
+ // node_modules/micromark-extension-gfm-table/lib/infer.js
23137
23213
  function gfmTableAlign(events, index2) {
23138
23214
  let inDelimiterRow = false;
23139
23215
  const align = [];
@@ -23160,7 +23236,7 @@ function gfmTableAlign(events, index2) {
23160
23236
  return align;
23161
23237
  }
23162
23238
 
23163
- // ../../node_modules/micromark-extension-gfm-table/lib/syntax.js
23239
+ // node_modules/micromark-extension-gfm-table/lib/syntax.js
23164
23240
  function gfmTable() {
23165
23241
  return {
23166
23242
  flow: {
@@ -23546,7 +23622,7 @@ function getPoint(events, index2) {
23546
23622
  return event[1][side];
23547
23623
  }
23548
23624
 
23549
- // ../../node_modules/micromark-extension-gfm-task-list-item/lib/syntax.js
23625
+ // node_modules/micromark-extension-gfm-task-list-item/lib/syntax.js
23550
23626
  var tasklistCheck = {
23551
23627
  name: "tasklistCheck",
23552
23628
  tokenize: tokenizeTasklistCheck
@@ -23620,7 +23696,7 @@ function spaceThenNonSpace(effects, ok3, nok) {
23620
23696
  }
23621
23697
  }
23622
23698
 
23623
- // ../../node_modules/micromark-extension-gfm/index.js
23699
+ // node_modules/micromark-extension-gfm/index.js
23624
23700
  function gfm(options) {
23625
23701
  return combineExtensions([
23626
23702
  gfmAutolinkLiteral(),
@@ -23631,7 +23707,7 @@ function gfm(options) {
23631
23707
  ]);
23632
23708
  }
23633
23709
 
23634
- // ../../node_modules/remark-gfm/lib/index.js
23710
+ // node_modules/remark-gfm/lib/index.js
23635
23711
  var emptyOptions2 = {};
23636
23712
  function remarkGfm(options) {
23637
23713
  const self = (
@@ -23648,7 +23724,7 @@ function remarkGfm(options) {
23648
23724
  toMarkdownExtensions.push(gfmToMarkdown(settings));
23649
23725
  }
23650
23726
 
23651
- // ../../node_modules/micromark/lib/initialize/content.js
23727
+ // node_modules/micromark/lib/initialize/content.js
23652
23728
  var content2 = {
23653
23729
  tokenize: initializeContent
23654
23730
  };
@@ -23698,7 +23774,7 @@ function initializeContent(effects) {
23698
23774
  }
23699
23775
  }
23700
23776
 
23701
- // ../../node_modules/micromark/lib/initialize/document.js
23777
+ // node_modules/micromark/lib/initialize/document.js
23702
23778
  var document = {
23703
23779
  tokenize: initializeDocument
23704
23780
  };
@@ -23880,7 +23956,7 @@ function tokenizeContainer(effects, ok3, nok) {
23880
23956
  return factorySpace(effects, effects.attempt(this.parser.constructs.document, ok3, nok), "linePrefix", this.parser.constructs.disable.null.includes("codeIndented") ? void 0 : 4);
23881
23957
  }
23882
23958
 
23883
- // ../../node_modules/micromark/lib/initialize/flow.js
23959
+ // node_modules/micromark/lib/initialize/flow.js
23884
23960
  var flow = {
23885
23961
  tokenize: initializeFlow
23886
23962
  };
@@ -23918,7 +23994,7 @@ function initializeFlow(effects) {
23918
23994
  }
23919
23995
  }
23920
23996
 
23921
- // ../../node_modules/micromark/lib/initialize/text.js
23997
+ // node_modules/micromark/lib/initialize/text.js
23922
23998
  var resolver = {
23923
23999
  resolveAll: createResolver()
23924
24000
  };
@@ -24057,7 +24133,7 @@ function resolveAllLineSuffixes(events, context) {
24057
24133
  return events;
24058
24134
  }
24059
24135
 
24060
- // ../../node_modules/micromark/lib/constructs.js
24136
+ // node_modules/micromark/lib/constructs.js
24061
24137
  var constructs_exports = {};
24062
24138
  __export(constructs_exports, {
24063
24139
  attentionMarkers: () => attentionMarkers,
@@ -24132,7 +24208,7 @@ var disable = {
24132
24208
  null: []
24133
24209
  };
24134
24210
 
24135
- // ../../node_modules/micromark/lib/create-tokenizer.js
24211
+ // node_modules/micromark/lib/create-tokenizer.js
24136
24212
  function createTokenizer(parser, initialize, from) {
24137
24213
  let point3 = {
24138
24214
  _bufferIndex: -1,
@@ -24455,7 +24531,7 @@ function serializeChunks(chunks, expandTabs) {
24455
24531
  return result.join("");
24456
24532
  }
24457
24533
 
24458
- // ../../node_modules/micromark/lib/parse.js
24534
+ // node_modules/micromark/lib/parse.js
24459
24535
  function parse(options) {
24460
24536
  const settings = options || {};
24461
24537
  const constructs2 = (
@@ -24481,14 +24557,14 @@ function parse(options) {
24481
24557
  }
24482
24558
  }
24483
24559
 
24484
- // ../../node_modules/micromark/lib/postprocess.js
24560
+ // node_modules/micromark/lib/postprocess.js
24485
24561
  function postprocess(events) {
24486
24562
  while (!subtokenize(events)) {
24487
24563
  }
24488
24564
  return events;
24489
24565
  }
24490
24566
 
24491
- // ../../node_modules/micromark/lib/preprocess.js
24567
+ // node_modules/micromark/lib/preprocess.js
24492
24568
  var search = /[\0\t\n\r]/g;
24493
24569
  function preprocess() {
24494
24570
  let column = 1;
@@ -24567,7 +24643,7 @@ function preprocess() {
24567
24643
  }
24568
24644
  }
24569
24645
 
24570
- // ../../node_modules/unist-util-stringify-position/lib/index.js
24646
+ // node_modules/unist-util-stringify-position/lib/index.js
24571
24647
  function stringifyPosition(value) {
24572
24648
  if (!value || typeof value !== "object") {
24573
24649
  return "";
@@ -24593,7 +24669,7 @@ function index(value) {
24593
24669
  return value && typeof value === "number" ? value : 1;
24594
24670
  }
24595
24671
 
24596
- // ../../node_modules/mdast-util-from-markdown/lib/index.js
24672
+ // node_modules/mdast-util-from-markdown/lib/index.js
24597
24673
  var own2 = {}.hasOwnProperty;
24598
24674
  function fromMarkdown(value, encoding, options) {
24599
24675
  if (encoding && typeof encoding === "object") {
@@ -24607,7 +24683,7 @@ function compiler(options) {
24607
24683
  transforms: [],
24608
24684
  canContainEols: ["emphasis", "fragment", "heading", "paragraph", "strong"],
24609
24685
  enter: {
24610
- autolink: opener(link2),
24686
+ autolink: opener(link3),
24611
24687
  autolinkProtocol: onenterdata,
24612
24688
  autolinkEmail: onenterdata,
24613
24689
  atxHeading: opener(heading2),
@@ -24635,7 +24711,7 @@ function compiler(options) {
24635
24711
  htmlTextData: onenterdata,
24636
24712
  image: opener(image2),
24637
24713
  label: buffer,
24638
- link: opener(link2),
24714
+ link: opener(link3),
24639
24715
  listItem: opener(listItem2),
24640
24716
  listItemValue: onenterlistitemvalue,
24641
24717
  listOrdered: opener(list3, onenterlistordered),
@@ -25187,7 +25263,7 @@ function compiler(options) {
25187
25263
  alt: null
25188
25264
  };
25189
25265
  }
25190
- function link2() {
25266
+ function link3() {
25191
25267
  return {
25192
25268
  type: "link",
25193
25269
  title: null,
@@ -25302,7 +25378,7 @@ function defaultOnError(left, right) {
25302
25378
  }
25303
25379
  }
25304
25380
 
25305
- // ../../node_modules/remark-parse/lib/index.js
25381
+ // node_modules/remark-parse/lib/index.js
25306
25382
  function remarkParse(options) {
25307
25383
  const self = this;
25308
25384
  self.parser = parser;
@@ -25319,17 +25395,17 @@ function remarkParse(options) {
25319
25395
  }
25320
25396
  }
25321
25397
 
25322
- // ../../node_modules/bail/index.js
25398
+ // node_modules/bail/index.js
25323
25399
  function bail(error) {
25324
25400
  if (error) {
25325
25401
  throw error;
25326
25402
  }
25327
25403
  }
25328
25404
 
25329
- // ../../node_modules/unified/lib/index.js
25405
+ // node_modules/unified/lib/index.js
25330
25406
  var import_extend = __toESM(require_extend(), 1);
25331
25407
 
25332
- // ../../node_modules/is-plain-obj/index.js
25408
+ // node_modules/is-plain-obj/index.js
25333
25409
  function isPlainObject2(value) {
25334
25410
  if (typeof value !== "object" || value === null) {
25335
25411
  return false;
@@ -25338,7 +25414,7 @@ function isPlainObject2(value) {
25338
25414
  return (prototype === null || prototype === Object.prototype || Object.getPrototypeOf(prototype) === null) && !(Symbol.toStringTag in value) && !(Symbol.iterator in value);
25339
25415
  }
25340
25416
 
25341
- // ../../node_modules/trough/lib/index.js
25417
+ // node_modules/trough/lib/index.js
25342
25418
  function trough() {
25343
25419
  const fns = [];
25344
25420
  const pipeline = { run, use };
@@ -25422,7 +25498,7 @@ function wrap(middleware, callback) {
25422
25498
  }
25423
25499
  }
25424
25500
 
25425
- // ../../node_modules/vfile-message/lib/index.js
25501
+ // node_modules/vfile-message/lib/index.js
25426
25502
  var VFileMessage = class extends Error {
25427
25503
  /**
25428
25504
  * Create a message for `reason`.
@@ -25558,16 +25634,16 @@ VFileMessage.prototype.place = void 0;
25558
25634
  VFileMessage.prototype.ruleId = void 0;
25559
25635
  VFileMessage.prototype.source = void 0;
25560
25636
 
25561
- // ../../node_modules/vfile/lib/minpath.js
25637
+ // node_modules/vfile/lib/minpath.js
25562
25638
  import { default as default2 } from "node:path";
25563
25639
 
25564
- // ../../node_modules/vfile/lib/minproc.js
25640
+ // node_modules/vfile/lib/minproc.js
25565
25641
  import { default as default3 } from "node:process";
25566
25642
 
25567
- // ../../node_modules/vfile/lib/minurl.js
25643
+ // node_modules/vfile/lib/minurl.js
25568
25644
  import { fileURLToPath } from "node:url";
25569
25645
 
25570
- // ../../node_modules/vfile/lib/minurl.shared.js
25646
+ // node_modules/vfile/lib/minurl.shared.js
25571
25647
  function isUrl(fileUrlOrPath) {
25572
25648
  return Boolean(
25573
25649
  fileUrlOrPath !== null && typeof fileUrlOrPath === "object" && "href" in fileUrlOrPath && fileUrlOrPath.href && "protocol" in fileUrlOrPath && fileUrlOrPath.protocol && // @ts-expect-error: indexing is fine.
@@ -25575,7 +25651,7 @@ function isUrl(fileUrlOrPath) {
25575
25651
  );
25576
25652
  }
25577
25653
 
25578
- // ../../node_modules/vfile/lib/index.js
25654
+ // node_modules/vfile/lib/index.js
25579
25655
  var order = (
25580
25656
  /** @type {const} */
25581
25657
  [
@@ -25688,9 +25764,9 @@ var VFile = class {
25688
25764
  * @returns {undefined}
25689
25765
  * Nothing.
25690
25766
  */
25691
- set dirname(dirname) {
25767
+ set dirname(dirname2) {
25692
25768
  assertPath(this.basename, "dirname");
25693
- this.path = default2.join(dirname || "", this.basename);
25769
+ this.path = default2.join(dirname2 || "", this.basename);
25694
25770
  }
25695
25771
  /**
25696
25772
  * Get the extname (including dot) (example: `'.js'`).
@@ -26031,7 +26107,7 @@ function isUint8Array(value) {
26031
26107
  );
26032
26108
  }
26033
26109
 
26034
- // ../../node_modules/unified/lib/callable-instance.js
26110
+ // node_modules/unified/lib/callable-instance.js
26035
26111
  var CallableInstance = (
26036
26112
  /**
26037
26113
  * @type {new <Parameters extends Array<unknown>, Result>(property: string | symbol) => (...parameters: Parameters) => Result}
@@ -26060,7 +26136,7 @@ var CallableInstance = (
26060
26136
  })
26061
26137
  );
26062
26138
 
26063
- // ../../node_modules/unified/lib/index.js
26139
+ // node_modules/unified/lib/index.js
26064
26140
  var own3 = {}.hasOwnProperty;
26065
26141
  var Processor = class _Processor extends CallableInstance {
26066
26142
  /**
@@ -26289,7 +26365,7 @@ var Processor = class _Processor extends CallableInstance {
26289
26365
  assertParser("process", this.parser || this.Parser);
26290
26366
  assertCompiler("process", this.compiler || this.Compiler);
26291
26367
  return done ? executor(void 0, done) : new Promise(executor);
26292
- function executor(resolve2, reject) {
26368
+ function executor(resolve3, reject) {
26293
26369
  const realFile = vfile(file);
26294
26370
  const parseTree = (
26295
26371
  /** @type {HeadTree extends undefined ? Node : HeadTree} */
@@ -26320,8 +26396,8 @@ var Processor = class _Processor extends CallableInstance {
26320
26396
  function realDone(error, file2) {
26321
26397
  if (error || !file2) {
26322
26398
  reject(error);
26323
- } else if (resolve2) {
26324
- resolve2(file2);
26399
+ } else if (resolve3) {
26400
+ resolve3(file2);
26325
26401
  } else {
26326
26402
  ok(done, "`done` is defined if `resolve` is not");
26327
26403
  done(void 0, file2);
@@ -26423,7 +26499,7 @@ var Processor = class _Processor extends CallableInstance {
26423
26499
  file = void 0;
26424
26500
  }
26425
26501
  return done ? executor(void 0, done) : new Promise(executor);
26426
- function executor(resolve2, reject) {
26502
+ function executor(resolve3, reject) {
26427
26503
  ok(
26428
26504
  typeof file !== "function",
26429
26505
  "`file` can\u2019t be a `done` anymore, we checked"
@@ -26437,8 +26513,8 @@ var Processor = class _Processor extends CallableInstance {
26437
26513
  );
26438
26514
  if (error) {
26439
26515
  reject(error);
26440
- } else if (resolve2) {
26441
- resolve2(resultingTree);
26516
+ } else if (resolve3) {
26517
+ resolve3(resultingTree);
26442
26518
  } else {
26443
26519
  ok(done, "`done` is defined if `resolve` is not");
26444
26520
  done(void 0, resultingTree, file2);
@@ -27449,13 +27525,7 @@ function compatibilityModeForDocumentVersion(documentVersion) {
27449
27525
  }
27450
27526
 
27451
27527
  // src/cli/validate-args.ts
27452
- var fileFlag = "--file";
27453
- var fileAssignmentPrefix = `${fileFlag}=`;
27454
- var profileFlag = "--profile";
27455
- var profileAssignmentPrefix = `${profileFlag}=`;
27456
- var formatFlag = "--format";
27457
- var formatAssignmentPrefix = `${formatFlag}=`;
27458
- var validateCliUsage = `Usage: markdown-engine validate --file <markdown-file> --profile <profile-file> [--format json]
27528
+ var validateCliUsage = `Usage: markdown-engine validate --file <markdown-file> --profile <profile-file> [--format json] [--output full|summary] [--report-file <new-file>]
27459
27529
 
27460
27530
  Runs declarative validation for one Markdown file and one validation profile.
27461
27531
 
@@ -27463,117 +27533,77 @@ Options:
27463
27533
  --file <markdown-file> Markdown file to validate.
27464
27534
  --profile <profile-file> Declarative validation profile to apply.
27465
27535
  --format json Output JSON. This is the default and only supported format.
27536
+ --output full|summary Compact summary (default) or full JSON.
27537
+ --report-file <new-file> Save full JSON at a caller-managed new path. Never overwrites.
27466
27538
  -h, --help Show this help message.
27467
27539
 
27540
+ Summary includes at most 10 top-level diagnostics, errors first, with explicit
27541
+ omission/truncation counts. Without --report-file, summary saves a unique report
27542
+ in $XDG_CACHE_HOME/markdown-engine/validation-reports (default ~/.cache). Reports
27543
+ older than seven days are pruned on later automatic writes. Explicit report
27544
+ parents must exist. Keep durable reports outside the automatic cache. Full output
27545
+ needs no cache.
27546
+
27468
27547
  Exit status:
27469
27548
  0 Validation completed with no error diagnostics.
27470
27549
  1 Profile/config/compile or validation diagnostics failed.
27471
- 2 Usage, unsupported format, unknown args, or file read error.
27550
+ 2 Usage, unsupported format, unknown args, or file read/write error.
27472
27551
  `;
27473
27552
  function parseValidateCliArgs(args) {
27474
- const filePaths = [];
27475
- const profilePaths = [];
27476
- let format;
27553
+ const values = {
27554
+ "--file": [],
27555
+ "--profile": [],
27556
+ "--format": [],
27557
+ "--output": [],
27558
+ "--report-file": []
27559
+ };
27477
27560
  for (let index2 = 0; index2 < args.length; index2 += 1) {
27478
27561
  const arg = args[index2];
27479
27562
  if (arg === "-h" || arg === "--help") {
27480
27563
  return { kind: "help", usage: validateCliUsage };
27481
27564
  }
27482
- if (arg === fileFlag) {
27483
- const value = readRequiredFlagValue(arg, args, index2);
27484
- if (value.kind === "error") {
27485
- return validateError(value.message);
27486
- }
27487
- filePaths.push(value.value);
27488
- index2 += 1;
27489
- continue;
27490
- }
27491
- if (arg?.startsWith(fileAssignmentPrefix) === true) {
27492
- filePaths.push(arg.slice(fileAssignmentPrefix.length));
27493
- continue;
27494
- }
27495
- if (arg === profileFlag) {
27496
- const value = readRequiredFlagValue(arg, args, index2);
27497
- if (value.kind === "error") {
27498
- return validateError(value.message);
27499
- }
27500
- profilePaths.push(value.value);
27501
- index2 += 1;
27502
- continue;
27503
- }
27504
- if (arg?.startsWith(profileAssignmentPrefix) === true) {
27505
- profilePaths.push(arg.slice(profileAssignmentPrefix.length));
27506
- continue;
27507
- }
27508
- if (arg === formatFlag) {
27509
- if (format !== void 0) {
27510
- return validateError("Expected at most one --format selector.");
27511
- }
27512
- const value = readRequiredFlagValue(arg, args, index2);
27513
- if (value.kind === "error") {
27514
- return validateError(value.message);
27515
- }
27516
- const parsedFormat = parseDeclarativeOutputFormat(value.value);
27517
- if (parsedFormat.kind === "error") {
27518
- return validateError(parsedFormat.message);
27519
- }
27520
- format = parsedFormat.format;
27521
- index2 += 1;
27522
- continue;
27523
- }
27524
- if (arg?.startsWith(formatAssignmentPrefix) === true) {
27525
- if (format !== void 0) {
27526
- return validateError("Expected at most one --format selector.");
27527
- }
27528
- const parsedFormat = parseDeclarativeOutputFormat(
27529
- arg.slice(formatAssignmentPrefix.length)
27530
- );
27531
- if (parsedFormat.kind === "error") {
27532
- return validateError(parsedFormat.message);
27533
- }
27534
- format = parsedFormat.format;
27535
- continue;
27536
- }
27537
- return validateError(`Unknown argument: ${arg ?? ""}`);
27538
- }
27539
- if (filePaths.length === 0) {
27540
- return validateError("Expected exactly one --file target.");
27541
- }
27542
- if (filePaths.length > 1) {
27543
- return validateError("Expected one Markdown file target, received multiple.");
27544
- }
27545
- if (profilePaths.length === 0) {
27546
- return validateError("Expected exactly one --profile target.");
27547
- }
27548
- if (profilePaths.length > 1) {
27549
- return validateError("Expected one profile file target, received multiple.");
27550
- }
27551
- const [filePath] = filePaths;
27552
- const [profilePath] = profilePaths;
27553
- if (filePath === void 0 || filePath.trim() === "") {
27554
- return validateError("File path cannot be empty.");
27555
- }
27556
- if (profilePath === void 0 || profilePath.trim() === "") {
27557
- return validateError("Profile path cannot be empty.");
27565
+ const equals = arg.indexOf("=");
27566
+ const flag = equals === -1 ? arg : arg.slice(0, equals);
27567
+ if (!Object.hasOwn(values, flag)) return validateError(`Unknown argument: ${arg}`);
27568
+ const entries = values[flag];
27569
+ if (flag !== "--file" && flag !== "--profile" && entries.length > 0) {
27570
+ return validateError(`Expected at most one ${flag} selector.`);
27571
+ }
27572
+ const value = equals === -1 ? args[index2 + 1] : arg.slice(equals + 1);
27573
+ if (value === void 0 || equals === -1 && value.startsWith("-")) {
27574
+ return validateError(`Missing value for ${flag}.`);
27575
+ }
27576
+ if (flag === "--format" && value !== "json") {
27577
+ return validateError(`Unsupported validation output format: ${value}.`);
27578
+ }
27579
+ if (flag === "--output" && value !== "full" && value !== "summary") {
27580
+ return validateError(`Unsupported validation output mode: ${value}.`);
27581
+ }
27582
+ entries.push(value);
27583
+ if (equals === -1) index2 += 1;
27584
+ }
27585
+ const files = values["--file"];
27586
+ const profiles = values["--profile"];
27587
+ if (files.length === 0) return validateError("Expected exactly one --file target.");
27588
+ if (files.length > 1) return validateError("Expected one Markdown file target, received multiple.");
27589
+ if (profiles.length === 0) return validateError("Expected exactly one --profile target.");
27590
+ if (profiles.length > 1) return validateError("Expected one profile file target, received multiple.");
27591
+ const filePath = files[0];
27592
+ const profilePath = profiles[0];
27593
+ if (filePath.trim() === "") return validateError("File path cannot be empty.");
27594
+ if (profilePath.trim() === "") return validateError("Profile path cannot be empty.");
27595
+ const output = values["--output"][0] ?? "summary";
27596
+ const reportFile = values["--report-file"][0];
27597
+ if (reportFile !== void 0 && reportFile.trim() === "") {
27598
+ return validateError("Report file path cannot be empty.");
27558
27599
  }
27559
27600
  return {
27560
27601
  kind: "validate",
27561
27602
  filePath,
27562
- format: format ?? "json",
27563
- profilePath
27564
- };
27565
- }
27566
- function readRequiredFlagValue(arg, args, index2) {
27567
- const value = args[index2 + 1];
27568
- if (value === void 0 || value.startsWith("-")) {
27569
- return { kind: "error", message: `Missing value for ${arg}.` };
27570
- }
27571
- return { kind: "ok", value };
27572
- }
27573
- function parseDeclarativeOutputFormat(value) {
27574
- return value === "json" ? { kind: "ok", format: value } : {
27575
- kind: "error",
27576
- message: `Unsupported validation output format: ${value}.`
27603
+ profilePath,
27604
+ format: "json",
27605
+ output,
27606
+ ...reportFile !== void 0 ? { reportFile } : {}
27577
27607
  };
27578
27608
  }
27579
27609
  function validateError(message) {
@@ -27585,8 +27615,8 @@ var documentVersionFlag = "--document-version";
27585
27615
  var documentVersionAssignmentPrefix = `${documentVersionFlag}=`;
27586
27616
  var duplicateDocumentVersionMessage = "Expected at most one --document-version selector.";
27587
27617
  var validateCommand = "validate";
27588
- var fileFlag2 = "--file";
27589
- var fileAssignmentPrefix2 = `${fileFlag2}=`;
27618
+ var fileFlag = "--file";
27619
+ var fileAssignmentPrefix = `${fileFlag}=`;
27590
27620
  var pathFlag = "--path";
27591
27621
  var pathAssignmentPrefix = `${pathFlag}=`;
27592
27622
  var normalizeCliUsage = `Usage: markdown-engine [--document-version <version>] (--file <markdown-file> | --path <markdown-file>)
@@ -27616,7 +27646,7 @@ function parseNormalizeCliArgs(args) {
27616
27646
  if (arg === "-h" || arg === "--help") {
27617
27647
  return { kind: "help", usage: cliUsage };
27618
27648
  }
27619
- if (arg === fileFlag2 || arg === pathFlag) {
27649
+ if (arg === fileFlag || arg === pathFlag) {
27620
27650
  const value = args[index2 + 1];
27621
27651
  if (value === void 0 || value.startsWith("-")) {
27622
27652
  return normalizeError(`Missing value for ${arg}.`);
@@ -27643,8 +27673,8 @@ function parseNormalizeCliArgs(args) {
27643
27673
  }
27644
27674
  continue;
27645
27675
  }
27646
- if (arg?.startsWith(fileAssignmentPrefix2) === true) {
27647
- targets.push(arg.slice(fileAssignmentPrefix2.length));
27676
+ if (arg?.startsWith(fileAssignmentPrefix) === true) {
27677
+ targets.push(arg.slice(fileAssignmentPrefix.length));
27648
27678
  continue;
27649
27679
  }
27650
27680
  if (arg?.startsWith(pathAssignmentPrefix) === true) {
@@ -27731,6 +27761,134 @@ function normalizeMarkdown(input) {
27731
27761
  });
27732
27762
  }
27733
27763
 
27764
+ // src/cli/validation-report-cache.ts
27765
+ import { randomUUID } from "node:crypto";
27766
+ import { lstat, mkdir, readdir, unlink } from "node:fs/promises";
27767
+ import { homedir } from "node:os";
27768
+ import { isAbsolute, join as join2 } from "node:path";
27769
+
27770
+ // src/cli/validation-report.ts
27771
+ import { createHash as createHash2 } from "node:crypto";
27772
+ import { link as link2, mkdtemp, rm, writeFile } from "node:fs/promises";
27773
+ import { dirname, join, resolve as resolve2 } from "node:path";
27774
+ async function saveValidationReport(cwd, reportFile, content3) {
27775
+ const path2 = resolve2(cwd, reportFile);
27776
+ const temporaryDirectory = await mkdtemp(join(dirname(path2), ".markdown-engine-report-"));
27777
+ try {
27778
+ const temporaryFile = join(temporaryDirectory, "report.json");
27779
+ await writeFile(temporaryFile, content3, { encoding: "utf8", mode: 384, flag: "wx" });
27780
+ await link2(temporaryFile, path2);
27781
+ } finally {
27782
+ await rm(temporaryDirectory, { recursive: true, force: true });
27783
+ }
27784
+ return {
27785
+ path: path2,
27786
+ sha256: createHash2("sha256").update(content3, "utf8").digest("hex"),
27787
+ bytes: Buffer.byteLength(content3, "utf8")
27788
+ };
27789
+ }
27790
+
27791
+ // src/cli/validation-report-cache.ts
27792
+ var retentionMs = 7 * 24 * 60 * 60 * 1e3;
27793
+ var reportName = /^report-[0-9a-f]{8}-[0-9a-f]{4}-4[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}\.json$/;
27794
+ async function saveAutomaticValidationReport(content3) {
27795
+ const configuredRoot = process.env.XDG_CACHE_HOME;
27796
+ const root2 = configuredRoot && isAbsolute(configuredRoot) ? configuredRoot : join2(homedir(), ".cache");
27797
+ const directory = join2(root2, "markdown-engine", "validation-reports");
27798
+ await mkdir(directory, { recursive: true, mode: 448 });
27799
+ const report = await saveValidationReport(directory, `report-${randomUUID()}.json`, content3);
27800
+ await pruneExpiredReports(directory, report.path);
27801
+ return report;
27802
+ }
27803
+ async function pruneExpiredReports(directory, currentReport) {
27804
+ try {
27805
+ const cutoff = Date.now() - retentionMs;
27806
+ for (const name of await readdir(directory)) {
27807
+ const path2 = join2(directory, name);
27808
+ if (path2 === currentReport || !reportName.test(name)) continue;
27809
+ try {
27810
+ const metadata = await lstat(path2);
27811
+ if (metadata.isFile() && metadata.mtimeMs < cutoff) await unlink(path2);
27812
+ } catch {
27813
+ }
27814
+ }
27815
+ } catch {
27816
+ }
27817
+ }
27818
+
27819
+ // src/cli/validation-summary.ts
27820
+ var diagnosticLimit = 10;
27821
+ var severityOrder = { error: 0, warning: 1, info: 2 };
27822
+ function createValidationSummary(result, exitCode, report) {
27823
+ const diagnostics = [...result.diagnostics].sort((a, b) => severityOrder[a.severity] - severityOrder[b.severity]).slice(0, diagnosticLimit).map(compactDiagnostic);
27824
+ const counts = { total: result.diagnostics.length, error: 0, warning: 0, info: 0 };
27825
+ for (const diagnostic of result.diagnostics) counts[diagnostic.severity] += 1;
27826
+ const evidence = result.evidence;
27827
+ return {
27828
+ schemaVersion: "markdown-engine.validation-summary.v1",
27829
+ valid: result.valid,
27830
+ stage: "stage" in result ? result.stage : "validation",
27831
+ exitCode,
27832
+ engineVersion: MARKDOWN_ENGINE_PACKAGE_VERSION,
27833
+ runtimeVersion: process.version,
27834
+ ...result.profile !== void 0 ? { profile: result.profile } : {},
27835
+ ...evidence !== void 0 ? {
27836
+ evidence: {
27837
+ inputHash: evidence.inputHash,
27838
+ profileHash: evidence.profileHash,
27839
+ engineVersion: evidence.engineVersion,
27840
+ runtimeVersion: evidence.runtimeVersion,
27841
+ ...evidence.sourceLength !== void 0 ? { sourceLength: evidence.sourceLength } : {}
27842
+ }
27843
+ } : {},
27844
+ diagnosticCounts: counts,
27845
+ diagnostics,
27846
+ diagnosticsOmitted: counts.total - diagnostics.length,
27847
+ diagnosticsTruncated: diagnostics.filter((d) => d.truncatedFields.length > 0).length,
27848
+ report
27849
+ };
27850
+ }
27851
+ function compactDiagnostic(diagnostic) {
27852
+ const truncatedFields = [];
27853
+ const bound = (field, value, max) => {
27854
+ if (value.length <= max) return value;
27855
+ truncatedFields.push(field);
27856
+ return `${value.slice(0, max - 1)}\u2026`;
27857
+ };
27858
+ return {
27859
+ code: bound("code", diagnostic.code, 128),
27860
+ message: bound("message", diagnostic.message, 512),
27861
+ severity: diagnostic.severity,
27862
+ ...diagnostic.ruleId !== void 0 ? { ruleId: bound("ruleId", diagnostic.ruleId, 128) } : {},
27863
+ ...diagnostic.sourceRange !== void 0 ? { sourceRange: diagnostic.sourceRange } : {},
27864
+ truncatedFields
27865
+ };
27866
+ }
27867
+
27868
+ // src/cli/validation-output.ts
27869
+ async function outputValidationResult(result, exitCode, options) {
27870
+ const output = JSON.stringify(normalizeStableJsonValue(result), null, 2) ?? "null";
27871
+ const summary = (options.output ?? "summary") === "summary";
27872
+ try {
27873
+ const report = options.reportFile !== void 0 ? await saveValidationReport(options.cwd, options.reportFile, `${output}
27874
+ `) : summary ? await saveAutomaticValidationReport(`${output}
27875
+ `) : void 0;
27876
+ if (summary && report !== void 0) {
27877
+ return {
27878
+ kind: "output",
27879
+ exitCode,
27880
+ output: JSON.stringify(normalizeStableJsonValue(createValidationSummary(result, exitCode, report)))
27881
+ };
27882
+ }
27883
+ return { kind: "output", exitCode, output };
27884
+ } catch (error) {
27885
+ return {
27886
+ kind: "fileError",
27887
+ message: `Unable to save validation report "${options.reportFile ?? "automatic cache"}": ${error instanceof Error ? error.message : String(error)}`
27888
+ };
27889
+ }
27890
+ }
27891
+
27734
27892
  // src/cli/declarative-validation.ts
27735
27893
  async function runDeclarativeValidationCli(input) {
27736
27894
  const profileText = await readValidationFile(input.profilePath, input.cwd);
@@ -27741,13 +27899,14 @@ async function runDeclarativeValidationCli(input) {
27741
27899
  path: input.profilePath
27742
27900
  });
27743
27901
  if (profileResult.profile === void 0 || hasErrorDiagnostic(profileResult.diagnostics)) {
27744
- return outputResult(profileStageResult(profileResult.diagnostics), 1);
27902
+ return outputValidationResult(profileStageResult(profileResult.diagnostics), 1, input);
27745
27903
  }
27746
27904
  const compileDiagnostics = compileProfileForCli(profileResult.profile);
27747
27905
  if (hasErrorDiagnostic(compileDiagnostics)) {
27748
- return outputResult(
27906
+ return outputValidationResult(
27749
27907
  profileStageResult([...profileResult.diagnostics, ...compileDiagnostics]),
27750
- 1
27908
+ 1,
27909
+ input
27751
27910
  );
27752
27911
  }
27753
27912
  const markdown = await readValidationFile(input.filePath, input.cwd);
@@ -27764,7 +27923,7 @@ async function runDeclarativeValidationCli(input) {
27764
27923
  ...normalizeResult.diagnostics
27765
27924
  ];
27766
27925
  if (hasErrorDiagnostic(normalizeResult.diagnostics)) {
27767
- return outputResult(
27926
+ return outputValidationResult(
27768
27927
  documentDiagnosticsResult(
27769
27928
  normalizeResult.document,
27770
27929
  profileResult.profile,
@@ -27777,7 +27936,8 @@ async function runDeclarativeValidationCli(input) {
27777
27936
  )
27778
27937
  ]
27779
27938
  ),
27780
- 1
27939
+ 1,
27940
+ input
27781
27941
  );
27782
27942
  }
27783
27943
  const validationResult = validateWithProfile(
@@ -27789,9 +27949,10 @@ async function runDeclarativeValidationCli(input) {
27789
27949
  validationResult,
27790
27950
  documentDiagnostics
27791
27951
  );
27792
- return outputResult(
27952
+ return outputValidationResult(
27793
27953
  result,
27794
- hasErrorDiagnostic(result.diagnostics) ? 1 : 0
27954
+ hasErrorDiagnostic(result.diagnostics) ? 1 : 0,
27955
+ input
27795
27956
  );
27796
27957
  }
27797
27958
  function compileProfileForCli(profile) {
@@ -27844,16 +28005,6 @@ function mergeDocumentDiagnostics(validationResult, documentDiagnostics) {
27844
28005
  } : {}
27845
28006
  };
27846
28007
  }
27847
- function outputResult(result, exitCode) {
27848
- return {
27849
- kind: "output",
27850
- exitCode,
27851
- output: serializeDeclarativeValidationCliJsonResult(result)
27852
- };
27853
- }
27854
- function serializeDeclarativeValidationCliJsonResult(result) {
27855
- return JSON.stringify(normalizeStableJsonValue(result), null, 2) ?? "null";
27856
- }
27857
28008
  async function readValidationFile(path2, cwd) {
27858
28009
  try {
27859
28010
  return {
@@ -27886,7 +28037,9 @@ ${argsResult.usage}`);
27886
28037
  cwd: input.cwd,
27887
28038
  filePath: argsResult.filePath,
27888
28039
  format: argsResult.format,
27889
- profilePath: argsResult.profilePath
28040
+ profilePath: argsResult.profilePath,
28041
+ output: argsResult.output,
28042
+ ...argsResult.reportFile !== void 0 ? { reportFile: argsResult.reportFile } : {}
27890
28043
  });
27891
28044
  if (validationResult.kind === "fileError") {
27892
28045
  input.stderr.write(`${validationResult.message}