@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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"pcr://source/","sources":["packages/pcr-core/src/index.ts"],"names":[],"mappings":"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","sourcesContent":["export { withPcrReadSession, PcrReadSessionError, MAX_READ_BATCH } from \"./read-session.ts\";\nexport type { PcrReadSource, PcrReadSession, PcrReadSourceIdentity, PcrReadSessionStats } from \"./read-session.ts\";\nimport type { Stats } from \"node:fs\";\nimport type { PcrReadContext } from \"./read-context.ts\";\nimport type { PcrIdAlias } from \"./pcr-id-aliases.ts\";\nimport type { CoverageSnapshot, CoverageDocument, CoverageEntry } from \"./classification-coverage.ts\";\nimport type { PcrRecord, CatalogEntry, PcrManifest, PcrCatalogScope, PcrRecordKind, Readiness, ReadinessFingerprint, ContractIssue, CapturedArtifact, CapturedPcrSnapshot, CurrentPcrSnapshot, StructuredProjection, VerifiedPcrProjection, CompleteGuidance, ValidationReport, ValidationFinding, PerformedCheck, SkippedCheck, FindingSeverity, UnknownRecord } from \"./types.ts\";\nimport { unknownField } from \"./types.ts\";\n\nexport interface ReadPcrOptions { root?: string | undefined; pcrId: string; context?: PcrReadContext | null | undefined; refresh?: boolean }\nexport interface RootOptions { root: string; refresh?: boolean }\nexport interface CatalogOptions extends RootOptions { scope?: PcrCatalogScope }\nexport interface ClassificationOptions { root: string; system: string; version: string; code: string; context?: PcrReadContext | null | undefined }\ntype PcrIdentity = Omit<PcrRecord, \"readiness\">;\ntype PcrOperation = \"guidance\" | \"validation\";\ninterface ProjectionInspection { fingerprint: ReadinessFingerprint; structured: StructuredProjection | null; structuredPath: string; structuredAvailable: boolean; completenessIssues: ContractIssue[] }\ninterface MappingDocument extends UnknownRecord { schema_version: 2; status: \"current\"; mappings: UnknownRecord[] }\ninterface AcceptedMapping extends UnknownRecord { pcr_id: string; mapping_type: string; acceptance: UnknownRecord }\ninterface CanonicalMapping { mappingFile: MappingDocument; mapping: AcceptedMapping }\ninterface SnapshotAttemptError extends Error { snapshotCode: string; snapshotDetails: UnknownRecord }\ninterface PcrTreeNode { children: PcrTree; pcrs: PcrRecord[] }\nexport type PcrTree = Record<string, PcrTreeNode>;\nfunction requiredRoot(root: string | undefined, context: PcrReadContext | null | undefined): string {\n const value = root ?? context?.root;\n if (typeof value !== \"string\") throw new TypeError(\"PCR reads require a repository root or bound read context.\");\n return value;\n}\nfunction parsedRecord(text: string, label: string): UnknownRecord {\n const value = parseYaml(text);\n if (!isRecord(value)) throw new TypeError(`${label} must be a mapping.`);\n return value;\n}\nimport { buildCompleteGuidance, deriveSnapshotGuidanceContext } from \"./compiler/guidance-envelope.ts\";\nimport { pcrSource } from \"./source-context.ts\";\nimport { createHash } from \"node:crypto\";\nimport {\n closeSync,\n constants as fsConstants,\n fstatSync,\n lstatSync,\n openSync,\n readFileSync,\n realpathSync,\n readdirSync,\n} from \"node:fs\";\nimport path from \"node:path\";\nimport { TextDecoder } from \"node:util\";\n\nimport {\n PcrClassificationCodeUnknownError,\n PcrClassificationCoverageSemanticError,\n readClassificationCoverage,\n} from \"./classification-coverage.ts\";\nimport { assertCoreContract, validateCoreContract } from \"./contracts.ts\";\nimport {\n inspectProjectionIntegrity,\n projectionNotRequiredState,\n} from \"./projection-integrity.ts\";\nimport {\n hasDeclaredUnresolvedReferenceProductFlow,\n materialProjectionCompletenessIssues,\n} from \"./projection-completeness.ts\";\nimport { findPcrIdAlias as findRepositoryPcrIdAlias } from \"./pcr-id-aliases.ts\";\nimport {\n assertPcrReadContextFresh,\n createPcrReadContext,\n getPcrReadContextCatalog,\n observePcrReadContextArtifactRead,\n pcrReadContextAliasInputFingerprint,\n withPcrReadContextSession,\n} from \"./read-context.ts\";\nimport { parseYaml } from \"./yaml-lite.ts\";\nimport {\n declaredPcrLanguages,\n expectedPcrArtifactHashes,\n LEGACY_PCR_ARTIFACT_HASH_FIELDS,\n pcrArtifactFiles,\n} from \"./languages.ts\";\nimport {\n CLASSIFICATION_MAPPING_RELATION_VALUES,\n CONTENT_MATURITY_VALUES,\n FEEDBACK_TYPE_VALUES,\n PCR_STATUS_VALUES,\n} from \"./vocabulary.ts\";\n\nexport const FEEDBACK_TYPES = FEEDBACK_TYPE_VALUES;\nexport { createPcrReadContext, pcrReadContextAliasInputFingerprint, withPcrReadContextSession };\nexport {\n CLASSIFICATION_COVERAGE_STATUSES,\n PcrClassificationCodeUnknownError,\n PcrClassificationCoverageNotFoundError,\n PcrClassificationCoverageSemanticError,\n PcrClassificationCoverageStatusError,\n classificationCoveragePath,\n findClassificationCoverageEntry,\n getClassificationCoverageSummary,\n hasClassificationCoverage,\n listClassificationCoverage,\n readClassificationCoverage,\n readClassificationCoverageSnapshot,\n} from \"./classification-coverage.ts\";\nexport const PCR_CATALOG_SCOPES = Object.freeze([\"all\", \"material\", \"legacy\"] as const);\nexport const PCR_RECORD_KINDS = Object.freeze([\n \"methodology\",\n \"legacy_scaffold_reference\",\n \"invalid_lifecycle_state\",\n]);\nconst CLASSIFICATION_MAPPING_RELATIONS = new Set(CLASSIFICATION_MAPPING_RELATION_VALUES);\nconst PCR_CATALOG_SCOPE_SET = new Set<string>(PCR_CATALOG_SCOPES);\nconst METHODOLOGY_LIFECYCLE_STATUSES = new Set(\n PCR_STATUS_VALUES.filter((value) => value !== \"scaffold\"),\n);\nconst METHODOLOGY_MATURITIES = new Set(\n CONTENT_MATURITY_VALUES.filter((value) => value !== \"empty_scaffold\"),\n);\n\nconst CURRENT_SNAPSHOT_MAX_ATTEMPTS = 3;\nconst pcrCatalogCache = new Map<string, CatalogEntry[]>();\nconst RELEASE_ARTIFACTS = LEGACY_PCR_ARTIFACT_HASH_FIELDS;\nconst GUIDANCE_MATURITIES = new Set([\n \"authored_methodology\",\n \"reviewed_methodology\",\n \"published_methodology\",\n]);\nconst REVIEWED_MATURITIES = new Set([\"reviewed_methodology\", \"published_methodology\"]);\nconst USABLE_LIFECYCLE_STATES = new Map([\n [\"candidate\", new Set([\"authored_methodology\"])],\n [\"active\", new Set([\"reviewed_methodology\"])],\n [\"published\", new Set([\"published_methodology\"])],\n]);\nconst GUIDANCE_LIFECYCLE_STATUSES = new Set([\"candidate\", \"active\", \"published\"]);\n\nexport class PcrUsabilityError extends Error {\n readonly code: string;\n readonly readiness: Readiness;\n constructor({ pcrId, operation, readiness }: { pcrId: string; operation: PcrOperation; readiness: Readiness }) {\n const blockers = readiness.blockers.map((blocker) => blocker.code).join(\", \");\n super(\n `PCR ${pcrId} is not usable for ${operation}: content_maturity=${readiness.methodology_status}; blockers=${blockers || \"unknown\"}`,\n );\n this.name = \"PcrUsabilityError\";\n this.code = `PCR_NOT_USABLE_FOR_${operation.toUpperCase()}`;\n this.readiness = structuredClone(readiness);\n }\n}\n\nexport class PcrClassificationMappingError extends Error {\n readonly code: string;\n readonly details: { classification: string; mapping_type: unknown; allowed_mapping_types: string[]; issue: string | null };\n constructor({ system, version, code, mappingType, issue = null }: { system: string; version: string; code: string; mappingType?: unknown; issue?: string | null }) {\n super(issue\n ? `Classification mapping ${system}:${version}:${code} is not an accepted current mapping: ${issue}.`\n : `Classification mapping ${system}:${version}:${code} uses unsupported mapping_type ${String(mappingType)}.`);\n this.name = \"PcrClassificationMappingError\";\n this.code = \"PCR_INVALID_CLASSIFICATION_MAPPING\";\n this.details = {\n classification: `${system}:${version}:${code}`,\n mapping_type: mappingType ?? null,\n allowed_mapping_types: [...CLASSIFICATION_MAPPING_RELATION_VALUES],\n issue,\n };\n }\n}\n\nexport class PcrLegacyIdRedirectError extends Error {\n readonly code: string;\n readonly details: ReturnType<typeof legacyPcrIdRedirect>;\n constructor(alias: PcrIdAlias) {\n const redirect = legacyPcrIdRedirect(alias);\n super(\n `PCR id ${redirect.source_pcr_id} is a retired legacy identity. ` +\n `Use the redirect target with: ${redirect.next_command}`,\n );\n this.name = \"PcrLegacyIdRedirectError\";\n this.code = \"PCR_LEGACY_ID_REDIRECT\";\n this.details = redirect;\n }\n}\n\nexport class PcrClassificationTargetStateError extends Error {\n readonly code: string;\n readonly details: { classification: string; pcr_id: string; status: string; content_maturity: string | null; record_kind: PcrRecordKind };\n constructor({ system, version, code, pcr }: { system: string; version: string; code: string; pcr: PcrRecord }) {\n super(\n `Classification mapping ${system}:${version}:${code} points to PCR ${pcr.id} with invalid ` +\n `lifecycle identity ${pcr.status}/${pcr.content_maturity}.`,\n );\n this.name = \"PcrClassificationTargetStateError\";\n this.code = \"PCR_INVALID_CLASSIFICATION_TARGET\";\n this.details = {\n classification: `${system}:${version}:${code}`,\n pcr_id: pcr.id,\n status: pcr.status,\n content_maturity: pcr.content_maturity,\n record_kind: pcr.record_kind,\n };\n }\n}\n\nexport class PcrCurrentSnapshotInconsistentError extends Error {\n readonly code: string;\n readonly details: { pcr_id: string; pcr_path: string; attempts: number; last_failure: UnknownRecord | null };\n constructor({ pcrId, pcrPath, attempts, lastFailure }: { pcrId: string; pcrPath: string; attempts: number; lastFailure: UnknownRecord | null }) {\n super(\n `PCR ${pcrId} current snapshot could not be read consistently after ${attempts} attempts.`,\n );\n this.name = \"PcrCurrentSnapshotInconsistentError\";\n this.code = \"PCR_CURRENT_SNAPSHOT_INCONSISTENT\";\n this.details = {\n pcr_id: pcrId,\n pcr_path: pcrPath,\n attempts,\n last_failure: lastFailure,\n };\n }\n}\n\nexport class PcrDuplicateIdError extends Error {\n readonly code: string;\n readonly details: { pcr_id: string; paths: string[] };\n constructor({ pcrId, paths }: { pcrId: string; paths: readonly string[] }) {\n super(`Duplicate canonical PCR id ${pcrId}: ${paths.join(\", \")}`);\n this.name = \"PcrDuplicateIdError\";\n this.code = \"PCR_DUPLICATE_ID\";\n this.details = { pcr_id: pcrId, paths: [...paths] };\n }\n}\n\nexport class PcrCatalogScopeError extends Error {\n readonly code: string;\n readonly details: { scope: string; allowed_scopes: string[] };\n constructor(scope: unknown) {\n super(`Unsupported PCR catalog scope ${String(scope)}. Expected one of: ${PCR_CATALOG_SCOPES.join(\", \")}.`);\n this.name = \"PcrCatalogScopeError\";\n this.code = \"PCR_INVALID_CATALOG_SCOPE\";\n this.details = {\n scope: String(scope),\n allowed_scopes: [...PCR_CATALOG_SCOPES],\n };\n }\n}\n\nfunction findPcrIdAlias(options: ReadPcrOptions & { root: string }) {\n const source = pcrSource(options.root);\n return source ? source.findAlias(options.pcrId) : findRepositoryPcrIdAlias({ root: options.root, pcrId: options.pcrId, context: options.context ?? null });\n}\n\nexport function listPcrs({ root, refresh = false, scope = \"all\" }: CatalogOptions): PcrRecord[] {\n const source = pcrSource(root);\n if (source) return source.listPcrs(normalizeCatalogScope(scope));\n const normalizedScope = normalizeCatalogScope(scope);\n const normalizedRoot = path.resolve(root);\n const catalog = getPcrCatalog({ root: normalizedRoot, refresh });\n const candidates = normalizedScope === \"all\"\n ? catalog\n : catalog.filter((entry) => currentCatalogEntryMatchesScope(normalizedRoot, entry, normalizedScope));\n return candidates\n .map((entry) => currentPcrEntry(normalizedRoot, entry))\n .filter((entry) => recordMatchesScope(entry, normalizedScope));\n}\n\nexport interface CatalogPageOptions extends CatalogOptions {\n offset?: number; limit?: number; status?: string | null; contentMaturity?: string | null; pathPrefix?: string | null; context?: PcrReadContext | null;\n}\n/** Apply metadata filters and the page boundary before expensive projection\n * verification. Every returned repository item still uses the full snapshot gate. */\nexport function readPcrCatalogPage(options: CatalogPageOptions): { totalCount: number; items: PcrRecord[] } {\n return options.context ? withPcrReadContextSession({ context: options.context, root: options.root, read: () => readPcrCatalogPageWithinContext(options) }) : readPcrCatalogPageWithinContext(options);\n}\nfunction readPcrCatalogPageWithinContext({ root, refresh = false, scope = \"all\", offset = 0, limit = 10, status = null, contentMaturity = null, pathPrefix = null, context = null }: CatalogPageOptions): { totalCount: number; items: PcrRecord[] } {\n if (!Number.isSafeInteger(offset) || offset < 0 || !Number.isSafeInteger(limit) || limit < 1 || limit > 100) throw new RangeError(\"Catalog pages require a nonnegative offset and limit from 1 to 100.\");\n const normalizedScope = normalizeCatalogScope(scope);\n const matches = (record: Pick<PcrIdentity, \"path\" | \"status\" | \"content_maturity\">) => {\n const relative = record.path.replace(/^library\\/pcrs\\/?/u, \"\");\n return (status === null || record.status === status) && (contentMaturity === null || record.content_maturity === contentMaturity)\n && (pathPrefix === null || relative === pathPrefix || relative.startsWith(`${pathPrefix}/`));\n };\n const source = pcrSource(root);\n if (source) { const records = source.listPcrs(normalizedScope).filter(matches); return { totalCount: records.length, items: records.slice(offset, offset + limit) }; }\n const normalizedRoot = path.resolve(root);\n const bindings: { entry: CatalogEntry; bytes: Buffer }[] = [];\n const candidates: CatalogEntry[] = [];\n for (const entry of catalogForRead(normalizedRoot, refresh, context)) {\n const captured = readConsistentManifestSnapshot({ root: normalizedRoot, entry });\n bindings.push({ entry, bytes: captured.bytes });\n const kind = recordKindForPcr({ status: optionalString(captured.manifest.status, \"unknown\", \"PCR status\"), content_maturity: nullableString(captured.manifest.content_maturity, \"PCR maturity\") });\n if (normalizedScope !== \"all\" && kind !== (normalizedScope === \"material\" ? \"methodology\" : \"legacy_scaffold_reference\")) continue;\n const identity = pcrFromManifest({ root: normalizedRoot, pcrDir: path.dirname(entry.manifestPath), manifest: captured.manifest });\n if (matches(identity)) candidates.push(entry);\n }\n const items = candidates.slice(offset, offset + limit).map(entry => currentPcrSnapshot(normalizedRoot, entry, context).pcr);\n for (const binding of bindings) {\n const current = readConsistentManifestSnapshot({ root: normalizedRoot, entry: binding.entry });\n if (!current.bytes.equals(binding.bytes)) throw new PcrCurrentSnapshotInconsistentError({ pcrId: binding.entry.id, pcrPath: binding.entry.path, attempts: CURRENT_SNAPSHOT_MAX_ATTEMPTS, lastFailure: { code: \"catalog_selection_changed\", message: \"PCR metadata changed while selecting the requested page.\" } });\n }\n return { totalCount: candidates.length, items };\n}\n\nfunction catalogForRead(root: string, refresh: boolean, context: PcrReadContext | null): readonly CatalogEntry[] {\n return context ? [...getPcrReadContextCatalog({ context, root, readCatalog: readPcrCatalog }).values()] : getPcrCatalog({ root, refresh });\n}\n\nfunction getPcrCatalog({ root, refresh = false }: RootOptions): CatalogEntry[] {\n const normalizedRoot = path.resolve(root);\n if (refresh || !pcrCatalogCache.has(normalizedRoot)) {\n pcrCatalogCache.set(normalizedRoot, readPcrCatalog(normalizedRoot));\n }\n const cached = pcrCatalogCache.get(normalizedRoot);\n if (!cached) throw new Error(\"PCR catalog was not initialized.\");\n return cached;\n}\n\nfunction readPcrCatalog(root: string): CatalogEntry[] {\n const pcrRoot = path.join(root, \"library/pcrs\");\n if (!isCanonicalDirectory(pcrRoot)) {\n throw new Error(`PCR catalog root not found: ${toPosix(path.relative(root, pcrRoot))}`);\n }\n const catalog = findManifestFiles(pcrRoot)\n .map((manifestPath) => {\n const manifest = parsedRecord(readCanonicalFileBytes(manifestPath).toString(\"utf8\"), \"PCR manifest\");\n if (!manifest.id) return null;\n if (typeof manifest.id !== \"string\") throw new TypeError(\"PCR manifest id must be a string.\");\n const pcrDir = path.dirname(manifestPath);\n return {\n id: manifest.id,\n path: toPosix(path.relative(root, pcrDir)),\n manifestPath,\n };\n })\n .filter((entry): entry is CatalogEntry => entry !== null);\n const entriesById = new Map<string, CatalogEntry>();\n for (const entry of catalog) {\n const existing = entriesById.get(entry.id);\n if (existing) {\n throw new PcrDuplicateIdError({\n pcrId: entry.id,\n paths: [existing.path, entry.path].sort(),\n });\n }\n entriesById.set(entry.id, entry);\n }\n return catalog.sort((left, right) => left.id.localeCompare(right.id));\n}\n\ntype TreeOptions = CatalogOptions & { depth?: number; context?: PcrReadContext | null };\nexport function buildPcrTree(options: TreeOptions): PcrTree {\n return options.context ? withPcrReadContextSession({ context: options.context, root: options.root, read: () => buildPcrTreeWithinContext(options) }) : buildPcrTreeWithinContext(options);\n}\nfunction buildPcrTreeWithinContext({ root, depth = Infinity, scope = \"all\", context = null }: CatalogOptions & { depth?: number; context?: PcrReadContext | null }): PcrTree {\n const normalizedScope = normalizeCatalogScope(scope);\n const source = pcrSource(root);\n if (source) return treeFromRecords(source.listPcrs(normalizedScope), depth);\n const normalizedRoot = path.resolve(root);\n const tree: PcrTree = {};\n for (const entry of catalogForRead(normalizedRoot, false, context)) {\n if (normalizedScope !== \"all\" && !currentCatalogEntryMatchesScope(normalizedRoot, entry, normalizedScope)) continue;\n const segments = entry.path.replace(/^library\\/pcrs\\//u, \"\").split(\"/\");\n let node = tree;\n for (const [index, segment] of segments.entries()) {\n if (index >= depth) break;\n const child = (Object.hasOwn(node, segment) ? node[segment] : undefined) ?? { children: {}, pcrs: [] };\n Object.defineProperty(node, segment, { value: child, writable: true, enumerable: true, configurable: true });\n if (index === segments.length - 1) {\n const pcr = currentPcrSnapshot(normalizedRoot, entry, context).pcr;\n if (recordMatchesScope(pcr, normalizedScope)) child.pcrs.push(pcr);\n }\n node = child.children;\n }\n }\n return tree;\n}\nfunction treeFromRecords(records: readonly PcrRecord[], depth: number): PcrTree {\n const tree: PcrTree = {};\n for (const pcr of records) {\n const segments = pcr.path.replace(/^library\\/pcrs\\//u, \"\").split(\"/\"); let node = tree;\n for (const [index, segment] of segments.entries()) {\n if (index >= depth) break;\n const child = (Object.hasOwn(node, segment) ? node[segment] : undefined) ?? { children: {}, pcrs: [] }; Object.defineProperty(node, segment, { value: child, writable: true, enumerable: true, configurable: true });\n if (index === segments.length - 1) child.pcrs.push(pcr);\n node = child.children;\n }\n }\n return tree;\n}\n\nexport function resolveClassification({ root, system, version, code, context = null }: ClassificationOptions) {\n const normalizedSystem = String(system).toLowerCase();\n const normalizedVersion = String(version);\n const normalizedCode = String(code);\n const coverageIndex = readClassificationCoverage({\n root,\n system: normalizedSystem,\n version: normalizedVersion,\n });\n return resolveClassificationWithCoverage({\n root,\n system: normalizedSystem,\n version: normalizedVersion,\n code: normalizedCode,\n coverageIndex,\n context,\n });\n}\n\nexport function verifyDistributionCoverage({ root, snapshot, context }: { root: string; snapshot: CoverageSnapshot; context?: PcrReadContext | null | undefined }): void {\n const coverageIndex = snapshot.document;\n for (const entry of coverageIndex.entries) {\n if (entry.coverage_status === \"mapped\" || entry.legacy_reference) {\n resolveClassificationWithCoverage({ root, system: String(coverageIndex.classification_system).toLowerCase(),\n version: String(coverageIndex.classification_version), code: String(entry.code), coverageIndex, context });\n }\n }\n}\n\nfunction resolveClassificationWithCoverage({ root, system, version, code, coverageIndex, context = null }: ClassificationOptions & { coverageIndex: CoverageDocument }) {\n const coverage = coverageIndex.entries.find(\n (candidate) => String(candidate.code) === String(code),\n );\n if (!coverage) {\n throw new PcrClassificationCodeUnknownError({ system, version, code });\n }\n if (coverage.coverage_status === \"mapped\") {\n const canonical = readCanonicalClassificationMapping({\n root,\n system,\n version,\n code,\n });\n assertCoverageMappingMatchesCanonical({ coverage, canonical, system, version, code });\n const pcr = getPcrById({ root, pcrId: canonical.mapping.pcr_id, context });\n if (pcr.record_kind !== \"methodology\") {\n throw invalidCoverageResolution({\n system,\n version,\n code,\n issue: `mapped coverage points to non-material PCR ${pcr.id}`,\n });\n }\n return {\n classification_system: canonical.mappingFile.classification_system,\n classification_version: canonical.mappingFile.classification_version,\n mapping: canonical.mapping,\n pcr,\n resolution_status: \"mapped\",\n coverage_status: coverage.coverage_status,\n coverage,\n };\n }\n\n if (coverage.legacy_reference) {\n const canonical = readCanonicalClassificationMapping({\n root,\n system,\n version,\n code,\n });\n if (canonical.mapping.pcr_id !== coverage.legacy_reference.pcr_id) {\n throw invalidCoverageResolution({\n system,\n version,\n code,\n issue: `legacy reference ${coverage.legacy_reference.pcr_id} does not match canonical mapping ${canonical.mapping.pcr_id}`,\n });\n }\n const pcr = getPcrById({ root, pcrId: canonical.mapping.pcr_id, context });\n if (pcr.record_kind !== \"legacy_scaffold_reference\") {\n throw invalidCoverageResolution({\n system,\n version,\n code,\n issue: `legacy reference points to material PCR ${pcr.id}`,\n });\n }\n return {\n classification_system: canonical.mappingFile.classification_system,\n classification_version: canonical.mappingFile.classification_version,\n mapping: canonical.mapping,\n pcr,\n resolution_status: \"legacy_scaffold_compatibility\",\n coverage_status: coverage.coverage_status,\n coverage,\n };\n }\n\n return {\n classification_system: String(coverageIndex.classification_system),\n classification_version: String(coverageIndex.classification_version),\n mapping: null,\n pcr: null,\n resolution_status: \"unmapped\",\n coverage_status: coverage.coverage_status,\n coverage,\n review_candidate:\n [\"manual_review\", \"unknown\"].includes(coverage.coverage_status) && coverage.mapping\n ? structuredClone(coverage.mapping)\n : null,\n };\n}\n\nfunction readCanonicalClassificationMapping({ root, system, version, code }: ClassificationOptions): CanonicalMapping {\n const normalizedRoot = path.resolve(root);\n const mappingPath = path.join(\n normalizedRoot,\n \"classifications/mappings\",\n `${system}-${version}-to-pcr.yaml`,\n );\n const mappingRelativePath = toPosix(path.relative(normalizedRoot, mappingPath));\n let rawMapping: unknown;\n try {\n const mappingBytes = pcrSource(root)?.readFile(mappingRelativePath) ?? readControlledRepositoryFileBytes({\n root: normalizedRoot,\n filePath: mappingPath,\n relativePath: mappingRelativePath,\n label: \"classification mapping\",\n });\n rawMapping = parseYaml(new TextDecoder(\"utf-8\", { fatal: true }).decode(mappingBytes));\n } catch (error) {\n if (error instanceof PcrClassificationMappingError) {\n throw error;\n }\n throw new PcrClassificationMappingError({\n system,\n version,\n code,\n issue:\n `canonical mapping source ${mappingRelativePath} could not be read safely ` +\n `(${error instanceof Error ? error.message : String(error)})`,\n });\n }\n const mappingFile = checkedMappingDocument(rawMapping, { system, version, code });\n const matches = (mappingFile.mappings ?? []).filter(\n (entry) => String(entry.code) === String(code),\n );\n if (matches.length === 0) {\n throw new Error(`No PCR mapping found for ${system}:${version}:${code}`);\n }\n if (matches.length !== 1) {\n throw new PcrClassificationMappingError({\n system,\n version,\n code,\n issue: `expected one selected edge, found ${matches.length}`,\n });\n }\n const mapping = matches[0];\n if (!mapping) throw new Error(\"Selected mapping disappeared.\");\n if (\n typeof mapping.mapping_type !== \"string\" || !CLASSIFICATION_MAPPING_RELATIONS.has(mapping.mapping_type)\n || mapping.mapping_type === \"manual_review\"\n ) {\n throw new PcrClassificationMappingError({\n system,\n version,\n code,\n mappingType: mapping.mapping_type,\n });\n }\n assertAcceptedMappingDecision({ mapping, system, version, code });\n if (typeof mapping.pcr_id !== \"string\") throw new PcrClassificationMappingError({ system, version, code, issue: \"selected mapping requires a string PCR id\" });\n const acceptance = mapping.acceptance;\n if (!isRecord(acceptance)) throw new PcrClassificationMappingError({ system, version, code, issue: \"selected mapping requires acceptance\" });\n return { mappingFile, mapping: { ...mapping, pcr_id: mapping.pcr_id, mapping_type: mapping.mapping_type, acceptance } };\n}\n\nfunction checkedMappingDocument(value: unknown, { system, version, code }: Omit<ClassificationOptions, \"root\" | \"context\">): MappingDocument {\n if (!isRecord(value) || value.schema_version !== 2 || value.status !== \"current\") {\n throw new PcrClassificationMappingError({ system, version, code, issue: `expected schema_version 2 with status current, found ${String(unknownField(value, \"schema_version\"))}/${String(unknownField(value, \"status\"))}` });\n }\n if (String(value.classification_system).toLowerCase() !== system.toLowerCase() || String(value.classification_version) !== version || !Array.isArray(value.mappings)) {\n throw new PcrClassificationMappingError({ system, version, code, issue: \"mapping document coordinate or mappings array does not match the requested classification\" });\n }\n if (!value.mappings.every(isRecord)) throw new PcrClassificationMappingError({ system, version, code, issue: \"mapping entries must be objects\" });\n return { ...value, schema_version: 2, status: \"current\", mappings: value.mappings };\n}\n\nfunction assertAcceptedMappingDecision({ mapping, system, version, code }: { mapping: UnknownRecord; system: string; version: string; code: string }): void {\n const acceptance = isRecord(mapping.acceptance) ? mapping.acceptance : null;\n if (\n acceptance?.status !== \"accepted\"\n || typeof acceptance?.decided_by !== \"string\"\n || acceptance.decided_by.trim().length === 0\n || !isRealCanonicalUtcTimestamp(acceptance?.decided_at_utc)\n || typeof acceptance?.decision_ref !== \"string\"\n || !/^(?: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(\n acceptance.decision_ref,\n )\n ) {\n throw new PcrClassificationMappingError({\n system,\n version,\n code,\n mappingType: mapping?.mapping_type,\n issue:\n \"selected edge requires acceptance.status=accepted, decided_by, strict decided_at_utc, and decision_ref\",\n });\n }\n}\n\nfunction isRealCanonicalUtcTimestamp(value: unknown): boolean {\n const match = typeof value === \"string\"\n ? /^([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)\n : null;\n if (!match) {\n return false;\n }\n const year = Number(match[1]), month = Number(match[2]), day = Number(match[3]), hour = Number(match[4]), minute = Number(match[5]), second = Number(match[6]);\n const parsed = new Date(0);\n parsed.setUTCFullYear(year, month - 1, day);\n parsed.setUTCHours(hour, minute, second, 0);\n return (\n parsed.getUTCFullYear() === year\n && parsed.getUTCMonth() === month - 1\n && parsed.getUTCDate() === day\n && parsed.getUTCHours() === hour\n && parsed.getUTCMinutes() === minute\n && parsed.getUTCSeconds() === second\n );\n}\n\nfunction assertCoverageMappingMatchesCanonical({ coverage, canonical, system, version, code }: { coverage: CoverageEntry; canonical: CanonicalMapping; system: string; version: string; code: string }): void {\n const coverageMapping = coverage.mapping;\n const canonicalMapping = canonical.mapping;\n for (const field of [\"pcr_id\", \"mapping_type\", \"confidence\"] as const) {\n if (String(coverageMapping?.[field]) !== String(canonicalMapping?.[field])) {\n throw invalidCoverageResolution({\n system,\n version,\n code,\n issue: `coverage mapping ${field} ${String(coverageMapping?.[field])} does not match canonical mapping ${String(canonicalMapping?.[field])}`,\n });\n }\n }\n for (const field of [\"status\", \"decided_by\", \"decided_at_utc\", \"decision_ref\"] as const) {\n if (\n String(coverageMapping?.acceptance?.[field])\n !== String(canonicalMapping?.acceptance?.[field])\n ) {\n throw invalidCoverageResolution({\n system,\n version,\n code,\n issue:\n `coverage mapping acceptance.${field} ${String(coverageMapping?.acceptance?.[field])} ` +\n `does not match canonical mapping ${String(canonicalMapping?.acceptance?.[field])}`,\n });\n }\n }\n}\n\nfunction invalidCoverageResolution({ system, version, code, issue }: { system: string; version: string; code: string; issue: string }) {\n return new PcrClassificationCoverageSemanticError({\n system,\n version,\n source: `classifications/indexes/${system}-${version}-coverage.json`,\n issues: [`entry ${code}: ${issue}`],\n });\n}\n\n/**\n * Resolve a PCR identity without silently following a retired id. Alias\n * lookup intentionally happens before catalog lookup, including while the\n * old scaffold directory still exists during a staged migration.\n */\nexport function resolvePcrIdentity({ root, pcrId, context = null }: ReadPcrOptions) {\n const readRoot = requiredRoot(root, context);\n const normalizedPcrId = String(pcrId);\n const alias = findPcrIdAlias({ root: readRoot, pcrId: normalizedPcrId, context });\n if (alias) {\n return {\n resolution_status: \"legacy_id_redirect\",\n requested_pcr_id: normalizedPcrId,\n redirect: legacyPcrIdRedirect(alias),\n pcr: null,\n };\n }\n return {\n resolution_status: \"canonical\",\n requested_pcr_id: normalizedPcrId,\n redirect: null,\n pcr: getCurrentPcrSnapshotUnchecked({ root: readRoot, pcrId: normalizedPcrId, context }).pcr,\n };\n}\n\nfunction legacyPcrIdRedirect(alias: PcrIdAlias) {\n return {\n source_pcr_id: alias.source_pcr_id,\n source_pcr_path: alias.source_pcr_path,\n target: structuredClone(alias.target),\n reason: alias.reason,\n decision_ref: alias.decision_ref,\n next_command: nextCommandForLegacyPcrAlias(alias.target),\n };\n}\n\nfunction nextCommandForLegacyPcrAlias(target: PcrIdAlias[\"target\"]): string {\n if (target.kind === \"classification_coverage\") {\n return (\n \"npm --silent run tiangong-pcr -- resolve --classification \" +\n `${target.classification_system}:${target.classification_version}:${target.code} --format json`\n );\n }\n return (\n \"npm --silent run tiangong-pcr -- resolve --pcr \" +\n `${target.pcr_id} --format json`\n );\n}\n\nfunction throwIfLegacyPcrId({ root, pcrId, context = null }: ReadPcrOptions): void {\n const alias = findPcrIdAlias({ root: requiredRoot(root, context), pcrId: String(pcrId), context });\n if (alias) {\n throw new PcrLegacyIdRedirectError(alias);\n }\n}\n\nexport function getPcrById({ root, pcrId, refresh = false, context = null }: ReadPcrOptions): PcrRecord {\n return getCurrentPcrSnapshot({ root: requiredRoot(root, context), pcrId, refresh, context }).pcr;\n}\n\nexport function getPcrReadiness({ root, pcrId, refresh = false, context = null }: ReadPcrOptions): Readiness {\n return structuredClone(getPcrById({ root: requiredRoot(root, context), pcrId, refresh, context }).readiness);\n}\n\nexport function readPcrMarkdown({ root, pcrId, language = \"en-US\", context = null }: ReadPcrOptions & { language?: string }): string {\n const readRoot = requiredRoot(root, context);\n const snapshot = getCurrentPcrSnapshot({ root: readRoot, pcrId, context });\n const source = pcrSource(readRoot);\n if (source && !source.languages.includes(language)) {\n throw Object.assign(new Error(`Offline library contains English only; requested ${language}. Use --lang en-US.`), { code: \"PCR_LIBRARY_LANGUAGE_UNAVAILABLE\" });\n }\n const markdownName = `pcr.${language}.md`;\n const markdownPath = path.join(readRoot, snapshot.pcr.path, markdownName);\n const artifact = snapshot.artifacts[markdownName];\n if (!artifact?.bytes) {\n throw new Error(`PCR Markdown not found: ${toPosix(path.relative(readRoot, markdownPath))}`);\n }\n return artifact.bytes.toString(\"utf8\");\n}\n\n/** A complete current document, read once through the same integrity boundary as guidance. */\nexport function readPcrDocumentBundle({ root, pcrId, context = null }: ReadPcrOptions) {\n root = requiredRoot(root, context);\n const snapshot = getCurrentPcrSnapshot({ root, pcrId, context });\n const { pcr, manifest, manifestBytes, structured } = snapshot;\n assertPcrUsable({ pcr, operation: \"guidance\" });\n const languages = pcrSource(root)?.languages ?? declaredPcrLanguages(manifest);\n if (manifest.schema_version !== 1 && manifest.schema_version !== 2) throw new Error(`Unsupported document manifest schema: ${manifest.schema_version}`);\n for (const language of languages) { const title = unknownField(manifest.title, language); if (typeof title !== \"string\" || !title.trim()) throw new Error(`Document requires a nonempty ${language} title.`); }\n const artifacts: Record<string, { path: string; bytes: Buffer; text: string; sha256: string }> = {};\n const decoder = new TextDecoder(\"utf-8\", { fatal: true });\n for (const name of [\"manifest.yaml\", ...(pcrSource(root) ? [...languages.map((language) => `pcr.${language}.md`), \"structured.yaml\"] : pcrArtifactFiles(manifest))]) {\n const bytes = name === \"manifest.yaml\" ? manifestBytes : snapshot.artifacts[name]?.bytes;\n if (!bytes) throw new Error(`PCR document artifact is unavailable: ${pcr.path}/${name}`);\n // A copy prevents consumers from changing a cached snapshot through Buffer aliasing.\n const copy = Buffer.from(bytes);\n const text = decoder.decode(copy);\n if (!text.trim()) throw new Error(`PCR document artifact is empty: ${pcr.path}/${name}`);\n artifacts[name] = {\n path: `${pcr.path}/${name}`,\n bytes: copy,\n text,\n sha256: exactByteSha256(copy),\n };\n }\n return {\n schema_version: 1,\n workspace: \"current\",\n pcr: structuredClone(pcr),\n manifest: structuredClone(manifest),\n structured: structuredClone(structured),\n languages,\n artifacts,\n };\n}\n\n/** Complete referenced legacy module source; scaffold status remains explicit. */\nexport function readPcrModuleDocumentBundle({ root, group, moduleId }: { root: string; group: string; moduleId: string }) {\n 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.\");\n const relativePath = `library/modules/${group}/${moduleId}.md`;\n const filePath = path.join(root, relativePath);\n const read = () => pcrSource(root)?.readFile(relativePath) ?? readControlledRepositoryFileBytes({ root, filePath, relativePath, label: \"PCR module\" });\n const bytes = read();\n const text = new TextDecoder(\"utf-8\", { fatal: true }).decode(bytes);\n const envelope = /^---\\r?\\n([\\s\\S]*?)\\r?\\n---(?:\\r?\\n|$)/u.exec(text);\n if (!envelope) throw new Error(`Module requires frontmatter: ${relativePath}`);\n const frontmatter = parsedRecord(envelope[1] ?? \"\", \"Module frontmatter\");\n if (frontmatter.id !== `module.${group}.${moduleId}` || frontmatter.module_type !== group) throw new Error(`Module identity mismatch: ${relativePath}`);\n if (!text.slice(envelope[0].length).trim()) throw new Error(`Module body is empty: ${relativePath}`);\n if (!bytes.equals(read())) throw new Error(`Module changed during read: ${relativePath}`);\n return { frontmatter, language: frontmatter.language ?? \"en-US\", artifact: { path: relativePath, bytes: Buffer.from(bytes), text, sha256: exactByteSha256(bytes) } };\n}\n\nexport function buildGuidance({ root, pcrId, context = null }: ReadPcrOptions): CompleteGuidance {\n return buildGuidanceForOperation({ root: requiredRoot(root, context), pcrId, operation: \"guidance\", context });\n}\n\n/** Internal captured source boundary used by synchronous read sessions. */\nexport function readVerifiedSnapshotForSession(options: ReadPcrOptions): CurrentPcrSnapshot & { structured: StructuredProjection } {\n const snapshot = getCurrentPcrSnapshot(options);\n assertPcrUsable({ pcr: snapshot.pcr, operation: \"guidance\" });\n if (!snapshot.structured) throw new Error(`PCR ${options.pcrId} passed readiness without a verified structured projection.`);\n return { ...snapshot, structured: snapshot.structured };\n}\n/** Compose from the captured verified source, never from a second file read. */\nexport function projectionFromVerifiedSnapshot(snapshot: CurrentPcrSnapshot & { structured: StructuredProjection }, root: string): VerifiedPcrProjection {\n return { pcr: structuredClone(snapshot.pcr), readiness: structuredClone(snapshot.pcr.readiness),\n source_structured: toPosix(path.relative(root, snapshot.structuredPath)),\n structured: structuredClone(snapshot.structured), ...deriveSnapshotGuidanceContext(snapshot) };\n}\nexport function getVerifiedPcrProjection(options: ReadPcrOptions): VerifiedPcrProjection {\n return projectionFromVerifiedSnapshot(readVerifiedSnapshotForSession(options), requiredRoot(options.root, options.context));\n}\n\nfunction buildGuidanceForOperation({ root, pcrId, operation, context = null }: ReadPcrOptions & { operation: PcrOperation }): CompleteGuidance {\n root = requiredRoot(root, context);\n const snapshot = getCurrentPcrSnapshot({ root, pcrId, context });\n const { pcr, structured, structuredPath } = snapshot;\n assertPcrUsable({ pcr, operation });\n if (!structured) {\n throw new Error(\n `PCR ${pcrId} passed readiness without a verified structured projection.`,\n );\n }\n const guidance = buildCompleteGuidance({ ...snapshot, structured }, toPosix(path.relative(root, structuredPath)));\n assertCoreContract(\"guidance-output.schema.json\", guidance, {\n code: \"PCR_INTERNAL_CONTRACT_INVALID\",\n entityKind: \"Agent guidance output\",\n source: toPosix(path.relative(root, structuredPath)),\n });\n return guidance;\n}\n\nexport function createFeedbackDraft({\n root,\n pcrId,\n type,\n affectedSection = \"\",\n processId = \"\",\n flowRole = \"\",\n summary = \"\",\n evidence = \"\",\n proposedChange = \"\",\n agent = \"tiangong-pcr\",\n}: { root: string; pcrId?: string; type: string; affectedSection?: string; processId?: string; flowRole?: string; summary?: string; evidence?: string; proposedChange?: string; agent?: string }) {\n if (!FEEDBACK_TYPES.includes(type)) {\n throw new Error(`Unsupported feedback type: ${type}`);\n }\n const pcr = pcrId ? getPcrById({ root, pcrId }) : null;\n const title = `PCR feedback: ${type}${pcrId ? ` for ${pcrId}` : \"\"}`;\n const body = `## Summary\n\n${summary || \"Describe the PCR issue or improvement.\"}\n\n## Feedback metadata\n\n| Field | Value |\n| --- | --- |\n| PCR id | ${pcrId || \"\"} |\n| PCR version | ${pcr?.version ?? \"\"} |\n| Feedback type | ${type} |\n| Affected section | ${affectedSection} |\n| Affected process_id | ${processId} |\n| Affected flow role | ${flowRole} |\n| Generated by | ${agent} |\n\n## Current PCR text or rule excerpt\n\n\n## Proposed change\n\n${proposedChange}\n\n## Evidence sources\n\n${evidence}\n\n## Impact on foreground data package construction\n\n\n## Maintainer intake checklist\n\n- [ ] Classify the feedback as PCR content, classification mapping, UUID identity, translation, source evidence, or CLI/validator behavior.\n- [ ] Verify cited evidence and Tiangong UUID references before changing PCR content.\n- [ ] Update canonical \\`pcr.en-US.md\\` first when methodology changes.\n- [ ] Align \\`pcr.zh-CN.md\\` when user-facing text changes.\n- [ ] Run \\`npm run pcr:sync-structured -- --pcr <library/pcrs/...>\\` when canonical Markdown changes.\n- [ ] Bump or publish the PCR manifest if lifecycle state changes.\n`;\n\n const draft = { title, body };\n assertCoreContract(\"feedback-draft-output.schema.json\", draft, {\n code: \"PCR_INTERNAL_CONTRACT_INVALID\",\n entityKind: \"PCR feedback issue draft output\",\n });\n return draft;\n}\n\nexport function validateModelAgainstGuidance({ root, pcrId, model }: { root: string; pcrId: string; model: unknown }): ValidationReport {\n const guidance = buildGuidanceForOperation({ root, pcrId, operation: \"validation\" });\n const findings: ValidationFinding[] = [];\n const accepted = validateCoreContract(\"model-validation-input.schema.json\", model).valid;\n const text = typeof model === \"string\" ? model : accepted ? JSON.stringify(model) : \"\";\n const checksPerformed: PerformedCheck[] = [];\n const checksSkipped: SkippedCheck[] = [];\n\n if (!accepted) {\n findings.push({\n severity: \"error\",\n code: \"invalid_model_input\",\n message: \"Model input must be text or a JSON object.\",\n });\n }\n\n const requiredQualifiers = asArray(guidance.reference_flow.required_qualifiers);\n if (accepted && requiredQualifiers.length > 0) {\n checksPerformed.push(performedCheck(\n \"required_qualifier_presence\",\n \"reference_flow.required_qualifiers\",\n requiredQualifiers.length,\n ));\n for (const qualifier of requiredQualifiers) {\n if (!text.toLowerCase().includes(String(qualifier).toLowerCase())) {\n findings.push({\n severity: \"warning\",\n code: \"missing_required_qualifier\",\n message: `Model text does not mention required qualifier: ${qualifier}`,\n });\n }\n }\n }\n\n if (accepted) {\n addSkippedCheck(\n checksSkipped,\n \"system_boundary_rules\",\n \"system_boundary.rules\",\n asArray(guidance.system_boundary?.rules).length,\n );\n addSkippedCheck(\n checksSkipped,\n \"boundary_abstraction\",\n \"boundary_abstraction\",\n topLevelRequirementCount(guidance.boundary_abstraction),\n );\n addSkippedCheck(\n checksSkipped,\n \"reference_flow_definition\",\n \"reference_flow\",\n topLevelRequirementCount(guidance.reference_flow, [\"required_qualifiers\"]),\n );\n addSkippedCheck(checksSkipped, \"measurement_rules\", \"measurement_rules\", asArray(guidance.measurement_rules).length);\n addSkippedCheck(checksSkipped, \"process_map\", \"process_map\", asArray(guidance.process_map).length);\n addSkippedCheck(checksSkipped, \"process_inventory\", \"process_inventory\", countInventoryRows(guidance.process_inventory));\n addSkippedCheck(\n checksSkipped,\n \"collection_protocols\",\n \"production_guidance.collection_protocols\",\n asArray(guidance.production_guidance.collection_protocols).length,\n );\n addSkippedCheck(\n checksSkipped,\n \"calculation_rules\",\n \"production_guidance.calculation_rules\",\n asArray(guidance.production_guidance.calculation_rules).length,\n );\n addSkippedCheck(\n checksSkipped,\n \"data_quality_requirements\",\n \"production_guidance.data_quality_requirements\",\n asArray(guidance.production_guidance.data_quality_requirements).length,\n );\n addSkippedCheck(checksSkipped, \"data_quality_rules\", \"data_quality_rules\", asArray(guidance.data_quality_rules).length);\n addSkippedCheck(checksSkipped, \"allocation_rules\", \"allocation_rules\", asArray(guidance.allocation_rules).length);\n addSkippedCheck(checksSkipped, \"validation_rules\", \"validation_rules\", asArray(guidance.validation_rules).length);\n addSkippedCheck(\n checksSkipped,\n \"published_dataset_profile\",\n \"published_dataset_profile\",\n topLevelRequirementCount(guidance.published_dataset_profile),\n );\n }\n\n return buildValidationReport({\n validationKind: \"tiangong-pcr-model-validation\",\n guidance,\n input: {\n input_kind: \"process_or_lifecyclemodel\",\n representation: typeof model === \"string\" ? \"text\" : Array.isArray(model) ? \"array\" : typeof model,\n accepted,\n },\n findings,\n checksPerformed,\n checksSkipped,\n });\n}\n\nexport function validateDatasetAgainstGuidance({ root, pcrId, dataset }: { root: string; pcrId: string; dataset: unknown }): ValidationReport {\n const guidance = buildGuidanceForOperation({ root, pcrId, operation: \"validation\" });\n const findings: ValidationFinding[] = [];\n const accepted = validateCoreContract(\"dataset-validation-input.schema.json\", dataset).valid;\n const checksPerformed: PerformedCheck[] = [];\n const checksSkipped: SkippedCheck[] = [];\n const records = accepted ? collectionRecordArrays(dataset) : [];\n const requiredProtocolIds = asArray(guidance.production_guidance.collection_protocols)\n .map((protocol) => unknownField(protocol, \"protocol_id\"))\n .filter(Boolean);\n const presentProtocolIds = accepted ? collectCollectionRecordProtocolIds(dataset) : new Set();\n\n if (!accepted) {\n findings.push({\n severity: \"error\",\n code: \"invalid_dataset_input\",\n message: \"Foreground data package input must be a JSON object.\",\n });\n }\n\n if (accepted && requiredProtocolIds.length > 0) {\n checksPerformed.push(performedCheck(\n \"collection_protocol_presence\",\n \"production_guidance.collection_protocols\",\n requiredProtocolIds.length,\n ));\n for (const protocolId of requiredProtocolIds) {\n if (!presentProtocolIds.has(String(protocolId))) {\n findings.push({\n severity: \"error\",\n code: \"missing_collection_protocol_record\",\n message: `Foreground data package is missing collection record for protocol_id ${protocolId}`,\n });\n }\n }\n }\n\n if (accepted) {\n addSkippedCheck(\n checksSkipped,\n \"system_boundary_rules\",\n \"system_boundary.rules\",\n asArray(guidance.system_boundary?.rules).length,\n );\n addSkippedCheck(\n checksSkipped,\n \"boundary_abstraction\",\n \"boundary_abstraction\",\n topLevelRequirementCount(guidance.boundary_abstraction),\n );\n addSkippedCheck(\n checksSkipped,\n \"reference_flow_rules\",\n \"reference_flow\",\n topLevelRequirementCount(guidance.reference_flow, [\"required_qualifiers\"]) +\n asArray(guidance.reference_flow?.required_qualifiers).length,\n );\n addSkippedCheck(checksSkipped, \"measurement_rules\", \"measurement_rules\", asArray(guidance.measurement_rules).length);\n addSkippedCheck(checksSkipped, \"process_map\", \"process_map\", asArray(guidance.process_map).length);\n addSkippedCheck(checksSkipped, \"process_inventory\", \"process_inventory\", countInventoryRows(guidance.process_inventory));\n addSkippedCheck(\n checksSkipped,\n \"calculation_rules\",\n \"production_guidance.calculation_rules\",\n asArray(guidance.production_guidance.calculation_rules).length,\n );\n addSkippedCheck(\n checksSkipped,\n \"data_quality_requirements\",\n \"production_guidance.data_quality_requirements\",\n asArray(guidance.production_guidance.data_quality_requirements).length,\n );\n addSkippedCheck(checksSkipped, \"data_quality_rules\", \"data_quality_rules\", asArray(guidance.data_quality_rules).length);\n addSkippedCheck(checksSkipped, \"allocation_rules\", \"allocation_rules\", asArray(guidance.allocation_rules).length);\n addSkippedCheck(checksSkipped, \"validation_rules\", \"validation_rules\", asArray(guidance.validation_rules).length);\n addSkippedCheck(\n checksSkipped,\n \"published_dataset_profile\",\n \"published_dataset_profile\",\n topLevelRequirementCount(guidance.published_dataset_profile),\n );\n }\n\n return buildValidationReport({\n validationKind: \"tiangong-pcr-dataset-validation\",\n guidance,\n input: {\n input_kind: \"foreground_data_package\",\n representation: Array.isArray(dataset) ? \"array\" : dataset === null ? \"null\" : typeof dataset,\n accepted,\n collection_record_count: records.length,\n distinct_protocol_id_count: presentProtocolIds.size,\n },\n findings,\n checksPerformed,\n checksSkipped,\n });\n}\n\nfunction collectCollectionRecordProtocolIds(dataset: unknown): Set<string> {\n if (typeof dataset === \"string\") {\n return new Set();\n }\n const ids = new Set<string>();\n for (const record of collectionRecordArrays(dataset)) {\n const protocolId = unknownField(record, \"protocol_id\") ?? unknownField(record, \"collection_protocol_id\");\n if (protocolId) {\n ids.add(String(protocolId));\n }\n }\n return ids;\n}\n\nfunction collectionRecordArrays(value: unknown): unknown[] {\n if (!isRecord(value)) {\n return [];\n }\n const records = [];\n for (const key of [\"collection_records\", \"foreground_records\", \"measurement_records\"]) {\n const rows = value[key];\n if (Array.isArray(rows)) records.push(...rows);\n }\n if (value.data && typeof value.data === \"object\") {\n records.push(...collectionRecordArrays(value.data));\n }\n return records;\n}\n\nfunction currentPcrEntry(root: string, entry: CatalogEntry): PcrRecord {\n return currentPcrSnapshot(root, entry).pcr;\n}\n\nfunction getCurrentPcrSnapshot({ root, pcrId, refresh = false, context = null }: ReadPcrOptions): CurrentPcrSnapshot {\n throwIfLegacyPcrId({ root, pcrId, context });\n return getCurrentPcrSnapshotUnchecked({ root, pcrId, refresh, context });\n}\n\nexport function readPcrDistributionCatalog({ root }: { root: string }): CatalogEntry[] {\n return readPcrCatalog(path.resolve(root));\n}\n\n// Builder-only: preserves legacy catalog records without following alias redirects.\nexport function readPcrDistributionSnapshot(options: ReadPcrOptions): CurrentPcrSnapshot {\n return getCurrentPcrSnapshotUnchecked(options);\n}\n\nfunction getCurrentPcrSnapshotUnchecked({ root, pcrId, refresh = false, context = null }: ReadPcrOptions): CurrentPcrSnapshot {\n root = requiredRoot(root, context);\n const source = pcrSource(root);\n if (source) {\n const entry = source.entry(pcrId);\n if (!entry) throw new Error(`PCR not found: ${pcrId}`);\n return currentPcrSnapshot(root, entry);\n }\n const normalizedRoot = path.resolve(root);\n if (context) {\n assertPcrReadContextFresh({ context, root: normalizedRoot });\n }\n const entry = context\n ? getPcrReadContextCatalog({ context, root: normalizedRoot, readCatalog: readPcrCatalog }).get(pcrId)\n : getPcrCatalog({ root: normalizedRoot, refresh }).find(candidate => candidate.id === pcrId);\n if (!entry) {\n throw new Error(`PCR not found: ${pcrId}`);\n }\n return currentPcrSnapshot(normalizedRoot, entry, context);\n}\n\nfunction currentPcrSnapshot(root: string, entry: CatalogEntry, context: PcrReadContext | null = null): CurrentPcrSnapshot {\n const snapshotFiles = pcrSource(root)?.snapshotFiles(entry) ?? readConsistentSnapshotFiles({ root, entry, context });\n const pcr = pcrFromManifest({\n root,\n pcrDir: path.dirname(entry.manifestPath),\n manifest: snapshotFiles.manifest,\n });\n let projection;\n try {\n projection = inspectPcrProjection({\n root,\n pcr,\n manifest: snapshotFiles.manifest,\n artifacts: snapshotFiles.artifacts,\n });\n } catch (error) {\n projection = failedProjectionInspection({ root, pcr, error });\n }\n const readiness = assessPcrReadiness({\n pcr,\n projectionFingerprint: projection.fingerprint,\n structuredAvailable: projection.structuredAvailable,\n projectionCompletenessIssues: projection.completenessIssues,\n });\n return {\n pcr: { ...pcr, readiness },\n manifest: snapshotFiles.manifest,\n manifestBytes: snapshotFiles.manifestBytes,\n artifacts: snapshotFiles.artifacts,\n ...projection,\n };\n}\n\nfunction readConsistentSnapshotFiles({ root, entry, context = null }: { root: string; entry: CatalogEntry; context?: PcrReadContext | null | undefined }): CapturedPcrSnapshot {\n let lastFailure = null;\n for (let attempt = 1; attempt <= CURRENT_SNAPSHOT_MAX_ATTEMPTS; attempt += 1) {\n try {\n const locationA = assertCurrentSnapshotLocation({ root, entry });\n const manifestABytes = readCanonicalFileBytes(locationA.manifestPath);\n const manifest = parsedRecord(manifestABytes.toString(\"utf8\"), \"PCR manifest\");\n if (manifest.id !== entry.id) {\n throw snapshotAttemptError(\n \"manifest_identity_changed\",\n `Expected PCR id ${entry.id}, found ${String(manifest.id)}.`,\n { expected_pcr_id: entry.id, actual_pcr_id: manifest.id ?? null },\n );\n }\n\n const managedMarkersA = currentManagedStateMarkers(locationA.pcrDir);\n assertManagedSnapshotHashesDeclared({ manifest, managedMarkers: managedMarkersA });\n const artifacts = Object.fromEntries(\n pcrArtifactFiles(manifest, { strict: false }).map((filename) => [\n filename,\n readObservedPcrArtifact({ root, context, pcrDir: locationA.pcrDir, filename }),\n ]),\n );\n const releaseFailures = releaseArtifactFailures({ manifest, artifacts });\n const locationB = assertCurrentSnapshotLocation({ root, entry });\n const managedMarkersB = currentManagedStateMarkers(locationB.pcrDir);\n if (!sameStrings(managedMarkersA, managedMarkersB)) {\n throw snapshotAttemptError(\n \"managed_state_changed_during_read\",\n \"PCR managed release state changed while its current snapshot was being read.\",\n {\n managed_markers_before: managedMarkersA,\n managed_markers_after: managedMarkersB,\n },\n );\n }\n const manifestBBytes = readCanonicalFileBytes(locationB.manifestPath);\n if (!manifestABytes.equals(manifestBBytes)) {\n throw snapshotAttemptError(\n \"manifest_changed_during_read\",\n \"manifest.yaml changed while its current artifacts were being read.\",\n );\n }\n if (releaseFailures.length > 0) {\n throw snapshotAttemptError(\n \"release_artifact_hash_mismatch\",\n \"Current PCR artifacts do not match manifest.release_artifacts.\",\n { manifest_status: manifest.status ?? null, artifacts: releaseFailures },\n );\n }\n return { manifest, manifestBytes: manifestABytes, artifacts };\n } catch (error) {\n lastFailure = snapshotFailureDetails(error);\n }\n }\n throw new PcrCurrentSnapshotInconsistentError({\n pcrId: entry.id,\n pcrPath: entry.path,\n attempts: CURRENT_SNAPSHOT_MAX_ATTEMPTS,\n lastFailure,\n });\n}\n\nfunction readObservedPcrArtifact({ root, context, pcrDir, filename }: { root: string; context: PcrReadContext | null; pcrDir: string; filename: string }): CapturedArtifact {\n const artifactPath = path.join(pcrDir, filename);\n if (context) {\n observePcrReadContextArtifactRead({\n context,\n root,\n relativePath: toPosix(path.relative(root, artifactPath)),\n });\n }\n return readOptionalCanonicalFile(artifactPath);\n}\n\nfunction releaseArtifactFailures({ manifest, artifacts }: { manifest: PcrManifest; artifacts: Record<string, CapturedArtifact> }): { artifact: string; hash_field: string | undefined; expected: string | null; actual: string | null; reason: string }[] {\n if (!Object.hasOwn(manifest, \"release_artifacts\")) {\n return [];\n }\n const expectedHashes = expectedPcrArtifactHashes(manifest);\n const failures = [];\n for (const [filename, expected] of Object.entries(expectedHashes)) {\n const hashField = manifest.schema_version === 2 && filename !== \"structured.yaml\"\n ? `markdown_sha256.${filename.slice(4, -3)}`\n : Object.entries(RELEASE_ARTIFACTS).find(([, file]) => file === filename)?.[0];\n const artifact = artifacts[filename];\n if (!artifact?.bytes) {\n failures.push({\n artifact: filename,\n hash_field: hashField,\n expected: typeof expected === \"string\" ? expected : null,\n actual: null,\n reason: `artifact_unreadable:${errorCode(artifact?.error)}`,\n });\n continue;\n }\n const actual = exactByteSha256(artifact.bytes);\n if (typeof expected !== \"string\" || expected !== actual) {\n failures.push({\n artifact: filename,\n hash_field: hashField,\n expected: typeof expected === \"string\" ? expected : null,\n actual,\n reason: \"sha256_mismatch\",\n });\n }\n }\n return failures;\n}\n\nfunction assertManagedSnapshotHashesDeclared({ manifest, managedMarkers }: { manifest: PcrManifest; managedMarkers: readonly string[] }): void {\n if (managedMarkers.length === 0 || Object.hasOwn(manifest, \"release_artifacts\")) {\n return;\n }\n throw snapshotAttemptError(\n \"managed_release_artifacts_missing\",\n \"Managed PCR current state requires manifest.release_artifacts and cannot use legacy snapshot semantics.\",\n {\n manifest_status: manifest.status ?? null,\n managed_markers: managedMarkers,\n required_field: \"manifest.release_artifacts\",\n required_hash_fields: Object.keys(RELEASE_ARTIFACTS),\n },\n );\n}\n\nfunction currentManagedStateMarkers(pcrDir: string) {\n return [\"release-history.yaml\", \"releases\"]\n .filter((name) => pathEntryExists(path.join(pcrDir, name)))\n .sort((left, right) => left.localeCompare(right));\n}\n\nfunction pathEntryExists(targetPath: string): boolean {\n try {\n lstatSync(targetPath);\n return true;\n } catch (error) {\n if (errorCode(error) === \"ENOENT\") {\n return false;\n }\n throw error;\n }\n}\n\nfunction sameStrings(left: readonly string[], right: readonly string[]): boolean {\n return left.length === right.length && left.every((value, index) => value === right[index]);\n}\n\nfunction assertCurrentSnapshotLocation({ root, entry }: { root: string; entry: CatalogEntry }): { manifestPath: string; pcrDir: string } {\n const normalizedRoot = path.resolve(root);\n const pathSegments = String(entry.path).split(\"/\");\n if (\n pathSegments.length !== 5 ||\n pathSegments[0] !== \"library\" ||\n pathSegments[1] !== \"pcrs\" ||\n pathSegments.slice(2).some((segment) => !segment || segment === \".\" || segment === \"..\")\n ) {\n throw snapshotAttemptError(\n \"canonical_pcr_path_invalid\",\n \"Cached PCR path is not a canonical domain/subdomain/leaf path.\",\n {\n pcr_path: entry.path,\n reason: \"non_canonical_relative_path\",\n },\n );\n }\n\n const directoryPaths = [normalizedRoot];\n let pcrDir = normalizedRoot;\n for (const segment of pathSegments) {\n pcrDir = path.join(pcrDir, segment);\n directoryPaths.push(pcrDir);\n }\n\n let rootRealPath = null;\n for (const [index, directoryPath] of directoryPaths.entries()) {\n const relativePath = toPosix(path.relative(normalizedRoot, directoryPath)) || \".\";\n let stat;\n try {\n stat = lstatSync(directoryPath);\n } catch (error) {\n throw snapshotAttemptError(\n \"canonical_pcr_path_invalid\",\n `Canonical PCR directory is unavailable: ${relativePath}.`,\n {\n path_component: relativePath,\n reason: `directory_unreadable:${errorCode(error)}`,\n expected_type: \"regular_directory\",\n },\n );\n }\n if (stat.isSymbolicLink() || !stat.isDirectory()) {\n throw snapshotAttemptError(\n \"canonical_pcr_path_invalid\",\n `Canonical PCR path component is not a regular directory: ${relativePath}.`,\n {\n path_component: relativePath,\n reason: stat.isSymbolicLink() ? \"symbolic_link\" : \"not_a_directory\",\n expected_type: \"regular_directory\",\n },\n );\n }\n\n let realPath;\n try {\n realPath = realpathSync(directoryPath);\n } catch (error) {\n throw snapshotAttemptError(\n \"canonical_pcr_path_invalid\",\n `Canonical PCR directory cannot be resolved: ${relativePath}.`,\n {\n path_component: relativePath,\n reason: `realpath_unavailable:${errorCode(error)}`,\n expected_type: \"regular_directory\",\n },\n );\n }\n if (index === 0) {\n rootRealPath = realPath;\n } else if (rootRealPath === null || !pathIsInside(rootRealPath, realPath)) {\n throw snapshotAttemptError(\n \"canonical_pcr_path_invalid\",\n `Canonical PCR directory resolves outside the repository root: ${relativePath}.`,\n {\n path_component: relativePath,\n reason: \"realpath_outside_root\",\n expected_type: \"regular_directory_within_root\",\n },\n );\n }\n }\n\n const manifestPath = path.join(pcrDir, \"manifest.yaml\");\n if (path.resolve(entry.manifestPath) !== manifestPath) {\n throw snapshotAttemptError(\n \"canonical_pcr_path_invalid\",\n \"Cached manifest path is not the direct manifest.yaml child of its canonical PCR leaf.\",\n {\n pcr_path: entry.path,\n reason: \"manifest_not_direct_leaf_child\",\n },\n );\n }\n return { manifestPath, pcrDir };\n}\n\nfunction pathIsInside(rootPath: string, candidatePath: string): boolean {\n const relativePath = path.relative(rootPath, candidatePath);\n return relativePath === \"\" || (!path.isAbsolute(relativePath) && relativePath !== \"..\" && !relativePath.startsWith(`..${path.sep}`));\n}\n\nfunction exactByteSha256(bytes: Uint8Array): string {\n return `sha256:${createHash(\"sha256\").update(bytes).digest(\"hex\")}`;\n}\n\nfunction readOptionalCanonicalFile(filePath: string): CapturedArtifact {\n try {\n return { bytes: readCanonicalFileBytes(filePath), error: null };\n } catch (error) {\n return { bytes: null, error };\n }\n}\n\nfunction readControlledRepositoryFileBytes({ root, filePath, relativePath, label }: { root: string; filePath: string; relativePath: string; label: string }): Buffer {\n const normalizedRoot = path.resolve(root);\n const normalizedFilePath = path.resolve(filePath);\n const containedPath = path.relative(normalizedRoot, normalizedFilePath);\n if (\n containedPath.length === 0\n || path.isAbsolute(containedPath)\n || containedPath === \"..\"\n || containedPath.startsWith(`..${path.sep}`)\n ) {\n throw new Error(`${label} path escapes the repository root: ${relativePath}`);\n }\n\n const expectedRelativePath = toPosix(containedPath);\n if (expectedRelativePath !== relativePath) {\n throw new Error(`${label} path is not canonical: ${relativePath}`);\n }\n\n const before = assertControlledRepositoryPath({\n root: normalizedRoot,\n containedPath,\n relativePath,\n label,\n });\n let descriptor;\n try {\n descriptor = openSync(\n normalizedFilePath,\n fsConstants.O_RDONLY\n | (fsConstants.O_NOFOLLOW ?? 0)\n | (fsConstants.O_NONBLOCK ?? 0),\n );\n const opened = fstatSync(descriptor);\n if (!opened.isFile()) {\n throw new Error(`${label} is not a regular file: ${relativePath}`);\n }\n const after = assertControlledRepositoryPath({\n root: normalizedRoot,\n containedPath,\n relativePath,\n label,\n });\n if (\n opened.dev !== before.dev\n || opened.ino !== before.ino\n || opened.dev !== after.dev\n || opened.ino !== after.ino\n ) {\n throw new Error(`${label} path changed while it was being opened: ${relativePath}`);\n }\n return readFileSync(descriptor);\n } finally {\n if (descriptor !== undefined) {\n closeSync(descriptor);\n }\n }\n}\n\nfunction assertControlledRepositoryPath({ root, containedPath, relativePath, label }: { root: string; containedPath: string; relativePath: string; label: string }): Stats {\n let currentPath = root;\n let finalStats;\n const segments = containedPath.split(path.sep);\n for (const [index, segment] of segments.entries()) {\n currentPath = path.join(currentPath, segment);\n const stats = lstatSync(currentPath);\n if (stats.isSymbolicLink()) {\n throw new Error(`${label} path contains a symbolic link: ${relativePath}`);\n }\n const isLast = index === segments.length - 1;\n if (isLast ? !stats.isFile() : !stats.isDirectory()) {\n throw new Error(\n isLast\n ? `${label} is not a regular file: ${relativePath}`\n : `${label} parent is not a directory: ${relativePath}`,\n );\n }\n if (isLast) {\n finalStats = stats;\n }\n }\n\n const realRoot = realpathSync(root);\n const realFile = realpathSync(path.join(root, containedPath));\n if (!pathIsInside(realRoot, realFile) || realRoot === realFile) {\n throw new Error(`${label} real path escapes the repository root: ${relativePath}`);\n }\n if (!finalStats) throw new Error(`${label} path has no file component: ${relativePath}`);\n return finalStats;\n}\n\nfunction readCanonicalFileBytes(filePath: string): Buffer {\n const stat = lstatSync(filePath);\n if (stat.isSymbolicLink() || !stat.isFile()) {\n throw Object.assign(new Error(`Canonical PCR artifact is not a regular file: ${filePath}`), { code: stat.isSymbolicLink() ? \"PCR_CANONICAL_SYMLINK_REJECTED\" : \"PCR_CANONICAL_FILE_NOT_REGULAR\" });\n }\n const descriptor = openSync(\n filePath,\n fsConstants.O_RDONLY | (fsConstants.O_NOFOLLOW ?? 0),\n );\n try {\n if (!fstatSync(descriptor).isFile()) {\n throw Object.assign(new Error(`Canonical PCR artifact is not a regular file: ${filePath}`), { code: \"PCR_CANONICAL_FILE_NOT_REGULAR\" });\n }\n return readFileSync(descriptor);\n } finally {\n closeSync(descriptor);\n }\n}\n\nfunction snapshotAttemptError(code: string, message: string, details: UnknownRecord = {}): SnapshotAttemptError {\n return Object.assign(new Error(message), { snapshotCode: code, snapshotDetails: details });\n}\n\nfunction snapshotFailureDetails(error: unknown): UnknownRecord {\n return {\n code: unknownField(error, \"snapshotCode\") ?? errorCode(error),\n message: error instanceof Error ? error.message : String(error),\n ...(isRecord(unknownField(error, \"snapshotDetails\")) ? unknownField(error, \"snapshotDetails\") as UnknownRecord : {}),\n };\n}\n\nfunction optionalString(value: unknown, fallback: string, label: string): string {\n if (value === null || value === undefined) return fallback;\n if (typeof value !== \"string\") throw new TypeError(`${label} must be a string.`);\n return value;\n}\nfunction nullableString(value: unknown, label: string): string | null {\n return value === null || value === undefined ? null : optionalString(value, \"\", label);\n}\nfunction stringRecord(value: unknown, label: string): Record<string, string> {\n if (value === null || value === undefined) return {};\n if (!isRecord(value)) throw new TypeError(`${label} must be a mapping.`);\n const entries: [string, string][] = [];\n for (const [key, entry] of Object.entries(value)) {\n if (typeof entry !== \"string\") throw new TypeError(`${label}.${key} must be a string.`);\n entries.push([key, entry]);\n }\n return Object.fromEntries<string>(entries);\n}\nfunction titleRecord(value: unknown): Record<string, string | null> {\n if (value === null || value === undefined) return {};\n if (!isRecord(value)) throw new TypeError(\"PCR title must be a mapping.\");\n const entries: [string, string | null][] = [];\n for (const [key, title] of Object.entries(value)) {\n if (title !== null && typeof title !== \"string\") throw new TypeError(`PCR title.${key} must be a string or null.`);\n entries.push([key, title]);\n }\n return Object.fromEntries<string | null>(entries);\n}\nfunction pcrFromManifest({ root, pcrDir, manifest }: { root: string; pcrDir: string; manifest: PcrManifest }): PcrIdentity {\n if (typeof manifest.id !== \"string\") throw new TypeError(\"PCR manifest id must be a string.\");\n const languages = manifest.languages ?? {};\n if (!isRecord(languages) || (languages.canonical !== undefined && typeof languages.canonical !== \"string\")\n || (languages.available !== undefined && (!Array.isArray(languages.available) || !languages.available.every(language => typeof language === \"string\")))) {\n throw new TypeError(\"PCR language metadata must contain string language tags.\");\n }\n const references = manifest.classification_refs ?? [];\n if (!Array.isArray(references) || !references.every(isRecord)) throw new TypeError(\"PCR classification references must be objects.\");\n const pcr = {\n id: manifest.id, path: toPosix(path.relative(root, pcrDir)),\n title: titleRecord(manifest.title),\n status: optionalString(manifest.status, \"unknown\", \"PCR status\"),\n version: nullableString(manifest.version, \"PCR version\"),\n content_maturity: nullableString(manifest.content_maturity, \"PCR maturity\"),\n languages: { ...languages, ...(typeof languages.canonical === \"string\" ? { canonical: languages.canonical } : {}), ...(Array.isArray(languages.available) ? { available: languages.available.filter((language): language is string => typeof language === \"string\") } : {}) },\n translation_status: stringRecord(manifest.translation_status, \"PCR translation status\"),\n classification_refs: references,\n };\n return { ...pcr, record_kind: recordKindForPcr(pcr) };\n}\n\nfunction inspectPcrProjection({ root, pcr, manifest, artifacts }: { root: string; pcr: PcrIdentity; manifest: PcrManifest; artifacts: Record<string, CapturedArtifact> }): ProjectionInspection {\n const pcrDir = path.join(root, pcr.path);\n const structuredPath = path.join(pcrDir, \"structured.yaml\");\n const structuredArtifact = artifacts[\"structured.yaml\"];\n const markdownArtifact = artifacts[\"pcr.en-US.md\"];\n if (!isMaterialPcr(pcr)) {\n return {\n fingerprint: {\n ...projectionNotRequiredState(),\n schema_valid: null,\n },\n structured: null,\n structuredPath,\n structuredAvailable: Boolean(structuredArtifact?.bytes),\n completenessIssues: [],\n };\n }\n\n if (!structuredArtifact?.bytes && errorCode(structuredArtifact?.error) === \"ENOENT\") {\n return unavailableProjectionInspection({\n structuredPath,\n structuredAvailable: false,\n fingerprint: missingProjectionState(\n \"missing\",\n \"structured_projection_missing\",\n \"structured.yaml is required for material PCR guidance and validation.\",\n ),\n });\n }\n\n if (!markdownArtifact?.bytes && errorCode(markdownArtifact?.error) === \"ENOENT\") {\n return unavailableProjectionInspection({\n structuredPath,\n structuredAvailable: Boolean(structuredArtifact?.bytes),\n fingerprint: missingProjectionState(\n \"source_missing\",\n \"projection_source_missing\",\n \"Canonical pcr.en-US.md is required to verify the structured projection.\",\n ),\n });\n }\n\n if (!markdownArtifact?.bytes) {\n return unavailableProjectionInspection({\n structuredPath,\n structuredAvailable: Boolean(structuredArtifact?.bytes),\n fingerprint: invalidProjectionState(\n \"projection_source_unreadable\",\n `Canonical pcr.en-US.md could not be read (${errorCode(markdownArtifact?.error)}).`,\n null,\n ),\n });\n }\n\n if (!structuredArtifact?.bytes) {\n return unavailableProjectionInspection({\n structuredPath,\n structuredAvailable: false,\n fingerprint: invalidProjectionState(\n \"structured_projection_unreadable\",\n `structured.yaml could not be read (${errorCode(structuredArtifact?.error)}).`,\n false,\n ),\n });\n }\n\n const sourceMarkdown = markdownArtifact.bytes.toString(\"utf8\");\n const structuredText = structuredArtifact.bytes.toString(\"utf8\");\n\n let structured: unknown;\n try {\n structured = parseYaml(structuredText);\n } catch (error) {\n return unavailableProjectionInspection({\n structuredPath,\n structuredAvailable: true,\n fingerprint: invalidProjectionState(\n \"structured_projection_parse_error\",\n `structured.yaml could not be parsed (${errorCode(error)}).`,\n false,\n ),\n });\n }\n\n const schemaResult = validateCoreContract(\n \"structured-projection.schema.json\",\n structured,\n { entityKind: \"material structured projection\" },\n );\n const integrity = inspectProjectionIntegrity({\n sourceMarkdown,\n structuredText,\n metadata: unknownField(structured, \"projection_metadata\"),\n structuredProjection: structured,\n });\n const schemaIssues = schemaResult.valid\n ? []\n : [\n {\n code: \"structured_schema_invalid\",\n message: `structured.yaml violates the material projection schema (${schemaResult.errors.length} issue(s)).`,\n },\n ...schemaResult.errors.map((error) => ({\n code: `structured_schema.${error.keyword}`,\n message: `${error.instance_path}: ${error.message}`,\n })),\n ];\n const issues = deduplicateMessages([...schemaIssues, ...integrity.issues]);\n const fingerprint = {\n ...integrity,\n status: schemaResult.valid ? integrity.status : \"invalid\",\n schema_valid: schemaResult.valid,\n issues,\n };\n\n return {\n fingerprint,\n structured: schemaResult.valid && integrity.status === \"current\" ? structured as StructuredProjection : null,\n structuredPath,\n structuredAvailable: true,\n completenessIssues: schemaResult.valid\n ? materialProjectionCompletenessIssues(structured, {\n expectedPcrId: pcr.id,\n allowUnresolvedProductFlowUuid:\n hasDeclaredUnresolvedReferenceProductFlow(structured, manifest),\n })\n : [],\n };\n}\n\nfunction unavailableProjectionInspection({ fingerprint, structuredPath, structuredAvailable }: { fingerprint: ReadinessFingerprint; structuredPath: string; structuredAvailable: boolean }): ProjectionInspection {\n return {\n fingerprint,\n structured: null,\n structuredPath,\n structuredAvailable,\n completenessIssues: [],\n };\n}\n\nfunction failedProjectionInspection({ root, pcr, error }: { root: string; pcr: PcrIdentity; error: unknown }): ProjectionInspection {\n return unavailableProjectionInspection({\n structuredPath: path.join(root, pcr.path, \"structured.yaml\"),\n structuredAvailable: false,\n fingerprint: invalidProjectionState(\n \"projection_inspection_failed\",\n `Projection integrity inspection failed (${errorCode(error)}).`,\n false,\n ),\n });\n}\n\nfunction invalidProjectionState(code: string, message: string, schemaValid: boolean | null): ReadinessFingerprint {\n return {\n required: true,\n status: \"invalid\",\n schema_valid: schemaValid,\n contract_version: null,\n source_sha256: null,\n generated_content_sha256: null,\n source_hash_valid: null,\n content_hash_valid: null,\n issues: [{ code, message }],\n };\n}\n\nfunction errorCode(error: unknown): string {\n const code = unknownField(error, \"code\");\n return typeof code === \"string\" && code ? code : \"unknown_error\";\n}\n\nfunction missingProjectionState(status: ReadinessFingerprint[\"status\"], code: string, message: string): ReadinessFingerprint {\n return {\n required: true,\n status,\n schema_valid: null,\n contract_version: null,\n source_sha256: null,\n generated_content_sha256: null,\n source_hash_valid: null,\n content_hash_valid: null,\n issues: [{ code, message }],\n };\n}\n\nfunction isMaterialPcr(pcr: Pick<PcrIdentity, \"status\" | \"content_maturity\">): boolean {\n return recordKindForPcr(pcr) === \"methodology\";\n}\n\nfunction normalizeCatalogScope(scope: unknown): PcrCatalogScope {\n const normalized = String(scope);\n if (!PCR_CATALOG_SCOPE_SET.has(normalized)) {\n throw new PcrCatalogScopeError(scope);\n }\n if (normalized === \"all\" || normalized === \"material\" || normalized === \"legacy\") return normalized;\n throw new PcrCatalogScopeError(scope);\n}\n\nfunction recordMatchesScope(pcr: PcrIdentity, scope: PcrCatalogScope): boolean {\n if (scope === \"all\") {\n return true;\n }\n return scope === \"material\"\n ? pcr.record_kind === \"methodology\"\n : pcr.record_kind === \"legacy_scaffold_reference\";\n}\n\nfunction currentCatalogEntryMatchesScope(root: string, entry: CatalogEntry, scope: PcrCatalogScope): boolean {\n const manifest = readConsistentCurrentManifest({ root, entry });\n const recordKind = recordKindForPcr({\n status: optionalString(manifest.status, \"unknown\", \"PCR status\"),\n content_maturity: nullableString(manifest.content_maturity, \"PCR maturity\"),\n });\n return scope === \"material\"\n ? recordKind === \"methodology\"\n : recordKind === \"legacy_scaffold_reference\";\n}\n\nfunction readConsistentCurrentManifest(options: { root: string; entry: CatalogEntry }): PcrManifest { return readConsistentManifestSnapshot(options).manifest; }\n\nfunction readConsistentManifestSnapshot({ root, entry }: { root: string; entry: CatalogEntry }): { manifest: PcrManifest; bytes: Buffer } {\n let lastFailure = null;\n for (let attempt = 1; attempt <= CURRENT_SNAPSHOT_MAX_ATTEMPTS; attempt += 1) {\n try {\n const locationA = assertCurrentSnapshotLocation({ root, entry });\n const manifestABytes = readCanonicalFileBytes(locationA.manifestPath);\n const manifest = parsedRecord(manifestABytes.toString(\"utf8\"), \"PCR manifest\");\n if (manifest.id !== entry.id) {\n throw snapshotAttemptError(\n \"manifest_identity_changed\",\n `Expected PCR id ${entry.id}, found ${String(manifest.id)}.`,\n { expected_pcr_id: entry.id, actual_pcr_id: manifest.id ?? null },\n );\n }\n\n const locationB = assertCurrentSnapshotLocation({ root, entry });\n const manifestBBytes = readCanonicalFileBytes(locationB.manifestPath);\n if (!manifestABytes.equals(manifestBBytes)) {\n throw snapshotAttemptError(\n \"manifest_changed_during_read\",\n \"manifest.yaml changed while its catalog scope was being determined.\",\n );\n }\n return { manifest, bytes: manifestABytes };\n } catch (error) {\n lastFailure = snapshotFailureDetails(error);\n }\n }\n throw new PcrCurrentSnapshotInconsistentError({\n pcrId: entry.id,\n pcrPath: entry.path,\n attempts: CURRENT_SNAPSHOT_MAX_ATTEMPTS,\n lastFailure,\n });\n}\n\nfunction recordKindForPcr(pcr: Pick<PcrIdentity, \"status\" | \"content_maturity\">): PcrRecordKind {\n if (pcr.status === \"scaffold\" && pcr.content_maturity === \"empty_scaffold\") {\n return \"legacy_scaffold_reference\";\n }\n if (\n METHODOLOGY_LIFECYCLE_STATUSES.has(pcr.status) &&\n pcr.content_maturity !== null && METHODOLOGY_MATURITIES.has(pcr.content_maturity)\n ) {\n return \"methodology\";\n }\n return \"invalid_lifecycle_state\";\n}\n\nfunction assessPcrReadiness({\n pcr,\n projectionFingerprint,\n structuredAvailable,\n projectionCompletenessIssues = [],\n}: { pcr: PcrIdentity; projectionFingerprint: ReadinessFingerprint; structuredAvailable: boolean; projectionCompletenessIssues?: readonly ContractIssue[] }): Readiness {\n const blockers: ContractIssue[] = [];\n const warnings: ContractIssue[] = [];\n const methodologyStatus = pcr.content_maturity ?? \"unknown\";\n const lifecycleStatus = pcr.status ?? \"unknown\";\n const chineseTranslationStatus = pcr.translation_status?.[\"zh-CN\"] ?? \"unknown\";\n if (pcr.record_kind === \"invalid_lifecycle_state\") {\n blockers.push({\n code: \"invalid_lifecycle_identity\",\n message:\n `status ${lifecycleStatus} and content_maturity ${methodologyStatus} do not identify either ` +\n \"a legacy scaffold or a material methodology record.\",\n });\n }\n if (!GUIDANCE_MATURITIES.has(methodologyStatus)) {\n blockers.push({\n code: \"methodology_not_authored\",\n message: `content_maturity ${methodologyStatus} is not usable methodology.`,\n });\n }\n if (lifecycleStatus === \"scaffold\") {\n blockers.push({\n code: \"scaffold_lifecycle\",\n message: \"PCR lifecycle status is scaffold.\",\n });\n } else if (!GUIDANCE_LIFECYCLE_STATUSES.has(lifecycleStatus)) {\n blockers.push({\n code: \"lifecycle_not_usable\",\n message: `PCR lifecycle status ${lifecycleStatus} is not available for guidance.`,\n });\n }\n if (lifecycleStatus === \"deprecated\" || methodologyStatus === \"deprecated_methodology\") {\n blockers.push({\n code: \"deprecated_methodology\",\n message: \"Deprecated PCR methodology must not guide new work.\",\n });\n }\n if (projectionFingerprint.required && (\n projectionFingerprint.schema_valid !== true || projectionFingerprint.status !== \"current\"\n )) {\n blockers.push(...projectionFingerprint.issues);\n }\n if (\n projectionFingerprint.required &&\n projectionFingerprint.schema_valid === true &&\n projectionFingerprint.status === \"current\"\n ) {\n blockers.push(...projectionCompletenessIssues);\n }\n if (\n GUIDANCE_MATURITIES.has(methodologyStatus) &&\n !USABLE_LIFECYCLE_STATES.get(lifecycleStatus)?.has(methodologyStatus)\n ) {\n blockers.push({\n code: \"incompatible_lifecycle_state\",\n message: `status ${lifecycleStatus} is incompatible with content_maturity ${methodologyStatus}.`,\n });\n }\n if (\n lifecycleStatus === \"active\" &&\n ![\"aligned\", \"reviewed\"].includes(chineseTranslationStatus)\n ) {\n blockers.push({\n code: \"translation_not_aligned\",\n message: `active PCR requires aligned or reviewed zh-CN translation; found ${chineseTranslationStatus}.`,\n });\n }\n if (lifecycleStatus === \"published\" && chineseTranslationStatus !== \"reviewed\") {\n blockers.push({\n code: \"translation_not_reviewed\",\n message: `published PCR requires reviewed zh-CN translation; found ${chineseTranslationStatus}.`,\n });\n }\n\n if (methodologyStatus === \"authored_methodology\") {\n warnings.push({\n code: \"methodology_not_reviewed\",\n message: \"Authored methodology is candidate guidance and still requires methodology review.\",\n });\n }\n if (\n lifecycleStatus === \"candidate\" &&\n ![\"aligned\", \"reviewed\"].includes(chineseTranslationStatus)\n ) {\n warnings.push({\n code: \"translation_not_aligned\",\n message: `Candidate zh-CN translation is ${chineseTranslationStatus}; use canonical en-US guidance for methodology decisions.`,\n });\n }\n\n const uniqueBlockers = deduplicateMessages(blockers);\n const uniqueWarnings = deduplicateMessages(warnings);\n const usable = uniqueBlockers.length === 0;\n const readiness: Readiness = {\n status: usable\n ? (REVIEWED_MATURITIES.has(methodologyStatus) && lifecycleStatus !== \"candidate\" ? \"ready\" : \"review_required\")\n : \"unavailable\",\n lifecycle_status: lifecycleStatus,\n methodology_status: methodologyStatus,\n structured_projection_available: structuredAvailable,\n projection_fingerprint: structuredClone(projectionFingerprint),\n usable_for_guidance: usable,\n usable_for_validation: usable,\n blockers: uniqueBlockers,\n warnings: uniqueWarnings,\n };\n assertCoreContract(\"readiness.schema.json\", readiness, {\n code: \"PCR_INTERNAL_CONTRACT_INVALID\",\n entityKind: \"PCR readiness\",\n });\n return readiness;\n}\n\nfunction assertPcrUsable({ pcr, operation }: { pcr: PcrRecord; operation: PcrOperation }): void {\n const usabilityKey = operation === \"validation\" ? \"usable_for_validation\" : \"usable_for_guidance\";\n if (!pcr.readiness?.[usabilityKey]) {\n throw new PcrUsabilityError({ pcrId: pcr.id, operation, readiness: pcr.readiness });\n }\n}\n\nfunction buildValidationReport({\n validationKind,\n guidance,\n input,\n findings,\n checksPerformed,\n checksSkipped,\n}: { validationKind: ValidationReport[\"validation_kind\"]; guidance: CompleteGuidance; input: ValidationReport[\"input\"]; findings: ValidationFinding[]; checksPerformed: PerformedCheck[]; checksSkipped: SkippedCheck[] }): ValidationReport {\n const checkedRequirementCount = checksPerformed.reduce((total, check) => total + check.requirement_count, 0);\n const skippedRequirementCount = checksSkipped.reduce((total, check) => total + check.requirement_count, 0);\n const completeness = checksPerformed.length === 0\n ? \"none\"\n : checksSkipped.length > 0\n ? \"partial\"\n : \"complete\";\n const findingSummary = countFindingsBySeverity(findings);\n const validationStatus = findingSummary.error > 0\n ? \"failed\"\n : checksPerformed.length === 0\n ? \"inconclusive\"\n : \"passed\";\n\n const report: ValidationReport = {\n schema_version: 1,\n validation_kind: validationKind,\n pcr: guidance.pcr,\n readiness: structuredClone(guidance.readiness),\n validation_status: validationStatus,\n completeness,\n input,\n check_coverage: {\n total_requirement_count: checkedRequirementCount + skippedRequirementCount,\n checked_requirement_count: checkedRequirementCount,\n skipped_requirement_count: skippedRequirementCount,\n checks_performed: checksPerformed,\n checks_skipped: checksSkipped,\n },\n finding_count: findings.length,\n finding_summary: findingSummary,\n findings,\n };\n assertCoreContract(\"validation-output.schema.json\", report, {\n code: \"PCR_INTERNAL_CONTRACT_INVALID\",\n entityKind: \"PCR validation report\",\n });\n return report;\n}\n\nfunction performedCheck(checkId: string, requirementFamily: string, requirementCount: number): PerformedCheck {\n return {\n check_id: checkId,\n requirement_family: requirementFamily,\n requirement_count: requirementCount,\n evaluated_requirement_count: requirementCount,\n };\n}\n\nfunction addSkippedCheck(checks: SkippedCheck[], checkId: string, requirementFamily: string, requirementCount: number): void {\n if (requirementCount <= 0) {\n return;\n }\n checks.push({\n check_id: checkId,\n requirement_family: requirementFamily,\n requirement_count: requirementCount,\n reason: \"Validator does not yet implement this requirement family.\",\n });\n}\n\nfunction countFindingsBySeverity(findings: readonly ValidationFinding[]): Record<FindingSeverity, number> {\n const summary = { error: 0, warning: 0, info: 0 };\n for (const finding of findings) {\n if (Object.hasOwn(summary, finding.severity)) {\n summary[finding.severity] += 1;\n }\n }\n return summary;\n}\n\nfunction deduplicateMessages(entries: readonly ContractIssue[]): ContractIssue[] {\n return [\n ...new Map(\n entries.map((entry) => [`${entry.code}\\0${entry.message}`, entry]),\n ).values(),\n ];\n}\n\nfunction countInventoryRows(processInventory: unknown): number {\n let count = 0;\n for (const process of asArray(processInventory)) {\n for (const direction of [\"inputs\", \"outputs\"]) {\n const groups = unknownField(process, direction);\n if (!isRecord(groups)) {\n continue;\n }\n for (const rows of Object.values(groups)) {\n count += asArray(rows).length;\n }\n }\n }\n return count;\n}\n\nfunction topLevelRequirementCount(value: unknown, excludedKeys: readonly string[] = []): number {\n if (!isRecord(value)) {\n return 0;\n }\n const excluded = new Set(excludedKeys);\n return Object.entries(value).filter(\n ([key, requirement]) => !excluded.has(key) && hasRequirementValue(requirement),\n ).length;\n}\n\nfunction hasRequirementValue(value: unknown): boolean {\n if (Array.isArray(value)) {\n return value.some(hasRequirementValue);\n }\n if (isRecord(value)) {\n return Object.values(value).some(hasRequirementValue);\n }\n return value !== undefined && value !== null && String(value).trim() !== \"\";\n}\n\nfunction asArray(value: unknown): unknown[] {\n return Array.isArray(value) ? value : [];\n}\n\nfunction isRecord(value: unknown): value is UnknownRecord {\n return Boolean(value) && typeof value === \"object\" && !Array.isArray(value);\n}\n\nfunction findManifestFiles(directory: string): string[] {\n const results = [];\n for (const domainDir of canonicalChildDirectories(directory)) {\n for (const subdomainDir of canonicalChildDirectories(domainDir)) {\n for (const pcrDir of canonicalChildDirectories(subdomainDir)) {\n const manifestPath = path.join(pcrDir, \"manifest.yaml\");\n if (isCanonicalFile(manifestPath)) {\n results.push(manifestPath);\n }\n }\n }\n }\n return results;\n}\n\nfunction canonicalChildDirectories(directory: string): string[] {\n return readdirSync(directory)\n .map((entry) => path.join(directory, entry))\n .filter(isCanonicalDirectory)\n .sort((left, right) => left.localeCompare(right));\n}\n\nfunction isCanonicalDirectory(directory: string): boolean {\n try {\n const stat = lstatSync(directory);\n return !stat.isSymbolicLink() && stat.isDirectory();\n } catch (error) {\n if (errorCode(error) === \"ENOENT\") {\n return false;\n }\n throw error;\n }\n}\n\nfunction isCanonicalFile(filePath: string): boolean {\n try {\n const stat = lstatSync(filePath);\n return !stat.isSymbolicLink() && stat.isFile();\n } catch (error) {\n if (errorCode(error) === \"ENOENT\") {\n return false;\n }\n throw error;\n }\n}\n\nfunction toPosix(value: string): string {\n return value.split(path.sep).join(\"/\");\n}\n"]}
@@ -0,0 +1,85 @@
1
+ import { isUnknownRecord, unknownField } from "./types.js";
2
+ /** Shared language identities. Website route aliases never become PCR identities. */
3
+ export const CANONICAL_PCR_LANGUAGE = "en-US";
4
+ export const REQUIRED_PCR_LANGUAGES = Object.freeze(["en-US", "zh-CN"]);
5
+ export const LEGACY_PCR_ARTIFACT_HASH_FIELDS = Object.freeze({
6
+ pcr_en_us_sha256: "pcr.en-US.md",
7
+ pcr_zh_cn_sha256: "pcr.zh-CN.md",
8
+ structured_sha256: "structured.yaml",
9
+ });
10
+ export function assertPcrLanguageCode(language) {
11
+ if (typeof language !== "string" || !/^[a-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$/u.test(language)) {
12
+ throw new Error(`Invalid PCR language code: ${String(language)}`);
13
+ }
14
+ let canonical;
15
+ try {
16
+ canonical = Intl.getCanonicalLocales(language)[0];
17
+ }
18
+ catch {
19
+ throw new Error(`Invalid PCR language code: ${language}`);
20
+ }
21
+ if (canonical !== language || language === "und") {
22
+ throw new Error(`PCR language code must use its canonical BCP 47 spelling: ${language}`);
23
+ }
24
+ return language;
25
+ }
26
+ export function pcrMarkdownFile(language) {
27
+ return `pcr.${assertPcrLanguageCode(language)}.md`;
28
+ }
29
+ export function declaredPcrLanguages(manifest, { strict = true } = {}) {
30
+ const declaration = unknownField(manifest, "languages");
31
+ const available = unknownField(declaration, "available");
32
+ // Preserve the legacy reader's fixed-file inspection of incomplete metadata.
33
+ // Authoring and documentation export always use the strict contract.
34
+ if (!strict && available === undefined)
35
+ return [...REQUIRED_PCR_LANGUAGES];
36
+ if (!Array.isArray(available) || available.length === 0) {
37
+ throw new Error("PCR manifest requires languages.available.");
38
+ }
39
+ const languages = available.map(assertPcrLanguageCode);
40
+ if (new Set(languages).size !== languages.length) {
41
+ throw new Error("PCR manifest languages.available must be unique.");
42
+ }
43
+ if (strict) {
44
+ if (unknownField(declaration, "canonical") !== CANONICAL_PCR_LANGUAGE) {
45
+ throw new Error(`PCR canonical language must be ${CANONICAL_PCR_LANGUAGE}.`);
46
+ }
47
+ for (const required of REQUIRED_PCR_LANGUAGES) {
48
+ if (!languages.includes(required))
49
+ throw new Error(`PCR requires language ${required}.`);
50
+ }
51
+ }
52
+ return languages;
53
+ }
54
+ export function pcrArtifactFiles(manifest, options = {}) {
55
+ return [...declaredPcrLanguages(manifest, options).map(pcrMarkdownFile), "structured.yaml"];
56
+ }
57
+ /** Current release artifacts, with v1 fixed hashes and v2 per-language hashes. */
58
+ export function expectedPcrArtifactHashes(manifest) {
59
+ const artifacts = unknownField(manifest, "release_artifacts");
60
+ if (!isUnknownRecord(artifacts)) {
61
+ throw new Error("Managed PCR requires release_artifacts.");
62
+ }
63
+ const languages = declaredPcrLanguages(manifest);
64
+ if (unknownField(manifest, "schema_version") === 2) {
65
+ const hashes = artifacts.markdown_sha256;
66
+ if (!isUnknownRecord(hashes)) {
67
+ throw new Error("PCR schema v2 requires release_artifacts.markdown_sha256.");
68
+ }
69
+ if (Object.keys(hashes).sort().join("\n") !== [...languages].sort().join("\n")) {
70
+ throw new Error("Release Markdown hashes must match the declared languages exactly.");
71
+ }
72
+ return {
73
+ ...Object.fromEntries(languages.map((language) => [pcrMarkdownFile(language), hashes[language]])),
74
+ "structured.yaml": artifacts.structured_sha256,
75
+ };
76
+ }
77
+ if (unknownField(manifest, "schema_version") !== undefined && unknownField(manifest, "schema_version") !== 1) {
78
+ throw new Error(`Unsupported PCR manifest schema version: ${unknownField(manifest, "schema_version")}`);
79
+ }
80
+ if (languages.some((language) => !REQUIRED_PCR_LANGUAGES.includes(language))) {
81
+ throw new Error("A released PCR with optional languages requires schema v2 artifact hashes.");
82
+ }
83
+ return Object.fromEntries(Object.entries(LEGACY_PCR_ARTIFACT_HASH_FIELDS).map(([field, file]) => [file, artifacts[field]]));
84
+ }
85
+ //# sourceMappingURL=languages.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"languages.js","sourceRoot":"pcr://source/","sources":["packages/pcr-core/src/languages.ts"],"names":[],"mappings":"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","sourcesContent":["import { isUnknownRecord, unknownField } from \"./types.ts\";\n/** Shared language identities. Website route aliases never become PCR identities. */\nexport const CANONICAL_PCR_LANGUAGE = \"en-US\";\nexport const REQUIRED_PCR_LANGUAGES = Object.freeze([\"en-US\", \"zh-CN\"]);\nexport const LEGACY_PCR_ARTIFACT_HASH_FIELDS = Object.freeze({\n pcr_en_us_sha256: \"pcr.en-US.md\",\n pcr_zh_cn_sha256: \"pcr.zh-CN.md\",\n structured_sha256: \"structured.yaml\",\n});\n\nexport function assertPcrLanguageCode(language: unknown): string {\n if (typeof language !== \"string\" || !/^[a-z]{2,3}(?:-[A-Za-z0-9]{2,8})*$/u.test(language)) {\n throw new Error(`Invalid PCR language code: ${String(language)}`);\n }\n let canonical;\n try {\n canonical = Intl.getCanonicalLocales(language)[0];\n } catch {\n throw new Error(`Invalid PCR language code: ${language}`);\n }\n if (canonical !== language || language === \"und\") {\n throw new Error(`PCR language code must use its canonical BCP 47 spelling: ${language}`);\n }\n return language;\n}\n\nexport function pcrMarkdownFile(language: unknown): string {\n return `pcr.${assertPcrLanguageCode(language)}.md`;\n}\n\nexport function declaredPcrLanguages(manifest: unknown, { strict = true }: { strict?: boolean } = {}): string[] {\n const declaration = unknownField(manifest, \"languages\");\n const available = unknownField(declaration, \"available\");\n // Preserve the legacy reader's fixed-file inspection of incomplete metadata.\n // Authoring and documentation export always use the strict contract.\n if (!strict && available === undefined) return [...REQUIRED_PCR_LANGUAGES];\n if (!Array.isArray(available) || available.length === 0) {\n throw new Error(\"PCR manifest requires languages.available.\");\n }\n const languages = available.map(assertPcrLanguageCode);\n if (new Set(languages).size !== languages.length) {\n throw new Error(\"PCR manifest languages.available must be unique.\");\n }\n if (strict) {\n if (unknownField(declaration, \"canonical\") !== CANONICAL_PCR_LANGUAGE) {\n throw new Error(`PCR canonical language must be ${CANONICAL_PCR_LANGUAGE}.`);\n }\n for (const required of REQUIRED_PCR_LANGUAGES) {\n if (!languages.includes(required)) throw new Error(`PCR requires language ${required}.`);\n }\n }\n return languages;\n}\n\nexport function pcrArtifactFiles(manifest: unknown, options: { strict?: boolean } = {}): string[] {\n return [...declaredPcrLanguages(manifest, options).map(pcrMarkdownFile), \"structured.yaml\"];\n}\n\n/** Current release artifacts, with v1 fixed hashes and v2 per-language hashes. */\nexport function expectedPcrArtifactHashes(manifest: unknown): Record<string, unknown> {\n const artifacts = unknownField(manifest, \"release_artifacts\");\n if (!isUnknownRecord(artifacts)) {\n throw new Error(\"Managed PCR requires release_artifacts.\");\n }\n const languages = declaredPcrLanguages(manifest);\n if (unknownField(manifest, \"schema_version\") === 2) {\n const hashes = artifacts.markdown_sha256;\n if (!isUnknownRecord(hashes)) {\n throw new Error(\"PCR schema v2 requires release_artifacts.markdown_sha256.\");\n }\n if (Object.keys(hashes).sort().join(\"\\n\") !== [...languages].sort().join(\"\\n\")) {\n throw new Error(\"Release Markdown hashes must match the declared languages exactly.\");\n }\n return {\n ...Object.fromEntries(languages.map((language) => [pcrMarkdownFile(language), hashes[language]])),\n \"structured.yaml\": artifacts.structured_sha256,\n };\n }\n if (unknownField(manifest, \"schema_version\") !== undefined && unknownField(manifest, \"schema_version\") !== 1) {\n throw new Error(`Unsupported PCR manifest schema version: ${unknownField(manifest, \"schema_version\")}`);\n }\n if (languages.some((language) => !REQUIRED_PCR_LANGUAGES.includes(language))) {\n throw new Error(\"A released PCR with optional languages requires schema v2 artifact hashes.\");\n }\n return Object.fromEntries(\n Object.entries(LEGACY_PCR_ARTIFACT_HASH_FIELDS).map(([field, file]) => [file, artifacts[field]]),\n );\n}\n"]}