@jasonbelmonti/markdown-engine 1.0.0 → 3.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 (373) hide show
  1. package/CHANGELOG.md +48 -0
  2. package/README.md +113 -56
  3. package/SECURITY.md +5 -3
  4. package/dist/api/annotation-source-range.d.ts +7 -0
  5. package/dist/api/annotation-source-range.d.ts.map +1 -0
  6. package/dist/api/annotation-source-range.js +103 -0
  7. package/dist/api/annotation-source-range.js.map +1 -0
  8. package/dist/api/annotation-target-candidate.d.ts +10 -0
  9. package/dist/api/annotation-target-candidate.d.ts.map +1 -0
  10. package/dist/api/annotation-target-candidate.js +14 -0
  11. package/dist/api/annotation-target-candidate.js.map +1 -0
  12. package/dist/api/annotation-target-cloning.d.ts +5 -0
  13. package/dist/api/annotation-target-cloning.d.ts.map +1 -0
  14. package/dist/api/annotation-target-cloning.js +122 -0
  15. package/dist/api/annotation-target-cloning.js.map +1 -0
  16. package/dist/api/annotation-target-diagnostics.d.ts +8 -0
  17. package/dist/api/annotation-target-diagnostics.d.ts.map +1 -0
  18. package/dist/api/annotation-target-diagnostics.js +57 -0
  19. package/dist/api/annotation-target-diagnostics.js.map +1 -0
  20. package/dist/api/annotation-target-validation.d.ts +2 -2
  21. package/dist/api/annotation-target-validation.d.ts.map +1 -1
  22. package/dist/api/annotation-target-validation.js +5 -272
  23. package/dist/api/annotation-target-validation.js.map +1 -1
  24. package/dist/api/contracts.d.ts +2 -1
  25. package/dist/api/contracts.d.ts.map +1 -1
  26. package/dist/api/contracts.js +1 -0
  27. package/dist/api/contracts.js.map +1 -1
  28. package/dist/api/declarative-validation.d.ts +13 -0
  29. package/dist/api/declarative-validation.d.ts.map +1 -0
  30. package/dist/api/declarative-validation.js +85 -0
  31. package/dist/api/declarative-validation.js.map +1 -0
  32. package/dist/api/document-queries.d.ts.map +1 -1
  33. package/dist/api/document-queries.js +74 -3
  34. package/dist/api/document-queries.js.map +1 -1
  35. package/dist/api/document.d.ts +44 -0
  36. package/dist/api/document.d.ts.map +1 -1
  37. package/dist/api/engine-node-attributes.d.ts +15 -0
  38. package/dist/api/engine-node-attributes.d.ts.map +1 -0
  39. package/dist/api/engine-node-attributes.js +99 -0
  40. package/dist/api/engine-node-attributes.js.map +1 -0
  41. package/dist/api/normalize.d.ts.map +1 -1
  42. package/dist/api/normalize.js +22 -1
  43. package/dist/api/normalize.js.map +1 -1
  44. package/dist/api/serialize.js +2 -14
  45. package/dist/api/serialize.js.map +1 -1
  46. package/dist/cli/args.d.ts +6 -2
  47. package/dist/cli/args.d.ts.map +1 -1
  48. package/dist/cli/args.js +33 -25
  49. package/dist/cli/args.js.map +1 -1
  50. package/dist/cli/declarative-validation.d.ts +18 -0
  51. package/dist/cli/declarative-validation.d.ts.map +1 -0
  52. package/dist/cli/declarative-validation.js +126 -0
  53. package/dist/cli/declarative-validation.js.map +1 -0
  54. package/dist/cli/files.d.ts +1 -0
  55. package/dist/cli/files.d.ts.map +1 -1
  56. package/dist/cli/files.js +3 -0
  57. package/dist/cli/files.js.map +1 -1
  58. package/dist/cli/run.d.ts.map +1 -1
  59. package/dist/cli/run.js +18 -3
  60. package/dist/cli/run.js.map +1 -1
  61. package/dist/cli/validate-args.d.ts +18 -0
  62. package/dist/cli/validate-args.d.ts.map +1 -0
  63. package/dist/cli/validate-args.js +131 -0
  64. package/dist/cli/validate-args.js.map +1 -0
  65. package/dist/declarative-validation/applicability/classifier.d.ts +18 -0
  66. package/dist/declarative-validation/applicability/classifier.d.ts.map +1 -0
  67. package/dist/declarative-validation/applicability/classifier.js +37 -0
  68. package/dist/declarative-validation/applicability/classifier.js.map +1 -0
  69. package/dist/declarative-validation/applicability/index.d.ts +2 -0
  70. package/dist/declarative-validation/applicability/index.d.ts.map +1 -0
  71. package/dist/declarative-validation/applicability/index.js +2 -0
  72. package/dist/declarative-validation/applicability/index.js.map +1 -0
  73. package/dist/declarative-validation/assertions/context.d.ts +8 -0
  74. package/dist/declarative-validation/assertions/context.d.ts.map +1 -0
  75. package/dist/declarative-validation/assertions/context.js +2 -0
  76. package/dist/declarative-validation/assertions/context.js.map +1 -0
  77. package/dist/declarative-validation/assertions/diagnostics.d.ts +25 -0
  78. package/dist/declarative-validation/assertions/diagnostics.d.ts.map +1 -0
  79. package/dist/declarative-validation/assertions/diagnostics.js +96 -0
  80. package/dist/declarative-validation/assertions/diagnostics.js.map +1 -0
  81. package/dist/declarative-validation/assertions/document-text-offsets.d.ts +3 -0
  82. package/dist/declarative-validation/assertions/document-text-offsets.d.ts.map +1 -0
  83. package/dist/declarative-validation/assertions/document-text-offsets.js +32 -0
  84. package/dist/declarative-validation/assertions/document-text-offsets.js.map +1 -0
  85. package/dist/declarative-validation/assertions/evaluator.d.ts +5 -0
  86. package/dist/declarative-validation/assertions/evaluator.d.ts.map +1 -0
  87. package/dist/declarative-validation/assertions/evaluator.js +49 -0
  88. package/dist/declarative-validation/assertions/evaluator.js.map +1 -0
  89. package/dist/declarative-validation/assertions/exists.d.ts +4 -0
  90. package/dist/declarative-validation/assertions/exists.d.ts.map +1 -0
  91. package/dist/declarative-validation/assertions/exists.js +8 -0
  92. package/dist/declarative-validation/assertions/exists.js.map +1 -0
  93. package/dist/declarative-validation/assertions/frontmatter-required.d.ts +9 -0
  94. package/dist/declarative-validation/assertions/frontmatter-required.d.ts.map +1 -0
  95. package/dist/declarative-validation/assertions/frontmatter-required.js +15 -0
  96. package/dist/declarative-validation/assertions/frontmatter-required.js.map +1 -0
  97. package/dist/declarative-validation/assertions/group-evaluator.d.ts +6 -0
  98. package/dist/declarative-validation/assertions/group-evaluator.d.ts.map +1 -0
  99. package/dist/declarative-validation/assertions/group-evaluator.js +57 -0
  100. package/dist/declarative-validation/assertions/group-evaluator.js.map +1 -0
  101. package/dist/declarative-validation/assertions/id-targets.d.ts +44 -0
  102. package/dist/declarative-validation/assertions/id-targets.d.ts.map +1 -0
  103. package/dist/declarative-validation/assertions/id-targets.js +391 -0
  104. package/dist/declarative-validation/assertions/id-targets.js.map +1 -0
  105. package/dist/declarative-validation/assertions/id-tokens.d.ts +15 -0
  106. package/dist/declarative-validation/assertions/id-tokens.d.ts.map +1 -0
  107. package/dist/declarative-validation/assertions/id-tokens.js +27 -0
  108. package/dist/declarative-validation/assertions/id-tokens.js.map +1 -0
  109. package/dist/declarative-validation/assertions/ids.d.ts +9 -0
  110. package/dist/declarative-validation/assertions/ids.d.ts.map +1 -0
  111. package/dist/declarative-validation/assertions/ids.js +128 -0
  112. package/dist/declarative-validation/assertions/ids.js.map +1 -0
  113. package/dist/declarative-validation/assertions/index.d.ts +4 -0
  114. package/dist/declarative-validation/assertions/index.d.ts.map +1 -0
  115. package/dist/declarative-validation/assertions/index.js +4 -0
  116. package/dist/declarative-validation/assertions/index.js.map +1 -0
  117. package/dist/declarative-validation/assertions/literal-text.d.ts +2 -0
  118. package/dist/declarative-validation/assertions/literal-text.d.ts.map +1 -0
  119. package/dist/declarative-validation/assertions/literal-text.js +14 -0
  120. package/dist/declarative-validation/assertions/literal-text.js.map +1 -0
  121. package/dist/declarative-validation/assertions/normalized-source-ranges.d.ts +3 -0
  122. package/dist/declarative-validation/assertions/normalized-source-ranges.d.ts.map +1 -0
  123. package/dist/declarative-validation/assertions/normalized-source-ranges.js +105 -0
  124. package/dist/declarative-validation/assertions/normalized-source-ranges.js.map +1 -0
  125. package/dist/declarative-validation/assertions/ordering.d.ts +6 -0
  126. package/dist/declarative-validation/assertions/ordering.d.ts.map +1 -0
  127. package/dist/declarative-validation/assertions/ordering.js +71 -0
  128. package/dist/declarative-validation/assertions/ordering.js.map +1 -0
  129. package/dist/declarative-validation/assertions/references.d.ts +9 -0
  130. package/dist/declarative-validation/assertions/references.d.ts.map +1 -0
  131. package/dist/declarative-validation/assertions/references.js +354 -0
  132. package/dist/declarative-validation/assertions/references.js.map +1 -0
  133. package/dist/declarative-validation/assertions/sections-required.d.ts +9 -0
  134. package/dist/declarative-validation/assertions/sections-required.d.ts.map +1 -0
  135. package/dist/declarative-validation/assertions/sections-required.js +49 -0
  136. package/dist/declarative-validation/assertions/sections-required.js.map +1 -0
  137. package/dist/declarative-validation/assertions/table-column-coverage.d.ts +9 -0
  138. package/dist/declarative-validation/assertions/table-column-coverage.d.ts.map +1 -0
  139. package/dist/declarative-validation/assertions/table-column-coverage.js +108 -0
  140. package/dist/declarative-validation/assertions/table-column-coverage.js.map +1 -0
  141. package/dist/declarative-validation/assertions/table-columns-required.d.ts +9 -0
  142. package/dist/declarative-validation/assertions/table-columns-required.d.ts.map +1 -0
  143. package/dist/declarative-validation/assertions/table-columns-required.js +31 -0
  144. package/dist/declarative-validation/assertions/table-columns-required.js.map +1 -0
  145. package/dist/declarative-validation/assertions/text-length.d.ts +9 -0
  146. package/dist/declarative-validation/assertions/text-length.d.ts.map +1 -0
  147. package/dist/declarative-validation/assertions/text-length.js +40 -0
  148. package/dist/declarative-validation/assertions/text-length.js.map +1 -0
  149. package/dist/declarative-validation/assertions/text-occurrence-count.d.ts +9 -0
  150. package/dist/declarative-validation/assertions/text-occurrence-count.d.ts.map +1 -0
  151. package/dist/declarative-validation/assertions/text-occurrence-count.js +22 -0
  152. package/dist/declarative-validation/assertions/text-occurrence-count.js.map +1 -0
  153. package/dist/declarative-validation/assertions/text.d.ts +9 -0
  154. package/dist/declarative-validation/assertions/text.d.ts.map +1 -0
  155. package/dist/declarative-validation/assertions/text.js +32 -0
  156. package/dist/declarative-validation/assertions/text.js.map +1 -0
  157. package/dist/declarative-validation/compiler/applicability-plan.d.ts +5 -0
  158. package/dist/declarative-validation/compiler/applicability-plan.d.ts.map +1 -0
  159. package/dist/declarative-validation/compiler/applicability-plan.js +22 -0
  160. package/dist/declarative-validation/compiler/applicability-plan.js.map +1 -0
  161. package/dist/declarative-validation/compiler/assertion-builders.d.ts +7 -0
  162. package/dist/declarative-validation/compiler/assertion-builders.d.ts.map +1 -0
  163. package/dist/declarative-validation/compiler/assertion-builders.js +237 -0
  164. package/dist/declarative-validation/compiler/assertion-builders.js.map +1 -0
  165. package/dist/declarative-validation/compiler/assertion-shapes.d.ts +20 -0
  166. package/dist/declarative-validation/compiler/assertion-shapes.d.ts.map +1 -0
  167. package/dist/declarative-validation/compiler/assertion-shapes.js +219 -0
  168. package/dist/declarative-validation/compiler/assertion-shapes.js.map +1 -0
  169. package/dist/declarative-validation/compiler/assertions.d.ts +6 -0
  170. package/dist/declarative-validation/compiler/assertions.d.ts.map +1 -0
  171. package/dist/declarative-validation/compiler/assertions.js +35 -0
  172. package/dist/declarative-validation/compiler/assertions.js.map +1 -0
  173. package/dist/declarative-validation/compiler/compatibility.d.ts +4 -0
  174. package/dist/declarative-validation/compiler/compatibility.d.ts.map +1 -0
  175. package/dist/declarative-validation/compiler/compatibility.js +29 -0
  176. package/dist/declarative-validation/compiler/compatibility.js.map +1 -0
  177. package/dist/declarative-validation/compiler/diagnostics.d.ts +3 -0
  178. package/dist/declarative-validation/compiler/diagnostics.d.ts.map +1 -0
  179. package/dist/declarative-validation/compiler/diagnostics.js +9 -0
  180. package/dist/declarative-validation/compiler/diagnostics.js.map +1 -0
  181. package/dist/declarative-validation/compiler/group-plans.d.ts +6 -0
  182. package/dist/declarative-validation/compiler/group-plans.d.ts.map +1 -0
  183. package/dist/declarative-validation/compiler/group-plans.js +67 -0
  184. package/dist/declarative-validation/compiler/group-plans.js.map +1 -0
  185. package/dist/declarative-validation/compiler/index.d.ts +5 -0
  186. package/dist/declarative-validation/compiler/index.d.ts.map +1 -0
  187. package/dist/declarative-validation/compiler/index.js +199 -0
  188. package/dist/declarative-validation/compiler/index.js.map +1 -0
  189. package/dist/declarative-validation/compiler/plan.d.ts +126 -0
  190. package/dist/declarative-validation/compiler/plan.d.ts.map +1 -0
  191. package/dist/declarative-validation/compiler/plan.js +2 -0
  192. package/dist/declarative-validation/compiler/plan.js.map +1 -0
  193. package/dist/declarative-validation/compiler/rule-fields.d.ts +6 -0
  194. package/dist/declarative-validation/compiler/rule-fields.d.ts.map +1 -0
  195. package/dist/declarative-validation/compiler/rule-fields.js +40 -0
  196. package/dist/declarative-validation/compiler/rule-fields.js.map +1 -0
  197. package/dist/declarative-validation/diagnostics/index.d.ts +7 -0
  198. package/dist/declarative-validation/diagnostics/index.d.ts.map +1 -0
  199. package/dist/declarative-validation/diagnostics/index.js +2 -0
  200. package/dist/declarative-validation/diagnostics/index.js.map +1 -0
  201. package/dist/declarative-validation/diagnostics/profile-config-diagnostics.d.ts +10 -0
  202. package/dist/declarative-validation/diagnostics/profile-config-diagnostics.d.ts.map +1 -0
  203. package/dist/declarative-validation/diagnostics/profile-config-diagnostics.js +51 -0
  204. package/dist/declarative-validation/diagnostics/profile-config-diagnostics.js.map +1 -0
  205. package/dist/declarative-validation/evidence/index.d.ts +14 -0
  206. package/dist/declarative-validation/evidence/index.d.ts.map +1 -0
  207. package/dist/declarative-validation/evidence/index.js +38 -0
  208. package/dist/declarative-validation/evidence/index.js.map +1 -0
  209. package/dist/declarative-validation/profile/applicability-schema.d.ts +4 -0
  210. package/dist/declarative-validation/profile/applicability-schema.d.ts.map +1 -0
  211. package/dist/declarative-validation/profile/applicability-schema.js +24 -0
  212. package/dist/declarative-validation/profile/applicability-schema.js.map +1 -0
  213. package/dist/declarative-validation/profile/assertion-schema.d.ts +5 -0
  214. package/dist/declarative-validation/profile/assertion-schema.d.ts.map +1 -0
  215. package/dist/declarative-validation/profile/assertion-schema.js +420 -0
  216. package/dist/declarative-validation/profile/assertion-schema.js.map +1 -0
  217. package/dist/declarative-validation/profile/data-closure.d.ts +6 -0
  218. package/dist/declarative-validation/profile/data-closure.d.ts.map +1 -0
  219. package/dist/declarative-validation/profile/data-closure.js +167 -0
  220. package/dist/declarative-validation/profile/data-closure.js.map +1 -0
  221. package/dist/declarative-validation/profile/direct-profile-diagnostics.d.ts +7 -0
  222. package/dist/declarative-validation/profile/direct-profile-diagnostics.d.ts.map +1 -0
  223. package/dist/declarative-validation/profile/direct-profile-diagnostics.js +81 -0
  224. package/dist/declarative-validation/profile/direct-profile-diagnostics.js.map +1 -0
  225. package/dist/declarative-validation/profile/group-schema.d.ts +5 -0
  226. package/dist/declarative-validation/profile/group-schema.d.ts.map +1 -0
  227. package/dist/declarative-validation/profile/group-schema.js +55 -0
  228. package/dist/declarative-validation/profile/group-schema.js.map +1 -0
  229. package/dist/declarative-validation/profile/ids-assertion-contract.d.ts +12 -0
  230. package/dist/declarative-validation/profile/ids-assertion-contract.d.ts.map +1 -0
  231. package/dist/declarative-validation/profile/ids-assertion-contract.js +32 -0
  232. package/dist/declarative-validation/profile/ids-assertion-contract.js.map +1 -0
  233. package/dist/declarative-validation/profile/index.d.ts +153 -0
  234. package/dist/declarative-validation/profile/index.d.ts.map +1 -0
  235. package/dist/declarative-validation/profile/index.js +2 -0
  236. package/dist/declarative-validation/profile/index.js.map +1 -0
  237. package/dist/declarative-validation/profile/materialization.d.ts +9 -0
  238. package/dist/declarative-validation/profile/materialization.d.ts.map +1 -0
  239. package/dist/declarative-validation/profile/materialization.js +112 -0
  240. package/dist/declarative-validation/profile/materialization.js.map +1 -0
  241. package/dist/declarative-validation/profile/parse.d.ts +3 -0
  242. package/dist/declarative-validation/profile/parse.d.ts.map +1 -0
  243. package/dist/declarative-validation/profile/parse.js +89 -0
  244. package/dist/declarative-validation/profile/parse.js.map +1 -0
  245. package/dist/declarative-validation/profile/schema-values.d.ts +14 -0
  246. package/dist/declarative-validation/profile/schema-values.d.ts.map +1 -0
  247. package/dist/declarative-validation/profile/schema-values.js +81 -0
  248. package/dist/declarative-validation/profile/schema-values.js.map +1 -0
  249. package/dist/declarative-validation/profile/schema.d.ts +9 -0
  250. package/dist/declarative-validation/profile/schema.d.ts.map +1 -0
  251. package/dist/declarative-validation/profile/schema.js +159 -0
  252. package/dist/declarative-validation/profile/schema.js.map +1 -0
  253. package/dist/declarative-validation/profile/selector-schema.d.ts +4 -0
  254. package/dist/declarative-validation/profile/selector-schema.d.ts.map +1 -0
  255. package/dist/declarative-validation/profile/selector-schema.js +145 -0
  256. package/dist/declarative-validation/profile/selector-schema.js.map +1 -0
  257. package/dist/declarative-validation/profile/syntax-version.d.ts +7 -0
  258. package/dist/declarative-validation/profile/syntax-version.d.ts.map +1 -0
  259. package/dist/declarative-validation/profile/syntax-version.js +11 -0
  260. package/dist/declarative-validation/profile/syntax-version.js.map +1 -0
  261. package/dist/declarative-validation/results/clone-rule-result.d.ts +6 -0
  262. package/dist/declarative-validation/results/clone-rule-result.d.ts.map +1 -0
  263. package/dist/declarative-validation/results/clone-rule-result.js +125 -0
  264. package/dist/declarative-validation/results/clone-rule-result.js.map +1 -0
  265. package/dist/declarative-validation/results/create-result.d.ts +15 -0
  266. package/dist/declarative-validation/results/create-result.d.ts.map +1 -0
  267. package/dist/declarative-validation/results/create-result.js +58 -0
  268. package/dist/declarative-validation/results/create-result.js.map +1 -0
  269. package/dist/declarative-validation/results/index.d.ts +4 -0
  270. package/dist/declarative-validation/results/index.d.ts.map +1 -0
  271. package/dist/declarative-validation/results/index.js +3 -0
  272. package/dist/declarative-validation/results/index.js.map +1 -0
  273. package/dist/declarative-validation/results/skipped-rule-result.d.ts +10 -0
  274. package/dist/declarative-validation/results/skipped-rule-result.d.ts.map +1 -0
  275. package/dist/declarative-validation/results/skipped-rule-result.js +18 -0
  276. package/dist/declarative-validation/results/skipped-rule-result.js.map +1 -0
  277. package/dist/declarative-validation/results/types.d.ts +77 -0
  278. package/dist/declarative-validation/results/types.d.ts.map +1 -0
  279. package/dist/declarative-validation/results/types.js +2 -0
  280. package/dist/declarative-validation/results/types.js.map +1 -0
  281. package/dist/declarative-validation/selectors/index.d.ts +57 -0
  282. package/dist/declarative-validation/selectors/index.d.ts.map +1 -0
  283. package/dist/declarative-validation/selectors/index.js +149 -0
  284. package/dist/declarative-validation/selectors/index.js.map +1 -0
  285. package/dist/declarative-validation/selectors/source.d.ts +8 -0
  286. package/dist/declarative-validation/selectors/source.d.ts.map +1 -0
  287. package/dist/declarative-validation/selectors/source.js +57 -0
  288. package/dist/declarative-validation/selectors/source.js.map +1 -0
  289. package/dist/declarative-validation/selectors/table-targets.d.ts +36 -0
  290. package/dist/declarative-validation/selectors/table-targets.d.ts.map +1 -0
  291. package/dist/declarative-validation/selectors/table-targets.js +149 -0
  292. package/dist/declarative-validation/selectors/table-targets.js.map +1 -0
  293. package/dist/declarative-validation/selectors/table-text.d.ts +4 -0
  294. package/dist/declarative-validation/selectors/table-text.d.ts.map +1 -0
  295. package/dist/declarative-validation/selectors/table-text.js +16 -0
  296. package/dist/declarative-validation/selectors/table-text.js.map +1 -0
  297. package/dist/{ir → internal}/document-node-walk.d.ts +5 -0
  298. package/dist/internal/document-node-walk.d.ts.map +1 -0
  299. package/dist/internal/document-node-walk.js +36 -0
  300. package/dist/internal/document-node-walk.js.map +1 -0
  301. package/dist/internal/stable-json.d.ts +3 -0
  302. package/dist/internal/stable-json.d.ts.map +1 -0
  303. package/dist/internal/stable-json.js +17 -0
  304. package/dist/internal/stable-json.js.map +1 -0
  305. package/dist/ir/document-derived-views.d.ts.map +1 -1
  306. package/dist/ir/document-derived-views.js +2 -0
  307. package/dist/ir/document-derived-views.js.map +1 -1
  308. package/dist/ir/document-link-reference-views.d.ts +3 -0
  309. package/dist/ir/document-link-reference-views.d.ts.map +1 -0
  310. package/dist/ir/document-link-reference-views.js +150 -0
  311. package/dist/ir/document-link-reference-views.js.map +1 -0
  312. package/dist/ir/document-link-views.d.ts.map +1 -1
  313. package/dist/ir/document-link-views.js +7 -8
  314. package/dist/ir/document-link-views.js.map +1 -1
  315. package/dist/ir/document-list-views.d.ts.map +1 -1
  316. package/dist/ir/document-list-views.js +14 -13
  317. package/dist/ir/document-list-views.js.map +1 -1
  318. package/dist/ir/document-sections.d.ts.map +1 -1
  319. package/dist/ir/document-sections.js +2 -4
  320. package/dist/ir/document-sections.js.map +1 -1
  321. package/dist/ir/document-table-views.js +1 -1
  322. package/dist/ir/document-table-views.js.map +1 -1
  323. package/dist/ir/document-text-spans.js +1 -1
  324. package/dist/ir/document-text-spans.js.map +1 -1
  325. package/dist/ir/document.d.ts +2 -3
  326. package/dist/ir/document.d.ts.map +1 -1
  327. package/dist/ir/document.js +1 -1
  328. package/dist/ir/document.js.map +1 -1
  329. package/dist/ir/index.d.ts +1 -0
  330. package/dist/ir/index.d.ts.map +1 -1
  331. package/dist/ir/normalization-input.d.ts +12 -0
  332. package/dist/ir/normalization-input.d.ts.map +1 -0
  333. package/dist/ir/normalization-input.js +2 -0
  334. package/dist/ir/normalization-input.js.map +1 -0
  335. package/dist/rules/code-fence-languages.d.ts.map +1 -1
  336. package/dist/rules/code-fence-languages.js +4 -6
  337. package/dist/rules/code-fence-languages.js.map +1 -1
  338. package/dist/rules/document-query.d.ts +0 -2
  339. package/dist/rules/document-query.d.ts.map +1 -1
  340. package/dist/rules/document-query.js +1 -17
  341. package/dist/rules/document-query.js.map +1 -1
  342. package/dist/rules/index.d.ts +2 -6
  343. package/dist/rules/index.d.ts.map +1 -1
  344. package/dist/rules/index.js +3 -37
  345. package/dist/rules/index.js.map +1 -1
  346. package/dist/rules/links-allowed-schemes.d.ts.map +1 -1
  347. package/dist/rules/links-allowed-schemes.js +3 -2
  348. package/dist/rules/links-allowed-schemes.js.map +1 -1
  349. package/dist/rules/registry.d.ts +12 -0
  350. package/dist/rules/registry.d.ts.map +1 -0
  351. package/dist/rules/registry.js +61 -0
  352. package/dist/rules/registry.js.map +1 -0
  353. package/dist-bundled/markdown-engine-cli.mjs +26826 -0
  354. package/docs/contracts/api.md +665 -0
  355. package/docs/contracts/declarative-validation.md +842 -0
  356. package/docs/contracts/frontmatter.md +122 -0
  357. package/fixtures/declarative-validation/examples/operational-spec/fail.md +32 -0
  358. package/fixtures/declarative-validation/examples/operational-spec/pass.md +34 -0
  359. package/fixtures/declarative-validation/examples/operational-spec/profile.yaml +131 -0
  360. package/fixtures/declarative-validation/examples/release-checklist/fail.md +22 -0
  361. package/fixtures/declarative-validation/examples/release-checklist/pass.md +22 -0
  362. package/fixtures/declarative-validation/examples/release-checklist/profile.yaml +96 -0
  363. package/fixtures/declarative-validation/examples/requirements-traceability/fail.md +27 -0
  364. package/fixtures/declarative-validation/examples/requirements-traceability/pass.md +27 -0
  365. package/fixtures/declarative-validation/examples/requirements-traceability/profile.yaml +119 -0
  366. package/package.json +26 -6
  367. package/skills/profile-backed-markdown/SKILL.md +54 -0
  368. package/skills/profile-backed-markdown/assets/profiles/operational-spec.yaml +98 -0
  369. package/skills/profile-backed-markdown/references/repair-brief.md +14 -0
  370. package/skills/profile-backed-markdown/scripts/validate-profile-backed-markdown.mjs +590 -0
  371. package/dist/ir/document-node-walk.d.ts.map +0 -1
  372. package/dist/ir/document-node-walk.js +0 -16
  373. package/dist/ir/document-node-walk.js.map +0 -1
