@tiangong-lca/pcr 0.3.1 → 0.4.1

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 (1282) hide show
  1. package/README.md +8 -4
  2. package/node_modules/@types/debug/LICENSE +21 -0
  3. package/node_modules/@types/debug/README.md +69 -0
  4. package/node_modules/@types/debug/index.d.ts +50 -0
  5. package/node_modules/@types/debug/package.json +58 -0
  6. package/node_modules/@types/mdast/LICENSE +21 -0
  7. package/node_modules/@types/mdast/README.md +15 -0
  8. package/node_modules/@types/mdast/index.d.ts +1123 -0
  9. package/node_modules/@types/mdast/package.json +47 -0
  10. package/node_modules/@types/ms/LICENSE +21 -0
  11. package/node_modules/@types/ms/README.md +82 -0
  12. package/node_modules/@types/ms/index.d.ts +63 -0
  13. package/node_modules/@types/ms/package.json +26 -0
  14. package/node_modules/@types/unist/LICENSE +21 -0
  15. package/node_modules/@types/unist/README.md +15 -0
  16. package/node_modules/@types/unist/index.d.ts +119 -0
  17. package/node_modules/@types/unist/package.json +60 -0
  18. package/node_modules/bail/index.d.ts +10 -0
  19. package/node_modules/bail/index.js +12 -0
  20. package/node_modules/bail/license +22 -0
  21. package/node_modules/bail/package.json +73 -0
  22. package/node_modules/bail/readme.md +147 -0
  23. package/node_modules/ccount/index.d.ts +11 -0
  24. package/node_modules/ccount/index.js +27 -0
  25. package/node_modules/ccount/license +22 -0
  26. package/node_modules/ccount/package.json +71 -0
  27. package/node_modules/ccount/readme.md +149 -0
  28. package/node_modules/character-entities/index.d.ts +6 -0
  29. package/node_modules/character-entities/index.js +2132 -0
  30. package/node_modules/character-entities/license +22 -0
  31. package/node_modules/character-entities/package.json +78 -0
  32. package/node_modules/character-entities/readme.md +152 -0
  33. package/node_modules/debug/LICENSE +20 -0
  34. package/node_modules/debug/README.md +481 -0
  35. package/node_modules/debug/package.json +64 -0
  36. package/node_modules/debug/src/browser.js +272 -0
  37. package/node_modules/debug/src/common.js +292 -0
  38. package/node_modules/debug/src/index.js +10 -0
  39. package/node_modules/debug/src/node.js +263 -0
  40. package/node_modules/decode-named-character-reference/index.d.ts +13 -0
  41. package/node_modules/decode-named-character-reference/index.d.ts.map +1 -0
  42. package/node_modules/decode-named-character-reference/index.dom.d.ts +6 -0
  43. package/node_modules/decode-named-character-reference/index.dom.d.ts.map +1 -0
  44. package/node_modules/decode-named-character-reference/index.dom.js +32 -0
  45. package/node_modules/decode-named-character-reference/index.js +19 -0
  46. package/node_modules/decode-named-character-reference/license +22 -0
  47. package/node_modules/decode-named-character-reference/package.json +90 -0
  48. package/node_modules/decode-named-character-reference/readme.md +136 -0
  49. package/node_modules/dequal/dist/index.js +86 -0
  50. package/node_modules/dequal/dist/index.min.js +1 -0
  51. package/node_modules/dequal/dist/index.mjs +84 -0
  52. package/node_modules/dequal/index.d.ts +1 -0
  53. package/node_modules/dequal/license +21 -0
  54. package/node_modules/dequal/lite/index.d.ts +1 -0
  55. package/node_modules/dequal/lite/index.js +31 -0
  56. package/node_modules/dequal/lite/index.min.js +1 -0
  57. package/node_modules/dequal/lite/index.mjs +29 -0
  58. package/node_modules/dequal/package.json +57 -0
  59. package/node_modules/dequal/readme.md +112 -0
  60. package/node_modules/devlop/lib/default.js +9 -0
  61. package/node_modules/devlop/lib/development.d.ts +84 -0
  62. package/node_modules/devlop/lib/development.js +238 -0
  63. package/node_modules/devlop/license +22 -0
  64. package/node_modules/devlop/package.json +80 -0
  65. package/node_modules/devlop/readme.md +360 -0
  66. package/node_modules/escape-string-regexp/index.d.ts +16 -0
  67. package/node_modules/escape-string-regexp/index.js +11 -0
  68. package/node_modules/escape-string-regexp/license +9 -0
  69. package/node_modules/escape-string-regexp/package.json +40 -0
  70. package/node_modules/escape-string-regexp/readme.md +34 -0
  71. package/node_modules/extend/.editorconfig +20 -0
  72. package/node_modules/extend/.eslintrc +17 -0
  73. package/node_modules/extend/.jscs.json +175 -0
  74. package/node_modules/extend/.travis.yml +230 -0
  75. package/node_modules/extend/CHANGELOG.md +83 -0
  76. package/node_modules/extend/LICENSE +23 -0
  77. package/node_modules/extend/README.md +81 -0
  78. package/node_modules/extend/component.json +32 -0
  79. package/node_modules/extend/index.js +117 -0
  80. package/node_modules/extend/package.json +42 -0
  81. package/node_modules/is-plain-obj/index.d.ts +35 -0
  82. package/node_modules/is-plain-obj/index.js +8 -0
  83. package/node_modules/is-plain-obj/license +9 -0
  84. package/node_modules/is-plain-obj/package.json +41 -0
  85. package/node_modules/is-plain-obj/readme.md +58 -0
  86. package/node_modules/longest-streak/index.d.ts +11 -0
  87. package/node_modules/longest-streak/index.js +36 -0
  88. package/node_modules/longest-streak/license +22 -0
  89. package/node_modules/longest-streak/package.json +73 -0
  90. package/node_modules/longest-streak/readme.md +150 -0
  91. package/node_modules/markdown-table/index.d.ts +171 -0
  92. package/node_modules/markdown-table/index.d.ts.map +1 -0
  93. package/node_modules/markdown-table/index.js +393 -0
  94. package/node_modules/markdown-table/license +22 -0
  95. package/node_modules/markdown-table/package.json +77 -0
  96. package/node_modules/markdown-table/readme.md +344 -0
  97. package/node_modules/mdast-util-find-and-replace/index.d.ts +9 -0
  98. package/node_modules/mdast-util-find-and-replace/index.d.ts.map +1 -0
  99. package/node_modules/mdast-util-find-and-replace/index.js +11 -0
  100. package/node_modules/mdast-util-find-and-replace/lib/index.d.ts +79 -0
  101. package/node_modules/mdast-util-find-and-replace/lib/index.d.ts.map +1 -0
  102. package/node_modules/mdast-util-find-and-replace/lib/index.js +261 -0
  103. package/node_modules/mdast-util-find-and-replace/license +22 -0
  104. package/node_modules/mdast-util-find-and-replace/package.json +85 -0
  105. package/node_modules/mdast-util-find-and-replace/readme.md +368 -0
  106. package/node_modules/mdast-util-from-markdown/dev/index.d.ts +23 -0
  107. package/node_modules/mdast-util-from-markdown/dev/index.js +2 -0
  108. package/node_modules/mdast-util-from-markdown/dev/lib/index.d.ts +53 -0
  109. package/node_modules/mdast-util-from-markdown/dev/lib/index.d.ts.map +1 -0
  110. package/node_modules/mdast-util-from-markdown/dev/lib/index.js +1348 -0
  111. package/node_modules/mdast-util-from-markdown/dev/lib/types.d.ts +295 -0
  112. package/node_modules/mdast-util-from-markdown/dev/lib/types.js +2 -0
  113. package/node_modules/mdast-util-from-markdown/index.d.ts +23 -0
  114. package/node_modules/mdast-util-from-markdown/index.js +2 -0
  115. package/node_modules/mdast-util-from-markdown/lib/index.d.ts +53 -0
  116. package/node_modules/mdast-util-from-markdown/lib/index.d.ts.map +1 -0
  117. package/node_modules/mdast-util-from-markdown/lib/index.js +1177 -0
  118. package/node_modules/mdast-util-from-markdown/lib/types.d.ts +295 -0
  119. package/node_modules/mdast-util-from-markdown/lib/types.js +2 -0
  120. package/node_modules/mdast-util-from-markdown/license +22 -0
  121. package/node_modules/mdast-util-from-markdown/package.json +99 -0
  122. package/node_modules/mdast-util-from-markdown/readme.md +535 -0
  123. package/node_modules/mdast-util-gfm/index.d.ts +12 -0
  124. package/node_modules/mdast-util-gfm/index.js +2 -0
  125. package/node_modules/mdast-util-gfm/lib/index.d.ts +24 -0
  126. package/node_modules/mdast-util-gfm/lib/index.d.ts.map +1 -0
  127. package/node_modules/mdast-util-gfm/lib/index.js +63 -0
  128. package/node_modules/mdast-util-gfm/license +22 -0
  129. package/node_modules/mdast-util-gfm/package.json +125 -0
  130. package/node_modules/mdast-util-gfm/readme.md +497 -0
  131. package/node_modules/mdast-util-gfm-autolink-literal/index.d.ts +1 -0
  132. package/node_modules/mdast-util-gfm-autolink-literal/index.js +4 -0
  133. package/node_modules/mdast-util-gfm-autolink-literal/lib/index.d.ts +18 -0
  134. package/node_modules/mdast-util-gfm-autolink-literal/lib/index.js +280 -0
  135. package/node_modules/mdast-util-gfm-autolink-literal/license +22 -0
  136. package/node_modules/mdast-util-gfm-autolink-literal/package.json +106 -0
  137. package/node_modules/mdast-util-gfm-autolink-literal/readme.md +334 -0
  138. package/node_modules/mdast-util-gfm-footnote/index.d.ts +34 -0
  139. package/node_modules/mdast-util-gfm-footnote/index.js +2 -0
  140. package/node_modules/mdast-util-gfm-footnote/lib/index.d.ts +22 -0
  141. package/node_modules/mdast-util-gfm-footnote/lib/index.d.ts.map +1 -0
  142. package/node_modules/mdast-util-gfm-footnote/lib/index.js +212 -0
  143. package/node_modules/mdast-util-gfm-footnote/license +22 -0
  144. package/node_modules/mdast-util-gfm-footnote/package.json +111 -0
  145. package/node_modules/mdast-util-gfm-footnote/readme.md +494 -0
  146. package/node_modules/mdast-util-gfm-strikethrough/index.d.ts +19 -0
  147. package/node_modules/mdast-util-gfm-strikethrough/index.js +5 -0
  148. package/node_modules/mdast-util-gfm-strikethrough/lib/index.d.ts +19 -0
  149. package/node_modules/mdast-util-gfm-strikethrough/lib/index.d.ts.map +1 -0
  150. package/node_modules/mdast-util-gfm-strikethrough/lib/index.js +133 -0
  151. package/node_modules/mdast-util-gfm-strikethrough/license +22 -0
  152. package/node_modules/mdast-util-gfm-strikethrough/package.json +84 -0
  153. package/node_modules/mdast-util-gfm-strikethrough/readme.md +350 -0
  154. package/node_modules/mdast-util-gfm-table/index.d.ts +54 -0
  155. package/node_modules/mdast-util-gfm-table/index.js +2 -0
  156. package/node_modules/mdast-util-gfm-table/lib/index.d.ts +51 -0
  157. package/node_modules/mdast-util-gfm-table/lib/index.js +300 -0
  158. package/node_modules/mdast-util-gfm-table/license +22 -0
  159. package/node_modules/mdast-util-gfm-table/package.json +101 -0
  160. package/node_modules/mdast-util-gfm-table/readme.md +605 -0
  161. package/node_modules/mdast-util-gfm-task-list-item/index.d.ts +4 -0
  162. package/node_modules/mdast-util-gfm-task-list-item/index.js +4 -0
  163. package/node_modules/mdast-util-gfm-task-list-item/lib/index.d.ts +23 -0
  164. package/node_modules/mdast-util-gfm-task-list-item/lib/index.js +141 -0
  165. package/node_modules/mdast-util-gfm-task-list-item/license +22 -0
  166. package/node_modules/mdast-util-gfm-task-list-item/package.json +90 -0
  167. package/node_modules/mdast-util-gfm-task-list-item/readme.md +366 -0
  168. package/node_modules/mdast-util-phrasing/index.d.ts +1 -0
  169. package/node_modules/mdast-util-phrasing/index.js +1 -0
  170. package/node_modules/mdast-util-phrasing/lib/index.d.ts +3 -0
  171. package/node_modules/mdast-util-phrasing/lib/index.js +45 -0
  172. package/node_modules/mdast-util-phrasing/license +23 -0
  173. package/node_modules/mdast-util-phrasing/package.json +78 -0
  174. package/node_modules/mdast-util-phrasing/readme.md +200 -0
  175. package/node_modules/mdast-util-to-markdown/index.d.ts +18 -0
  176. package/node_modules/mdast-util-to-markdown/index.js +3 -0
  177. package/node_modules/mdast-util-to-markdown/lib/configure.d.ts +14 -0
  178. package/node_modules/mdast-util-to-markdown/lib/configure.d.ts.map +1 -0
  179. package/node_modules/mdast-util-to-markdown/lib/configure.js +98 -0
  180. package/node_modules/mdast-util-to-markdown/lib/handle/blockquote.d.ts +24 -0
  181. package/node_modules/mdast-util-to-markdown/lib/handle/blockquote.d.ts.map +1 -0
  182. package/node_modules/mdast-util-to-markdown/lib/handle/blockquote.js +40 -0
  183. package/node_modules/mdast-util-to-markdown/lib/handle/break.d.ts +20 -0
  184. package/node_modules/mdast-util-to-markdown/lib/handle/break.d.ts.map +1 -0
  185. package/node_modules/mdast-util-to-markdown/lib/handle/break.js +41 -0
  186. package/node_modules/mdast-util-to-markdown/lib/handle/code.d.ts +20 -0
  187. package/node_modules/mdast-util-to-markdown/lib/handle/code.d.ts.map +1 -0
  188. package/node_modules/mdast-util-to-markdown/lib/handle/code.js +86 -0
  189. package/node_modules/mdast-util-to-markdown/lib/handle/definition.d.ts +20 -0
  190. package/node_modules/mdast-util-to-markdown/lib/handle/definition.d.ts.map +1 -0
  191. package/node_modules/mdast-util-to-markdown/lib/handle/definition.js +83 -0
  192. package/node_modules/mdast-util-to-markdown/lib/handle/emphasis.d.ts +52 -0
  193. package/node_modules/mdast-util-to-markdown/lib/handle/emphasis.d.ts.map +1 -0
  194. package/node_modules/mdast-util-to-markdown/lib/handle/emphasis.js +67 -0
  195. package/node_modules/mdast-util-to-markdown/lib/handle/heading.d.ts +20 -0
  196. package/node_modules/mdast-util-to-markdown/lib/handle/heading.d.ts.map +1 -0
  197. package/node_modules/mdast-util-to-markdown/lib/handle/heading.js +84 -0
  198. package/node_modules/mdast-util-to-markdown/lib/handle/html.d.ts +22 -0
  199. package/node_modules/mdast-util-to-markdown/lib/handle/html.d.ts.map +1 -0
  200. package/node_modules/mdast-util-to-markdown/lib/handle/html.js +27 -0
  201. package/node_modules/mdast-util-to-markdown/lib/handle/image-reference.d.ts +31 -0
  202. package/node_modules/mdast-util-to-markdown/lib/handle/image-reference.d.ts.map +1 -0
  203. package/node_modules/mdast-util-to-markdown/lib/handle/image-reference.js +78 -0
  204. package/node_modules/mdast-util-to-markdown/lib/handle/image.d.ts +31 -0
  205. package/node_modules/mdast-util-to-markdown/lib/handle/image.d.ts.map +1 -0
  206. package/node_modules/mdast-util-to-markdown/lib/handle/image.js +92 -0
  207. package/node_modules/mdast-util-to-markdown/lib/handle/index.d.ts +42 -0
  208. package/node_modules/mdast-util-to-markdown/lib/handle/index.d.ts.map +1 -0
  209. package/node_modules/mdast-util-to-markdown/lib/handle/index.js +45 -0
  210. package/node_modules/mdast-util-to-markdown/lib/handle/inline-code.d.ts +28 -0
  211. package/node_modules/mdast-util-to-markdown/lib/handle/inline-code.d.ts.map +1 -0
  212. package/node_modules/mdast-util-to-markdown/lib/handle/inline-code.js +86 -0
  213. package/node_modules/mdast-util-to-markdown/lib/handle/link-reference.d.ts +31 -0
  214. package/node_modules/mdast-util-to-markdown/lib/handle/link-reference.d.ts.map +1 -0
  215. package/node_modules/mdast-util-to-markdown/lib/handle/link-reference.js +78 -0
  216. package/node_modules/mdast-util-to-markdown/lib/handle/link.d.ts +37 -0
  217. package/node_modules/mdast-util-to-markdown/lib/handle/link.d.ts.map +1 -0
  218. package/node_modules/mdast-util-to-markdown/lib/handle/link.js +129 -0
  219. package/node_modules/mdast-util-to-markdown/lib/handle/list-item.d.ts +20 -0
  220. package/node_modules/mdast-util-to-markdown/lib/handle/list-item.d.ts.map +1 -0
  221. package/node_modules/mdast-util-to-markdown/lib/handle/list-item.js +73 -0
  222. package/node_modules/mdast-util-to-markdown/lib/handle/list.d.ts +20 -0
  223. package/node_modules/mdast-util-to-markdown/lib/handle/list.d.ts.map +1 -0
  224. package/node_modules/mdast-util-to-markdown/lib/handle/list.js +107 -0
  225. package/node_modules/mdast-util-to-markdown/lib/handle/paragraph.d.ts +24 -0
  226. package/node_modules/mdast-util-to-markdown/lib/handle/paragraph.d.ts.map +1 -0
  227. package/node_modules/mdast-util-to-markdown/lib/handle/paragraph.js +27 -0
  228. package/node_modules/mdast-util-to-markdown/lib/handle/root.d.ts +20 -0
  229. package/node_modules/mdast-util-to-markdown/lib/handle/root.d.ts.map +1 -0
  230. package/node_modules/mdast-util-to-markdown/lib/handle/root.js +34 -0
  231. package/node_modules/mdast-util-to-markdown/lib/handle/strong.d.ts +52 -0
  232. package/node_modules/mdast-util-to-markdown/lib/handle/strong.d.ts.map +1 -0
  233. package/node_modules/mdast-util-to-markdown/lib/handle/strong.js +67 -0
  234. package/node_modules/mdast-util-to-markdown/lib/handle/text.d.ts +24 -0
  235. package/node_modules/mdast-util-to-markdown/lib/handle/text.d.ts.map +1 -0
  236. package/node_modules/mdast-util-to-markdown/lib/handle/text.js +22 -0
  237. package/node_modules/mdast-util-to-markdown/lib/handle/thematic-break.d.ts +17 -0
  238. package/node_modules/mdast-util-to-markdown/lib/handle/thematic-break.d.ts.map +1 -0
  239. package/node_modules/mdast-util-to-markdown/lib/handle/thematic-break.js +27 -0
  240. package/node_modules/mdast-util-to-markdown/lib/index.d.ts +14 -0
  241. package/node_modules/mdast-util-to-markdown/lib/index.d.ts.map +1 -0
  242. package/node_modules/mdast-util-to-markdown/lib/index.js +213 -0
  243. package/node_modules/mdast-util-to-markdown/lib/join.d.ts +4 -0
  244. package/node_modules/mdast-util-to-markdown/lib/join.d.ts.map +1 -0
  245. package/node_modules/mdast-util-to-markdown/lib/join.js +56 -0
  246. package/node_modules/mdast-util-to-markdown/lib/types.d.ts +985 -0
  247. package/node_modules/mdast-util-to-markdown/lib/types.js +2 -0
  248. package/node_modules/mdast-util-to-markdown/lib/unsafe.d.ts +4 -0
  249. package/node_modules/mdast-util-to-markdown/lib/unsafe.d.ts.map +1 -0
  250. package/node_modules/mdast-util-to-markdown/lib/unsafe.js +160 -0
  251. package/node_modules/mdast-util-to-markdown/lib/util/association.d.ts +2 -0
  252. package/node_modules/mdast-util-to-markdown/lib/util/association.d.ts.map +1 -0
  253. package/node_modules/mdast-util-to-markdown/lib/util/association.js +33 -0
  254. package/node_modules/mdast-util-to-markdown/lib/util/character.d.ts +23 -0
  255. package/node_modules/mdast-util-to-markdown/lib/util/character.d.ts.map +1 -0
  256. package/node_modules/mdast-util-to-markdown/lib/util/character.js +32 -0
  257. package/node_modules/mdast-util-to-markdown/lib/util/check-bullet-ordered.d.ts +15 -0
  258. package/node_modules/mdast-util-to-markdown/lib/util/check-bullet-ordered.d.ts.map +1 -0
  259. package/node_modules/mdast-util-to-markdown/lib/util/check-bullet-ordered.js +25 -0
  260. package/node_modules/mdast-util-to-markdown/lib/util/check-bullet-other.d.ts +12 -0
  261. package/node_modules/mdast-util-to-markdown/lib/util/check-bullet-other.d.ts.map +1 -0
  262. package/node_modules/mdast-util-to-markdown/lib/util/check-bullet-other.js +42 -0
  263. package/node_modules/mdast-util-to-markdown/lib/util/check-bullet.d.ts +15 -0
  264. package/node_modules/mdast-util-to-markdown/lib/util/check-bullet.d.ts.map +1 -0
  265. package/node_modules/mdast-util-to-markdown/lib/util/check-bullet.js +25 -0
  266. package/node_modules/mdast-util-to-markdown/lib/util/check-emphasis.d.ts +15 -0
  267. package/node_modules/mdast-util-to-markdown/lib/util/check-emphasis.d.ts.map +1 -0
  268. package/node_modules/mdast-util-to-markdown/lib/util/check-emphasis.js +25 -0
  269. package/node_modules/mdast-util-to-markdown/lib/util/check-fence.d.ts +15 -0
  270. package/node_modules/mdast-util-to-markdown/lib/util/check-fence.d.ts.map +1 -0
  271. package/node_modules/mdast-util-to-markdown/lib/util/check-fence.js +25 -0
  272. package/node_modules/mdast-util-to-markdown/lib/util/check-list-item-indent.d.ts +15 -0
  273. package/node_modules/mdast-util-to-markdown/lib/util/check-list-item-indent.d.ts.map +1 -0
  274. package/node_modules/mdast-util-to-markdown/lib/util/check-list-item-indent.js +25 -0
  275. package/node_modules/mdast-util-to-markdown/lib/util/check-quote.d.ts +15 -0
  276. package/node_modules/mdast-util-to-markdown/lib/util/check-quote.d.ts.map +1 -0
  277. package/node_modules/mdast-util-to-markdown/lib/util/check-quote.js +25 -0
  278. package/node_modules/mdast-util-to-markdown/lib/util/check-rule-repetition.d.ts +15 -0
  279. package/node_modules/mdast-util-to-markdown/lib/util/check-rule-repetition.d.ts.map +1 -0
  280. package/node_modules/mdast-util-to-markdown/lib/util/check-rule-repetition.js +25 -0
  281. package/node_modules/mdast-util-to-markdown/lib/util/check-rule.d.ts +15 -0
  282. package/node_modules/mdast-util-to-markdown/lib/util/check-rule.d.ts.map +1 -0
  283. package/node_modules/mdast-util-to-markdown/lib/util/check-rule.js +25 -0
  284. package/node_modules/mdast-util-to-markdown/lib/util/check-strong.d.ts +15 -0
  285. package/node_modules/mdast-util-to-markdown/lib/util/check-strong.d.ts.map +1 -0
  286. package/node_modules/mdast-util-to-markdown/lib/util/check-strong.js +25 -0
  287. package/node_modules/mdast-util-to-markdown/lib/util/compile-pattern.d.ts +2 -0
  288. package/node_modules/mdast-util-to-markdown/lib/util/compile-pattern.d.ts.map +1 -0
  289. package/node_modules/mdast-util-to-markdown/lib/util/compile-pattern.js +26 -0
  290. package/node_modules/mdast-util-to-markdown/lib/util/container-flow.d.ts +21 -0
  291. package/node_modules/mdast-util-to-markdown/lib/util/container-flow.d.ts.map +1 -0
  292. package/node_modules/mdast-util-to-markdown/lib/util/container-flow.js +93 -0
  293. package/node_modules/mdast-util-to-markdown/lib/util/container-phrasing.d.ts +110 -0
  294. package/node_modules/mdast-util-to-markdown/lib/util/container-phrasing.d.ts.map +1 -0
  295. package/node_modules/mdast-util-to-markdown/lib/util/container-phrasing.js +704 -0
  296. package/node_modules/mdast-util-to-markdown/lib/util/encode-character-reference.d.ts +10 -0
  297. package/node_modules/mdast-util-to-markdown/lib/util/encode-character-reference.d.ts.map +1 -0
  298. package/node_modules/mdast-util-to-markdown/lib/util/encode-character-reference.js +11 -0
  299. package/node_modules/mdast-util-to-markdown/lib/util/encode-info.d.ts +33 -0
  300. package/node_modules/mdast-util-to-markdown/lib/util/encode-info.d.ts.map +1 -0
  301. package/node_modules/mdast-util-to-markdown/lib/util/encode-info.js +82 -0
  302. package/node_modules/mdast-util-to-markdown/lib/util/format-code-as-indented.d.ts +18 -0
  303. package/node_modules/mdast-util-to-markdown/lib/util/format-code-as-indented.d.ts.map +1 -0
  304. package/node_modules/mdast-util-to-markdown/lib/util/format-code-as-indented.js +27 -0
  305. package/node_modules/mdast-util-to-markdown/lib/util/format-heading-as-setext.d.ts +14 -0
  306. package/node_modules/mdast-util-to-markdown/lib/util/format-heading-as-setext.d.ts.map +1 -0
  307. package/node_modules/mdast-util-to-markdown/lib/util/format-heading-as-setext.js +39 -0
  308. package/node_modules/mdast-util-to-markdown/lib/util/format-link-as-autolink.d.ts +14 -0
  309. package/node_modules/mdast-util-to-markdown/lib/util/format-link-as-autolink.d.ts.map +1 -0
  310. package/node_modules/mdast-util-to-markdown/lib/util/format-link-as-autolink.js +39 -0
  311. package/node_modules/mdast-util-to-markdown/lib/util/html-kind.d.ts +31 -0
  312. package/node_modules/mdast-util-to-markdown/lib/util/html-kind.d.ts.map +1 -0
  313. package/node_modules/mdast-util-to-markdown/lib/util/html-kind.js +63 -0
  314. package/node_modules/mdast-util-to-markdown/lib/util/indent-lines.d.ts +2 -0
  315. package/node_modules/mdast-util-to-markdown/lib/util/indent-lines.d.ts.map +1 -0
  316. package/node_modules/mdast-util-to-markdown/lib/util/indent-lines.js +40 -0
  317. package/node_modules/mdast-util-to-markdown/lib/util/pattern-in-scope.d.ts +17 -0
  318. package/node_modules/mdast-util-to-markdown/lib/util/pattern-in-scope.d.ts.map +1 -0
  319. package/node_modules/mdast-util-to-markdown/lib/util/pattern-in-scope.js +52 -0
  320. package/node_modules/mdast-util-to-markdown/lib/util/safe.d.ts +29 -0
  321. package/node_modules/mdast-util-to-markdown/lib/util/safe.d.ts.map +1 -0
  322. package/node_modules/mdast-util-to-markdown/lib/util/safe.js +238 -0
  323. package/node_modules/mdast-util-to-markdown/lib/util/track.d.ts +2 -0
  324. package/node_modules/mdast-util-to-markdown/lib/util/track.d.ts.map +1 -0
  325. package/node_modules/mdast-util-to-markdown/lib/util/track.js +55 -0
  326. package/node_modules/mdast-util-to-markdown/license +22 -0
  327. package/node_modules/mdast-util-to-markdown/package.json +88 -0
  328. package/node_modules/mdast-util-to-markdown/readme.md +805 -0
  329. package/node_modules/mdast-util-to-string/index.d.ts +2 -0
  330. package/node_modules/mdast-util-to-string/index.js +5 -0
  331. package/node_modules/mdast-util-to-string/lib/index.d.ts +31 -0
  332. package/node_modules/mdast-util-to-string/lib/index.js +108 -0
  333. package/node_modules/mdast-util-to-string/license +22 -0
  334. package/node_modules/mdast-util-to-string/package.json +78 -0
  335. package/node_modules/mdast-util-to-string/readme.md +218 -0
  336. package/node_modules/micromark/dev/index.d.ts +82 -0
  337. package/node_modules/micromark/dev/index.d.ts.map +1 -0
  338. package/node_modules/micromark/dev/index.js +68 -0
  339. package/node_modules/micromark/dev/lib/compile.d.ts +16 -0
  340. package/node_modules/micromark/dev/lib/compile.d.ts.map +1 -0
  341. package/node_modules/micromark/dev/lib/compile.js +1162 -0
  342. package/node_modules/micromark/dev/lib/constructs.d.ts +73 -0
  343. package/node_modules/micromark/dev/lib/constructs.d.ts.map +1 -0
  344. package/node_modules/micromark/dev/lib/constructs.js +101 -0
  345. package/node_modules/micromark/dev/lib/create-tokenizer.d.ts +46 -0
  346. package/node_modules/micromark/dev/lib/create-tokenizer.d.ts.map +1 -0
  347. package/node_modules/micromark/dev/lib/create-tokenizer.js +718 -0
  348. package/node_modules/micromark/dev/lib/initialize/content.d.ts +4 -0
  349. package/node_modules/micromark/dev/lib/initialize/content.d.ts.map +1 -0
  350. package/node_modules/micromark/dev/lib/initialize/content.js +99 -0
  351. package/node_modules/micromark/dev/lib/initialize/document.d.ts +10 -0
  352. package/node_modules/micromark/dev/lib/initialize/document.d.ts.map +1 -0
  353. package/node_modules/micromark/dev/lib/initialize/document.js +449 -0
  354. package/node_modules/micromark/dev/lib/initialize/flow.d.ts +4 -0
  355. package/node_modules/micromark/dev/lib/initialize/flow.d.ts.map +1 -0
  356. package/node_modules/micromark/dev/lib/initialize/flow.js +86 -0
  357. package/node_modules/micromark/dev/lib/initialize/text.d.ts +8 -0
  358. package/node_modules/micromark/dev/lib/initialize/text.d.ts.map +1 -0
  359. package/node_modules/micromark/dev/lib/initialize/text.js +248 -0
  360. package/node_modules/micromark/dev/lib/parse.d.ts +10 -0
  361. package/node_modules/micromark/dev/lib/parse.d.ts.map +1 -0
  362. package/node_modules/micromark/dev/lib/parse.js +58 -0
  363. package/node_modules/micromark/dev/lib/postprocess.d.ts +9 -0
  364. package/node_modules/micromark/dev/lib/postprocess.d.ts.map +1 -0
  365. package/node_modules/micromark/dev/lib/postprocess.js +19 -0
  366. package/node_modules/micromark/dev/lib/preprocess.d.ts +13 -0
  367. package/node_modules/micromark/dev/lib/preprocess.d.ts.map +1 -0
  368. package/node_modules/micromark/dev/lib/preprocess.js +139 -0
  369. package/node_modules/micromark/dev/stream.d.ts +35 -0
  370. package/node_modules/micromark/dev/stream.d.ts.map +1 -0
  371. package/node_modules/micromark/dev/stream.js +270 -0
  372. package/node_modules/micromark/index.d.ts +82 -0
  373. package/node_modules/micromark/index.d.ts.map +1 -0
  374. package/node_modules/micromark/index.js +60 -0
  375. package/node_modules/micromark/lib/compile.d.ts +16 -0
  376. package/node_modules/micromark/lib/compile.d.ts.map +1 -0
  377. package/node_modules/micromark/lib/compile.js +1068 -0
  378. package/node_modules/micromark/lib/constructs.d.ts +73 -0
  379. package/node_modules/micromark/lib/constructs.d.ts.map +1 -0
  380. package/node_modules/micromark/lib/constructs.js +85 -0
  381. package/node_modules/micromark/lib/create-tokenizer.d.ts +46 -0
  382. package/node_modules/micromark/lib/create-tokenizer.d.ts.map +1 -0
  383. package/node_modules/micromark/lib/create-tokenizer.js +613 -0
  384. package/node_modules/micromark/lib/initialize/content.d.ts +4 -0
  385. package/node_modules/micromark/lib/initialize/content.d.ts.map +1 -0
  386. package/node_modules/micromark/lib/initialize/content.js +79 -0
  387. package/node_modules/micromark/lib/initialize/document.d.ts +10 -0
  388. package/node_modules/micromark/lib/initialize/document.d.ts.map +1 -0
  389. package/node_modules/micromark/lib/initialize/document.js +370 -0
  390. package/node_modules/micromark/lib/initialize/flow.d.ts +4 -0
  391. package/node_modules/micromark/lib/initialize/flow.d.ts.map +1 -0
  392. package/node_modules/micromark/lib/initialize/flow.js +58 -0
  393. package/node_modules/micromark/lib/initialize/text.d.ts +8 -0
  394. package/node_modules/micromark/lib/initialize/text.d.ts.map +1 -0
  395. package/node_modules/micromark/lib/initialize/text.js +216 -0
  396. package/node_modules/micromark/lib/parse.d.ts +10 -0
  397. package/node_modules/micromark/lib/parse.d.ts.map +1 -0
  398. package/node_modules/micromark/lib/parse.js +56 -0
  399. package/node_modules/micromark/lib/postprocess.d.ts +9 -0
  400. package/node_modules/micromark/lib/postprocess.d.ts.map +1 -0
  401. package/node_modules/micromark/lib/postprocess.js +18 -0
  402. package/node_modules/micromark/lib/preprocess.d.ts +13 -0
  403. package/node_modules/micromark/lib/preprocess.d.ts.map +1 -0
  404. package/node_modules/micromark/lib/preprocess.js +112 -0
  405. package/node_modules/micromark/license +22 -0
  406. package/node_modules/micromark/package.json +87 -0
  407. package/node_modules/micromark/readme.md +488 -0
  408. package/node_modules/micromark/stream.d.ts +35 -0
  409. package/node_modules/micromark/stream.d.ts.map +1 -0
  410. package/node_modules/micromark/stream.js +256 -0
  411. package/node_modules/micromark-core-commonmark/dev/index.d.ts +23 -0
  412. package/node_modules/micromark-core-commonmark/dev/index.d.ts.map +1 -0
  413. package/node_modules/micromark-core-commonmark/dev/index.js +22 -0
  414. package/node_modules/micromark-core-commonmark/dev/lib/attention.d.ts +4 -0
  415. package/node_modules/micromark-core-commonmark/dev/lib/attention.d.ts.map +1 -0
  416. package/node_modules/micromark-core-commonmark/dev/lib/attention.js +294 -0
  417. package/node_modules/micromark-core-commonmark/dev/lib/autolink.d.ts +4 -0
  418. package/node_modules/micromark-core-commonmark/dev/lib/autolink.d.ts.map +1 -0
  419. package/node_modules/micromark-core-commonmark/dev/lib/autolink.js +269 -0
  420. package/node_modules/micromark-core-commonmark/dev/lib/blank-line.d.ts +4 -0
  421. package/node_modules/micromark-core-commonmark/dev/lib/blank-line.d.ts.map +1 -0
  422. package/node_modules/micromark-core-commonmark/dev/lib/blank-line.js +62 -0
  423. package/node_modules/micromark-core-commonmark/dev/lib/block-quote.d.ts +4 -0
  424. package/node_modules/micromark-core-commonmark/dev/lib/block-quote.d.ts.map +1 -0
  425. package/node_modules/micromark-core-commonmark/dev/lib/block-quote.js +162 -0
  426. package/node_modules/micromark-core-commonmark/dev/lib/character-escape.d.ts +4 -0
  427. package/node_modules/micromark-core-commonmark/dev/lib/character-escape.d.ts.map +1 -0
  428. package/node_modules/micromark-core-commonmark/dev/lib/character-escape.js +69 -0
  429. package/node_modules/micromark-core-commonmark/dev/lib/character-reference.d.ts +4 -0
  430. package/node_modules/micromark-core-commonmark/dev/lib/character-reference.d.ts.map +1 -0
  431. package/node_modules/micromark-core-commonmark/dev/lib/character-reference.js +166 -0
  432. package/node_modules/micromark-core-commonmark/dev/lib/code-fenced.d.ts +4 -0
  433. package/node_modules/micromark-core-commonmark/dev/lib/code-fenced.d.ts.map +1 -0
  434. package/node_modules/micromark-core-commonmark/dev/lib/code-fenced.js +472 -0
  435. package/node_modules/micromark-core-commonmark/dev/lib/code-indented.d.ts +4 -0
  436. package/node_modules/micromark-core-commonmark/dev/lib/code-indented.d.ts.map +1 -0
  437. package/node_modules/micromark-core-commonmark/dev/lib/code-indented.js +178 -0
  438. package/node_modules/micromark-core-commonmark/dev/lib/code-text.d.ts +4 -0
  439. package/node_modules/micromark-core-commonmark/dev/lib/code-text.d.ts.map +1 -0
  440. package/node_modules/micromark-core-commonmark/dev/lib/code-text.js +257 -0
  441. package/node_modules/micromark-core-commonmark/dev/lib/content.d.ts +7 -0
  442. package/node_modules/micromark-core-commonmark/dev/lib/content.d.ts.map +1 -0
  443. package/node_modules/micromark-core-commonmark/dev/lib/content.js +185 -0
  444. package/node_modules/micromark-core-commonmark/dev/lib/definition.d.ts +4 -0
  445. package/node_modules/micromark-core-commonmark/dev/lib/definition.d.ts.map +1 -0
  446. package/node_modules/micromark-core-commonmark/dev/lib/definition.js +295 -0
  447. package/node_modules/micromark-core-commonmark/dev/lib/hard-break-escape.d.ts +4 -0
  448. package/node_modules/micromark-core-commonmark/dev/lib/hard-break-escape.d.ts.map +1 -0
  449. package/node_modules/micromark-core-commonmark/dev/lib/hard-break-escape.js +65 -0
  450. package/node_modules/micromark-core-commonmark/dev/lib/heading-atx.d.ts +4 -0
  451. package/node_modules/micromark-core-commonmark/dev/lib/heading-atx.d.ts.map +1 -0
  452. package/node_modules/micromark-core-commonmark/dev/lib/heading-atx.js +229 -0
  453. package/node_modules/micromark-core-commonmark/dev/lib/html-flow.d.ts +4 -0
  454. package/node_modules/micromark-core-commonmark/dev/lib/html-flow.d.ts.map +1 -0
  455. package/node_modules/micromark-core-commonmark/dev/lib/html-flow.js +938 -0
  456. package/node_modules/micromark-core-commonmark/dev/lib/html-text.d.ts +4 -0
  457. package/node_modules/micromark-core-commonmark/dev/lib/html-text.d.ts.map +1 -0
  458. package/node_modules/micromark-core-commonmark/dev/lib/html-text.js +783 -0
  459. package/node_modules/micromark-core-commonmark/dev/lib/label-end.d.ts +4 -0
  460. package/node_modules/micromark-core-commonmark/dev/lib/label-end.d.ts.map +1 -0
  461. package/node_modules/micromark-core-commonmark/dev/lib/label-end.js +658 -0
  462. package/node_modules/micromark-core-commonmark/dev/lib/label-start-image.d.ts +4 -0
  463. package/node_modules/micromark-core-commonmark/dev/lib/label-start-image.d.ts.map +1 -0
  464. package/node_modules/micromark-core-commonmark/dev/lib/label-start-image.js +119 -0
  465. package/node_modules/micromark-core-commonmark/dev/lib/label-start-link.d.ts +4 -0
  466. package/node_modules/micromark-core-commonmark/dev/lib/label-start-link.d.ts.map +1 -0
  467. package/node_modules/micromark-core-commonmark/dev/lib/label-start-link.js +71 -0
  468. package/node_modules/micromark-core-commonmark/dev/lib/line-ending.d.ts +4 -0
  469. package/node_modules/micromark-core-commonmark/dev/lib/line-ending.d.ts.map +1 -0
  470. package/node_modules/micromark-core-commonmark/dev/lib/line-ending.js +34 -0
  471. package/node_modules/micromark-core-commonmark/dev/lib/list.d.ts +4 -0
  472. package/node_modules/micromark-core-commonmark/dev/lib/list.d.ts.map +1 -0
  473. package/node_modules/micromark-core-commonmark/dev/lib/list.js +306 -0
  474. package/node_modules/micromark-core-commonmark/dev/lib/partial-non-lazy-continuation.d.ts +4 -0
  475. package/node_modules/micromark-core-commonmark/dev/lib/partial-non-lazy-continuation.d.ts.map +1 -0
  476. package/node_modules/micromark-core-commonmark/dev/lib/partial-non-lazy-continuation.js +67 -0
  477. package/node_modules/micromark-core-commonmark/dev/lib/setext-underline.d.ts +4 -0
  478. package/node_modules/micromark-core-commonmark/dev/lib/setext-underline.d.ts.map +1 -0
  479. package/node_modules/micromark-core-commonmark/dev/lib/setext-underline.js +213 -0
  480. package/node_modules/micromark-core-commonmark/dev/lib/thematic-break.d.ts +4 -0
  481. package/node_modules/micromark-core-commonmark/dev/lib/thematic-break.d.ts.map +1 -0
  482. package/node_modules/micromark-core-commonmark/dev/lib/thematic-break.js +120 -0
  483. package/node_modules/micromark-core-commonmark/index.d.ts +23 -0
  484. package/node_modules/micromark-core-commonmark/index.d.ts.map +1 -0
  485. package/node_modules/micromark-core-commonmark/index.js +22 -0
  486. package/node_modules/micromark-core-commonmark/lib/attention.d.ts +4 -0
  487. package/node_modules/micromark-core-commonmark/lib/attention.d.ts.map +1 -0
  488. package/node_modules/micromark-core-commonmark/lib/attention.js +231 -0
  489. package/node_modules/micromark-core-commonmark/lib/autolink.d.ts +4 -0
  490. package/node_modules/micromark-core-commonmark/lib/autolink.d.ts.map +1 -0
  491. package/node_modules/micromark-core-commonmark/lib/autolink.js +233 -0
  492. package/node_modules/micromark-core-commonmark/lib/blank-line.d.ts +4 -0
  493. package/node_modules/micromark-core-commonmark/lib/blank-line.d.ts.map +1 -0
  494. package/node_modules/micromark-core-commonmark/lib/blank-line.js +61 -0
  495. package/node_modules/micromark-core-commonmark/lib/block-quote.d.ts +4 -0
  496. package/node_modules/micromark-core-commonmark/lib/block-quote.d.ts.map +1 -0
  497. package/node_modules/micromark-core-commonmark/lib/block-quote.js +143 -0
  498. package/node_modules/micromark-core-commonmark/lib/character-escape.d.ts +4 -0
  499. package/node_modules/micromark-core-commonmark/lib/character-escape.d.ts.map +1 -0
  500. package/node_modules/micromark-core-commonmark/lib/character-escape.js +64 -0
  501. package/node_modules/micromark-core-commonmark/lib/character-reference.d.ts +4 -0
  502. package/node_modules/micromark-core-commonmark/lib/character-reference.d.ts.map +1 -0
  503. package/node_modules/micromark-core-commonmark/lib/character-reference.js +149 -0
  504. package/node_modules/micromark-core-commonmark/lib/code-fenced.d.ts +4 -0
  505. package/node_modules/micromark-core-commonmark/lib/code-fenced.d.ts.map +1 -0
  506. package/node_modules/micromark-core-commonmark/lib/code-fenced.js +422 -0
  507. package/node_modules/micromark-core-commonmark/lib/code-indented.d.ts +4 -0
  508. package/node_modules/micromark-core-commonmark/lib/code-indented.d.ts.map +1 -0
  509. package/node_modules/micromark-core-commonmark/lib/code-indented.js +159 -0
  510. package/node_modules/micromark-core-commonmark/lib/code-text.d.ts +4 -0
  511. package/node_modules/micromark-core-commonmark/lib/code-text.d.ts.map +1 -0
  512. package/node_modules/micromark-core-commonmark/lib/code-text.js +225 -0
  513. package/node_modules/micromark-core-commonmark/lib/content.d.ts +7 -0
  514. package/node_modules/micromark-core-commonmark/lib/content.d.ts.map +1 -0
  515. package/node_modules/micromark-core-commonmark/lib/content.js +163 -0
  516. package/node_modules/micromark-core-commonmark/lib/definition.d.ts +4 -0
  517. package/node_modules/micromark-core-commonmark/lib/definition.d.ts.map +1 -0
  518. package/node_modules/micromark-core-commonmark/lib/definition.js +254 -0
  519. package/node_modules/micromark-core-commonmark/lib/hard-break-escape.d.ts +4 -0
  520. package/node_modules/micromark-core-commonmark/lib/hard-break-escape.d.ts.map +1 -0
  521. package/node_modules/micromark-core-commonmark/lib/hard-break-escape.js +60 -0
  522. package/node_modules/micromark-core-commonmark/lib/heading-atx.d.ts +4 -0
  523. package/node_modules/micromark-core-commonmark/lib/heading-atx.d.ts.map +1 -0
  524. package/node_modules/micromark-core-commonmark/lib/heading-atx.js +191 -0
  525. package/node_modules/micromark-core-commonmark/lib/html-flow.d.ts +4 -0
  526. package/node_modules/micromark-core-commonmark/lib/html-flow.d.ts.map +1 -0
  527. package/node_modules/micromark-core-commonmark/lib/html-flow.js +827 -0
  528. package/node_modules/micromark-core-commonmark/lib/html-text.d.ts +4 -0
  529. package/node_modules/micromark-core-commonmark/lib/html-text.d.ts.map +1 -0
  530. package/node_modules/micromark-core-commonmark/lib/html-text.js +678 -0
  531. package/node_modules/micromark-core-commonmark/lib/label-end.d.ts +4 -0
  532. package/node_modules/micromark-core-commonmark/lib/label-end.d.ts.map +1 -0
  533. package/node_modules/micromark-core-commonmark/lib/label-end.js +561 -0
  534. package/node_modules/micromark-core-commonmark/lib/label-start-image.d.ts +4 -0
  535. package/node_modules/micromark-core-commonmark/lib/label-start-image.d.ts.map +1 -0
  536. package/node_modules/micromark-core-commonmark/lib/label-start-image.js +110 -0
  537. package/node_modules/micromark-core-commonmark/lib/label-start-link.d.ts +4 -0
  538. package/node_modules/micromark-core-commonmark/lib/label-start-link.d.ts.map +1 -0
  539. package/node_modules/micromark-core-commonmark/lib/label-start-link.js +63 -0
  540. package/node_modules/micromark-core-commonmark/lib/line-ending.d.ts +4 -0
  541. package/node_modules/micromark-core-commonmark/lib/line-ending.d.ts.map +1 -0
  542. package/node_modules/micromark-core-commonmark/lib/line-ending.js +33 -0
  543. package/node_modules/micromark-core-commonmark/lib/list.d.ts +4 -0
  544. package/node_modules/micromark-core-commonmark/lib/list.d.ts.map +1 -0
  545. package/node_modules/micromark-core-commonmark/lib/list.js +213 -0
  546. package/node_modules/micromark-core-commonmark/lib/partial-non-lazy-continuation.d.ts +4 -0
  547. package/node_modules/micromark-core-commonmark/lib/partial-non-lazy-continuation.d.ts.map +1 -0
  548. package/node_modules/micromark-core-commonmark/lib/partial-non-lazy-continuation.js +61 -0
  549. package/node_modules/micromark-core-commonmark/lib/setext-underline.d.ts +4 -0
  550. package/node_modules/micromark-core-commonmark/lib/setext-underline.d.ts.map +1 -0
  551. package/node_modules/micromark-core-commonmark/lib/setext-underline.js +187 -0
  552. package/node_modules/micromark-core-commonmark/lib/thematic-break.d.ts +4 -0
  553. package/node_modules/micromark-core-commonmark/lib/thematic-break.d.ts.map +1 -0
  554. package/node_modules/micromark-core-commonmark/lib/thematic-break.js +102 -0
  555. package/node_modules/micromark-core-commonmark/license +22 -0
  556. package/node_modules/micromark-core-commonmark/package.json +62 -0
  557. package/node_modules/micromark-core-commonmark/readme.md +171 -0
  558. package/node_modules/micromark-extension-gfm/index.d.ts +28 -0
  559. package/node_modules/micromark-extension-gfm/index.js +69 -0
  560. package/node_modules/micromark-extension-gfm/license +22 -0
  561. package/node_modules/micromark-extension-gfm/package.json +107 -0
  562. package/node_modules/micromark-extension-gfm/readme.md +433 -0
  563. package/node_modules/micromark-extension-gfm-autolink-literal/dev/index.d.ts +24 -0
  564. package/node_modules/micromark-extension-gfm-autolink-literal/dev/index.js +2 -0
  565. package/node_modules/micromark-extension-gfm-autolink-literal/dev/lib/html.d.ts +10 -0
  566. package/node_modules/micromark-extension-gfm-autolink-literal/dev/lib/html.js +56 -0
  567. package/node_modules/micromark-extension-gfm-autolink-literal/dev/lib/syntax.d.ts +10 -0
  568. package/node_modules/micromark-extension-gfm-autolink-literal/dev/lib/syntax.js +983 -0
  569. package/node_modules/micromark-extension-gfm-autolink-literal/index.d.ts +24 -0
  570. package/node_modules/micromark-extension-gfm-autolink-literal/index.js +2 -0
  571. package/node_modules/micromark-extension-gfm-autolink-literal/lib/html.d.ts +10 -0
  572. package/node_modules/micromark-extension-gfm-autolink-literal/lib/html.js +60 -0
  573. package/node_modules/micromark-extension-gfm-autolink-literal/lib/syntax.d.ts +10 -0
  574. package/node_modules/micromark-extension-gfm-autolink-literal/lib/syntax.js +854 -0
  575. package/node_modules/micromark-extension-gfm-autolink-literal/license +22 -0
  576. package/node_modules/micromark-extension-gfm-autolink-literal/package.json +116 -0
  577. package/node_modules/micromark-extension-gfm-autolink-literal/readme.md +422 -0
  578. package/node_modules/micromark-extension-gfm-footnote/dev/index.d.ts +164 -0
  579. package/node_modules/micromark-extension-gfm-footnote/dev/index.js +3 -0
  580. package/node_modules/micromark-extension-gfm-footnote/dev/lib/html.d.ts +25 -0
  581. package/node_modules/micromark-extension-gfm-footnote/dev/lib/html.js +226 -0
  582. package/node_modules/micromark-extension-gfm-footnote/dev/lib/syntax.d.ts +9 -0
  583. package/node_modules/micromark-extension-gfm-footnote/dev/lib/syntax.js +558 -0
  584. package/node_modules/micromark-extension-gfm-footnote/index.d.ts +164 -0
  585. package/node_modules/micromark-extension-gfm-footnote/index.js +3 -0
  586. package/node_modules/micromark-extension-gfm-footnote/lib/html.d.ts +25 -0
  587. package/node_modules/micromark-extension-gfm-footnote/lib/html.js +154 -0
  588. package/node_modules/micromark-extension-gfm-footnote/lib/syntax.d.ts +9 -0
  589. package/node_modules/micromark-extension-gfm-footnote/lib/syntax.js +485 -0
  590. package/node_modules/micromark-extension-gfm-footnote/license +22 -0
  591. package/node_modules/micromark-extension-gfm-footnote/package.json +132 -0
  592. package/node_modules/micromark-extension-gfm-footnote/readme.md +656 -0
  593. package/node_modules/micromark-extension-gfm-strikethrough/dev/index.d.ts +30 -0
  594. package/node_modules/micromark-extension-gfm-strikethrough/dev/index.js +3 -0
  595. package/node_modules/micromark-extension-gfm-strikethrough/dev/lib/html.d.ts +13 -0
  596. package/node_modules/micromark-extension-gfm-strikethrough/dev/lib/html.js +26 -0
  597. package/node_modules/micromark-extension-gfm-strikethrough/dev/lib/syntax.d.ts +12 -0
  598. package/node_modules/micromark-extension-gfm-strikethrough/dev/lib/syntax.js +183 -0
  599. package/node_modules/micromark-extension-gfm-strikethrough/index.d.ts +24 -0
  600. package/node_modules/micromark-extension-gfm-strikethrough/index.js +3 -0
  601. package/node_modules/micromark-extension-gfm-strikethrough/lib/html.d.ts +13 -0
  602. package/node_modules/micromark-extension-gfm-strikethrough/lib/html.js +26 -0
  603. package/node_modules/micromark-extension-gfm-strikethrough/lib/syntax.d.ts +12 -0
  604. package/node_modules/micromark-extension-gfm-strikethrough/lib/syntax.js +142 -0
  605. package/node_modules/micromark-extension-gfm-strikethrough/license +22 -0
  606. package/node_modules/micromark-extension-gfm-strikethrough/package.json +129 -0
  607. package/node_modules/micromark-extension-gfm-strikethrough/readme.md +304 -0
  608. package/node_modules/micromark-extension-gfm-table/dev/index.d.ts +55 -0
  609. package/node_modules/micromark-extension-gfm-table/dev/index.js +2 -0
  610. package/node_modules/micromark-extension-gfm-table/dev/lib/edit-map.d.ts +51 -0
  611. package/node_modules/micromark-extension-gfm-table/dev/lib/edit-map.d.ts.map +1 -0
  612. package/node_modules/micromark-extension-gfm-table/dev/lib/edit-map.js +231 -0
  613. package/node_modules/micromark-extension-gfm-table/dev/lib/html.d.ts +11 -0
  614. package/node_modules/micromark-extension-gfm-table/dev/lib/html.d.ts.map +1 -0
  615. package/node_modules/micromark-extension-gfm-table/dev/lib/html.js +153 -0
  616. package/node_modules/micromark-extension-gfm-table/dev/lib/infer.d.ts +14 -0
  617. package/node_modules/micromark-extension-gfm-table/dev/lib/infer.d.ts.map +1 -0
  618. package/node_modules/micromark-extension-gfm-table/dev/lib/infer.js +64 -0
  619. package/node_modules/micromark-extension-gfm-table/dev/lib/syntax.d.ts +18 -0
  620. package/node_modules/micromark-extension-gfm-table/dev/lib/syntax.d.ts.map +1 -0
  621. package/node_modules/micromark-extension-gfm-table/dev/lib/syntax.js +964 -0
  622. package/node_modules/micromark-extension-gfm-table/index.d.ts +55 -0
  623. package/node_modules/micromark-extension-gfm-table/index.js +2 -0
  624. package/node_modules/micromark-extension-gfm-table/lib/edit-map.d.ts +51 -0
  625. package/node_modules/micromark-extension-gfm-table/lib/edit-map.d.ts.map +1 -0
  626. package/node_modules/micromark-extension-gfm-table/lib/edit-map.js +222 -0
  627. package/node_modules/micromark-extension-gfm-table/lib/html.d.ts +11 -0
  628. package/node_modules/micromark-extension-gfm-table/lib/html.d.ts.map +1 -0
  629. package/node_modules/micromark-extension-gfm-table/lib/html.js +135 -0
  630. package/node_modules/micromark-extension-gfm-table/lib/infer.d.ts +14 -0
  631. package/node_modules/micromark-extension-gfm-table/lib/infer.d.ts.map +1 -0
  632. package/node_modules/micromark-extension-gfm-table/lib/infer.js +52 -0
  633. package/node_modules/micromark-extension-gfm-table/lib/syntax.d.ts +18 -0
  634. package/node_modules/micromark-extension-gfm-table/lib/syntax.d.ts.map +1 -0
  635. package/node_modules/micromark-extension-gfm-table/lib/syntax.js +846 -0
  636. package/node_modules/micromark-extension-gfm-table/license +22 -0
  637. package/node_modules/micromark-extension-gfm-table/package.json +86 -0
  638. package/node_modules/micromark-extension-gfm-table/readme.md +515 -0
  639. package/node_modules/micromark-extension-gfm-tagfilter/index.d.ts +1 -0
  640. package/node_modules/micromark-extension-gfm-tagfilter/index.js +1 -0
  641. package/node_modules/micromark-extension-gfm-tagfilter/lib/index.d.ts +12 -0
  642. package/node_modules/micromark-extension-gfm-tagfilter/lib/index.js +51 -0
  643. package/node_modules/micromark-extension-gfm-tagfilter/license +22 -0
  644. package/node_modules/micromark-extension-gfm-tagfilter/package.json +82 -0
  645. package/node_modules/micromark-extension-gfm-tagfilter/readme.md +237 -0
  646. package/node_modules/micromark-extension-gfm-task-list-item/dev/index.d.ts +17 -0
  647. package/node_modules/micromark-extension-gfm-task-list-item/dev/index.js +2 -0
  648. package/node_modules/micromark-extension-gfm-task-list-item/dev/lib/html.d.ts +13 -0
  649. package/node_modules/micromark-extension-gfm-task-list-item/dev/lib/html.js +29 -0
  650. package/node_modules/micromark-extension-gfm-task-list-item/dev/lib/syntax.d.ts +10 -0
  651. package/node_modules/micromark-extension-gfm-task-list-item/dev/lib/syntax.js +166 -0
  652. package/node_modules/micromark-extension-gfm-task-list-item/index.d.ts +17 -0
  653. package/node_modules/micromark-extension-gfm-task-list-item/index.js +2 -0
  654. package/node_modules/micromark-extension-gfm-task-list-item/lib/html.d.ts +13 -0
  655. package/node_modules/micromark-extension-gfm-task-list-item/lib/html.js +29 -0
  656. package/node_modules/micromark-extension-gfm-task-list-item/lib/syntax.d.ts +10 -0
  657. package/node_modules/micromark-extension-gfm-task-list-item/lib/syntax.js +158 -0
  658. package/node_modules/micromark-extension-gfm-task-list-item/license +22 -0
  659. package/node_modules/micromark-extension-gfm-task-list-item/package.json +131 -0
  660. package/node_modules/micromark-extension-gfm-task-list-item/readme.md +305 -0
  661. package/node_modules/micromark-factory-destination/dev/index.d.ts +42 -0
  662. package/node_modules/micromark-factory-destination/dev/index.d.ts.map +1 -0
  663. package/node_modules/micromark-factory-destination/dev/index.js +255 -0
  664. package/node_modules/micromark-factory-destination/index.d.ts +42 -0
  665. package/node_modules/micromark-factory-destination/index.d.ts.map +1 -0
  666. package/node_modules/micromark-factory-destination/index.js +206 -0
  667. package/node_modules/micromark-factory-destination/license +22 -0
  668. package/node_modules/micromark-factory-destination/package.json +57 -0
  669. package/node_modules/micromark-factory-destination/readme.md +234 -0
  670. package/node_modules/micromark-factory-label/dev/index.d.ts +37 -0
  671. package/node_modules/micromark-factory-label/dev/index.d.ts.map +1 -0
  672. package/node_modules/micromark-factory-label/dev/index.js +172 -0
  673. package/node_modules/micromark-factory-label/index.d.ts +37 -0
  674. package/node_modules/micromark-factory-label/index.d.ts.map +1 -0
  675. package/node_modules/micromark-factory-label/index.js +148 -0
  676. package/node_modules/micromark-factory-label/license +22 -0
  677. package/node_modules/micromark-factory-label/package.json +60 -0
  678. package/node_modules/micromark-factory-label/readme.md +224 -0
  679. package/node_modules/micromark-factory-space/dev/index.d.ts +60 -0
  680. package/node_modules/micromark-factory-space/dev/index.d.ts.map +1 -0
  681. package/node_modules/micromark-factory-space/dev/index.js +122 -0
  682. package/node_modules/micromark-factory-space/index.d.ts +60 -0
  683. package/node_modules/micromark-factory-space/index.d.ts.map +1 -0
  684. package/node_modules/micromark-factory-space/index.js +116 -0
  685. package/node_modules/micromark-factory-space/license +22 -0
  686. package/node_modules/micromark-factory-space/package.json +46 -0
  687. package/node_modules/micromark-factory-space/readme.md +225 -0
  688. package/node_modules/micromark-factory-title/dev/index.d.ts +36 -0
  689. package/node_modules/micromark-factory-title/dev/index.d.ts.map +1 -0
  690. package/node_modules/micromark-factory-title/dev/index.js +169 -0
  691. package/node_modules/micromark-factory-title/index.d.ts +36 -0
  692. package/node_modules/micromark-factory-title/index.d.ts.map +1 -0
  693. package/node_modules/micromark-factory-title/index.js +158 -0
  694. package/node_modules/micromark-factory-title/license +22 -0
  695. package/node_modules/micromark-factory-title/package.json +58 -0
  696. package/node_modules/micromark-factory-title/readme.md +229 -0
  697. package/node_modules/micromark-factory-whitespace/dev/index.d.ts +22 -0
  698. package/node_modules/micromark-factory-whitespace/dev/index.d.ts.map +1 -0
  699. package/node_modules/micromark-factory-whitespace/dev/index.js +53 -0
  700. package/node_modules/micromark-factory-whitespace/index.d.ts +22 -0
  701. package/node_modules/micromark-factory-whitespace/index.d.ts.map +1 -0
  702. package/node_modules/micromark-factory-whitespace/index.js +44 -0
  703. package/node_modules/micromark-factory-whitespace/license +22 -0
  704. package/node_modules/micromark-factory-whitespace/package.json +57 -0
  705. package/node_modules/micromark-factory-whitespace/readme.md +205 -0
  706. package/node_modules/micromark-util-character/dev/index.d.ts +195 -0
  707. package/node_modules/micromark-util-character/dev/index.d.ts.map +1 -0
  708. package/node_modules/micromark-util-character/dev/index.js +252 -0
  709. package/node_modules/micromark-util-character/index.d.ts +195 -0
  710. package/node_modules/micromark-util-character/index.d.ts.map +1 -0
  711. package/node_modules/micromark-util-character/index.js +246 -0
  712. package/node_modules/micromark-util-character/license +22 -0
  713. package/node_modules/micromark-util-character/package.json +57 -0
  714. package/node_modules/micromark-util-character/readme.md +446 -0
  715. package/node_modules/micromark-util-chunked/dev/index.d.ts +41 -0
  716. package/node_modules/micromark-util-chunked/dev/index.d.ts.map +1 -0
  717. package/node_modules/micromark-util-chunked/dev/index.js +89 -0
  718. package/node_modules/micromark-util-chunked/index.d.ts +41 -0
  719. package/node_modules/micromark-util-chunked/index.d.ts.map +1 -0
  720. package/node_modules/micromark-util-chunked/index.js +81 -0
  721. package/node_modules/micromark-util-chunked/license +22 -0
  722. package/node_modules/micromark-util-chunked/package.json +57 -0
  723. package/node_modules/micromark-util-chunked/readme.md +219 -0
  724. package/node_modules/micromark-util-classify-character/dev/index.d.ts +18 -0
  725. package/node_modules/micromark-util-classify-character/dev/index.d.ts.map +1 -0
  726. package/node_modules/micromark-util-classify-character/dev/index.js +38 -0
  727. package/node_modules/micromark-util-classify-character/index.d.ts +18 -0
  728. package/node_modules/micromark-util-classify-character/index.d.ts.map +1 -0
  729. package/node_modules/micromark-util-classify-character/index.js +27 -0
  730. package/node_modules/micromark-util-classify-character/license +22 -0
  731. package/node_modules/micromark-util-classify-character/package.json +59 -0
  732. package/node_modules/micromark-util-classify-character/readme.md +205 -0
  733. package/node_modules/micromark-util-combine-extensions/index.d.ts +22 -0
  734. package/node_modules/micromark-util-combine-extensions/index.d.ts.map +1 -0
  735. package/node_modules/micromark-util-combine-extensions/index.js +143 -0
  736. package/node_modules/micromark-util-combine-extensions/license +22 -0
  737. package/node_modules/micromark-util-combine-extensions/package.json +52 -0
  738. package/node_modules/micromark-util-combine-extensions/readme.md +201 -0
  739. package/node_modules/micromark-util-decode-numeric-character-reference/dev/index.d.ts +16 -0
  740. package/node_modules/micromark-util-decode-numeric-character-reference/dev/index.d.ts.map +1 -0
  741. package/node_modules/micromark-util-decode-numeric-character-reference/dev/index.js +42 -0
  742. package/node_modules/micromark-util-decode-numeric-character-reference/index.d.ts +16 -0
  743. package/node_modules/micromark-util-decode-numeric-character-reference/index.d.ts.map +1 -0
  744. package/node_modules/micromark-util-decode-numeric-character-reference/index.js +32 -0
  745. package/node_modules/micromark-util-decode-numeric-character-reference/license +22 -0
  746. package/node_modules/micromark-util-decode-numeric-character-reference/package.json +59 -0
  747. package/node_modules/micromark-util-decode-numeric-character-reference/readme.md +184 -0
  748. package/node_modules/micromark-util-decode-string/dev/index.d.ts +14 -0
  749. package/node_modules/micromark-util-decode-string/dev/index.d.ts.map +1 -0
  750. package/node_modules/micromark-util-decode-string/dev/index.js +53 -0
  751. package/node_modules/micromark-util-decode-string/index.d.ts +14 -0
  752. package/node_modules/micromark-util-decode-string/index.d.ts.map +1 -0
  753. package/node_modules/micromark-util-decode-string/index.js +45 -0
  754. package/node_modules/micromark-util-decode-string/license +22 -0
  755. package/node_modules/micromark-util-decode-string/package.json +63 -0
  756. package/node_modules/micromark-util-decode-string/readme.md +179 -0
  757. package/node_modules/micromark-util-edit-map/dev/index.d.ts +78 -0
  758. package/node_modules/micromark-util-edit-map/dev/index.d.ts.map +1 -0
  759. package/node_modules/micromark-util-edit-map/dev/index.js +237 -0
  760. package/node_modules/micromark-util-edit-map/index.d.ts +78 -0
  761. package/node_modules/micromark-util-edit-map/index.d.ts.map +1 -0
  762. package/node_modules/micromark-util-edit-map/index.js +225 -0
  763. package/node_modules/micromark-util-edit-map/license +22 -0
  764. package/node_modules/micromark-util-edit-map/package.json +48 -0
  765. package/node_modules/micromark-util-edit-map/readme.md +234 -0
  766. package/node_modules/micromark-util-encode/index.d.ts +14 -0
  767. package/node_modules/micromark-util-encode/index.d.ts.map +1 -0
  768. package/node_modules/micromark-util-encode/index.js +33 -0
  769. package/node_modules/micromark-util-encode/license +22 -0
  770. package/node_modules/micromark-util-encode/package.json +47 -0
  771. package/node_modules/micromark-util-encode/readme.md +176 -0
  772. package/node_modules/micromark-util-html-tag-name/index.d.ts +30 -0
  773. package/node_modules/micromark-util-html-tag-name/index.d.ts.map +1 -0
  774. package/node_modules/micromark-util-html-tag-name/index.js +93 -0
  775. package/node_modules/micromark-util-html-tag-name/license +22 -0
  776. package/node_modules/micromark-util-html-tag-name/package.json +47 -0
  777. package/node_modules/micromark-util-html-tag-name/readme.md +193 -0
  778. package/node_modules/micromark-util-normalize-identifier/dev/index.d.ts +21 -0
  779. package/node_modules/micromark-util-normalize-identifier/dev/index.d.ts.map +1 -0
  780. package/node_modules/micromark-util-normalize-identifier/dev/index.js +38 -0
  781. package/node_modules/micromark-util-normalize-identifier/index.d.ts +21 -0
  782. package/node_modules/micromark-util-normalize-identifier/index.d.ts.map +1 -0
  783. package/node_modules/micromark-util-normalize-identifier/index.js +33 -0
  784. package/node_modules/micromark-util-normalize-identifier/license +22 -0
  785. package/node_modules/micromark-util-normalize-identifier/package.json +58 -0
  786. package/node_modules/micromark-util-normalize-identifier/readme.md +187 -0
  787. package/node_modules/micromark-util-resolve-all/index.d.ts +22 -0
  788. package/node_modules/micromark-util-resolve-all/index.d.ts.map +1 -0
  789. package/node_modules/micromark-util-resolve-all/index.js +32 -0
  790. package/node_modules/micromark-util-resolve-all/license +22 -0
  791. package/node_modules/micromark-util-resolve-all/package.json +48 -0
  792. package/node_modules/micromark-util-resolve-all/readme.md +238 -0
  793. package/node_modules/micromark-util-sanitize-uri/dev/index.d.ts +36 -0
  794. package/node_modules/micromark-util-sanitize-uri/dev/index.d.ts.map +1 -0
  795. package/node_modules/micromark-util-sanitize-uri/dev/index.js +124 -0
  796. package/node_modules/micromark-util-sanitize-uri/index.d.ts +36 -0
  797. package/node_modules/micromark-util-sanitize-uri/index.d.ts.map +1 -0
  798. package/node_modules/micromark-util-sanitize-uri/index.js +107 -0
  799. package/node_modules/micromark-util-sanitize-uri/license +22 -0
  800. package/node_modules/micromark-util-sanitize-uri/package.json +59 -0
  801. package/node_modules/micromark-util-sanitize-uri/readme.md +214 -0
  802. package/node_modules/micromark-util-subtokenize/dev/index.d.ts +12 -0
  803. package/node_modules/micromark-util-subtokenize/dev/index.d.ts.map +1 -0
  804. package/node_modules/micromark-util-subtokenize/dev/index.js +284 -0
  805. package/node_modules/micromark-util-subtokenize/dev/lib/splice-buffer.d.ts +161 -0
  806. package/node_modules/micromark-util-subtokenize/dev/lib/splice-buffer.d.ts.map +1 -0
  807. package/node_modules/micromark-util-subtokenize/dev/lib/splice-buffer.js +288 -0
  808. package/node_modules/micromark-util-subtokenize/index.d.ts +12 -0
  809. package/node_modules/micromark-util-subtokenize/index.d.ts.map +1 -0
  810. package/node_modules/micromark-util-subtokenize/index.js +228 -0
  811. package/node_modules/micromark-util-subtokenize/lib/splice-buffer.d.ts +161 -0
  812. package/node_modules/micromark-util-subtokenize/lib/splice-buffer.d.ts.map +1 -0
  813. package/node_modules/micromark-util-subtokenize/lib/splice-buffer.js +251 -0
  814. package/node_modules/micromark-util-subtokenize/license +22 -0
  815. package/node_modules/micromark-util-subtokenize/package.json +60 -0
  816. package/node_modules/micromark-util-subtokenize/readme.md +181 -0
  817. package/node_modules/micromark-util-symbol/lib/codes.d.ts +139 -0
  818. package/node_modules/micromark-util-symbol/lib/codes.d.ts.map +1 -0
  819. package/node_modules/micromark-util-symbol/lib/codes.js +158 -0
  820. package/node_modules/micromark-util-symbol/lib/constants.d.ts +37 -0
  821. package/node_modules/micromark-util-symbol/lib/constants.d.ts.map +1 -0
  822. package/node_modules/micromark-util-symbol/lib/constants.js +44 -0
  823. package/node_modules/micromark-util-symbol/lib/default.d.ts +5 -0
  824. package/node_modules/micromark-util-symbol/lib/default.d.ts.map +1 -0
  825. package/node_modules/micromark-util-symbol/lib/default.js +4 -0
  826. package/node_modules/micromark-util-symbol/lib/types.d.ts +106 -0
  827. package/node_modules/micromark-util-symbol/lib/types.d.ts.map +1 -0
  828. package/node_modules/micromark-util-symbol/lib/types.js +453 -0
  829. package/node_modules/micromark-util-symbol/lib/values.d.ts +102 -0
  830. package/node_modules/micromark-util-symbol/lib/values.d.ts.map +1 -0
  831. package/node_modules/micromark-util-symbol/lib/values.js +109 -0
  832. package/node_modules/micromark-util-symbol/license +22 -0
  833. package/node_modules/micromark-util-symbol/package.json +43 -0
  834. package/node_modules/micromark-util-symbol/readme.md +168 -0
  835. package/node_modules/micromark-util-types/index.d.ts +1315 -0
  836. package/node_modules/micromark-util-types/index.js +2 -0
  837. package/node_modules/micromark-util-types/license +22 -0
  838. package/node_modules/micromark-util-types/package.json +37 -0
  839. package/node_modules/micromark-util-types/readme.md +151 -0
  840. package/node_modules/ms/index.js +162 -0
  841. package/node_modules/ms/license.md +21 -0
  842. package/node_modules/ms/package.json +38 -0
  843. package/node_modules/ms/readme.md +59 -0
  844. package/node_modules/remark-gfm/index.d.ts +13 -0
  845. package/node_modules/remark-gfm/index.js +2 -0
  846. package/node_modules/remark-gfm/lib/index.d.ts +12 -0
  847. package/node_modules/remark-gfm/lib/index.d.ts.map +1 -0
  848. package/node_modules/remark-gfm/lib/index.js +41 -0
  849. package/node_modules/remark-gfm/license +22 -0
  850. package/node_modules/remark-gfm/package.json +125 -0
  851. package/node_modules/remark-gfm/readme.md +518 -0
  852. package/node_modules/remark-parse/index.d.ts +55 -0
  853. package/node_modules/remark-parse/index.js +2 -0
  854. package/node_modules/remark-parse/lib/index.d.ts +26 -0
  855. package/node_modules/remark-parse/lib/index.js +43 -0
  856. package/node_modules/remark-parse/license +21 -0
  857. package/node_modules/remark-parse/package.json +72 -0
  858. package/node_modules/remark-parse/readme.md +428 -0
  859. package/node_modules/remark-stringify/index.d.ts +41 -0
  860. package/node_modules/remark-stringify/index.js +2 -0
  861. package/node_modules/remark-stringify/lib/index.d.ts +26 -0
  862. package/node_modules/remark-stringify/lib/index.js +42 -0
  863. package/node_modules/remark-stringify/license +21 -0
  864. package/node_modules/remark-stringify/package.json +71 -0
  865. package/node_modules/remark-stringify/readme.md +407 -0
  866. package/node_modules/trough/index.d.ts +7 -0
  867. package/node_modules/trough/index.d.ts.map +1 -0
  868. package/node_modules/trough/index.js +9 -0
  869. package/node_modules/trough/lib/index.d.ts +105 -0
  870. package/node_modules/trough/lib/index.d.ts.map +1 -0
  871. package/node_modules/trough/lib/index.js +206 -0
  872. package/node_modules/trough/license +21 -0
  873. package/node_modules/trough/package.json +77 -0
  874. package/node_modules/trough/readme.md +494 -0
  875. package/node_modules/unified/index.d.ts +106 -0
  876. package/node_modules/unified/index.js +2 -0
  877. package/node_modules/unified/lib/callable-instance.d.ts +2 -0
  878. package/node_modules/unified/lib/callable-instance.d.ts.map +1 -0
  879. package/node_modules/unified/lib/callable-instance.js +44 -0
  880. package/node_modules/unified/lib/index.d.ts +1024 -0
  881. package/node_modules/unified/lib/index.d.ts.map +1 -0
  882. package/node_modules/unified/lib/index.js +1323 -0
  883. package/node_modules/unified/license +21 -0
  884. package/node_modules/unified/package.json +120 -0
  885. package/node_modules/unified/readme.md +1835 -0
  886. package/node_modules/unist-util-is/index.d.ts +5 -0
  887. package/node_modules/unist-util-is/index.d.ts.map +1 -0
  888. package/node_modules/unist-util-is/index.js +7 -0
  889. package/node_modules/unist-util-is/lib/index.d.ts +111 -0
  890. package/node_modules/unist-util-is/lib/index.d.ts.map +1 -0
  891. package/node_modules/unist-util-is/lib/index.js +296 -0
  892. package/node_modules/unist-util-is/license +22 -0
  893. package/node_modules/unist-util-is/package.json +103 -0
  894. package/node_modules/unist-util-is/readme.md +351 -0
  895. package/node_modules/unist-util-stringify-position/index.d.ts +1 -0
  896. package/node_modules/unist-util-stringify-position/index.js +1 -0
  897. package/node_modules/unist-util-stringify-position/lib/index.d.ts +61 -0
  898. package/node_modules/unist-util-stringify-position/lib/index.js +84 -0
  899. package/node_modules/unist-util-stringify-position/license +22 -0
  900. package/node_modules/unist-util-stringify-position/package.json +80 -0
  901. package/node_modules/unist-util-stringify-position/readme.md +206 -0
  902. package/node_modules/unist-util-visit/index.d.ts +9 -0
  903. package/node_modules/unist-util-visit/index.js +2 -0
  904. package/node_modules/unist-util-visit/lib/index.d.ts +195 -0
  905. package/node_modules/unist-util-visit/lib/index.d.ts.map +1 -0
  906. package/node_modules/unist-util-visit/lib/index.js +312 -0
  907. package/node_modules/unist-util-visit/license +22 -0
  908. package/node_modules/unist-util-visit/package.json +108 -0
  909. package/node_modules/unist-util-visit/readme.md +313 -0
  910. package/node_modules/unist-util-visit-parents/index.d.ts +14 -0
  911. package/node_modules/unist-util-visit-parents/index.js +2 -0
  912. package/node_modules/unist-util-visit-parents/lib/color.d.ts +6 -0
  913. package/node_modules/unist-util-visit-parents/lib/color.d.ts.map +1 -0
  914. package/node_modules/unist-util-visit-parents/lib/color.js +7 -0
  915. package/node_modules/unist-util-visit-parents/lib/color.node.d.ts +6 -0
  916. package/node_modules/unist-util-visit-parents/lib/color.node.d.ts.map +1 -0
  917. package/node_modules/unist-util-visit-parents/lib/color.node.js +7 -0
  918. package/node_modules/unist-util-visit-parents/lib/index.d.ts +219 -0
  919. package/node_modules/unist-util-visit-parents/lib/index.d.ts.map +1 -0
  920. package/node_modules/unist-util-visit-parents/lib/index.js +399 -0
  921. package/node_modules/unist-util-visit-parents/license +22 -0
  922. package/node_modules/unist-util-visit-parents/package.json +106 -0
  923. package/node_modules/unist-util-visit-parents/readme.md +388 -0
  924. package/node_modules/vfile/index.d.ts +153 -0
  925. package/node_modules/vfile/index.js +2 -0
  926. package/node_modules/vfile/lib/index.d.ts +1465 -0
  927. package/node_modules/vfile/lib/index.d.ts.map +1 -0
  928. package/node_modules/vfile/lib/index.js +643 -0
  929. package/node_modules/vfile/lib/minpath.browser.d.ts +47 -0
  930. package/node_modules/vfile/lib/minpath.browser.d.ts.map +1 -0
  931. package/node_modules/vfile/lib/minpath.browser.js +426 -0
  932. package/node_modules/vfile/lib/minpath.d.ts +2 -0
  933. package/node_modules/vfile/lib/minpath.d.ts.map +1 -0
  934. package/node_modules/vfile/lib/minpath.js +1 -0
  935. package/node_modules/vfile/lib/minproc.browser.d.ts +6 -0
  936. package/node_modules/vfile/lib/minproc.browser.d.ts.map +1 -0
  937. package/node_modules/vfile/lib/minproc.browser.js +8 -0
  938. package/node_modules/vfile/lib/minproc.d.ts +2 -0
  939. package/node_modules/vfile/lib/minproc.d.ts.map +1 -0
  940. package/node_modules/vfile/lib/minproc.js +1 -0
  941. package/node_modules/vfile/lib/minurl.browser.d.ts +9 -0
  942. package/node_modules/vfile/lib/minurl.browser.d.ts.map +1 -0
  943. package/node_modules/vfile/lib/minurl.browser.js +76 -0
  944. package/node_modules/vfile/lib/minurl.d.ts +3 -0
  945. package/node_modules/vfile/lib/minurl.d.ts.map +1 -0
  946. package/node_modules/vfile/lib/minurl.js +2 -0
  947. package/node_modules/vfile/lib/minurl.shared.d.ts +20 -0
  948. package/node_modules/vfile/lib/minurl.shared.d.ts.map +1 -0
  949. package/node_modules/vfile/lib/minurl.shared.js +31 -0
  950. package/node_modules/vfile/license +21 -0
  951. package/node_modules/vfile/package.json +134 -0
  952. package/node_modules/vfile/readme.md +785 -0
  953. package/node_modules/vfile-message/index.d.ts +2 -0
  954. package/node_modules/vfile-message/index.js +5 -0
  955. package/node_modules/vfile-message/lib/index.d.ts +508 -0
  956. package/node_modules/vfile-message/lib/index.js +314 -0
  957. package/node_modules/vfile-message/license +22 -0
  958. package/node_modules/vfile-message/package.json +80 -0
  959. package/node_modules/vfile-message/readme.md +252 -0
  960. package/node_modules/yaml/LICENSE +13 -0
  961. package/node_modules/yaml/README.md +172 -0
  962. package/node_modules/yaml/bin.mjs +11 -0
  963. package/node_modules/yaml/browser/dist/compose/compose-collection.js +88 -0
  964. package/node_modules/yaml/browser/dist/compose/compose-doc.js +43 -0
  965. package/node_modules/yaml/browser/dist/compose/compose-node.js +109 -0
  966. package/node_modules/yaml/browser/dist/compose/compose-scalar.js +86 -0
  967. package/node_modules/yaml/browser/dist/compose/composer.js +219 -0
  968. package/node_modules/yaml/browser/dist/compose/resolve-block-map.js +115 -0
  969. package/node_modules/yaml/browser/dist/compose/resolve-block-scalar.js +198 -0
  970. package/node_modules/yaml/browser/dist/compose/resolve-block-seq.js +49 -0
  971. package/node_modules/yaml/browser/dist/compose/resolve-end.js +37 -0
  972. package/node_modules/yaml/browser/dist/compose/resolve-flow-collection.js +207 -0
  973. package/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.js +226 -0
  974. package/node_modules/yaml/browser/dist/compose/resolve-props.js +146 -0
  975. package/node_modules/yaml/browser/dist/compose/util-contains-newline.js +34 -0
  976. package/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js +26 -0
  977. package/node_modules/yaml/browser/dist/compose/util-flow-indent-check.js +15 -0
  978. package/node_modules/yaml/browser/dist/compose/util-map-includes.js +13 -0
  979. package/node_modules/yaml/browser/dist/doc/Document.js +335 -0
  980. package/node_modules/yaml/browser/dist/doc/anchors.js +71 -0
  981. package/node_modules/yaml/browser/dist/doc/applyReviver.js +55 -0
  982. package/node_modules/yaml/browser/dist/doc/createNode.js +88 -0
  983. package/node_modules/yaml/browser/dist/doc/directives.js +176 -0
  984. package/node_modules/yaml/browser/dist/errors.js +57 -0
  985. package/node_modules/yaml/browser/dist/index.js +17 -0
  986. package/node_modules/yaml/browser/dist/log.js +11 -0
  987. package/node_modules/yaml/browser/dist/nodes/Alias.js +118 -0
  988. package/node_modules/yaml/browser/dist/nodes/Collection.js +147 -0
  989. package/node_modules/yaml/browser/dist/nodes/Node.js +38 -0
  990. package/node_modules/yaml/browser/dist/nodes/Pair.js +36 -0
  991. package/node_modules/yaml/browser/dist/nodes/Scalar.js +24 -0
  992. package/node_modules/yaml/browser/dist/nodes/YAMLMap.js +144 -0
  993. package/node_modules/yaml/browser/dist/nodes/YAMLSeq.js +113 -0
  994. package/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js +63 -0
  995. package/node_modules/yaml/browser/dist/nodes/identity.js +36 -0
  996. package/node_modules/yaml/browser/dist/nodes/toJS.js +37 -0
  997. package/node_modules/yaml/browser/dist/parse/cst-scalar.js +214 -0
  998. package/node_modules/yaml/browser/dist/parse/cst-stringify.js +61 -0
  999. package/node_modules/yaml/browser/dist/parse/cst-visit.js +97 -0
  1000. package/node_modules/yaml/browser/dist/parse/cst.js +98 -0
  1001. package/node_modules/yaml/browser/dist/parse/lexer.js +721 -0
  1002. package/node_modules/yaml/browser/dist/parse/line-counter.js +39 -0
  1003. package/node_modules/yaml/browser/dist/parse/parser.js +975 -0
  1004. package/node_modules/yaml/browser/dist/public-api.js +102 -0
  1005. package/node_modules/yaml/browser/dist/schema/Schema.js +37 -0
  1006. package/node_modules/yaml/browser/dist/schema/common/map.js +17 -0
  1007. package/node_modules/yaml/browser/dist/schema/common/null.js +15 -0
  1008. package/node_modules/yaml/browser/dist/schema/common/seq.js +17 -0
  1009. package/node_modules/yaml/browser/dist/schema/common/string.js +14 -0
  1010. package/node_modules/yaml/browser/dist/schema/core/bool.js +19 -0
  1011. package/node_modules/yaml/browser/dist/schema/core/float.js +43 -0
  1012. package/node_modules/yaml/browser/dist/schema/core/int.js +38 -0
  1013. package/node_modules/yaml/browser/dist/schema/core/schema.js +23 -0
  1014. package/node_modules/yaml/browser/dist/schema/json/schema.js +62 -0
  1015. package/node_modules/yaml/browser/dist/schema/tags.js +96 -0
  1016. package/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +58 -0
  1017. package/node_modules/yaml/browser/dist/schema/yaml-1.1/bool.js +26 -0
  1018. package/node_modules/yaml/browser/dist/schema/yaml-1.1/float.js +46 -0
  1019. package/node_modules/yaml/browser/dist/schema/yaml-1.1/int.js +71 -0
  1020. package/node_modules/yaml/browser/dist/schema/yaml-1.1/merge.js +67 -0
  1021. package/node_modules/yaml/browser/dist/schema/yaml-1.1/omap.js +74 -0
  1022. package/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js +78 -0
  1023. package/node_modules/yaml/browser/dist/schema/yaml-1.1/schema.js +39 -0
  1024. package/node_modules/yaml/browser/dist/schema/yaml-1.1/set.js +93 -0
  1025. package/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +101 -0
  1026. package/node_modules/yaml/browser/dist/stringify/foldFlowLines.js +146 -0
  1027. package/node_modules/yaml/browser/dist/stringify/stringify.js +129 -0
  1028. package/node_modules/yaml/browser/dist/stringify/stringifyCollection.js +153 -0
  1029. package/node_modules/yaml/browser/dist/stringify/stringifyComment.js +20 -0
  1030. package/node_modules/yaml/browser/dist/stringify/stringifyDocument.js +85 -0
  1031. package/node_modules/yaml/browser/dist/stringify/stringifyNumber.js +25 -0
  1032. package/node_modules/yaml/browser/dist/stringify/stringifyPair.js +150 -0
  1033. package/node_modules/yaml/browser/dist/stringify/stringifyString.js +336 -0
  1034. package/node_modules/yaml/browser/dist/util.js +11 -0
  1035. package/node_modules/yaml/browser/dist/visit.js +233 -0
  1036. package/node_modules/yaml/browser/index.js +5 -0
  1037. package/node_modules/yaml/browser/package.json +3 -0
  1038. package/node_modules/yaml/dist/cli.d.ts +8 -0
  1039. package/node_modules/yaml/dist/cli.mjs +201 -0
  1040. package/node_modules/yaml/dist/compose/compose-collection.d.ts +11 -0
  1041. package/node_modules/yaml/dist/compose/compose-collection.js +90 -0
  1042. package/node_modules/yaml/dist/compose/compose-doc.d.ts +7 -0
  1043. package/node_modules/yaml/dist/compose/compose-doc.js +45 -0
  1044. package/node_modules/yaml/dist/compose/compose-node.d.ts +29 -0
  1045. package/node_modules/yaml/dist/compose/compose-node.js +112 -0
  1046. package/node_modules/yaml/dist/compose/compose-scalar.d.ts +5 -0
  1047. package/node_modules/yaml/dist/compose/compose-scalar.js +88 -0
  1048. package/node_modules/yaml/dist/compose/composer.d.ts +63 -0
  1049. package/node_modules/yaml/dist/compose/composer.js +224 -0
  1050. package/node_modules/yaml/dist/compose/resolve-block-map.d.ts +6 -0
  1051. package/node_modules/yaml/dist/compose/resolve-block-map.js +117 -0
  1052. package/node_modules/yaml/dist/compose/resolve-block-scalar.d.ts +11 -0
  1053. package/node_modules/yaml/dist/compose/resolve-block-scalar.js +200 -0
  1054. package/node_modules/yaml/dist/compose/resolve-block-seq.d.ts +6 -0
  1055. package/node_modules/yaml/dist/compose/resolve-block-seq.js +51 -0
  1056. package/node_modules/yaml/dist/compose/resolve-end.d.ts +6 -0
  1057. package/node_modules/yaml/dist/compose/resolve-end.js +39 -0
  1058. package/node_modules/yaml/dist/compose/resolve-flow-collection.d.ts +7 -0
  1059. package/node_modules/yaml/dist/compose/resolve-flow-collection.js +209 -0
  1060. package/node_modules/yaml/dist/compose/resolve-flow-scalar.d.ts +10 -0
  1061. package/node_modules/yaml/dist/compose/resolve-flow-scalar.js +228 -0
  1062. package/node_modules/yaml/dist/compose/resolve-props.d.ts +23 -0
  1063. package/node_modules/yaml/dist/compose/resolve-props.js +148 -0
  1064. package/node_modules/yaml/dist/compose/util-contains-newline.d.ts +2 -0
  1065. package/node_modules/yaml/dist/compose/util-contains-newline.js +36 -0
  1066. package/node_modules/yaml/dist/compose/util-empty-scalar-position.d.ts +2 -0
  1067. package/node_modules/yaml/dist/compose/util-empty-scalar-position.js +28 -0
  1068. package/node_modules/yaml/dist/compose/util-flow-indent-check.d.ts +3 -0
  1069. package/node_modules/yaml/dist/compose/util-flow-indent-check.js +17 -0
  1070. package/node_modules/yaml/dist/compose/util-map-includes.d.ts +4 -0
  1071. package/node_modules/yaml/dist/compose/util-map-includes.js +15 -0
  1072. package/node_modules/yaml/dist/doc/Document.d.ts +141 -0
  1073. package/node_modules/yaml/dist/doc/Document.js +337 -0
  1074. package/node_modules/yaml/dist/doc/anchors.d.ts +24 -0
  1075. package/node_modules/yaml/dist/doc/anchors.js +76 -0
  1076. package/node_modules/yaml/dist/doc/applyReviver.d.ts +9 -0
  1077. package/node_modules/yaml/dist/doc/applyReviver.js +57 -0
  1078. package/node_modules/yaml/dist/doc/createNode.d.ts +17 -0
  1079. package/node_modules/yaml/dist/doc/createNode.js +90 -0
  1080. package/node_modules/yaml/dist/doc/directives.d.ts +49 -0
  1081. package/node_modules/yaml/dist/doc/directives.js +178 -0
  1082. package/node_modules/yaml/dist/errors.d.ts +21 -0
  1083. package/node_modules/yaml/dist/errors.js +62 -0
  1084. package/node_modules/yaml/dist/index.d.ts +25 -0
  1085. package/node_modules/yaml/dist/index.js +50 -0
  1086. package/node_modules/yaml/dist/log.d.ts +3 -0
  1087. package/node_modules/yaml/dist/log.js +19 -0
  1088. package/node_modules/yaml/dist/nodes/Alias.d.ts +29 -0
  1089. package/node_modules/yaml/dist/nodes/Alias.js +120 -0
  1090. package/node_modules/yaml/dist/nodes/Collection.d.ts +73 -0
  1091. package/node_modules/yaml/dist/nodes/Collection.js +151 -0
  1092. package/node_modules/yaml/dist/nodes/Node.d.ts +53 -0
  1093. package/node_modules/yaml/dist/nodes/Node.js +40 -0
  1094. package/node_modules/yaml/dist/nodes/Pair.d.ts +22 -0
  1095. package/node_modules/yaml/dist/nodes/Pair.js +39 -0
  1096. package/node_modules/yaml/dist/nodes/Scalar.d.ts +47 -0
  1097. package/node_modules/yaml/dist/nodes/Scalar.js +27 -0
  1098. package/node_modules/yaml/dist/nodes/YAMLMap.d.ts +53 -0
  1099. package/node_modules/yaml/dist/nodes/YAMLMap.js +147 -0
  1100. package/node_modules/yaml/dist/nodes/YAMLSeq.d.ts +60 -0
  1101. package/node_modules/yaml/dist/nodes/YAMLSeq.js +115 -0
  1102. package/node_modules/yaml/dist/nodes/addPairToJSMap.d.ts +4 -0
  1103. package/node_modules/yaml/dist/nodes/addPairToJSMap.js +65 -0
  1104. package/node_modules/yaml/dist/nodes/identity.d.ts +23 -0
  1105. package/node_modules/yaml/dist/nodes/identity.js +53 -0
  1106. package/node_modules/yaml/dist/nodes/toJS.d.ts +29 -0
  1107. package/node_modules/yaml/dist/nodes/toJS.js +39 -0
  1108. package/node_modules/yaml/dist/options.d.ts +350 -0
  1109. package/node_modules/yaml/dist/parse/cst-scalar.d.ts +64 -0
  1110. package/node_modules/yaml/dist/parse/cst-scalar.js +218 -0
  1111. package/node_modules/yaml/dist/parse/cst-stringify.d.ts +8 -0
  1112. package/node_modules/yaml/dist/parse/cst-stringify.js +63 -0
  1113. package/node_modules/yaml/dist/parse/cst-visit.d.ts +39 -0
  1114. package/node_modules/yaml/dist/parse/cst-visit.js +99 -0
  1115. package/node_modules/yaml/dist/parse/cst.d.ts +109 -0
  1116. package/node_modules/yaml/dist/parse/cst.js +112 -0
  1117. package/node_modules/yaml/dist/parse/lexer.d.ts +87 -0
  1118. package/node_modules/yaml/dist/parse/lexer.js +723 -0
  1119. package/node_modules/yaml/dist/parse/line-counter.d.ts +22 -0
  1120. package/node_modules/yaml/dist/parse/line-counter.js +41 -0
  1121. package/node_modules/yaml/dist/parse/parser.d.ts +84 -0
  1122. package/node_modules/yaml/dist/parse/parser.js +980 -0
  1123. package/node_modules/yaml/dist/public-api.d.ts +44 -0
  1124. package/node_modules/yaml/dist/public-api.js +107 -0
  1125. package/node_modules/yaml/dist/schema/Schema.d.ts +17 -0
  1126. package/node_modules/yaml/dist/schema/Schema.js +39 -0
  1127. package/node_modules/yaml/dist/schema/common/map.d.ts +2 -0
  1128. package/node_modules/yaml/dist/schema/common/map.js +19 -0
  1129. package/node_modules/yaml/dist/schema/common/null.d.ts +4 -0
  1130. package/node_modules/yaml/dist/schema/common/null.js +17 -0
  1131. package/node_modules/yaml/dist/schema/common/seq.d.ts +2 -0
  1132. package/node_modules/yaml/dist/schema/common/seq.js +19 -0
  1133. package/node_modules/yaml/dist/schema/common/string.d.ts +2 -0
  1134. package/node_modules/yaml/dist/schema/common/string.js +16 -0
  1135. package/node_modules/yaml/dist/schema/core/bool.d.ts +4 -0
  1136. package/node_modules/yaml/dist/schema/core/bool.js +21 -0
  1137. package/node_modules/yaml/dist/schema/core/float.d.ts +4 -0
  1138. package/node_modules/yaml/dist/schema/core/float.js +47 -0
  1139. package/node_modules/yaml/dist/schema/core/int.d.ts +4 -0
  1140. package/node_modules/yaml/dist/schema/core/int.js +42 -0
  1141. package/node_modules/yaml/dist/schema/core/schema.d.ts +1 -0
  1142. package/node_modules/yaml/dist/schema/core/schema.js +25 -0
  1143. package/node_modules/yaml/dist/schema/json/schema.d.ts +2 -0
  1144. package/node_modules/yaml/dist/schema/json/schema.js +64 -0
  1145. package/node_modules/yaml/dist/schema/json-schema.d.ts +69 -0
  1146. package/node_modules/yaml/dist/schema/tags.d.ts +48 -0
  1147. package/node_modules/yaml/dist/schema/tags.js +99 -0
  1148. package/node_modules/yaml/dist/schema/types.d.ts +92 -0
  1149. package/node_modules/yaml/dist/schema/yaml-1.1/binary.d.ts +2 -0
  1150. package/node_modules/yaml/dist/schema/yaml-1.1/binary.js +70 -0
  1151. package/node_modules/yaml/dist/schema/yaml-1.1/bool.d.ts +7 -0
  1152. package/node_modules/yaml/dist/schema/yaml-1.1/bool.js +29 -0
  1153. package/node_modules/yaml/dist/schema/yaml-1.1/float.d.ts +4 -0
  1154. package/node_modules/yaml/dist/schema/yaml-1.1/float.js +50 -0
  1155. package/node_modules/yaml/dist/schema/yaml-1.1/int.d.ts +5 -0
  1156. package/node_modules/yaml/dist/schema/yaml-1.1/int.js +76 -0
  1157. package/node_modules/yaml/dist/schema/yaml-1.1/merge.d.ts +9 -0
  1158. package/node_modules/yaml/dist/schema/yaml-1.1/merge.js +71 -0
  1159. package/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts +22 -0
  1160. package/node_modules/yaml/dist/schema/yaml-1.1/omap.js +77 -0
  1161. package/node_modules/yaml/dist/schema/yaml-1.1/pairs.d.ts +10 -0
  1162. package/node_modules/yaml/dist/schema/yaml-1.1/pairs.js +82 -0
  1163. package/node_modules/yaml/dist/schema/yaml-1.1/schema.d.ts +1 -0
  1164. package/node_modules/yaml/dist/schema/yaml-1.1/schema.js +41 -0
  1165. package/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts +28 -0
  1166. package/node_modules/yaml/dist/schema/yaml-1.1/set.js +96 -0
  1167. package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.d.ts +6 -0
  1168. package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +105 -0
  1169. package/node_modules/yaml/dist/stringify/foldFlowLines.d.ts +34 -0
  1170. package/node_modules/yaml/dist/stringify/foldFlowLines.js +151 -0
  1171. package/node_modules/yaml/dist/stringify/stringify.d.ts +21 -0
  1172. package/node_modules/yaml/dist/stringify/stringify.js +132 -0
  1173. package/node_modules/yaml/dist/stringify/stringifyCollection.d.ts +17 -0
  1174. package/node_modules/yaml/dist/stringify/stringifyCollection.js +155 -0
  1175. package/node_modules/yaml/dist/stringify/stringifyComment.d.ts +10 -0
  1176. package/node_modules/yaml/dist/stringify/stringifyComment.js +24 -0
  1177. package/node_modules/yaml/dist/stringify/stringifyDocument.d.ts +4 -0
  1178. package/node_modules/yaml/dist/stringify/stringifyDocument.js +87 -0
  1179. package/node_modules/yaml/dist/stringify/stringifyNumber.d.ts +2 -0
  1180. package/node_modules/yaml/dist/stringify/stringifyNumber.js +27 -0
  1181. package/node_modules/yaml/dist/stringify/stringifyPair.d.ts +3 -0
  1182. package/node_modules/yaml/dist/stringify/stringifyPair.js +152 -0
  1183. package/node_modules/yaml/dist/stringify/stringifyString.d.ts +9 -0
  1184. package/node_modules/yaml/dist/stringify/stringifyString.js +338 -0
  1185. package/node_modules/yaml/dist/test-events.d.ts +4 -0
  1186. package/node_modules/yaml/dist/test-events.js +134 -0
  1187. package/node_modules/yaml/dist/util.d.ts +16 -0
  1188. package/node_modules/yaml/dist/util.js +28 -0
  1189. package/node_modules/yaml/dist/visit.d.ts +102 -0
  1190. package/node_modules/yaml/dist/visit.js +236 -0
  1191. package/node_modules/yaml/package.json +97 -0
  1192. package/node_modules/yaml/util.js +2 -0
  1193. package/node_modules/zwitch/index.d.ts +67 -0
  1194. package/node_modules/zwitch/index.js +118 -0
  1195. package/node_modules/zwitch/license +22 -0
  1196. package/node_modules/zwitch/package.json +72 -0
  1197. package/node_modules/zwitch/readme.md +226 -0
  1198. package/package.json +13 -5
  1199. package/packages/pcr-core/schemas/guidance-batch-request.schema.json +12 -0
  1200. package/packages/pcr-core/schemas/guidance-output.schema.json +236 -28
  1201. package/packages/pcr-core/schemas/structured-projection.schema.json +576 -80
  1202. package/packages/pcr-core/src/classification-coverage.js +664 -0
  1203. package/packages/pcr-core/src/classification-coverage.js.map +1 -0
  1204. package/packages/pcr-core/src/compiler/guidance-context.js +135 -0
  1205. package/packages/pcr-core/src/compiler/guidance-context.js.map +1 -0
  1206. package/packages/pcr-core/src/compiler/guidance-envelope.js +78 -0
  1207. package/packages/pcr-core/src/compiler/guidance-envelope.js.map +1 -0
  1208. package/packages/pcr-core/src/compiler/normative-integrity.js +67 -0
  1209. package/packages/pcr-core/src/compiler/normative-integrity.js.map +1 -0
  1210. package/packages/pcr-core/src/compiler/normative-projection.js +276 -0
  1211. package/packages/pcr-core/src/compiler/normative-projection.js.map +1 -0
  1212. package/packages/pcr-core/src/compiler/source-context.js +231 -0
  1213. package/packages/pcr-core/src/compiler/source-context.js.map +1 -0
  1214. package/packages/pcr-core/src/consumption-calculation.js +61 -0
  1215. package/packages/pcr-core/src/consumption-calculation.js.map +1 -0
  1216. package/packages/pcr-core/src/consumption-data.js +99 -0
  1217. package/packages/pcr-core/src/consumption-data.js.map +1 -0
  1218. package/packages/pcr-core/src/consumption-guidance.js +107 -0
  1219. package/packages/pcr-core/src/consumption-guidance.js.map +1 -0
  1220. package/packages/pcr-core/src/consumption-review.js +103 -0
  1221. package/packages/pcr-core/src/consumption-review.js.map +1 -0
  1222. package/packages/pcr-core/src/contracts.js +163 -0
  1223. package/packages/pcr-core/src/contracts.js.map +1 -0
  1224. package/packages/pcr-core/src/generated/controlled-vocabulary.js +39 -0
  1225. package/packages/pcr-core/src/generated/controlled-vocabulary.js.map +1 -0
  1226. package/packages/pcr-core/src/index.js +1824 -0
  1227. package/packages/pcr-core/src/index.js.map +1 -0
  1228. package/packages/pcr-core/src/languages.js +85 -0
  1229. package/packages/pcr-core/src/languages.js.map +1 -0
  1230. package/packages/pcr-core/src/offline-library.js +302 -0
  1231. package/packages/pcr-core/src/offline-library.js.map +1 -0
  1232. package/packages/pcr-core/src/output-semantics.js +122 -0
  1233. package/packages/pcr-core/src/output-semantics.js.map +1 -0
  1234. package/packages/pcr-core/src/pcr-id-aliases.js +898 -0
  1235. package/packages/pcr-core/src/pcr-id-aliases.js.map +1 -0
  1236. package/packages/pcr-core/src/projection-completeness.js +172 -0
  1237. package/packages/pcr-core/src/projection-completeness.js.map +1 -0
  1238. package/packages/pcr-core/src/projection-integrity.js +177 -0
  1239. package/packages/pcr-core/src/projection-integrity.js.map +1 -0
  1240. package/packages/pcr-core/src/read-context.js +421 -0
  1241. package/packages/pcr-core/src/read-context.js.map +1 -0
  1242. package/packages/pcr-core/src/read-session.js +150 -0
  1243. package/packages/pcr-core/src/read-session.js.map +1 -0
  1244. package/packages/pcr-core/src/schema-validation.js +136 -0
  1245. package/packages/pcr-core/src/schema-validation.js.map +1 -0
  1246. package/packages/pcr-core/src/source-context.js +18 -0
  1247. package/packages/pcr-core/src/source-context.js.map +1 -0
  1248. package/packages/pcr-core/src/tidas-inspection.js +201 -0
  1249. package/packages/pcr-core/src/tidas-inspection.js.map +1 -0
  1250. package/packages/pcr-core/src/types.js +12 -0
  1251. package/packages/pcr-core/src/types.js.map +1 -0
  1252. package/packages/pcr-core/src/vocabulary.js +47 -0
  1253. package/packages/pcr-core/src/vocabulary.js.map +1 -0
  1254. package/packages/pcr-core/src/yaml-lite.js +267 -0
  1255. package/packages/pcr-core/src/yaml-lite.js.map +1 -0
  1256. package/packages/tiangong-pcr-cli/bin/tiangong-pcr.js +11 -0
  1257. package/packages/tiangong-pcr-cli/bin/tiangong-pcr.js.map +1 -0
  1258. package/packages/tiangong-pcr-cli/src/commands.js +1662 -0
  1259. package/packages/tiangong-pcr-cli/src/commands.js.map +1 -0
  1260. package/product-release.json +4 -4
  1261. package/skills/tiangong-pcr/SKILL.md +9 -2
  1262. package/packages/pcr-core/src/classification-coverage.mjs +0 -732
  1263. package/packages/pcr-core/src/consumption-calculation.mjs +0 -53
  1264. package/packages/pcr-core/src/consumption-data.mjs +0 -88
  1265. package/packages/pcr-core/src/consumption-guidance.mjs +0 -62
  1266. package/packages/pcr-core/src/consumption-review.mjs +0 -83
  1267. package/packages/pcr-core/src/contracts.mjs +0 -195
  1268. package/packages/pcr-core/src/generated/controlled-vocabulary.mjs +0 -41
  1269. package/packages/pcr-core/src/index.mjs +0 -2101
  1270. package/packages/pcr-core/src/languages.mjs +0 -86
  1271. package/packages/pcr-core/src/offline-library.mjs +0 -121
  1272. package/packages/pcr-core/src/output-semantics.mjs +0 -228
  1273. package/packages/pcr-core/src/pcr-id-aliases.mjs +0 -949
  1274. package/packages/pcr-core/src/projection-completeness.mjs +0 -284
  1275. package/packages/pcr-core/src/projection-integrity.mjs +0 -208
  1276. package/packages/pcr-core/src/read-context.mjs +0 -505
  1277. package/packages/pcr-core/src/schema-validation.mjs +0 -142
  1278. package/packages/pcr-core/src/source-context.mjs +0 -13
  1279. package/packages/pcr-core/src/tidas-inspection.mjs +0 -177
  1280. package/packages/pcr-core/src/yaml-lite.mjs +0 -261
  1281. package/packages/tiangong-pcr-cli/bin/tiangong-pcr.mjs +0 -12
  1282. package/packages/tiangong-pcr-cli/src/commands.mjs +0 -1691