@@ -0,0 +1,57 @@
1
+ import { FUNCTION_PLACEHOLDER, normalizeRuntimeValue, UNAVAILABLE_PLACEHOLDER, } from "./annotation-target-runtime.js";
2
+ import { cloneDiagnosticTarget } from "./annotation-target-cloning.js";
3
+ import { compareSourcePositions } from "./annotation-source-range.js";
4
+ export function sortableDiagnostic(diagnostic, order) {
5
+ return {
6
+ diagnostic: {
7
+ ...diagnostic,
8
+ target: cloneDiagnosticTarget(diagnostic.target),
9
+ },
10
+ order,
11
+ };
12
+ }
13
+ export function compareSortableDiagnostics(left, right) {
14
+ return (compareOptionalSourceRange(left.diagnostic.sourceRange, right.diagnostic.sourceRange) ||
15
+ compareStrings(left.diagnostic.code, right.diagnostic.code) ||
16
+ compareStrings(left.diagnostic.message, right.diagnostic.message) ||
17
+ compareStrings(targetSortKey(left.diagnostic.target), targetSortKey(right.diagnostic.target)) ||
18
+ left.order - right.order);
19
+ }
20
+ function compareOptionalSourceRange(left, right) {
21
+ if (left === undefined && right === undefined) {
22
+ return 0;
23
+ }
24
+ if (left === undefined) {
25
+ return 1;
26
+ }
27
+ if (right === undefined) {
28
+ return -1;
29
+ }
30
+ return (compareSourcePositions(left.start, right.start) ||
31
+ compareSourcePositions(left.end, right.end));
32
+ }
33
+ function compareStrings(left, right) {
34
+ if (left < right) {
35
+ return -1;
36
+ }
37
+ if (left > right) {
38
+ return 1;
39
+ }
40
+ return 0;
41
+ }
42
+ function targetSortKey(target) {
43
+ try {
44
+ const serialized = JSON.stringify(normalizeRuntimeValue(target));
45
+ return serialized ?? String(target);
46
+ }
47
+ catch {
48
+ if (typeof target === "function") {
49
+ return FUNCTION_PLACEHOLDER;
50
+ }
51
+ if (typeof target === "object" && target !== null) {
52
+ return UNAVAILABLE_PLACEHOLDER;
53
+ }
54
+ return String(target);
55
+ }
56
+ }
57
+ //# sourceMappingURL=annotation-target-diagnostics.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"annotation-target-diagnostics.js","sourceRoot":"","sources":["../../src/api/annotation-target-diagnostics.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,sBAAsB,EAAE,MAAM,8BAA8B,CAAC;AAOtE,MAAM,UAAU,kBAAkB,CAChC,UAAkC,EAClC,KAAa;IAEb,OAAO;QACL,UAAU,EAAE;YACV,GAAG,UAAU;YACb,MAAM,EAAE,qBAAqB,CAAC,UAAU,CAAC,MAAM,CAAC;SACjD;QACD,KAAK;KACN,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,0BAA0B,CACxC,IAA8B,EAC9B,KAA+B;IAE/B,OAAO,CACL,0BAA0B,CACxB,IAAI,CAAC,UAAU,CAAC,WAAW,EAC3B,KAAK,CAAC,UAAU,CAAC,WAAW,CAC7B;QACD,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,UAAU,CAAC,IAAI,CAAC;QAC3D,cAAc,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,EAAE,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC;QACjE,cAAc,CACZ,aAAa,CAAC,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,EACrC,aAAa,CAAC,KAAK,CAAC,UAAU,CAAC,MAAM,CAAC,CACvC;QACD,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC,KAAK,CACzB,CAAC;AACJ,CAAC;AAED,SAAS,0BAA0B,CACjC,IAA6B,EAC7B,KAA8B;IAE9B,IAAI,IAAI,KAAK,SAAS,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QAC9C,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,IAAI,KAAK,SAAS,EAAE,CAAC;QACvB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;QACxB,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,OAAO,CACL,sBAAsB,CAAC,IAAI,CAAC,KAAK,EAAE,KAAK,CAAC,KAAK,CAAC;QAC/C,sBAAsB,CAAC,IAAI,CAAC,GAAG,EAAE,KAAK,CAAC,GAAG,CAAC,CAC5C,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,IAAY,EAAE,KAAa;IACjD,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;QACjB,OAAO,CAAC,CAAC,CAAC;IACZ,CAAC;IAED,IAAI,IAAI,GAAG,KAAK,EAAE,CAAC;QACjB,OAAO,CAAC,CAAC;IACX,CAAC;IAED,OAAO,CAAC,CAAC;AACX,CAAC;AAED,SAAS,aAAa,CAAC,MAAe;IACpC,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC,CAAC;QAEjE,OAAO,UAAU,IAAI,MAAM,CAAC,MAAM,CAAC,CAAC;IACtC,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,OAAO,MAAM,KAAK,UAAU,EAAE,CAAC;YACjC,OAAO,oBAAoB,CAAC;QAC9B,CAAC;QAED,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,EAAE,CAAC;YAClD,OAAO,uBAAuB,CAAC;QACjC,CAAC;QAED,OAAO,MAAM,CAAC,MAAM,CAAC,CAAC;IACxB,CAAC;AACH,CAAC"}
@@ -1,4 +1,4 @@
1
- import type { EngineAnnotation, EngineAnnotationTarget, EngineDocument, EngineTargetDiagnostic } from "./document.js";
1
+ import type { EngineAnnotation, EngineDocument, EngineTargetDiagnostic } from "./document.js";
2
+ export { cloneAnnotationTarget } from "./annotation-target-cloning.js";
2
3
  export declare function annotationTargetDiagnostics(document: EngineDocument, annotations: readonly EngineAnnotation[]): EngineTargetDiagnostic[];
3
- export declare function cloneAnnotationTarget(target: EngineAnnotationTarget): EngineAnnotationTarget;
4
4
  //# sourceMappingURL=annotation-target-validation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"annotation-target-validation.d.ts","sourceRoot":"","sources":["../../src/api/annotation-target-validation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,gBAAgB,EAChB,sBAAsB,EACtB,cAAc,EAEd,sBAAsB,EACvB,MAAM,eAAe,CAAC;AA8BvB,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,SAAS,gBAAgB,EAAE,GACvC,sBAAsB,EAAE,CAkB1B;AAoVD,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,sBAAsB,GAC7B,sBAAsB,CAUxB"}
1
+ {"version":3,"file":"annotation-target-validation.d.ts","sourceRoot":"","sources":["../../src/api/annotation-target-validation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAEhB,cAAc,EAEd,sBAAsB,EACvB,MAAM,eAAe,CAAC;AAsBvB,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AAEvE,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,cAAc,EACxB,WAAW,EAAE,SAAS,gBAAgB,EAAE,GACvC,sBAAsB,EAAE,CAkB1B"}
@@ -1,5 +1,9 @@
1
1
  import { documentQueries } from "./document-queries.js";
2
- import { arrayLength, FUNCTION_PLACEHOLDER, isArray, isPlainObject, MAX_NORMALIZED_ARRAY_LENGTH, normalizeRuntimeValue, ownDataProperty, ownRuntimeProperty, UNAVAILABLE_PLACEHOLDER, } from "./annotation-target-runtime.js";
2
+ import { annotationNodeTarget, annotationSourceRange, annotationTargetKind, isAnnotationTargetCandidate, } from "./annotation-target-candidate.js";
3
+ import { cloneSourceRange, cloneSourceRangeCandidate, sourceRangeContains, sourceRangeIsInvalid, } from "./annotation-source-range.js";
4
+ import { cloneEngineTargetCandidate } from "./annotation-target-cloning.js";
5
+ import { compareSortableDiagnostics, sortableDiagnostic, } from "./annotation-target-diagnostics.js";
6
+ export { cloneAnnotationTarget } from "./annotation-target-cloning.js";
3
7
  export function annotationTargetDiagnostics(document, annotations) {
4
8
  const validTargetIds = documentTargetIds(document);
5
9
  const documentSourceRange = document.sourceRange !== undefined
@@ -140,275 +144,4 @@ function sourceTargetDiagnostics(target, documentSourceRange, order) {
140
144
  }
141
145
  return [];
142
146
  }
143
- function sortableDiagnostic(diagnostic, order) {
144
- return {
145
- diagnostic: {
146
- ...diagnostic,
147
- target: cloneDiagnosticTarget(diagnostic.target),
148
- },
149
- order,
150
- };
151
- }
152
- function compareSortableDiagnostics(left, right) {
153
- return (compareOptionalSourceRange(left.diagnostic.sourceRange, right.diagnostic.sourceRange) ||
154
- compareStrings(left.diagnostic.code, right.diagnostic.code) ||
155
- compareStrings(left.diagnostic.message, right.diagnostic.message) ||
156
- compareStrings(targetSortKey(left.diagnostic.target), targetSortKey(right.diagnostic.target)) ||
157
- left.order - right.order);
158
- }
159
- function compareOptionalSourceRange(left, right) {
160
- if (left === undefined && right === undefined) {
161
- return 0;
162
- }
163
- if (left === undefined) {
164
- return 1;
165
- }
166
- if (right === undefined) {
167
- return -1;
168
- }
169
- return (compareSourcePositions(left.start, right.start) ||
170
- compareSourcePositions(left.end, right.end));
171
- }
172
- function compareSourcePositions(left, right) {
173
- return (left.line - right.line ||
174
- left.column - right.column ||
175
- compareOptionalOffsets(left.offset, right.offset));
176
- }
177
- function compareOptionalOffsets(left, right) {
178
- if (left === undefined && right === undefined) {
179
- return 0;
180
- }
181
- if (left === undefined) {
182
- return 1;
183
- }
184
- if (right === undefined) {
185
- return -1;
186
- }
187
- return left - right;
188
- }
189
- function compareStrings(left, right) {
190
- if (left < right) {
191
- return -1;
192
- }
193
- if (left > right) {
194
- return 1;
195
- }
196
- return 0;
197
- }
198
- function targetSortKey(target) {
199
- try {
200
- const serialized = JSON.stringify(normalizeRuntimeValue(target));
201
- return serialized ?? String(target);
202
- }
203
- catch {
204
- if (typeof target === "function") {
205
- return FUNCTION_PLACEHOLDER;
206
- }
207
- if (typeof target === "object" && target !== null) {
208
- return UNAVAILABLE_PLACEHOLDER;
209
- }
210
- return String(target);
211
- }
212
- }
213
- function serializableTarget(target) {
214
- return normalizeRuntimeValue(target);
215
- }
216
- function annotationTargetKind(target) {
217
- return ownDataProperty(target, "kind");
218
- }
219
- function annotationNodeTarget(target) {
220
- return ownDataProperty(target, "nodeTarget");
221
- }
222
- function annotationSourceRange(target) {
223
- return ownDataProperty(target, "sourceRange");
224
- }
225
- export function cloneAnnotationTarget(target) {
226
- if (isAnnotationTargetCandidate(target)) {
227
- const clonedTarget = cloneKnownAnnotationTarget(target);
228
- if (clonedTarget !== undefined) {
229
- return clonedTarget;
230
- }
231
- }
232
- return serializableTarget(target);
233
- }
234
- function cloneDiagnosticTarget(target) {
235
- if (isAnnotationTargetCandidate(target)) {
236
- const clonedTarget = cloneKnownAnnotationTarget(target);
237
- if (clonedTarget !== undefined) {
238
- return clonedTarget;
239
- }
240
- }
241
- return serializableTarget(target);
242
- }
243
- function cloneKnownAnnotationTarget(target) {
244
- const kind = annotationTargetKind(target);
245
- if (kind === "node") {
246
- const nodeTarget = cloneEngineTargetCandidate(annotationNodeTarget(target));
247
- if (nodeTarget === undefined) {
248
- return undefined;
249
- }
250
- return {
251
- kind: "node",
252
- nodeTarget,
253
- };
254
- }
255
- if (kind === "source") {
256
- const sourceRange = cloneSourceRangeCandidate(annotationSourceRange(target));
257
- if (sourceRange === undefined) {
258
- return undefined;
259
- }
260
- return {
261
- kind: "source",
262
- sourceRange,
263
- };
264
- }
265
- return undefined;
266
- }
267
- function cloneEngineTargetCandidate(target) {
268
- if (!isPlainObject(target)) {
269
- return undefined;
270
- }
271
- const kind = ownDataProperty(target, "kind");
272
- const id = ownDataProperty(target, "id");
273
- const pathProperty = ownRuntimeProperty(target, "path");
274
- const nodeTypeProperty = ownRuntimeProperty(target, "nodeType");
275
- const sourceRangeProperty = ownRuntimeProperty(target, "sourceRange");
276
- const path = optionalDataPropertyValue(pathProperty);
277
- const nodeType = optionalDataPropertyValue(nodeTypeProperty);
278
- const sourceRange = optionalDataPropertyValue(sourceRangeProperty);
279
- if (kind !== "node" || typeof id !== "string") {
280
- return undefined;
281
- }
282
- const pathClone = path !== undefined ? cloneTargetPathCandidate(path) : undefined;
283
- const clonedSourceRange = sourceRange !== undefined ? cloneSourceRangeCandidate(sourceRange) : undefined;
284
- if (pathProperty.kind === "accessor" ||
285
- optionalDataPropertyIsInvalid(nodeTypeProperty) ||
286
- optionalDataPropertyIsInvalid(sourceRangeProperty) ||
287
- pathClone?.kind === "invalid" ||
288
- (nodeType !== undefined && typeof nodeType !== "string") ||
289
- (sourceRange !== undefined && clonedSourceRange === undefined)) {
290
- return undefined;
291
- }
292
- return {
293
- kind,
294
- id,
295
- ...(pathClone?.kind === "cloned" ? { path: pathClone.path } : {}),
296
- ...(typeof nodeType === "string" ? { nodeType } : {}),
297
- ...(clonedSourceRange !== undefined ? { sourceRange: clonedSourceRange } : {}),
298
- };
299
- }
300
- function cloneTargetPathCandidate(path) {
301
- if (!isArray(path)) {
302
- return { kind: "invalid" };
303
- }
304
- const length = arrayLength(path);
305
- if (length === undefined) {
306
- return { kind: "unavailable" };
307
- }
308
- if (length > MAX_NORMALIZED_ARRAY_LENGTH) {
309
- return { kind: "unavailable" };
310
- }
311
- const clonedPath = [];
312
- for (let index = 0; index < length; index += 1) {
313
- const segmentProperty = ownRuntimeProperty(path, String(index));
314
- if (segmentProperty.kind === "unavailable") {
315
- return { kind: "unavailable" };
316
- }
317
- if (segmentProperty.kind !== "data") {
318
- return { kind: "invalid" };
319
- }
320
- if (!isNonNegativeInteger(segmentProperty.value)) {
321
- return { kind: "invalid" };
322
- }
323
- clonedPath.push(segmentProperty.value);
324
- }
325
- return { kind: "cloned", path: clonedPath };
326
- }
327
- function cloneSourceRangeCandidate(range) {
328
- if (!isPlainObject(range)) {
329
- return undefined;
330
- }
331
- const start = cloneSourcePositionCandidate(ownDataProperty(range, "start"));
332
- const end = cloneSourcePositionCandidate(ownDataProperty(range, "end"));
333
- if (start === undefined || end === undefined) {
334
- return undefined;
335
- }
336
- return { start, end };
337
- }
338
- function cloneSourceRange(sourceRange) {
339
- return {
340
- start: cloneSourcePosition(sourceRange.start),
341
- end: cloneSourcePosition(sourceRange.end),
342
- };
343
- }
344
- function cloneSourcePosition(position) {
345
- return {
346
- line: position.line,
347
- column: position.column,
348
- ...(position.offset !== undefined ? { offset: position.offset } : {}),
349
- };
350
- }
351
- function cloneSourcePositionCandidate(position) {
352
- if (!isPlainObject(position)) {
353
- return undefined;
354
- }
355
- const line = ownDataProperty(position, "line");
356
- const column = ownDataProperty(position, "column");
357
- const offsetProperty = ownRuntimeProperty(position, "offset");
358
- const offset = optionalDataPropertyValue(offsetProperty);
359
- if (!isPositiveInteger(line) ||
360
- !isPositiveInteger(column) ||
361
- optionalDataPropertyIsInvalid(offsetProperty) ||
362
- (offset !== undefined && !isNonNegativeInteger(offset))) {
363
- return undefined;
364
- }
365
- return {
366
- line,
367
- column,
368
- ...(offset !== undefined ? { offset } : {}),
369
- };
370
- }
371
- function isAnnotationTargetCandidate(target) {
372
- return typeof target === "object" && target !== null && !isArray(target);
373
- }
374
- function optionalDataPropertyValue(property) {
375
- return property.kind === "data" ? property.value : undefined;
376
- }
377
- function optionalDataPropertyIsInvalid(property) {
378
- return property.kind === "accessor" || property.kind === "unavailable";
379
- }
380
- function isPositiveInteger(value) {
381
- return typeof value === "number" && Number.isInteger(value) && value >= 1;
382
- }
383
- function isNonNegativeInteger(value) {
384
- return typeof value === "number" && Number.isInteger(value) && value >= 0;
385
- }
386
- function sourceRangeIsInvalid(range) {
387
- return (compareLineAndColumn(range.end, range.start) < 0 ||
388
- sourceOffsetsAreInvalid(range));
389
- }
390
- function sourceRangeContains(container, target) {
391
- return (compareLineAndColumn(container.start, target.start) <= 0 &&
392
- compareLineAndColumn(target.end, container.end) <= 0 &&
393
- sourceOffsetsAreContained(container, target));
394
- }
395
- function compareLineAndColumn(left, right) {
396
- return left.line - right.line || left.column - right.column;
397
- }
398
- function sourceOffsetsAreInvalid(range) {
399
- return (range.start.offset !== undefined &&
400
- range.end.offset !== undefined &&
401
- range.end.offset < range.start.offset);
402
- }
403
- function sourceOffsetsAreContained(container, target) {
404
- return (sourceOffsetIsContained(container, target.start.offset) &&
405
- sourceOffsetIsContained(container, target.end.offset));
406
- }
407
- function sourceOffsetIsContained(container, offset) {
408
- if (offset === undefined) {
409
- return true;
410
- }
411
- return ((container.start.offset === undefined || container.start.offset <= offset) &&
412
- (container.end.offset === undefined || offset <= container.end.offset));
413
- }
414
147
  //# sourceMappingURL=annotation-target-validation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"annotation-target-validation.js","sourceRoot":"","sources":["../../src/api/annotation-target-validation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"annotation-target-validation.js","sourceRoot":"","sources":["../../src/api/annotation-target-validation.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
- export type MarkdownEngineApiName = "parse" | "normalize" | "validate" | "serialize" | "documentQueries" | "validateAnnotations";
1
+ export type MarkdownEngineApiName = "parse" | "normalize" | "validate" | "serialize" | "documentQueries" | "validateAnnotations" | "parseValidationProfile" | "validateWithProfile";
2
2
  export * from "./annotations.js";
3
+ export * from "./declarative-validation.js";
3
4
  export * from "./diagnostics.js";
4
5
  export * from "./document.js";
5
6
  export * from "./document-queries.js";
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/api/contracts.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAC7B,OAAO,GACP,WAAW,GACX,UAAU,GACV,WAAW,GACX,iBAAiB,GACjB,qBAAqB,CAAC;AAE1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"contracts.d.ts","sourceRoot":"","sources":["../../src/api/contracts.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,qBAAqB,GAC7B,OAAO,GACP,WAAW,GACX,UAAU,GACV,WAAW,GACX,iBAAiB,GACjB,qBAAqB,GACrB,wBAAwB,GACxB,qBAAqB,CAAC;AAE1B,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC"}
@@ -1,4 +1,5 @@
1
1
  export * from "./annotations.js";
2
+ export * from "./declarative-validation.js";
2
3
  export * from "./diagnostics.js";
3
4
  export * from "./document.js";
4
5
  export * from "./document-queries.js";
@@ -1 +1 @@
1
- {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/api/contracts.ts"],"names":[],"mappings":"AAQA,cAAc,kBAAkB,CAAC;AACjC,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC"}
1
+ {"version":3,"file":"contracts.js","sourceRoot":"","sources":["../../src/api/contracts.ts"],"names":[],"mappings":"AAUA,cAAc,kBAAkB,CAAC;AACjC,cAAc,6BAA6B,CAAC;AAC5C,cAAc,kBAAkB,CAAC;AACjC,cAAc,eAAe,CAAC;AAC9B,cAAc,uBAAuB,CAAC;AACtC,cAAc,gBAAgB,CAAC;AAC/B,cAAc,YAAY,CAAC;AAC3B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,eAAe,CAAC"}
@@ -0,0 +1,13 @@
1
+ import type { EngineDocument } from "./document.js";
2
+ import type { DeclarativeProfileParseOptions, DeclarativeProfileParseResult, JsonSafeValue, ValidationProfile } from "../declarative-validation/profile/index.js";
3
+ import type { DeclarativeValidationOptions, DeclarativeValidationResult } from "../declarative-validation/results/index.js";
4
+ export type { DeclarativeAssertion, DeclarativeValidationApplicability, DeclarativeValidationAllOfRule, DeclarativeValidationAnyOfRule, DeclarativeValidationBranch, DeclarativeValidationFlatRule, DeclarativeValidationGroupRule, DeclarativeValidationRuleFields, DeclarativeIdSource, DeclarativeOutputFormat, DeclarativeProfileParseOptions, DeclarativeProfileParseResult, DeclarativeSectionOrder, DeclarativeSelector, DeclarativeTableCellPredicate, DeclarativeTableColumnCoverage, DeclarativeTableColumnCoverageSource, DeclarativeTableColumnCoverageTarget, DeclarativeValidationRule, DeclarativeValidationSeverity, JsonSafeValue, ValidationProfile, } from "../declarative-validation/profile/index.js";
5
+ export type { DeclarativeValidationEvidence } from "../declarative-validation/evidence/index.js";
6
+ export type { DeclarativeValidationAllOfEvaluationResult, DeclarativeValidationAnyOfEvaluationResult, DeclarativeValidationApplicabilityResult, DeclarativeValidationAssertionsEvaluationResult, DeclarativeValidationBranchReference, DeclarativeValidationBranchResult, DeclarativeValidationCliJsonResult, DeclarativeValidationConfigErrorResult, DeclarativeValidationOptions, DeclarativeValidationResultV1, DeclarativeValidationResultV2, DeclarativeValidationRuleEvaluationResult, DeclarativeValidationRuleResultV2, DeclarativeValidationRuleStatus, DeclarativeValidationSkippedEvaluationResult, DeclarativeValidationResult, } from "../declarative-validation/results/index.js";
7
+ export interface DeclarativeValidationApi {
8
+ parseValidationProfile(input: string | JsonSafeValue, options?: DeclarativeProfileParseOptions): DeclarativeProfileParseResult;
9
+ validateWithProfile(document: EngineDocument, profile: ValidationProfile, options?: DeclarativeValidationOptions): DeclarativeValidationResult;
10
+ }
11
+ export declare function parseValidationProfile(input: string | JsonSafeValue, options?: DeclarativeProfileParseOptions): DeclarativeProfileParseResult;
12
+ export declare function validateWithProfile(document: EngineDocument, profile: ValidationProfile, options?: DeclarativeValidationOptions): DeclarativeValidationResult;
13
+ //# sourceMappingURL=declarative-validation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"declarative-validation.d.ts","sourceRoot":"","sources":["../../src/api/declarative-validation.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAkBpD,OAAO,KAAK,EACV,8BAA8B,EAC9B,6BAA6B,EAC7B,aAAa,EACb,iBAAiB,EAClB,MAAM,4CAA4C,CAAC;AAKpD,OAAO,KAAK,EACV,4BAA4B,EAC5B,2BAA2B,EAC5B,MAAM,4CAA4C,CAAC;AAGpD,YAAY,EACV,oBAAoB,EACpB,kCAAkC,EAClC,8BAA8B,EAC9B,8BAA8B,EAC9B,2BAA2B,EAC3B,6BAA6B,EAC7B,8BAA8B,EAC9B,+BAA+B,EAC/B,mBAAmB,EACnB,uBAAuB,EACvB,8BAA8B,EAC9B,6BAA6B,EAC7B,uBAAuB,EACvB,mBAAmB,EACnB,6BAA6B,EAC7B,8BAA8B,EAC9B,oCAAoC,EACpC,oCAAoC,EACpC,yBAAyB,EACzB,6BAA6B,EAC7B,aAAa,EACb,iBAAiB,GAClB,MAAM,4CAA4C,CAAC;AACpD,YAAY,EAAE,6BAA6B,EAAE,MAAM,6CAA6C,CAAC;AACjG,YAAY,EACV,0CAA0C,EAC1C,0CAA0C,EAC1C,wCAAwC,EACxC,+CAA+C,EAC/C,oCAAoC,EACpC,iCAAiC,EACjC,kCAAkC,EAClC,sCAAsC,EACtC,4BAA4B,EAC5B,6BAA6B,EAC7B,6BAA6B,EAC7B,yCAAyC,EACzC,iCAAiC,EACjC,+BAA+B,EAC/B,4CAA4C,EAC5C,2BAA2B,GAC5B,MAAM,4CAA4C,CAAC;AAEpD,MAAM,WAAW,wBAAwB;IACvC,sBAAsB,CACpB,KAAK,EAAE,MAAM,GAAG,aAAa,EAC7B,OAAO,CAAC,EAAE,8BAA8B,GACvC,6BAA6B,CAAC;IACjC,mBAAmB,CACjB,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,iBAAiB,EAC1B,OAAO,CAAC,EAAE,4BAA4B,GACrC,2BAA2B,CAAC;CAChC;AAED,wBAAgB,sBAAsB,CACpC,KAAK,EAAE,MAAM,GAAG,aAAa,EAC7B,OAAO,GAAE,8BAAmC,GAC3C,6BAA6B,CAE/B;AAED,wBAAgB,mBAAmB,CACjC,QAAQ,EAAE,cAAc,EACxB,OAAO,EAAE,iBAAiB,EAC1B,OAAO,GAAE,4BAAiC,GACzC,2BAA2B,CAgD7B"}
@@ -0,0 +1,85 @@
1
+ import { classifyCompiledDeclarativeRuleApplicability } from "../declarative-validation/applicability/index.js";
2
+ import { evaluateCompiledDeclarativeAllOfRule, evaluateCompiledDeclarativeAnyOfRule, evaluateCompiledDeclarativeRule, sortValidationRuleResults, } from "../declarative-validation/assertions/index.js";
3
+ import { compileValidationProfile } from "../declarative-validation/compiler/index.js";
4
+ import { parseValidationProfileInput } from "../declarative-validation/profile/index.js";
5
+ import { materializeValidationProfile } from "../declarative-validation/profile/materialization.js";
6
+ import { createDeclarativeValidationResult, createSkippedDeclarativeValidationRuleResult, } from "../declarative-validation/results/index.js";
7
+ import { resolveDeclarativeSelector } from "../declarative-validation/selectors/index.js";
8
+ export function parseValidationProfile(input, options = {}) {
9
+ return parseValidationProfileInput(input, options);
10
+ }
11
+ export function validateWithProfile(document, profile, options = {}) {
12
+ const materializedProfile = materializeValidationProfile(profile, document.version);
13
+ if (materializedProfile.diagnostics.length > 0) {
14
+ return createDeclarativeValidationResult({
15
+ document,
16
+ profile: materializedProfile.profile,
17
+ ruleResults: [],
18
+ diagnostics: materializedProfile.diagnostics,
19
+ options,
20
+ });
21
+ }
22
+ const profileDocumentVersion = materializedProfile.profile.documentVersion ?? document.version;
23
+ const versionDiagnostics = profileDocumentVersion === document.version
24
+ ? []
25
+ : [documentVersionMismatchDiagnostic(profileDocumentVersion, document.version)];
26
+ if (versionDiagnostics.length > 0) {
27
+ return createDeclarativeValidationResult({
28
+ document,
29
+ profile: materializedProfile.profile,
30
+ ruleResults: [],
31
+ diagnostics: versionDiagnostics,
32
+ options,
33
+ });
34
+ }
35
+ const compileResult = compileValidationProfile(materializedProfile.profile);
36
+ const compiledRules = compileResult.plan?.rules ?? [];
37
+ const ruleResults = sortValidationRuleResults(compiledRules.flatMap((rule) => evaluateApplicableCompiledRule(document, rule)));
38
+ const diagnostics = [
39
+ ...compileResult.diagnostics,
40
+ ...ruleResults.flatMap((result) => result.diagnostics),
41
+ ];
42
+ return createDeclarativeValidationResult({
43
+ document,
44
+ profile: materializedProfile.profile,
45
+ ruleResults,
46
+ diagnostics,
47
+ options,
48
+ });
49
+ }
50
+ function evaluateApplicableCompiledRule(document, rule) {
51
+ const applicability = classifyCompiledDeclarativeRuleApplicability(rule, document);
52
+ return applicability.status === "notMatched"
53
+ ? [
54
+ createSkippedDeclarativeValidationRuleResult({
55
+ ruleId: rule.ruleId,
56
+ when: applicability.result,
57
+ }),
58
+ ]
59
+ : evaluateCompiledRule(document, rule);
60
+ }
61
+ function evaluateCompiledRule(document, rule) {
62
+ if (isCompiledAnyOfRule(rule)) {
63
+ return [evaluateCompiledDeclarativeAnyOfRule(rule, document)];
64
+ }
65
+ if (isCompiledAllOfRule(rule)) {
66
+ return [evaluateCompiledDeclarativeAllOfRule(rule, document)];
67
+ }
68
+ return [
69
+ evaluateCompiledDeclarativeRule(rule, resolveDeclarativeSelector(document, rule.selector)),
70
+ ];
71
+ }
72
+ function isCompiledAnyOfRule(rule) {
73
+ return "kind" in rule && rule.kind === "anyOf";
74
+ }
75
+ function isCompiledAllOfRule(rule) {
76
+ return "kind" in rule && rule.kind === "allOf";
77
+ }
78
+ function documentVersionMismatchDiagnostic(profileDocumentVersion, documentVersion) {
79
+ return {
80
+ code: "profile.config.documentVersionMismatch",
81
+ message: `Profile documentVersion "${profileDocumentVersion}" does not match document version "${documentVersion}".`,
82
+ severity: "error",
83
+ };
84
+ }
85
+ //# sourceMappingURL=declarative-validation.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"declarative-validation.js","sourceRoot":"","sources":["../../src/api/declarative-validation.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"document-queries.d.ts","sourceRoot":"","sources":["../../src/api/document-queries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,qBAAqB,EAetB,MAAM,eAAe,CAAC;AAGvB,eAAO,MAAM,eAAe,EAAE,qBAQ7B,CAAC"}
1
+ {"version":3,"file":"document-queries.d.ts","sourceRoot":"","sources":["../../src/api/document-queries.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAEV,qBAAqB,EAmBtB,MAAM,eAAe,CAAC;AAGvB,eAAO,MAAM,eAAe,EAAE,qBAW7B,CAAC"}
@@ -1,4 +1,4 @@
1
- import { flattenNodes } from "../ir/document-node-walk.js";
1
+ import { flattenNodes } from "../internal/document-node-walk.js";
2
2
  export const documentQueries = {
3
3
  nodes,
4
4
  sections,
@@ -6,6 +6,9 @@ export const documentQueries = {
6
6
  tables,
7
7
  lists,
8
8
  links,
9
+ linkReferences,
10
+ targetCategory,
11
+ resolveTarget,
9
12
  sourceSlice,
10
13
  };
11
14
  function nodes(document, query = {}) {
@@ -76,14 +79,82 @@ function links(document, query = {}) {
76
79
  return query.text === undefined || link.text === query.text;
77
80
  });
78
81
  }
82
+ function linkReferences(document, query = {}) {
83
+ return (document.linkReferences ?? []).filter((reference) => {
84
+ if (query.targetId !== undefined && reference.target.id !== query.targetId) {
85
+ return false;
86
+ }
87
+ if (query.kind !== undefined && reference.kind !== query.kind) {
88
+ return false;
89
+ }
90
+ if (query.url !== undefined && reference.url !== query.url) {
91
+ return false;
92
+ }
93
+ if (query.text !== undefined && reference.text !== query.text) {
94
+ return false;
95
+ }
96
+ if (query.alt !== undefined && reference.alt !== query.alt) {
97
+ return false;
98
+ }
99
+ if (query.label !== undefined && reference.label !== query.label) {
100
+ return false;
101
+ }
102
+ if (query.identifier !== undefined &&
103
+ reference.identifier !== query.identifier) {
104
+ return false;
105
+ }
106
+ if (query.referenceType !== undefined &&
107
+ reference.referenceType !== query.referenceType) {
108
+ return false;
109
+ }
110
+ return (query.definitionTargetId === undefined ||
111
+ reference.definitionTarget?.id === query.definitionTargetId);
112
+ });
113
+ }
79
114
  function sourceSlice(document, target) {
115
+ const resolution = resolveTarget(document, target);
116
+ return resolution?.category === "document" ? undefined : resolution?.sourceSlice;
117
+ }
118
+ function targetCategory(document, target) {
119
+ return resolveTarget(document, target)?.category;
120
+ }
121
+ function resolveTarget(document, target) {
80
122
  if (target.kind !== "node") {
81
123
  return undefined;
82
124
  }
125
+ if (document.target?.id === target.id) {
126
+ return {
127
+ category: "document",
128
+ target: document.target,
129
+ };
130
+ }
83
131
  const section = (document.sections ?? []).find((section) => section.target.id === target.id);
84
132
  if (section !== undefined) {
85
- return sourceSlice(document, section.headingTarget);
133
+ return {
134
+ category: "section",
135
+ target: section.target,
136
+ section,
137
+ ...sourceSliceProperty(sourceSliceForNodeTarget(document, section.headingTarget)),
138
+ };
139
+ }
140
+ const node = nodeByTargetId(document, target.id);
141
+ if (node === undefined || node.target === undefined) {
142
+ return undefined;
86
143
  }
87
- return flattenNodes(document.children).find((node) => node.target?.id === target.id)?.source;
144
+ return {
145
+ category: "node",
146
+ target: node.target,
147
+ node,
148
+ ...sourceSliceProperty(node.source),
149
+ };
150
+ }
151
+ function nodeByTargetId(document, targetId) {
152
+ return flattenNodes(document.children).find((node) => node.target?.id === targetId);
153
+ }
154
+ function sourceSliceForNodeTarget(document, target) {
155
+ return nodeByTargetId(document, target.id)?.source;
156
+ }
157
+ function sourceSliceProperty(sourceSlice) {
158
+ return sourceSlice === undefined ? {} : { sourceSlice };
88
159
  }
89
160
  //# sourceMappingURL=document-queries.js.map