@@ -1,2101 +0,0 @@
1
- import { pcrSource } from "./source-context.mjs";
2
- import { createHash } from "node:crypto";
3
- import {
4
- closeSync,
5
- constants as fsConstants,
6
- fstatSync,
7
- lstatSync,
8
- openSync,
9
- readFileSync,
10
- realpathSync,
11
- readdirSync,
12
- } from "node:fs";
13
- import path from "node:path";
14
- import { TextDecoder } from "node:util";
15
-
16
- import {
17
- PcrClassificationCodeUnknownError,
18
- PcrClassificationCoverageSemanticError,
19
- readClassificationCoverage,
20
- readClassificationCoverageSnapshot,
21
- } from "./classification-coverage.mjs";
22
- import { assertCoreContract, validateCoreContract } from "./contracts.mjs";
23
- import {
24
- inspectProjectionIntegrity,
25
- projectionNotRequiredState,
26
- } from "./projection-integrity.mjs";
27
- import {
28
- hasDeclaredUnresolvedReferenceProductFlow,
29
- materialProjectionCompletenessIssues,
30
- } from "./projection-completeness.mjs";
31
- import { findPcrIdAlias as findRepositoryPcrIdAlias } from "./pcr-id-aliases.mjs";
32
- import {
33
- assertPcrReadContextFresh,
34
- createPcrReadContext,
35
- getPcrReadContextCatalog,
36
- observePcrReadContextArtifactRead,
37
- pcrReadContextAliasInputFingerprint,
38
- withPcrReadContextSession,
39
- } from "./read-context.mjs";
40
- import { parseYaml } from "./yaml-lite.mjs";
41
- import {
42
- declaredPcrLanguages,
43
- expectedPcrArtifactHashes,
44
- LEGACY_PCR_ARTIFACT_HASH_FIELDS,
45
- pcrArtifactFiles,
46
- } from "./languages.mjs";
47
- import {
48
- CLASSIFICATION_MAPPING_RELATION_VALUES,
49
- CONTENT_MATURITY_VALUES,
50
- FEEDBACK_TYPE_VALUES,
51
- PCR_STATUS_VALUES,
52
- } from "./generated/controlled-vocabulary.mjs";
53
-
54
- export const FEEDBACK_TYPES = FEEDBACK_TYPE_VALUES;
55
- export { createPcrReadContext, pcrReadContextAliasInputFingerprint, withPcrReadContextSession };
56
- export {
57
- CLASSIFICATION_COVERAGE_STATUSES,
58
- PcrClassificationCodeUnknownError,
59
- PcrClassificationCoverageNotFoundError,
60
- PcrClassificationCoverageSemanticError,
61
- PcrClassificationCoverageStatusError,
62
- classificationCoveragePath,
63
- findClassificationCoverageEntry,
64
- getClassificationCoverageSummary,
65
- hasClassificationCoverage,
66
- listClassificationCoverage,
67
- readClassificationCoverage,
68
- readClassificationCoverageSnapshot,
69
- } from "./classification-coverage.mjs";
70
- export const PCR_CATALOG_SCOPES = Object.freeze(["all", "material", "legacy"]);
71
- export const PCR_RECORD_KINDS = Object.freeze([
72
- "methodology",
73
- "legacy_scaffold_reference",
74
- "invalid_lifecycle_state",
75
- ]);
76
- const CLASSIFICATION_MAPPING_RELATIONS = new Set(CLASSIFICATION_MAPPING_RELATION_VALUES);
77
- const PCR_CATALOG_SCOPE_SET = new Set(PCR_CATALOG_SCOPES);
78
- const METHODOLOGY_LIFECYCLE_STATUSES = new Set(
79
- PCR_STATUS_VALUES.filter((value) => value !== "scaffold"),
80
- );
81
- const METHODOLOGY_MATURITIES = new Set(
82
- CONTENT_MATURITY_VALUES.filter((value) => value !== "empty_scaffold"),
83
- );
84
-
85
- const CURRENT_SNAPSHOT_MAX_ATTEMPTS = 3;
86
- const pcrCatalogCache = new Map();
87
- const RELEASE_ARTIFACTS = LEGACY_PCR_ARTIFACT_HASH_FIELDS;
88
- const GUIDANCE_MATURITIES = new Set([
89
- "authored_methodology",
90
- "reviewed_methodology",
91
- "published_methodology",
92
- ]);
93
- const REVIEWED_MATURITIES = new Set(["reviewed_methodology", "published_methodology"]);
94
- const USABLE_LIFECYCLE_STATES = new Map([
95
- ["candidate", new Set(["authored_methodology"])],
96
- ["active", new Set(["reviewed_methodology"])],
97
- ["published", new Set(["published_methodology"])],
98
- ]);
99
- const GUIDANCE_LIFECYCLE_STATUSES = new Set(["candidate", "active", "published"]);
100
-
101
- export class PcrUsabilityError extends Error {
102
- constructor({ pcrId, operation, readiness }) {
103
- const blockers = readiness.blockers.map((blocker) => blocker.code).join(", ");
104
- super(
105
- `PCR ${pcrId} is not usable for ${operation}: content_maturity=${readiness.methodology_status}; blockers=${blockers || "unknown"}`,
106
- );
107
- this.name = "PcrUsabilityError";
108
- this.code = `PCR_NOT_USABLE_FOR_${operation.toUpperCase()}`;
109
- this.readiness = structuredClone(readiness);
110
- }
111
- }
112
-
113
- export class PcrClassificationMappingError extends Error {
114
- constructor({ system, version, code, mappingType, issue = null }) {
115
- super(issue
116
- ? `Classification mapping ${system}:${version}:${code} is not an accepted current mapping: ${issue}.`
117
- : `Classification mapping ${system}:${version}:${code} uses unsupported mapping_type ${String(mappingType)}.`);
118
- this.name = "PcrClassificationMappingError";
119
- this.code = "PCR_INVALID_CLASSIFICATION_MAPPING";
120
- this.details = {
121
- classification: `${system}:${version}:${code}`,
122
- mapping_type: mappingType ?? null,
123
- allowed_mapping_types: [...CLASSIFICATION_MAPPING_RELATION_VALUES],
124
- issue,
125
- };
126
- }
127
- }
128
-
129
- export class PcrLegacyIdRedirectError extends Error {
130
- constructor(alias) {
131
- const redirect = legacyPcrIdRedirect(alias);
132
- super(
133
- `PCR id ${redirect.source_pcr_id} is a retired legacy identity. ` +
134
- `Use the redirect target with: ${redirect.next_command}`,
135
- );
136
- this.name = "PcrLegacyIdRedirectError";
137
- this.code = "PCR_LEGACY_ID_REDIRECT";
138
- this.details = redirect;
139
- }
140
- }
141
-
142
- export class PcrClassificationTargetStateError extends Error {
143
- constructor({ system, version, code, pcr }) {
144
- super(
145
- `Classification mapping ${system}:${version}:${code} points to PCR ${pcr.id} with invalid ` +
146
- `lifecycle identity ${pcr.status}/${pcr.content_maturity}.`,
147
- );
148
- this.name = "PcrClassificationTargetStateError";
149
- this.code = "PCR_INVALID_CLASSIFICATION_TARGET";
150
- this.details = {
151
- classification: `${system}:${version}:${code}`,
152
- pcr_id: pcr.id,
153
- status: pcr.status,
154
- content_maturity: pcr.content_maturity,
155
- record_kind: pcr.record_kind,
156
- };
157
- }
158
- }
159
-
160
- export class PcrCurrentSnapshotInconsistentError extends Error {
161
- constructor({ pcrId, pcrPath, attempts, lastFailure }) {
162
- super(
163
- `PCR ${pcrId} current snapshot could not be read consistently after ${attempts} attempts.`,
164
- );
165
- this.name = "PcrCurrentSnapshotInconsistentError";
166
- this.code = "PCR_CURRENT_SNAPSHOT_INCONSISTENT";
167
- this.details = {
168
- pcr_id: pcrId,
169
- pcr_path: pcrPath,
170
- attempts,
171
- last_failure: lastFailure,
172
- };
173
- }
174
- }
175
-
176
- export class PcrDuplicateIdError extends Error {
177
- constructor({ pcrId, paths }) {
178
- super(`Duplicate canonical PCR id ${pcrId}: ${paths.join(", ")}`);
179
- this.name = "PcrDuplicateIdError";
180
- this.code = "PCR_DUPLICATE_ID";
181
- this.details = { pcr_id: pcrId, paths: [...paths] };
182
- }
183
- }
184
-
185
- export class PcrCatalogScopeError extends Error {
186
- constructor(scope) {
187
- super(`Unsupported PCR catalog scope ${String(scope)}. Expected one of: ${PCR_CATALOG_SCOPES.join(", ")}.`);
188
- this.name = "PcrCatalogScopeError";
189
- this.code = "PCR_INVALID_CATALOG_SCOPE";
190
- this.details = {
191
- scope: String(scope),
192
- allowed_scopes: [...PCR_CATALOG_SCOPES],
193
- };
194
- }
195
- }
196
-
197
- function findPcrIdAlias(options) {
198
- const source = pcrSource(options.root);
199
- return source ? source.findAlias(options.pcrId) : findRepositoryPcrIdAlias(options);
200
- }
201
-
202
- export function listPcrs({ root, refresh = false, scope = "all" }) {
203
- if (pcrSource(root)) return pcrSource(root).listPcrs(normalizeCatalogScope(scope));
204
- const normalizedScope = normalizeCatalogScope(scope);
205
- const normalizedRoot = path.resolve(root);
206
- const catalog = getPcrCatalog({ root: normalizedRoot, refresh });
207
- const candidates = normalizedScope === "all"
208
- ? catalog
209
- : catalog.filter((entry) => currentCatalogEntryMatchesScope(normalizedRoot, entry, normalizedScope));
210
- return candidates
211
- .map((entry) => currentPcrEntry(normalizedRoot, entry))
212
- .filter((entry) => recordMatchesScope(entry, normalizedScope));
213
- }
214
-
215
- function getPcrCatalog({ root, refresh = false }) {
216
- const normalizedRoot = path.resolve(root);
217
- if (refresh || !pcrCatalogCache.has(normalizedRoot)) {
218
- pcrCatalogCache.set(normalizedRoot, readPcrCatalog(normalizedRoot));
219
- }
220
- return pcrCatalogCache.get(normalizedRoot);
221
- }
222
-
223
- function readPcrCatalog(root) {
224
- const pcrRoot = path.join(root, "library/pcrs");
225
- if (!isCanonicalDirectory(pcrRoot)) {
226
- throw new Error(`PCR catalog root not found: ${toPosix(path.relative(root, pcrRoot))}`);
227
- }
228
- const catalog = findManifestFiles(pcrRoot)
229
- .map((manifestPath) => {
230
- const manifest = parseYaml(readCanonicalFileBytes(manifestPath).toString("utf8"));
231
- const pcrDir = path.dirname(manifestPath);
232
- return {
233
- id: manifest.id,
234
- path: toPosix(path.relative(root, pcrDir)),
235
- manifestPath,
236
- };
237
- })
238
- .filter((entry) => entry.id);
239
- const entriesById = new Map();
240
- for (const entry of catalog) {
241
- const existing = entriesById.get(entry.id);
242
- if (existing) {
243
- throw new PcrDuplicateIdError({
244
- pcrId: entry.id,
245
- paths: [existing.path, entry.path].sort(),
246
- });
247
- }
248
- entriesById.set(entry.id, entry);
249
- }
250
- return catalog.sort((left, right) => left.id.localeCompare(right.id));
251
- }
252
-
253
- export function buildPcrTree({ root, depth = Infinity, scope = "all" }) {
254
- const tree = {};
255
- for (const pcr of listPcrs({ root, scope })) {
256
- const segments = pcr.path.replace(/^library\/pcrs\//u, "").split("/");
257
- let node = tree;
258
- for (const [index, segment] of segments.entries()) {
259
- if (index >= depth) {
260
- break;
261
- }
262
- node[segment] ??= { children: {}, pcrs: [] };
263
- if (index === segments.length - 1) {
264
- node[segment].pcrs.push(pcr);
265
- }
266
- node = node[segment].children;
267
- }
268
- }
269
- return tree;
270
- }
271
-
272
- export function resolveClassification({ root, system, version, code, context = null }) {
273
- const normalizedSystem = String(system).toLowerCase();
274
- const normalizedVersion = String(version);
275
- const normalizedCode = String(code);
276
- const coverageIndex = readClassificationCoverage({
277
- root,
278
- system: normalizedSystem,
279
- version: normalizedVersion,
280
- });
281
- return resolveClassificationWithCoverage({
282
- root,
283
- system: normalizedSystem,
284
- version: normalizedVersion,
285
- code: normalizedCode,
286
- coverageIndex,
287
- context,
288
- });
289
- }
290
-
291
- export function verifyDistributionCoverage({ root, snapshot, context }) {
292
- const coverageIndex = snapshot.document;
293
- for (const entry of coverageIndex.entries) {
294
- if (entry.coverage_status === "mapped" || entry.legacy_reference) {
295
- resolveClassificationWithCoverage({ root, system: String(coverageIndex.classification_system).toLowerCase(),
296
- version: String(coverageIndex.classification_version), code: String(entry.code), coverageIndex, context });
297
- }
298
- }
299
- }
300
-
301
- function resolveClassificationWithCoverage({ root, system, version, code, coverageIndex, context = null }) {
302
- const coverage = coverageIndex.entries.find(
303
- (candidate) => String(candidate.code) === String(code),
304
- );
305
- if (!coverage) {
306
- throw new PcrClassificationCodeUnknownError({ system, version, code });
307
- }
308
- if (coverage.coverage_status === "mapped") {
309
- const canonical = readCanonicalClassificationMapping({
310
- root,
311
- system,
312
- version,
313
- code,
314
- });
315
- assertCoverageMappingMatchesCanonical({ coverage, canonical, system, version, code });
316
- const pcr = getPcrById({ root, pcrId: canonical.mapping.pcr_id, context });
317
- if (pcr.record_kind !== "methodology") {
318
- throw invalidCoverageResolution({
319
- system,
320
- version,
321
- code,
322
- issue: `mapped coverage points to non-material PCR ${pcr.id}`,
323
- });
324
- }
325
- return {
326
- classification_system: canonical.mappingFile.classification_system,
327
- classification_version: canonical.mappingFile.classification_version,
328
- mapping: canonical.mapping,
329
- pcr,
330
- resolution_status: "mapped",
331
- coverage_status: coverage.coverage_status,
332
- coverage,
333
- };
334
- }
335
-
336
- if (coverage.legacy_reference) {
337
- const canonical = readCanonicalClassificationMapping({
338
- root,
339
- system,
340
- version,
341
- code,
342
- });
343
- if (canonical.mapping.pcr_id !== coverage.legacy_reference.pcr_id) {
344
- throw invalidCoverageResolution({
345
- system,
346
- version,
347
- code,
348
- issue: `legacy reference ${coverage.legacy_reference.pcr_id} does not match canonical mapping ${canonical.mapping.pcr_id}`,
349
- });
350
- }
351
- const pcr = getPcrById({ root, pcrId: canonical.mapping.pcr_id, context });
352
- if (pcr.record_kind !== "legacy_scaffold_reference") {
353
- throw invalidCoverageResolution({
354
- system,
355
- version,
356
- code,
357
- issue: `legacy reference points to material PCR ${pcr.id}`,
358
- });
359
- }
360
- return {
361
- classification_system: canonical.mappingFile.classification_system,
362
- classification_version: canonical.mappingFile.classification_version,
363
- mapping: canonical.mapping,
364
- pcr,
365
- resolution_status: "legacy_scaffold_compatibility",
366
- coverage_status: coverage.coverage_status,
367
- coverage,
368
- };
369
- }
370
-
371
- return {
372
- classification_system: String(coverageIndex.classification_system),
373
- classification_version: String(coverageIndex.classification_version),
374
- mapping: null,
375
- pcr: null,
376
- resolution_status: "unmapped",
377
- coverage_status: coverage.coverage_status,
378
- coverage,
379
- review_candidate:
380
- ["manual_review", "unknown"].includes(coverage.coverage_status) && coverage.mapping
381
- ? structuredClone(coverage.mapping)
382
- : null,
383
- };
384
- }
385
-
386
- function readCanonicalClassificationMapping({ root, system, version, code }) {
387
- const normalizedRoot = path.resolve(root);
388
- const mappingPath = path.join(
389
- normalizedRoot,
390
- "classifications/mappings",
391
- `${system}-${version}-to-pcr.yaml`,
392
- );
393
- const mappingRelativePath = toPosix(path.relative(normalizedRoot, mappingPath));
394
- let mappingFile;
395
- try {
396
- const mappingBytes = pcrSource(root)?.readFile(mappingRelativePath) ?? readControlledRepositoryFileBytes({
397
- root: normalizedRoot,
398
- filePath: mappingPath,
399
- relativePath: mappingRelativePath,
400
- label: "classification mapping",
401
- });
402
- mappingFile = parseYaml(new TextDecoder("utf-8", { fatal: true }).decode(mappingBytes));
403
- } catch (error) {
404
- if (error instanceof PcrClassificationMappingError) {
405
- throw error;
406
- }
407
- throw new PcrClassificationMappingError({
408
- system,
409
- version,
410
- code,
411
- issue:
412
- `canonical mapping source ${mappingRelativePath} could not be read safely ` +
413
- `(${error instanceof Error ? error.message : String(error)})`,
414
- });
415
- }
416
- assertCurrentAcceptedMappingDocument({ mappingFile, system, version, code });
417
- const matches = (mappingFile.mappings ?? []).filter(
418
- (entry) => String(entry.code) === String(code),
419
- );
420
- if (matches.length === 0) {
421
- throw new Error(`No PCR mapping found for ${system}:${version}:${code}`);
422
- }
423
- if (matches.length !== 1) {
424
- throw new PcrClassificationMappingError({
425
- system,
426
- version,
427
- code,
428
- issue: `expected one selected edge, found ${matches.length}`,
429
- });
430
- }
431
- const mapping = matches[0];
432
- if (
433
- !CLASSIFICATION_MAPPING_RELATIONS.has(mapping.mapping_type)
434
- || mapping.mapping_type === "manual_review"
435
- ) {
436
- throw new PcrClassificationMappingError({
437
- system,
438
- version,
439
- code,
440
- mappingType: mapping.mapping_type,
441
- });
442
- }
443
- assertAcceptedMappingDecision({ mapping, system, version, code });
444
- return { mappingFile, mapping };
445
- }
446
-
447
- function assertCurrentAcceptedMappingDocument({ mappingFile, system, version, code }) {
448
- if (mappingFile?.schema_version !== 2 || mappingFile?.status !== "current") {
449
- throw new PcrClassificationMappingError({
450
- system,
451
- version,
452
- code,
453
- issue:
454
- `expected schema_version 2 with status current, found ` +
455
- `${String(mappingFile?.schema_version)}/${String(mappingFile?.status)}`,
456
- });
457
- }
458
- if (
459
- String(mappingFile.classification_system).toLowerCase() !== String(system).toLowerCase()
460
- || String(mappingFile.classification_version) !== String(version)
461
- || !Array.isArray(mappingFile.mappings)
462
- ) {
463
- throw new PcrClassificationMappingError({
464
- system,
465
- version,
466
- code,
467
- issue: "mapping document coordinate or mappings array does not match the requested classification",
468
- });
469
- }
470
- }
471
-
472
- function assertAcceptedMappingDecision({ mapping, system, version, code }) {
473
- const acceptance = mapping?.acceptance;
474
- if (
475
- acceptance?.status !== "accepted"
476
- || typeof acceptance?.decided_by !== "string"
477
- || acceptance.decided_by.trim().length === 0
478
- || !isRealCanonicalUtcTimestamp(acceptance?.decided_at_utc)
479
- || typeof acceptance?.decision_ref !== "string"
480
- || !/^(?:docs|classifications\/migrations)\/[A-Za-z0-9][A-Za-z0-9._/-]*\.(?:md|ya?ml|json)(?:#[A-Za-z0-9][A-Za-z0-9._-]*)?$/u.test(
481
- acceptance.decision_ref,
482
- )
483
- ) {
484
- throw new PcrClassificationMappingError({
485
- system,
486
- version,
487
- code,
488
- mappingType: mapping?.mapping_type,
489
- issue:
490
- "selected edge requires acceptance.status=accepted, decided_by, strict decided_at_utc, and decision_ref",
491
- });
492
- }
493
- }
494
-
495
- function isRealCanonicalUtcTimestamp(value) {
496
- const match = typeof value === "string"
497
- ? /^([0-9]{4})-(0[1-9]|1[0-2])-(0[1-9]|[12][0-9]|3[01])T([01][0-9]|2[0-3]):([0-5][0-9]):([0-5][0-9])(?:\.[0-9]+)?Z$/u.exec(value)
498
- : null;
499
- if (!match) {
500
- return false;
501
- }
502
- const [, year, month, day, hour, minute, second] = match.map(Number);
503
- const parsed = new Date(0);
504
- parsed.setUTCFullYear(year, month - 1, day);
505
- parsed.setUTCHours(hour, minute, second, 0);
506
- return (
507
- parsed.getUTCFullYear() === year
508
- && parsed.getUTCMonth() === month - 1
509
- && parsed.getUTCDate() === day
510
- && parsed.getUTCHours() === hour
511
- && parsed.getUTCMinutes() === minute
512
- && parsed.getUTCSeconds() === second
513
- );
514
- }
515
-
516
- function assertCoverageMappingMatchesCanonical({ coverage, canonical, system, version, code }) {
517
- const coverageMapping = coverage.mapping;
518
- const canonicalMapping = canonical.mapping;
519
- for (const field of ["pcr_id", "mapping_type", "confidence"]) {
520
- if (String(coverageMapping?.[field]) !== String(canonicalMapping?.[field])) {
521
- throw invalidCoverageResolution({
522
- system,
523
- version,
524
- code,
525
- issue: `coverage mapping ${field} ${String(coverageMapping?.[field])} does not match canonical mapping ${String(canonicalMapping?.[field])}`,
526
- });
527
- }
528
- }
529
- for (const field of ["status", "decided_by", "decided_at_utc", "decision_ref"]) {
530
- if (
531
- String(coverageMapping?.acceptance?.[field])
532
- !== String(canonicalMapping?.acceptance?.[field])
533
- ) {
534
- throw invalidCoverageResolution({
535
- system,
536
- version,
537
- code,
538
- issue:
539
- `coverage mapping acceptance.${field} ${String(coverageMapping?.acceptance?.[field])} ` +
540
- `does not match canonical mapping ${String(canonicalMapping?.acceptance?.[field])}`,
541
- });
542
- }
543
- }
544
- }
545
-
546
- function invalidCoverageResolution({ system, version, code, issue }) {
547
- return new PcrClassificationCoverageSemanticError({
548
- system,
549
- version,
550
- source: `classifications/indexes/${system}-${version}-coverage.json`,
551
- issues: [`entry ${code}: ${issue}`],
552
- });
553
- }
554
-
555
- /**
556
- * Resolve a PCR identity without silently following a retired id. Alias
557
- * lookup intentionally happens before catalog lookup, including while the
558
- * old scaffold directory still exists during a staged migration.
559
- */
560
- export function resolvePcrIdentity({ root, pcrId, context = null }) {
561
- const readRoot = root ?? context?.root;
562
- const normalizedPcrId = String(pcrId);
563
- const alias = findPcrIdAlias({ root: readRoot, pcrId: normalizedPcrId, context });
564
- if (alias) {
565
- return {
566
- resolution_status: "legacy_id_redirect",
567
- requested_pcr_id: normalizedPcrId,
568
- redirect: legacyPcrIdRedirect(alias),
569
- pcr: null,
570
- };
571
- }
572
- return {
573
- resolution_status: "canonical",
574
- requested_pcr_id: normalizedPcrId,
575
- redirect: null,
576
- pcr: getCurrentPcrSnapshotUnchecked({ root: readRoot, pcrId: normalizedPcrId, context }).pcr,
577
- };
578
- }
579
-
580
- function legacyPcrIdRedirect(alias) {
581
- return {
582
- source_pcr_id: alias.source_pcr_id,
583
- source_pcr_path: alias.source_pcr_path,
584
- target: structuredClone(alias.target),
585
- reason: alias.reason,
586
- decision_ref: alias.decision_ref,
587
- next_command: nextCommandForLegacyPcrAlias(alias.target),
588
- };
589
- }
590
-
591
- function nextCommandForLegacyPcrAlias(target) {
592
- if (target.kind === "classification_coverage") {
593
- return (
594
- "npm --silent run tiangong-pcr -- resolve --classification " +
595
- `${target.classification_system}:${target.classification_version}:${target.code} --format json`
596
- );
597
- }
598
- return (
599
- "npm --silent run tiangong-pcr -- resolve --pcr " +
600
- `${target.pcr_id} --format json`
601
- );
602
- }
603
-
604
- function throwIfLegacyPcrId({ root, pcrId, context = null }) {
605
- const alias = findPcrIdAlias({ root, pcrId: String(pcrId), context });
606
- if (alias) {
607
- throw new PcrLegacyIdRedirectError(alias);
608
- }
609
- }
610
-
611
- export function getPcrById({ root, pcrId, refresh = false, context = null }) {
612
- return getCurrentPcrSnapshot({ root: root ?? context?.root, pcrId, refresh, context }).pcr;
613
- }
614
-
615
- export function getPcrReadiness({ root, pcrId, refresh = false, context = null }) {
616
- return structuredClone(getPcrById({ root: root ?? context?.root, pcrId, refresh, context }).readiness);
617
- }
618
-
619
- export function readPcrMarkdown({ root, pcrId, language = "en-US", context = null }) {
620
- const readRoot = root ?? context?.root;
621
- const snapshot = getCurrentPcrSnapshot({ root: readRoot, pcrId, context });
622
- if (pcrSource(readRoot) && !pcrSource(readRoot).languages.includes(language)) {
623
- throw Object.assign(new Error(`Offline library contains English only; requested ${language}. Use --lang en-US.`), { code: "PCR_LIBRARY_LANGUAGE_UNAVAILABLE" });
624
- }
625
- const markdownName = `pcr.${language}.md`;
626
- const markdownPath = path.join(readRoot, snapshot.pcr.path, markdownName);
627
- const artifact = snapshot.artifacts[markdownName];
628
- if (!artifact?.bytes) {
629
- throw new Error(`PCR Markdown not found: ${toPosix(path.relative(readRoot, markdownPath))}`);
630
- }
631
- return artifact.bytes.toString("utf8");
632
- }
633
-
634
- /** A complete current document, read once through the same integrity boundary as guidance. */
635
- export function readPcrDocumentBundle({ root, pcrId, context = null }) {
636
- root = root ?? context?.root;
637
- const snapshot = getCurrentPcrSnapshot({ root, pcrId, context });
638
- const { pcr, manifest, manifestBytes, structured } = snapshot;
639
- assertPcrUsable({ pcr, operation: "guidance" });
640
- const languages = pcrSource(root)?.languages ?? declaredPcrLanguages(manifest);
641
- if (![1, 2].includes(manifest.schema_version)) throw new Error(`Unsupported document manifest schema: ${manifest.schema_version}`);
642
- for (const language of languages) if (typeof manifest.title?.[language] !== "string" || !manifest.title[language].trim()) throw new Error(`Document requires a nonempty ${language} title.`);
643
- const artifacts = {};
644
- const decoder = new TextDecoder("utf-8", { fatal: true });
645
- for (const name of ["manifest.yaml", ...(pcrSource(root) ? [...languages.map((language) => `pcr.${language}.md`), "structured.yaml"] : pcrArtifactFiles(manifest))]) {
646
- const bytes = name === "manifest.yaml" ? manifestBytes : snapshot.artifacts[name]?.bytes;
647
- if (!bytes) throw new Error(`PCR document artifact is unavailable: ${pcr.path}/${name}`);
648
- // A copy prevents consumers from changing a cached snapshot through Buffer aliasing.
649
- const copy = Buffer.from(bytes);
650
- const text = decoder.decode(copy);
651
- if (!text.trim()) throw new Error(`PCR document artifact is empty: ${pcr.path}/${name}`);
652
- artifacts[name] = {
653
- path: `${pcr.path}/${name}`,
654
- bytes: copy,
655
- text,
656
- sha256: exactByteSha256(copy),
657
- };
658
- }
659
- return {
660
- schema_version: 1,
661
- workspace: "current",
662
- pcr: structuredClone(pcr),
663
- manifest: structuredClone(manifest),
664
- structured: structuredClone(structured),
665
- languages,
666
- artifacts,
667
- };
668
- }
669
-
670
- /** Complete referenced legacy module source; scaffold status remains explicit. */
671
- export function readPcrModuleDocumentBundle({ root, group, moduleId }) {
672
- for (const value of [group, moduleId]) if (typeof value !== "string" || !/^[a-z0-9]+(?:-[a-z0-9]+)*$/u.test(value)) throw new Error("Invalid PCR module identity.");
673
- const relativePath = `library/modules/${group}/${moduleId}.md`;
674
- const filePath = path.join(root, relativePath);
675
- const read = () => pcrSource(root)?.readFile(relativePath) ?? readControlledRepositoryFileBytes({ root, filePath, relativePath, label: "PCR module" });
676
- const bytes = read();
677
- const text = new TextDecoder("utf-8", { fatal: true }).decode(bytes);
678
- const envelope = /^---\r?\n([\s\S]*?)\r?\n---(?:\r?\n|$)/u.exec(text);
679
- if (!envelope) throw new Error(`Module requires frontmatter: ${relativePath}`);
680
- const frontmatter = parseYaml(envelope[1]);
681
- if (frontmatter.id !== `module.${group}.${moduleId}` || frontmatter.module_type !== group) throw new Error(`Module identity mismatch: ${relativePath}`);
682
- if (!text.slice(envelope[0].length).trim()) throw new Error(`Module body is empty: ${relativePath}`);
683
- if (!bytes.equals(read())) throw new Error(`Module changed during read: ${relativePath}`);
684
- return { frontmatter, language: frontmatter.language ?? "en-US", artifact: { path: relativePath, bytes: Buffer.from(bytes), text, sha256: exactByteSha256(bytes) } };
685
- }
686
-
687
- export function buildGuidance({ root, pcrId, context = null }) {
688
- return buildGuidanceForOperation({ root: root ?? context?.root, pcrId, operation: "guidance", context });
689
- }
690
-
691
- export function getVerifiedPcrProjection({ root, pcrId, context = null }) {
692
- root = root ?? context?.root;
693
- const snapshot = getCurrentPcrSnapshot({ root, pcrId, context });
694
- const { pcr, structured, structuredPath } = snapshot;
695
- assertPcrUsable({ pcr, operation: "guidance" });
696
- if (!structured) {
697
- throw new Error(
698
- `PCR ${pcrId} passed readiness without a verified structured projection.`,
699
- );
700
- }
701
- return {
702
- pcr: structuredClone(pcr),
703
- readiness: structuredClone(pcr.readiness),
704
- source_structured: toPosix(path.relative(root, structuredPath)),
705
- structured: structuredClone(structured),
706
- };
707
- }
708
-
709
- function buildGuidanceForOperation({ root, pcrId, operation, context = null }) {
710
- const snapshot = getCurrentPcrSnapshot({ root, pcrId, context });
711
- const { pcr, structured, structuredPath } = snapshot;
712
- assertPcrUsable({ pcr, operation });
713
- if (!structured) {
714
- throw new Error(
715
- `PCR ${pcrId} passed readiness without a verified structured projection.`,
716
- );
717
- }
718
- const guidance = {
719
- schema_version: 1,
720
- guidance_kind: "tiangong-pcr-agent-guidance",
721
- pcr,
722
- readiness: structuredClone(pcr.readiness),
723
- source_structured: toPosix(path.relative(root, structuredPath)),
724
- system_boundary: structured.system_boundary ?? {},
725
- reference_flow: structured.reference_flow_definition ?? {},
726
- boundary_abstraction: structured.boundary_abstraction ?? {},
727
- measurement_rules: structured.measurement_rules ?? structured.unit_conventions ?? [],
728
- process_map: structured.process_map ?? [],
729
- process_inventory: structured.process_inventory ?? [],
730
- production_guidance: {
731
- collection_protocols: structured.dataset_production?.collection_protocols ?? [],
732
- calculation_rules: structured.dataset_production?.calculation_rules ?? [],
733
- data_quality_requirements: structured.dataset_production?.data_quality_requirements ?? [],
734
- },
735
- published_dataset_profile: structured.published_dataset_profile ?? {},
736
- allocation_rules: structured.allocation_rules ?? [],
737
- data_quality_rules: structured.data_quality_rules ?? [],
738
- validation_rules: structured.validation_rules ?? [],
739
- data_sources: structured.data_sources ?? [],
740
- validation_notes: [
741
- "Use this guidance for LCA data authoring, optional TIDAS process authoring, or Agent-led review of existing process/model data. Select requirements for the declared scope.",
742
- "Preserve PCR-derived UUID identities exactly. They are version-free suggestions; preserve and verify explicit versions on supplied TIDAS dataset references.",
743
- "validate-model checks qualifier text presence; validate-dataset checks collection protocol ID presence. Neither performs TIDAS schema validation or semantic review. Use inspect and review prepare/check to support Agent-led review; a foreground package is optional.",
744
- ],
745
- };
746
- assertCoreContract("guidance-output.schema.json", guidance, {
747
- code: "PCR_INTERNAL_CONTRACT_INVALID",
748
- entityKind: "Agent guidance output",
749
- source: toPosix(path.relative(root, structuredPath)),
750
- });
751
- return guidance;
752
- }
753
-
754
- export function createFeedbackDraft({
755
- root,
756
- pcrId,
757
- type,
758
- affectedSection = "",
759
- processId = "",
760
- flowRole = "",
761
- summary = "",
762
- evidence = "",
763
- proposedChange = "",
764
- agent = "tiangong-pcr",
765
- }) {
766
- if (!FEEDBACK_TYPES.includes(type)) {
767
- throw new Error(`Unsupported feedback type: ${type}`);
768
- }
769
- const pcr = pcrId ? getPcrById({ root, pcrId }) : null;
770
- const title = `PCR feedback: ${type}${pcrId ? ` for ${pcrId}` : ""}`;
771
- const body = `## Summary
772
-
773
- ${summary || "Describe the PCR issue or improvement."}
774
-
775
- ## Feedback metadata
776
-
777
- | Field | Value |
778
- | --- | --- |
779
- | PCR id | ${pcrId || ""} |
780
- | PCR version | ${pcr?.version ?? ""} |
781
- | Feedback type | ${type} |
782
- | Affected section | ${affectedSection} |
783
- | Affected process_id | ${processId} |
784
- | Affected flow role | ${flowRole} |
785
- | Generated by | ${agent} |
786
-
787
- ## Current PCR text or rule excerpt
788
-
789
-
790
- ## Proposed change
791
-
792
- ${proposedChange}
793
-
794
- ## Evidence sources
795
-
796
- ${evidence}
797
-
798
- ## Impact on foreground data package construction
799
-
800
-
801
- ## Maintainer intake checklist
802
-
803
- - [ ] Classify the feedback as PCR content, classification mapping, UUID identity, translation, source evidence, or CLI/validator behavior.
804
- - [ ] Verify cited evidence and Tiangong UUID references before changing PCR content.
805
- - [ ] Update canonical \`pcr.en-US.md\` first when methodology changes.
806
- - [ ] Align \`pcr.zh-CN.md\` when user-facing text changes.
807
- - [ ] Run \`npm run pcr:sync-structured -- --pcr <library/pcrs/...>\` when canonical Markdown changes.
808
- - [ ] Bump or publish the PCR manifest if lifecycle state changes.
809
- `;
810
-
811
- const draft = { title, body };
812
- assertCoreContract("feedback-draft-output.schema.json", draft, {
813
- code: "PCR_INTERNAL_CONTRACT_INVALID",
814
- entityKind: "PCR feedback issue draft output",
815
- });
816
- return draft;
817
- }
818
-
819
- export function validateModelAgainstGuidance({ root, pcrId, model }) {
820
- const guidance = buildGuidanceForOperation({ root, pcrId, operation: "validation" });
821
- const findings = [];
822
- const accepted = validateCoreContract("model-validation-input.schema.json", model).valid;
823
- const text = typeof model === "string" ? model : accepted ? JSON.stringify(model) : "";
824
- const checksPerformed = [];
825
- const checksSkipped = [];
826
-
827
- if (!accepted) {
828
- findings.push({
829
- severity: "error",
830
- code: "invalid_model_input",
831
- message: "Model input must be text or a JSON object.",
832
- });
833
- }
834
-
835
- const requiredQualifiers = asArray(guidance.reference_flow.required_qualifiers);
836
- if (accepted && requiredQualifiers.length > 0) {
837
- checksPerformed.push(performedCheck(
838
- "required_qualifier_presence",
839
- "reference_flow.required_qualifiers",
840
- requiredQualifiers.length,
841
- ));
842
- for (const qualifier of requiredQualifiers) {
843
- if (!text.toLowerCase().includes(String(qualifier).toLowerCase())) {
844
- findings.push({
845
- severity: "warning",
846
- code: "missing_required_qualifier",
847
- message: `Model text does not mention required qualifier: ${qualifier}`,
848
- });
849
- }
850
- }
851
- }
852
-
853
- if (accepted) {
854
- addSkippedCheck(
855
- checksSkipped,
856
- "system_boundary_rules",
857
- "system_boundary.rules",
858
- asArray(guidance.system_boundary?.rules).length,
859
- );
860
- addSkippedCheck(
861
- checksSkipped,
862
- "boundary_abstraction",
863
- "boundary_abstraction",
864
- topLevelRequirementCount(guidance.boundary_abstraction),
865
- );
866
- addSkippedCheck(
867
- checksSkipped,
868
- "reference_flow_definition",
869
- "reference_flow",
870
- topLevelRequirementCount(guidance.reference_flow, ["required_qualifiers"]),
871
- );
872
- addSkippedCheck(checksSkipped, "measurement_rules", "measurement_rules", asArray(guidance.measurement_rules).length);
873
- addSkippedCheck(checksSkipped, "process_map", "process_map", asArray(guidance.process_map).length);
874
- addSkippedCheck(checksSkipped, "process_inventory", "process_inventory", countInventoryRows(guidance.process_inventory));
875
- addSkippedCheck(
876
- checksSkipped,
877
- "collection_protocols",
878
- "production_guidance.collection_protocols",
879
- asArray(guidance.production_guidance.collection_protocols).length,
880
- );
881
- addSkippedCheck(
882
- checksSkipped,
883
- "calculation_rules",
884
- "production_guidance.calculation_rules",
885
- asArray(guidance.production_guidance.calculation_rules).length,
886
- );
887
- addSkippedCheck(
888
- checksSkipped,
889
- "data_quality_requirements",
890
- "production_guidance.data_quality_requirements",
891
- asArray(guidance.production_guidance.data_quality_requirements).length,
892
- );
893
- addSkippedCheck(checksSkipped, "data_quality_rules", "data_quality_rules", asArray(guidance.data_quality_rules).length);
894
- addSkippedCheck(checksSkipped, "allocation_rules", "allocation_rules", asArray(guidance.allocation_rules).length);
895
- addSkippedCheck(checksSkipped, "validation_rules", "validation_rules", asArray(guidance.validation_rules).length);
896
- addSkippedCheck(
897
- checksSkipped,
898
- "published_dataset_profile",
899
- "published_dataset_profile",
900
- topLevelRequirementCount(guidance.published_dataset_profile),
901
- );
902
- }
903
-
904
- return buildValidationReport({
905
- validationKind: "tiangong-pcr-model-validation",
906
- guidance,
907
- input: {
908
- input_kind: "process_or_lifecyclemodel",
909
- representation: typeof model === "string" ? "text" : Array.isArray(model) ? "array" : typeof model,
910
- accepted,
911
- },
912
- findings,
913
- checksPerformed,
914
- checksSkipped,
915
- });
916
- }
917
-
918
- export function validateDatasetAgainstGuidance({ root, pcrId, dataset }) {
919
- const guidance = buildGuidanceForOperation({ root, pcrId, operation: "validation" });
920
- const findings = [];
921
- const accepted = validateCoreContract("dataset-validation-input.schema.json", dataset).valid;
922
- const checksPerformed = [];
923
- const checksSkipped = [];
924
- const records = accepted ? collectionRecordArrays(dataset) : [];
925
- const requiredProtocolIds = asArray(guidance.production_guidance.collection_protocols)
926
- .map((protocol) => protocol.protocol_id)
927
- .filter(Boolean);
928
- const presentProtocolIds = accepted ? collectCollectionRecordProtocolIds(dataset) : new Set();
929
-
930
- if (!accepted) {
931
- findings.push({
932
- severity: "error",
933
- code: "invalid_dataset_input",
934
- message: "Foreground data package input must be a JSON object.",
935
- });
936
- }
937
-
938
- if (accepted && requiredProtocolIds.length > 0) {
939
- checksPerformed.push(performedCheck(
940
- "collection_protocol_presence",
941
- "production_guidance.collection_protocols",
942
- requiredProtocolIds.length,
943
- ));
944
- for (const protocolId of requiredProtocolIds) {
945
- if (!presentProtocolIds.has(String(protocolId))) {
946
- findings.push({
947
- severity: "error",
948
- code: "missing_collection_protocol_record",
949
- message: `Foreground data package is missing collection record for protocol_id ${protocolId}`,
950
- });
951
- }
952
- }
953
- }
954
-
955
- if (accepted) {
956
- addSkippedCheck(
957
- checksSkipped,
958
- "system_boundary_rules",
959
- "system_boundary.rules",
960
- asArray(guidance.system_boundary?.rules).length,
961
- );
962
- addSkippedCheck(
963
- checksSkipped,
964
- "boundary_abstraction",
965
- "boundary_abstraction",
966
- topLevelRequirementCount(guidance.boundary_abstraction),
967
- );
968
- addSkippedCheck(
969
- checksSkipped,
970
- "reference_flow_rules",
971
- "reference_flow",
972
- topLevelRequirementCount(guidance.reference_flow, ["required_qualifiers"]) +
973
- asArray(guidance.reference_flow?.required_qualifiers).length,
974
- );
975
- addSkippedCheck(checksSkipped, "measurement_rules", "measurement_rules", asArray(guidance.measurement_rules).length);
976
- addSkippedCheck(checksSkipped, "process_map", "process_map", asArray(guidance.process_map).length);
977
- addSkippedCheck(checksSkipped, "process_inventory", "process_inventory", countInventoryRows(guidance.process_inventory));
978
- addSkippedCheck(
979
- checksSkipped,
980
- "calculation_rules",
981
- "production_guidance.calculation_rules",
982
- asArray(guidance.production_guidance.calculation_rules).length,
983
- );
984
- addSkippedCheck(
985
- checksSkipped,
986
- "data_quality_requirements",
987
- "production_guidance.data_quality_requirements",
988
- asArray(guidance.production_guidance.data_quality_requirements).length,
989
- );
990
- addSkippedCheck(checksSkipped, "data_quality_rules", "data_quality_rules", asArray(guidance.data_quality_rules).length);
991
- addSkippedCheck(checksSkipped, "allocation_rules", "allocation_rules", asArray(guidance.allocation_rules).length);
992
- addSkippedCheck(checksSkipped, "validation_rules", "validation_rules", asArray(guidance.validation_rules).length);
993
- addSkippedCheck(
994
- checksSkipped,
995
- "published_dataset_profile",
996
- "published_dataset_profile",
997
- topLevelRequirementCount(guidance.published_dataset_profile),
998
- );
999
- }
1000
-
1001
- return buildValidationReport({
1002
- validationKind: "tiangong-pcr-dataset-validation",
1003
- guidance,
1004
- input: {
1005
- input_kind: "foreground_data_package",
1006
- representation: Array.isArray(dataset) ? "array" : dataset === null ? "null" : typeof dataset,
1007
- accepted,
1008
- collection_record_count: records.length,
1009
- distinct_protocol_id_count: presentProtocolIds.size,
1010
- },
1011
- findings,
1012
- checksPerformed,
1013
- checksSkipped,
1014
- });
1015
- }
1016
-
1017
- function collectCollectionRecordProtocolIds(dataset) {
1018
- if (typeof dataset === "string") {
1019
- return new Set();
1020
- }
1021
- const ids = new Set();
1022
- for (const record of collectionRecordArrays(dataset)) {
1023
- const protocolId = record?.protocol_id ?? record?.collection_protocol_id;
1024
- if (protocolId) {
1025
- ids.add(String(protocolId));
1026
- }
1027
- }
1028
- return ids;
1029
- }
1030
-
1031
- function collectionRecordArrays(value) {
1032
- if (!value || typeof value !== "object") {
1033
- return [];
1034
- }
1035
- const records = [];
1036
- for (const key of ["collection_records", "foreground_records", "measurement_records"]) {
1037
- if (Array.isArray(value[key])) {
1038
- records.push(...value[key]);
1039
- }
1040
- }
1041
- if (value.data && typeof value.data === "object") {
1042
- records.push(...collectionRecordArrays(value.data));
1043
- }
1044
- return records;
1045
- }
1046
-
1047
- function currentPcrEntry(root, entry) {
1048
- return currentPcrSnapshot(root, entry).pcr;
1049
- }
1050
-
1051
- function getCurrentPcrSnapshot({ root, pcrId, refresh = false, context = null }) {
1052
- throwIfLegacyPcrId({ root, pcrId, context });
1053
- return getCurrentPcrSnapshotUnchecked({ root, pcrId, refresh, context });
1054
- }
1055
-
1056
- export function readPcrDistributionCatalog({ root }) {
1057
- return readPcrCatalog(path.resolve(root));
1058
- }
1059
-
1060
- // Builder-only: preserves legacy catalog records without following alias redirects.
1061
- export function readPcrDistributionSnapshot(options) {
1062
- return getCurrentPcrSnapshotUnchecked(options);
1063
- }
1064
-
1065
- function getCurrentPcrSnapshotUnchecked({ root, pcrId, refresh = false, context = null }) {
1066
- if (pcrSource(root)) {
1067
- const entry = pcrSource(root).entry(pcrId);
1068
- if (!entry) throw new Error(`PCR not found: ${pcrId}`);
1069
- return currentPcrSnapshot(root, entry);
1070
- }
1071
- const normalizedRoot = path.resolve(root);
1072
- if (context) {
1073
- assertPcrReadContextFresh({ context, root: normalizedRoot });
1074
- }
1075
- const catalog = context
1076
- ? getPcrReadContextCatalog({
1077
- context,
1078
- root: normalizedRoot,
1079
- readCatalog: readPcrCatalog,
1080
- })
1081
- : getPcrCatalog({ root: normalizedRoot, refresh });
1082
- const entry = context
1083
- ? catalog.get(pcrId)
1084
- : catalog.find((candidate) => candidate.id === pcrId);
1085
- if (!entry) {
1086
- throw new Error(`PCR not found: ${pcrId}`);
1087
- }
1088
- return currentPcrSnapshot(normalizedRoot, entry, context);
1089
- }
1090
-
1091
- function currentPcrSnapshot(root, entry, context = null) {
1092
- const snapshotFiles = pcrSource(root)?.snapshotFiles(entry) ?? readConsistentSnapshotFiles({ root, entry, context });
1093
- const pcr = pcrFromManifest({
1094
- root,
1095
- pcrDir: path.dirname(entry.manifestPath),
1096
- manifest: snapshotFiles.manifest,
1097
- });
1098
- let projection;
1099
- try {
1100
- projection = inspectPcrProjection({
1101
- root,
1102
- pcr,
1103
- manifest: snapshotFiles.manifest,
1104
- artifacts: snapshotFiles.artifacts,
1105
- });
1106
- } catch (error) {
1107
- projection = failedProjectionInspection({ root, pcr, error });
1108
- }
1109
- pcr.readiness = assessPcrReadiness({
1110
- pcr,
1111
- projectionFingerprint: projection.fingerprint,
1112
- structuredAvailable: projection.structuredAvailable,
1113
- projectionCompletenessIssues: projection.completenessIssues,
1114
- });
1115
- return {
1116
- pcr,
1117
- manifest: snapshotFiles.manifest,
1118
- manifestBytes: snapshotFiles.manifestBytes,
1119
- artifacts: snapshotFiles.artifacts,
1120
- ...projection,
1121
- };
1122
- }
1123
-
1124
- function readConsistentSnapshotFiles({ root, entry, context = null }) {
1125
- let lastFailure = null;
1126
- for (let attempt = 1; attempt <= CURRENT_SNAPSHOT_MAX_ATTEMPTS; attempt += 1) {
1127
- try {
1128
- const locationA = assertCurrentSnapshotLocation({ root, entry });
1129
- const manifestABytes = readCanonicalFileBytes(locationA.manifestPath);
1130
- const manifest = parseYaml(manifestABytes.toString("utf8"));
1131
- if (manifest.id !== entry.id) {
1132
- throw snapshotAttemptError(
1133
- "manifest_identity_changed",
1134
- `Expected PCR id ${entry.id}, found ${String(manifest.id)}.`,
1135
- { expected_pcr_id: entry.id, actual_pcr_id: manifest.id ?? null },
1136
- );
1137
- }
1138
-
1139
- const managedMarkersA = currentManagedStateMarkers(locationA.pcrDir);
1140
- assertManagedSnapshotHashesDeclared({ manifest, managedMarkers: managedMarkersA });
1141
- const artifacts = Object.fromEntries(
1142
- pcrArtifactFiles(manifest, { strict: false }).map((filename) => [
1143
- filename,
1144
- readObservedPcrArtifact({ root, context, pcrDir: locationA.pcrDir, filename }),
1145
- ]),
1146
- );
1147
- const releaseFailures = releaseArtifactFailures({ manifest, artifacts });
1148
- const locationB = assertCurrentSnapshotLocation({ root, entry });
1149
- const managedMarkersB = currentManagedStateMarkers(locationB.pcrDir);
1150
- if (!sameStrings(managedMarkersA, managedMarkersB)) {
1151
- throw snapshotAttemptError(
1152
- "managed_state_changed_during_read",
1153
- "PCR managed release state changed while its current snapshot was being read.",
1154
- {
1155
- managed_markers_before: managedMarkersA,
1156
- managed_markers_after: managedMarkersB,
1157
- },
1158
- );
1159
- }
1160
- const manifestBBytes = readCanonicalFileBytes(locationB.manifestPath);
1161
- if (!manifestABytes.equals(manifestBBytes)) {
1162
- throw snapshotAttemptError(
1163
- "manifest_changed_during_read",
1164
- "manifest.yaml changed while its current artifacts were being read.",
1165
- );
1166
- }
1167
- if (releaseFailures.length > 0) {
1168
- throw snapshotAttemptError(
1169
- "release_artifact_hash_mismatch",
1170
- "Current PCR artifacts do not match manifest.release_artifacts.",
1171
- { manifest_status: manifest.status ?? null, artifacts: releaseFailures },
1172
- );
1173
- }
1174
- return { manifest, manifestBytes: manifestABytes, artifacts };
1175
- } catch (error) {
1176
- lastFailure = snapshotFailureDetails(error);
1177
- }
1178
- }
1179
- throw new PcrCurrentSnapshotInconsistentError({
1180
- pcrId: entry.id,
1181
- pcrPath: entry.path,
1182
- attempts: CURRENT_SNAPSHOT_MAX_ATTEMPTS,
1183
- lastFailure,
1184
- });
1185
- }
1186
-
1187
- function readObservedPcrArtifact({ root, context, pcrDir, filename }) {
1188
- const artifactPath = path.join(pcrDir, filename);
1189
- if (context) {
1190
- observePcrReadContextArtifactRead({
1191
- context,
1192
- root,
1193
- relativePath: toPosix(path.relative(root, artifactPath)),
1194
- });
1195
- }
1196
- return readOptionalCanonicalFile(artifactPath);
1197
- }
1198
-
1199
- function releaseArtifactFailures({ manifest, artifacts }) {
1200
- if (!Object.hasOwn(manifest, "release_artifacts")) {
1201
- return [];
1202
- }
1203
- const expectedHashes = expectedPcrArtifactHashes(manifest);
1204
- const failures = [];
1205
- for (const [filename, expected] of Object.entries(expectedHashes)) {
1206
- const hashField = manifest.schema_version === 2 && filename !== "structured.yaml"
1207
- ? `markdown_sha256.${filename.slice(4, -3)}`
1208
- : Object.entries(RELEASE_ARTIFACTS).find(([, file]) => file === filename)?.[0];
1209
- const artifact = artifacts[filename];
1210
- if (!artifact?.bytes) {
1211
- failures.push({
1212
- artifact: filename,
1213
- hash_field: hashField,
1214
- expected: typeof expected === "string" ? expected : null,
1215
- actual: null,
1216
- reason: `artifact_unreadable:${errorCode(artifact?.error)}`,
1217
- });
1218
- continue;
1219
- }
1220
- const actual = exactByteSha256(artifact.bytes);
1221
- if (typeof expected !== "string" || expected !== actual) {
1222
- failures.push({
1223
- artifact: filename,
1224
- hash_field: hashField,
1225
- expected: typeof expected === "string" ? expected : null,
1226
- actual,
1227
- reason: "sha256_mismatch",
1228
- });
1229
- }
1230
- }
1231
- return failures;
1232
- }
1233
-
1234
- function assertManagedSnapshotHashesDeclared({ manifest, managedMarkers }) {
1235
- if (managedMarkers.length === 0 || Object.hasOwn(manifest, "release_artifacts")) {
1236
- return;
1237
- }
1238
- throw snapshotAttemptError(
1239
- "managed_release_artifacts_missing",
1240
- "Managed PCR current state requires manifest.release_artifacts and cannot use legacy snapshot semantics.",
1241
- {
1242
- manifest_status: manifest.status ?? null,
1243
- managed_markers: managedMarkers,
1244
- required_field: "manifest.release_artifacts",
1245
- required_hash_fields: Object.keys(RELEASE_ARTIFACTS),
1246
- },
1247
- );
1248
- }
1249
-
1250
- function currentManagedStateMarkers(pcrDir) {
1251
- return ["release-history.yaml", "releases"]
1252
- .filter((name) => pathEntryExists(path.join(pcrDir, name)))
1253
- .sort((left, right) => left.localeCompare(right));
1254
- }
1255
-
1256
- function pathEntryExists(targetPath) {
1257
- try {
1258
- lstatSync(targetPath);
1259
- return true;
1260
- } catch (error) {
1261
- if (error?.code === "ENOENT") {
1262
- return false;
1263
- }
1264
- throw error;
1265
- }
1266
- }
1267
-
1268
- function sameStrings(left, right) {
1269
- return left.length === right.length && left.every((value, index) => value === right[index]);
1270
- }
1271
-
1272
- function assertCurrentSnapshotLocation({ root, entry }) {
1273
- const normalizedRoot = path.resolve(root);
1274
- const pathSegments = String(entry.path).split("/");
1275
- if (
1276
- pathSegments.length !== 5 ||
1277
- pathSegments[0] !== "library" ||
1278
- pathSegments[1] !== "pcrs" ||
1279
- pathSegments.slice(2).some((segment) => !segment || segment === "." || segment === "..")
1280
- ) {
1281
- throw snapshotAttemptError(
1282
- "canonical_pcr_path_invalid",
1283
- "Cached PCR path is not a canonical domain/subdomain/leaf path.",
1284
- {
1285
- pcr_path: entry.path,
1286
- reason: "non_canonical_relative_path",
1287
- },
1288
- );
1289
- }
1290
-
1291
- const directoryPaths = [normalizedRoot];
1292
- for (const segment of pathSegments) {
1293
- directoryPaths.push(path.join(directoryPaths.at(-1), segment));
1294
- }
1295
-
1296
- let rootRealPath = null;
1297
- for (const [index, directoryPath] of directoryPaths.entries()) {
1298
- const relativePath = toPosix(path.relative(normalizedRoot, directoryPath)) || ".";
1299
- let stat;
1300
- try {
1301
- stat = lstatSync(directoryPath);
1302
- } catch (error) {
1303
- throw snapshotAttemptError(
1304
- "canonical_pcr_path_invalid",
1305
- `Canonical PCR directory is unavailable: ${relativePath}.`,
1306
- {
1307
- path_component: relativePath,
1308
- reason: `directory_unreadable:${errorCode(error)}`,
1309
- expected_type: "regular_directory",
1310
- },
1311
- );
1312
- }
1313
- if (stat.isSymbolicLink() || !stat.isDirectory()) {
1314
- throw snapshotAttemptError(
1315
- "canonical_pcr_path_invalid",
1316
- `Canonical PCR path component is not a regular directory: ${relativePath}.`,
1317
- {
1318
- path_component: relativePath,
1319
- reason: stat.isSymbolicLink() ? "symbolic_link" : "not_a_directory",
1320
- expected_type: "regular_directory",
1321
- },
1322
- );
1323
- }
1324
-
1325
- let realPath;
1326
- try {
1327
- realPath = realpathSync(directoryPath);
1328
- } catch (error) {
1329
- throw snapshotAttemptError(
1330
- "canonical_pcr_path_invalid",
1331
- `Canonical PCR directory cannot be resolved: ${relativePath}.`,
1332
- {
1333
- path_component: relativePath,
1334
- reason: `realpath_unavailable:${errorCode(error)}`,
1335
- expected_type: "regular_directory",
1336
- },
1337
- );
1338
- }
1339
- if (index === 0) {
1340
- rootRealPath = realPath;
1341
- } else if (!pathIsInside(rootRealPath, realPath)) {
1342
- throw snapshotAttemptError(
1343
- "canonical_pcr_path_invalid",
1344
- `Canonical PCR directory resolves outside the repository root: ${relativePath}.`,
1345
- {
1346
- path_component: relativePath,
1347
- reason: "realpath_outside_root",
1348
- expected_type: "regular_directory_within_root",
1349
- },
1350
- );
1351
- }
1352
- }
1353
-
1354
- const pcrDir = directoryPaths.at(-1);
1355
- const manifestPath = path.join(pcrDir, "manifest.yaml");
1356
- if (path.resolve(entry.manifestPath) !== manifestPath) {
1357
- throw snapshotAttemptError(
1358
- "canonical_pcr_path_invalid",
1359
- "Cached manifest path is not the direct manifest.yaml child of its canonical PCR leaf.",
1360
- {
1361
- pcr_path: entry.path,
1362
- reason: "manifest_not_direct_leaf_child",
1363
- },
1364
- );
1365
- }
1366
- return { manifestPath, pcrDir };
1367
- }
1368
-
1369
- function pathIsInside(rootPath, candidatePath) {
1370
- const relativePath = path.relative(rootPath, candidatePath);
1371
- return relativePath === "" || (!path.isAbsolute(relativePath) && relativePath !== ".." && !relativePath.startsWith(`..${path.sep}`));
1372
- }
1373
-
1374
- function exactByteSha256(bytes) {
1375
- return `sha256:${createHash("sha256").update(bytes).digest("hex")}`;
1376
- }
1377
-
1378
- function readOptionalCanonicalFile(filePath) {
1379
- try {
1380
- return { bytes: readCanonicalFileBytes(filePath), error: null };
1381
- } catch (error) {
1382
- return { bytes: null, error };
1383
- }
1384
- }
1385
-
1386
- function readControlledRepositoryFileBytes({ root, filePath, relativePath, label }) {
1387
- const normalizedRoot = path.resolve(root);
1388
- const normalizedFilePath = path.resolve(filePath);
1389
- const containedPath = path.relative(normalizedRoot, normalizedFilePath);
1390
- if (
1391
- containedPath.length === 0
1392
- || path.isAbsolute(containedPath)
1393
- || containedPath === ".."
1394
- || containedPath.startsWith(`..${path.sep}`)
1395
- ) {
1396
- throw new Error(`${label} path escapes the repository root: ${relativePath}`);
1397
- }
1398
-
1399
- const expectedRelativePath = toPosix(containedPath);
1400
- if (expectedRelativePath !== relativePath) {
1401
- throw new Error(`${label} path is not canonical: ${relativePath}`);
1402
- }
1403
-
1404
- const before = assertControlledRepositoryPath({
1405
- root: normalizedRoot,
1406
- containedPath,
1407
- relativePath,
1408
- label,
1409
- });
1410
- let descriptor;
1411
- try {
1412
- descriptor = openSync(
1413
- normalizedFilePath,
1414
- fsConstants.O_RDONLY
1415
- | (fsConstants.O_NOFOLLOW ?? 0)
1416
- | (fsConstants.O_NONBLOCK ?? 0),
1417
- );
1418
- const opened = fstatSync(descriptor);
1419
- if (!opened.isFile()) {
1420
- throw new Error(`${label} is not a regular file: ${relativePath}`);
1421
- }
1422
- const after = assertControlledRepositoryPath({
1423
- root: normalizedRoot,
1424
- containedPath,
1425
- relativePath,
1426
- label,
1427
- });
1428
- if (
1429
- opened.dev !== before.dev
1430
- || opened.ino !== before.ino
1431
- || opened.dev !== after.dev
1432
- || opened.ino !== after.ino
1433
- ) {
1434
- throw new Error(`${label} path changed while it was being opened: ${relativePath}`);
1435
- }
1436
- return readFileSync(descriptor);
1437
- } finally {
1438
- if (descriptor !== undefined) {
1439
- closeSync(descriptor);
1440
- }
1441
- }
1442
- }
1443
-
1444
- function assertControlledRepositoryPath({ root, containedPath, relativePath, label }) {
1445
- let currentPath = root;
1446
- let finalStats;
1447
- const segments = containedPath.split(path.sep);
1448
- for (const [index, segment] of segments.entries()) {
1449
- currentPath = path.join(currentPath, segment);
1450
- const stats = lstatSync(currentPath);
1451
- if (stats.isSymbolicLink()) {
1452
- throw new Error(`${label} path contains a symbolic link: ${relativePath}`);
1453
- }
1454
- const isLast = index === segments.length - 1;
1455
- if (isLast ? !stats.isFile() : !stats.isDirectory()) {
1456
- throw new Error(
1457
- isLast
1458
- ? `${label} is not a regular file: ${relativePath}`
1459
- : `${label} parent is not a directory: ${relativePath}`,
1460
- );
1461
- }
1462
- if (isLast) {
1463
- finalStats = stats;
1464
- }
1465
- }
1466
-
1467
- const realRoot = realpathSync(root);
1468
- const realFile = realpathSync(path.join(root, containedPath));
1469
- if (!pathIsInside(realRoot, realFile) || realRoot === realFile) {
1470
- throw new Error(`${label} real path escapes the repository root: ${relativePath}`);
1471
- }
1472
- return finalStats;
1473
- }
1474
-
1475
- function readCanonicalFileBytes(filePath) {
1476
- const stat = lstatSync(filePath);
1477
- if (stat.isSymbolicLink() || !stat.isFile()) {
1478
- const error = new Error(`Canonical PCR artifact is not a regular file: ${filePath}`);
1479
- error.code = stat.isSymbolicLink()
1480
- ? "PCR_CANONICAL_SYMLINK_REJECTED"
1481
- : "PCR_CANONICAL_FILE_NOT_REGULAR";
1482
- throw error;
1483
- }
1484
- const descriptor = openSync(
1485
- filePath,
1486
- fsConstants.O_RDONLY | (fsConstants.O_NOFOLLOW ?? 0),
1487
- );
1488
- try {
1489
- if (!fstatSync(descriptor).isFile()) {
1490
- const error = new Error(`Canonical PCR artifact is not a regular file: ${filePath}`);
1491
- error.code = "PCR_CANONICAL_FILE_NOT_REGULAR";
1492
- throw error;
1493
- }
1494
- return readFileSync(descriptor);
1495
- } finally {
1496
- closeSync(descriptor);
1497
- }
1498
- }
1499
-
1500
- function snapshotAttemptError(code, message, details = {}) {
1501
- const error = new Error(message);
1502
- error.snapshotCode = code;
1503
- error.snapshotDetails = details;
1504
- return error;
1505
- }
1506
-
1507
- function snapshotFailureDetails(error) {
1508
- return {
1509
- code: error?.snapshotCode ?? errorCode(error),
1510
- message: error instanceof Error ? error.message : String(error),
1511
- ...(isRecord(error?.snapshotDetails) ? error.snapshotDetails : {}),
1512
- };
1513
- }
1514
-
1515
- function pcrFromManifest({ root, pcrDir, manifest }) {
1516
- const pcr = {
1517
- id: manifest.id,
1518
- path: toPosix(path.relative(root, pcrDir)),
1519
- title: manifest.title ?? {},
1520
- status: manifest.status ?? "unknown",
1521
- version: manifest.version ?? null,
1522
- content_maturity: manifest.content_maturity ?? null,
1523
- languages: manifest.languages ?? {},
1524
- translation_status: manifest.translation_status ?? {},
1525
- classification_refs: manifest.classification_refs ?? [],
1526
- };
1527
- pcr.record_kind = recordKindForPcr(pcr);
1528
- return pcr;
1529
- }
1530
-
1531
- function inspectPcrProjection({ root, pcr, manifest, artifacts }) {
1532
- const pcrDir = path.join(root, pcr.path);
1533
- const structuredPath = path.join(pcrDir, "structured.yaml");
1534
- const structuredArtifact = artifacts["structured.yaml"];
1535
- const markdownArtifact = artifacts["pcr.en-US.md"];
1536
- if (!isMaterialPcr(pcr)) {
1537
- return {
1538
- fingerprint: {
1539
- ...projectionNotRequiredState(),
1540
- schema_valid: null,
1541
- },
1542
- structured: null,
1543
- structuredPath,
1544
- structuredAvailable: Boolean(structuredArtifact?.bytes),
1545
- completenessIssues: [],
1546
- };
1547
- }
1548
-
1549
- if (!structuredArtifact?.bytes && structuredArtifact?.error?.code === "ENOENT") {
1550
- return unavailableProjectionInspection({
1551
- structuredPath,
1552
- structuredAvailable: false,
1553
- fingerprint: missingProjectionState(
1554
- "missing",
1555
- "structured_projection_missing",
1556
- "structured.yaml is required for material PCR guidance and validation.",
1557
- ),
1558
- });
1559
- }
1560
-
1561
- if (!markdownArtifact?.bytes && markdownArtifact?.error?.code === "ENOENT") {
1562
- return unavailableProjectionInspection({
1563
- structuredPath,
1564
- structuredAvailable: Boolean(structuredArtifact?.bytes),
1565
- fingerprint: missingProjectionState(
1566
- "source_missing",
1567
- "projection_source_missing",
1568
- "Canonical pcr.en-US.md is required to verify the structured projection.",
1569
- ),
1570
- });
1571
- }
1572
-
1573
- if (!markdownArtifact?.bytes) {
1574
- return unavailableProjectionInspection({
1575
- structuredPath,
1576
- structuredAvailable: Boolean(structuredArtifact?.bytes),
1577
- fingerprint: invalidProjectionState(
1578
- "projection_source_unreadable",
1579
- `Canonical pcr.en-US.md could not be read (${errorCode(markdownArtifact?.error)}).`,
1580
- null,
1581
- ),
1582
- });
1583
- }
1584
-
1585
- if (!structuredArtifact?.bytes) {
1586
- return unavailableProjectionInspection({
1587
- structuredPath,
1588
- structuredAvailable: false,
1589
- fingerprint: invalidProjectionState(
1590
- "structured_projection_unreadable",
1591
- `structured.yaml could not be read (${errorCode(structuredArtifact?.error)}).`,
1592
- false,
1593
- ),
1594
- });
1595
- }
1596
-
1597
- const sourceMarkdown = markdownArtifact.bytes.toString("utf8");
1598
- const structuredText = structuredArtifact.bytes.toString("utf8");
1599
-
1600
- let structured;
1601
- try {
1602
- structured = parseYaml(structuredText);
1603
- } catch (error) {
1604
- return unavailableProjectionInspection({
1605
- structuredPath,
1606
- structuredAvailable: true,
1607
- fingerprint: invalidProjectionState(
1608
- "structured_projection_parse_error",
1609
- `structured.yaml could not be parsed (${errorCode(error)}).`,
1610
- false,
1611
- ),
1612
- });
1613
- }
1614
-
1615
- const schemaResult = validateCoreContract(
1616
- "structured-projection.schema.json",
1617
- structured,
1618
- { entityKind: "material structured projection" },
1619
- );
1620
- const integrity = inspectProjectionIntegrity({
1621
- sourceMarkdown,
1622
- structuredText,
1623
- metadata: structured?.projection_metadata,
1624
- });
1625
- const schemaIssues = schemaResult.valid
1626
- ? []
1627
- : [
1628
- {
1629
- code: "structured_schema_invalid",
1630
- message: `structured.yaml violates the material projection schema (${schemaResult.errors.length} issue(s)).`,
1631
- },
1632
- ...schemaResult.errors.map((error) => ({
1633
- code: `structured_schema.${error.keyword}`,
1634
- message: `${error.instance_path}: ${error.message}`,
1635
- })),
1636
- ];
1637
- const issues = deduplicateMessages([...schemaIssues, ...integrity.issues]);
1638
- const fingerprint = {
1639
- ...integrity,
1640
- status: schemaResult.valid ? integrity.status : "invalid",
1641
- schema_valid: schemaResult.valid,
1642
- issues,
1643
- };
1644
-
1645
- return {
1646
- fingerprint,
1647
- structured: schemaResult.valid && integrity.status === "current" ? structured : null,
1648
- structuredPath,
1649
- structuredAvailable: true,
1650
- completenessIssues: schemaResult.valid
1651
- ? materialProjectionCompletenessIssues(structured, {
1652
- expectedPcrId: pcr.id,
1653
- allowUnresolvedProductFlowUuid:
1654
- hasDeclaredUnresolvedReferenceProductFlow(structured, manifest),
1655
- })
1656
- : [],
1657
- };
1658
- }
1659
-
1660
- function unavailableProjectionInspection({ fingerprint, structuredPath, structuredAvailable }) {
1661
- return {
1662
- fingerprint,
1663
- structured: null,
1664
- structuredPath,
1665
- structuredAvailable,
1666
- completenessIssues: [],
1667
- };
1668
- }
1669
-
1670
- function failedProjectionInspection({ root, pcr, error }) {
1671
- return unavailableProjectionInspection({
1672
- structuredPath: path.join(root, pcr.path, "structured.yaml"),
1673
- structuredAvailable: false,
1674
- fingerprint: invalidProjectionState(
1675
- "projection_inspection_failed",
1676
- `Projection integrity inspection failed (${errorCode(error)}).`,
1677
- false,
1678
- ),
1679
- });
1680
- }
1681
-
1682
- function invalidProjectionState(code, message, schemaValid) {
1683
- return {
1684
- required: true,
1685
- status: "invalid",
1686
- schema_valid: schemaValid,
1687
- contract_version: null,
1688
- source_sha256: null,
1689
- generated_content_sha256: null,
1690
- source_hash_valid: null,
1691
- content_hash_valid: null,
1692
- issues: [{ code, message }],
1693
- };
1694
- }
1695
-
1696
- function errorCode(error) {
1697
- return typeof error?.code === "string" && error.code
1698
- ? error.code
1699
- : "unknown_error";
1700
- }
1701
-
1702
- function missingProjectionState(status, code, message) {
1703
- return {
1704
- required: true,
1705
- status,
1706
- schema_valid: null,
1707
- contract_version: null,
1708
- source_sha256: null,
1709
- generated_content_sha256: null,
1710
- source_hash_valid: null,
1711
- content_hash_valid: null,
1712
- issues: [{ code, message }],
1713
- };
1714
- }
1715
-
1716
- function isMaterialPcr(pcr) {
1717
- return recordKindForPcr(pcr) === "methodology";
1718
- }
1719
-
1720
- function normalizeCatalogScope(scope) {
1721
- const normalized = String(scope);
1722
- if (!PCR_CATALOG_SCOPE_SET.has(normalized)) {
1723
- throw new PcrCatalogScopeError(scope);
1724
- }
1725
- return normalized;
1726
- }
1727
-
1728
- function recordMatchesScope(pcr, scope) {
1729
- if (scope === "all") {
1730
- return true;
1731
- }
1732
- return scope === "material"
1733
- ? pcr.record_kind === "methodology"
1734
- : pcr.record_kind === "legacy_scaffold_reference";
1735
- }
1736
-
1737
- function currentCatalogEntryMatchesScope(root, entry, scope) {
1738
- const manifest = readConsistentCurrentManifest({ root, entry });
1739
- const recordKind = recordKindForPcr({
1740
- status: manifest.status ?? "unknown",
1741
- content_maturity: manifest.content_maturity ?? null,
1742
- });
1743
- return scope === "material"
1744
- ? recordKind === "methodology"
1745
- : recordKind === "legacy_scaffold_reference";
1746
- }
1747
-
1748
- function readConsistentCurrentManifest({ root, entry }) {
1749
- let lastFailure = null;
1750
- for (let attempt = 1; attempt <= CURRENT_SNAPSHOT_MAX_ATTEMPTS; attempt += 1) {
1751
- try {
1752
- const locationA = assertCurrentSnapshotLocation({ root, entry });
1753
- const manifestABytes = readCanonicalFileBytes(locationA.manifestPath);
1754
- const manifest = parseYaml(manifestABytes.toString("utf8"));
1755
- if (manifest.id !== entry.id) {
1756
- throw snapshotAttemptError(
1757
- "manifest_identity_changed",
1758
- `Expected PCR id ${entry.id}, found ${String(manifest.id)}.`,
1759
- { expected_pcr_id: entry.id, actual_pcr_id: manifest.id ?? null },
1760
- );
1761
- }
1762
-
1763
- const locationB = assertCurrentSnapshotLocation({ root, entry });
1764
- const manifestBBytes = readCanonicalFileBytes(locationB.manifestPath);
1765
- if (!manifestABytes.equals(manifestBBytes)) {
1766
- throw snapshotAttemptError(
1767
- "manifest_changed_during_read",
1768
- "manifest.yaml changed while its catalog scope was being determined.",
1769
- );
1770
- }
1771
- return manifest;
1772
- } catch (error) {
1773
- lastFailure = snapshotFailureDetails(error);
1774
- }
1775
- }
1776
- throw new PcrCurrentSnapshotInconsistentError({
1777
- pcrId: entry.id,
1778
- pcrPath: entry.path,
1779
- attempts: CURRENT_SNAPSHOT_MAX_ATTEMPTS,
1780
- lastFailure,
1781
- });
1782
- }
1783
-
1784
- function recordKindForPcr(pcr) {
1785
- if (pcr.status === "scaffold" && pcr.content_maturity === "empty_scaffold") {
1786
- return "legacy_scaffold_reference";
1787
- }
1788
- if (
1789
- METHODOLOGY_LIFECYCLE_STATUSES.has(pcr.status) &&
1790
- METHODOLOGY_MATURITIES.has(pcr.content_maturity)
1791
- ) {
1792
- return "methodology";
1793
- }
1794
- return "invalid_lifecycle_state";
1795
- }
1796
-
1797
- function assessPcrReadiness({
1798
- pcr,
1799
- projectionFingerprint,
1800
- structuredAvailable,
1801
- projectionCompletenessIssues = [],
1802
- }) {
1803
- const blockers = [];
1804
- const warnings = [];
1805
- const methodologyStatus = pcr.content_maturity ?? "unknown";
1806
- const lifecycleStatus = pcr.status ?? "unknown";
1807
- const chineseTranslationStatus = pcr.translation_status?.["zh-CN"] ?? "unknown";
1808
- if (pcr.record_kind === "invalid_lifecycle_state") {
1809
- blockers.push({
1810
- code: "invalid_lifecycle_identity",
1811
- message:
1812
- `status ${lifecycleStatus} and content_maturity ${methodologyStatus} do not identify either ` +
1813
- "a legacy scaffold or a material methodology record.",
1814
- });
1815
- }
1816
- if (!GUIDANCE_MATURITIES.has(methodologyStatus)) {
1817
- blockers.push({
1818
- code: "methodology_not_authored",
1819
- message: `content_maturity ${methodologyStatus} is not usable methodology.`,
1820
- });
1821
- }
1822
- if (lifecycleStatus === "scaffold") {
1823
- blockers.push({
1824
- code: "scaffold_lifecycle",
1825
- message: "PCR lifecycle status is scaffold.",
1826
- });
1827
- } else if (!GUIDANCE_LIFECYCLE_STATUSES.has(lifecycleStatus)) {
1828
- blockers.push({
1829
- code: "lifecycle_not_usable",
1830
- message: `PCR lifecycle status ${lifecycleStatus} is not available for guidance.`,
1831
- });
1832
- }
1833
- if (lifecycleStatus === "deprecated" || methodologyStatus === "deprecated_methodology") {
1834
- blockers.push({
1835
- code: "deprecated_methodology",
1836
- message: "Deprecated PCR methodology must not guide new work.",
1837
- });
1838
- }
1839
- if (projectionFingerprint.required && (
1840
- projectionFingerprint.schema_valid !== true || projectionFingerprint.status !== "current"
1841
- )) {
1842
- blockers.push(...projectionFingerprint.issues);
1843
- }
1844
- if (
1845
- projectionFingerprint.required &&
1846
- projectionFingerprint.schema_valid === true &&
1847
- projectionFingerprint.status === "current"
1848
- ) {
1849
- blockers.push(...projectionCompletenessIssues);
1850
- }
1851
- if (
1852
- GUIDANCE_MATURITIES.has(methodologyStatus) &&
1853
- !USABLE_LIFECYCLE_STATES.get(lifecycleStatus)?.has(methodologyStatus)
1854
- ) {
1855
- blockers.push({
1856
- code: "incompatible_lifecycle_state",
1857
- message: `status ${lifecycleStatus} is incompatible with content_maturity ${methodologyStatus}.`,
1858
- });
1859
- }
1860
- if (
1861
- lifecycleStatus === "active" &&
1862
- !["aligned", "reviewed"].includes(chineseTranslationStatus)
1863
- ) {
1864
- blockers.push({
1865
- code: "translation_not_aligned",
1866
- message: `active PCR requires aligned or reviewed zh-CN translation; found ${chineseTranslationStatus}.`,
1867
- });
1868
- }
1869
- if (lifecycleStatus === "published" && chineseTranslationStatus !== "reviewed") {
1870
- blockers.push({
1871
- code: "translation_not_reviewed",
1872
- message: `published PCR requires reviewed zh-CN translation; found ${chineseTranslationStatus}.`,
1873
- });
1874
- }
1875
-
1876
- if (methodologyStatus === "authored_methodology") {
1877
- warnings.push({
1878
- code: "methodology_not_reviewed",
1879
- message: "Authored methodology is candidate guidance and still requires methodology review.",
1880
- });
1881
- }
1882
- if (
1883
- lifecycleStatus === "candidate" &&
1884
- !["aligned", "reviewed"].includes(chineseTranslationStatus)
1885
- ) {
1886
- warnings.push({
1887
- code: "translation_not_aligned",
1888
- message: `Candidate zh-CN translation is ${chineseTranslationStatus}; use canonical en-US guidance for methodology decisions.`,
1889
- });
1890
- }
1891
-
1892
- const uniqueBlockers = deduplicateMessages(blockers);
1893
- const uniqueWarnings = deduplicateMessages(warnings);
1894
- const usable = uniqueBlockers.length === 0;
1895
- const readiness = {
1896
- status: usable
1897
- ? (REVIEWED_MATURITIES.has(methodologyStatus) && lifecycleStatus !== "candidate" ? "ready" : "review_required")
1898
- : "unavailable",
1899
- lifecycle_status: lifecycleStatus,
1900
- methodology_status: methodologyStatus,
1901
- structured_projection_available: structuredAvailable,
1902
- projection_fingerprint: structuredClone(projectionFingerprint),
1903
- usable_for_guidance: usable,
1904
- usable_for_validation: usable,
1905
- blockers: uniqueBlockers,
1906
- warnings: uniqueWarnings,
1907
- };
1908
- assertCoreContract("readiness.schema.json", readiness, {
1909
- code: "PCR_INTERNAL_CONTRACT_INVALID",
1910
- entityKind: "PCR readiness",
1911
- });
1912
- return readiness;
1913
- }
1914
-
1915
- function assertPcrUsable({ pcr, operation }) {
1916
- const usabilityKey = operation === "validation" ? "usable_for_validation" : "usable_for_guidance";
1917
- if (!pcr.readiness?.[usabilityKey]) {
1918
- throw new PcrUsabilityError({ pcrId: pcr.id, operation, readiness: pcr.readiness });
1919
- }
1920
- }
1921
-
1922
- function buildValidationReport({
1923
- validationKind,
1924
- guidance,
1925
- input,
1926
- findings,
1927
- checksPerformed,
1928
- checksSkipped,
1929
- }) {
1930
- const checkedRequirementCount = checksPerformed.reduce((total, check) => total + check.requirement_count, 0);
1931
- const skippedRequirementCount = checksSkipped.reduce((total, check) => total + check.requirement_count, 0);
1932
- const completeness = checksPerformed.length === 0
1933
- ? "none"
1934
- : checksSkipped.length > 0
1935
- ? "partial"
1936
- : "complete";
1937
- const findingSummary = countFindingsBySeverity(findings);
1938
- const validationStatus = findingSummary.error > 0
1939
- ? "failed"
1940
- : checksPerformed.length === 0
1941
- ? "inconclusive"
1942
- : "passed";
1943
-
1944
- const report = {
1945
- schema_version: 1,
1946
- validation_kind: validationKind,
1947
- pcr: guidance.pcr,
1948
- readiness: structuredClone(guidance.readiness),
1949
- validation_status: validationStatus,
1950
- completeness,
1951
- input,
1952
- check_coverage: {
1953
- total_requirement_count: checkedRequirementCount + skippedRequirementCount,
1954
- checked_requirement_count: checkedRequirementCount,
1955
- skipped_requirement_count: skippedRequirementCount,
1956
- checks_performed: checksPerformed,
1957
- checks_skipped: checksSkipped,
1958
- },
1959
- finding_count: findings.length,
1960
- finding_summary: findingSummary,
1961
- findings,
1962
- };
1963
- assertCoreContract("validation-output.schema.json", report, {
1964
- code: "PCR_INTERNAL_CONTRACT_INVALID",
1965
- entityKind: "PCR validation report",
1966
- });
1967
- return report;
1968
- }
1969
-
1970
- function performedCheck(checkId, requirementFamily, requirementCount) {
1971
- return {
1972
- check_id: checkId,
1973
- requirement_family: requirementFamily,
1974
- requirement_count: requirementCount,
1975
- evaluated_requirement_count: requirementCount,
1976
- };
1977
- }
1978
-
1979
- function addSkippedCheck(checks, checkId, requirementFamily, requirementCount) {
1980
- if (requirementCount <= 0) {
1981
- return;
1982
- }
1983
- checks.push({
1984
- check_id: checkId,
1985
- requirement_family: requirementFamily,
1986
- requirement_count: requirementCount,
1987
- reason: "Validator does not yet implement this requirement family.",
1988
- });
1989
- }
1990
-
1991
- function countFindingsBySeverity(findings) {
1992
- const summary = { error: 0, warning: 0, info: 0 };
1993
- for (const finding of findings) {
1994
- if (Object.hasOwn(summary, finding.severity)) {
1995
- summary[finding.severity] += 1;
1996
- }
1997
- }
1998
- return summary;
1999
- }
2000
-
2001
- function deduplicateMessages(entries) {
2002
- return [
2003
- ...new Map(
2004
- entries.map((entry) => [`${entry.code}\0${entry.message}`, entry]),
2005
- ).values(),
2006
- ];
2007
- }
2008
-
2009
- function countInventoryRows(processInventory) {
2010
- let count = 0;
2011
- for (const process of asArray(processInventory)) {
2012
- for (const direction of ["inputs", "outputs"]) {
2013
- const groups = process?.[direction];
2014
- if (!isRecord(groups)) {
2015
- continue;
2016
- }
2017
- for (const rows of Object.values(groups)) {
2018
- count += asArray(rows).length;
2019
- }
2020
- }
2021
- }
2022
- return count;
2023
- }
2024
-
2025
- function topLevelRequirementCount(value, excludedKeys = []) {
2026
- if (!isRecord(value)) {
2027
- return 0;
2028
- }
2029
- const excluded = new Set(excludedKeys);
2030
- return Object.entries(value).filter(
2031
- ([key, requirement]) => !excluded.has(key) && hasRequirementValue(requirement),
2032
- ).length;
2033
- }
2034
-
2035
- function hasRequirementValue(value) {
2036
- if (Array.isArray(value)) {
2037
- return value.some(hasRequirementValue);
2038
- }
2039
- if (isRecord(value)) {
2040
- return Object.values(value).some(hasRequirementValue);
2041
- }
2042
- return value !== undefined && value !== null && String(value).trim() !== "";
2043
- }
2044
-
2045
- function asArray(value) {
2046
- return Array.isArray(value) ? value : [];
2047
- }
2048
-
2049
- function isRecord(value) {
2050
- return Boolean(value) && typeof value === "object" && !Array.isArray(value);
2051
- }
2052
-
2053
- function findManifestFiles(directory) {
2054
- const results = [];
2055
- for (const domainDir of canonicalChildDirectories(directory)) {
2056
- for (const subdomainDir of canonicalChildDirectories(domainDir)) {
2057
- for (const pcrDir of canonicalChildDirectories(subdomainDir)) {
2058
- const manifestPath = path.join(pcrDir, "manifest.yaml");
2059
- if (isCanonicalFile(manifestPath)) {
2060
- results.push(manifestPath);
2061
- }
2062
- }
2063
- }
2064
- }
2065
- return results;
2066
- }
2067
-
2068
- function canonicalChildDirectories(directory) {
2069
- return readdirSync(directory)
2070
- .map((entry) => path.join(directory, entry))
2071
- .filter(isCanonicalDirectory)
2072
- .sort((left, right) => left.localeCompare(right));
2073
- }
2074
-
2075
- function isCanonicalDirectory(directory) {
2076
- try {
2077
- const stat = lstatSync(directory);
2078
- return !stat.isSymbolicLink() && stat.isDirectory();
2079
- } catch (error) {
2080
- if (error?.code === "ENOENT") {
2081
- return false;
2082
- }
2083
- throw error;
2084
- }
2085
- }
2086
-
2087
- function isCanonicalFile(filePath) {
2088
- try {
2089
- const stat = lstatSync(filePath);
2090
- return !stat.isSymbolicLink() && stat.isFile();
2091
- } catch (error) {
2092
- if (error?.code === "ENOENT") {
2093
- return false;
2094
- }
2095
- throw error;
2096
- }
2097
- }
2098
-
2099
- function toPosix(value) {
2100
- return value.split(path.sep).join("/");
2101
- }