@tiangong-lca/pcr 0.3.0 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (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":"classification-coverage.js","sourceRoot":"pcr://source/","sources":["packages/pcr-core/src/classification-coverage.ts"],"names":[],"mappings":"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","sourcesContent":["import { pcrSource } from \"./source-context.ts\";\nimport { createHash } from \"node:crypto\";\nimport {\n closeSync,\n constants as fsConstants,\n existsSync,\n fstatSync,\n lstatSync,\n openSync,\n readFileSync,\n realpathSync,\n type Stats,\n} from \"node:fs\";\nimport path from \"node:path\";\nimport { TextDecoder } from \"node:util\";\n\nimport { assertCoreContract } from \"./contracts.ts\";\nimport vocabularySchema from '../schemas/controlled-vocabulary.schema.json' with { type: 'json' };\nconst CLASSIFICATION_COVERAGE_STATUS_VALUES = vocabularySchema.$defs.classification_coverage_status.enum;\nconst CLASSIFICATION_MAPPING_RELATION_VALUES = vocabularySchema.$defs.classification_mapping_relation.enum;\n\nexport type CoverageStatus = 'mapped' | 'unmapped' | 'candidate_suggestion' | 'manual_review' | 'unknown';\nexport type CoverageMappingType = 'exact' | 'broader' | 'narrower' | 'proxy';\nexport interface CoverageAcceptance { status: 'accepted'; decided_by: string; decided_at_utc: string; decision_ref: string }\nexport interface CoverageMapping { pcr_id: string; mapping_type: CoverageMappingType; confidence: string; acceptance: CoverageAcceptance }\nexport interface CoverageSourceArtifact { path: string; hash_mode: 'exact_bytes'; sha256: string }\nexport interface CoverageSource { contract_version: '2'; generator: string; generator_version: '2'; normalized_leaves: CoverageSourceArtifact; mapping: CoverageSourceArtifact }\nexport interface CoverageEntry {\n code: string; label: string; path_codes: string[]; path_titles: string[]; coverage_status: CoverageStatus;\n mapping: CoverageMapping | null; legacy_reference: {kind: 'legacy_scaffold_reference'; pcr_id: string; path: string} | null;\n}\nexport interface CoverageSummary { total: number; mapped: number; unmapped: number; candidate_suggestion: number; manual_review: number; unknown: number }\nexport interface CoverageDocument { schema_version: 1; index_kind: 'classification-pcr-coverage'; classification_system: string; classification_version: string; source: CoverageSource; summary: CoverageSummary; entries: CoverageEntry[] }\nexport interface CoverageSnapshot { readonly document: CoverageDocument; readonly relative_path: string; readonly sha256: string }\nexport type ClassificationCoverageSnapshot = CoverageSnapshot;\ninterface ClassificationCoordinate { system: string; version: string }\ninterface CoverageReadOptions { root: string; system: unknown; version: unknown }\ninterface FileSource { bytes: Buffer; text: string }\ninterface FileOptions { root: string; relativePath: string; label: string }\ninterface ProjectedLeaf { title: string; path_codes: string[]; path_titles: string[] }\nfunction record(value: unknown): value is Record<string, unknown> { return value !== null && typeof value === 'object' && !Array.isArray(value); }\nfunction field(value: unknown, key: string): unknown { return record(value) ? value[key] : undefined; }\nfunction errorDetail(value: unknown): string { return value instanceof Error ? String(field(value, 'code') ?? value.message) : String(value); }\nfunction sourceArtifact(value: unknown): value is CoverageSourceArtifact {\n return record(value) && typeof value.path === 'string' && value.hash_mode === 'exact_bytes' && typeof value.sha256 === 'string';\n}\nfunction mappingShape(value: unknown): value is CoverageMapping {\n if (!record(value) || typeof value.pcr_id !== 'string' || typeof value.mapping_type !== 'string'\n || !CLASSIFICATION_MAPPING_RELATIONS.has(value.mapping_type) || value.mapping_type === 'manual_review'\n || typeof value.confidence !== 'string' || !record(value.acceptance)) return false;\n return value.acceptance.status === 'accepted' && typeof value.acceptance.decided_by === 'string'\n && typeof value.acceptance.decided_at_utc === 'string' && typeof value.acceptance.decision_ref === 'string';\n}\nfunction coverageEntry(value: unknown): value is CoverageEntry {\n if (!record(value) || typeof value.code !== 'string' || typeof value.label !== 'string' || !isStringArray(value.path_codes) || !isStringArray(value.path_titles)\n || typeof value.coverage_status !== 'string' || !CLASSIFICATION_COVERAGE_STATUSES.includes(value.coverage_status)) return false;\n return (value.mapping === null || mappingShape(value.mapping)) && (value.legacy_reference === null\n || record(value.legacy_reference) && value.legacy_reference.kind === 'legacy_scaffold_reference'\n && typeof value.legacy_reference.pcr_id === 'string' && typeof value.legacy_reference.path === 'string');\n}\n/** Shape narrowing after schema validation; source/projection consistency remains a separate check. */\nexport function isCoverageDocumentShape(value: unknown): value is CoverageDocument {\n if (!record(value) || value.schema_version !== 1 || value.index_kind !== 'classification-pcr-coverage' || typeof value.classification_system !== 'string'\n || typeof value.classification_version !== 'string' || !record(value.source) || !record(value.summary) || !Array.isArray(value.entries)) return false;\n const source = value.source;\n return source.contract_version === '2' && typeof source.generator === 'string' && source.generator_version === '2'\n && sourceArtifact(source.normalized_leaves) && sourceArtifact(source.mapping)\n && ['total',...CLASSIFICATION_COVERAGE_STATUSES].every(key => typeof field(value.summary,key) === 'number') && value.entries.every(coverageEntry);\n}\nimport { parseYaml } from \"./yaml-lite.ts\";\n\nexport const CLASSIFICATION_COVERAGE_STATUSES = CLASSIFICATION_COVERAGE_STATUS_VALUES;\nexport const CLASSIFICATION_COVERAGE_CONTRACT_VERSION = \"2\";\nexport const CLASSIFICATION_COVERAGE_GENERATOR = \"builder/scripts/build-catalog.mjs\";\nexport const CLASSIFICATION_COVERAGE_GENERATOR_VERSION = \"2\";\n\nconst CLASSIFICATION_MAPPING_RELATIONS = new Set(CLASSIFICATION_MAPPING_RELATION_VALUES);\n\nexport class PcrClassificationCoverageNotFoundError extends Error {\n readonly code: string;\n readonly details: Record<string, unknown>;\n constructor({ system, version, relativePath }: ClassificationCoordinate & { relativePath: string }) {\n super(`Classification coverage index not found for ${system}:${version}: ${relativePath}`);\n this.name = \"PcrClassificationCoverageNotFoundError\";\n this.code = \"PCR_CLASSIFICATION_COVERAGE_NOT_FOUND\";\n this.details = {\n classification: `${system}:${version}`,\n coverage_index: relativePath,\n };\n }\n}\n\nexport class PcrClassificationCodeUnknownError extends Error {\n readonly code: string;\n readonly details: Record<string, unknown>;\n constructor({ system, version, code }: ClassificationCoordinate & { code: string }) {\n super(`Classification code is not present in the coverage index: ${system}:${version}:${code}`);\n this.name = \"PcrClassificationCodeUnknownError\";\n this.code = \"PCR_CLASSIFICATION_CODE_UNKNOWN\";\n this.details = { classification: `${system}:${version}:${code}` };\n }\n}\n\nexport class PcrClassificationCoverageSemanticError extends Error {\n readonly code: string;\n readonly details: {classification: string; source: string; issues: string[]};\n constructor({ system, version, source, issues }: ClassificationCoordinate & { source: string; issues: readonly string[] }) {\n super(\n `Classification coverage index is inconsistent for ${system}:${version}: ${issues.join(\"; \")}`,\n );\n this.name = \"PcrClassificationCoverageSemanticError\";\n this.code = \"PCR_INVALID_CLASSIFICATION_COVERAGE\";\n this.details = {\n classification: `${system}:${version}`,\n source,\n issues: [...issues],\n };\n }\n}\n\nexport class PcrClassificationCoverageStatusError extends Error {\n readonly code: string;\n readonly details: Record<string, unknown>;\n constructor(status: unknown) {\n super(\n `Unsupported classification coverage status ${String(status)}. Expected one of: ${CLASSIFICATION_COVERAGE_STATUSES.join(\", \")}.`,\n );\n this.name = \"PcrClassificationCoverageStatusError\";\n this.code = \"PCR_INVALID_CLASSIFICATION_COVERAGE_STATUS\";\n this.details = {\n status: String(status),\n allowed_statuses: [...CLASSIFICATION_COVERAGE_STATUSES],\n };\n }\n}\n\nexport function classificationCoveragePath({ root, system, version }: CoverageReadOptions) {\n const normalized = normalizeClassification({ system, version });\n return path.join(\n path.resolve(root),\n \"classifications/indexes\",\n `${normalized.system}-${normalized.version}-coverage.json`,\n );\n}\n\nexport function hasClassificationCoverage({ root, system, version }: CoverageReadOptions) {\n return existsSync(classificationCoveragePath({ root, system, version }));\n}\n\nexport function readClassificationCoverage({ root, system, version }: CoverageReadOptions) {\n return readClassificationCoverageSnapshot({ root, system, version }).document;\n}\n\nexport function readClassificationCoverageSnapshot({ root, system, version }: CoverageReadOptions): CoverageSnapshot {\n const storage = pcrSource(root);\n if (storage) return storage.coverageSnapshot(system, version);\n const normalizedRoot = path.resolve(root);\n const normalized = normalizeClassification({ system, version });\n const coveragePath = classificationCoveragePath({\n root: normalizedRoot,\n system: normalized.system,\n version: normalized.version,\n });\n const relativePath = toPosix(path.relative(normalizedRoot, coveragePath));\n if (!existsSync(coveragePath)) {\n throw new PcrClassificationCoverageNotFoundError({\n ...normalized,\n relativePath,\n });\n }\n\n let coverageSource;\n try {\n coverageSource = readContainedUtf8RegularFile({\n root: normalizedRoot,\n relativePath,\n label: \"coverage index\",\n });\n } catch (error) {\n throw new PcrClassificationCoverageSemanticError({\n ...normalized,\n source: relativePath,\n issues: [error instanceof Error ? error.message : String(error)],\n });\n }\n\n let coverage: unknown;\n try {\n coverage = JSON.parse(coverageSource.text);\n } catch (error) {\n throw new PcrClassificationCoverageSemanticError({\n ...normalized,\n source: relativePath,\n issues: [`invalid JSON (${error instanceof Error ? error.message : String(error)})`],\n });\n }\n\n assertCoreContract(\"classification-coverage.schema.json\", coverage, {\n code: \"PCR_INVALID_CLASSIFICATION_COVERAGE\",\n entityKind: \"Classification coverage index\",\n source: relativePath,\n });\n if (!isCoverageDocumentShape(coverage)) throw new PcrClassificationCoverageSemanticError({ ...normalized, source: relativePath, issues: [\"coverage projection has an invalid data shape\"] });\n assertCoverageSemantics({ coverage, normalized, source: relativePath });\n assertCoverageSources({\n coverage,\n normalized,\n root: normalizedRoot,\n source: relativePath,\n });\n return Object.freeze({\n document: structuredClone(coverage),\n relative_path: relativePath,\n sha256: exactByteSha256(coverageSource.bytes),\n });\n}\n\nexport function getClassificationCoverageSummary({ root, system, version }: CoverageReadOptions) {\n const coverage = readClassificationCoverage({ root, system, version });\n return {\n schema_version: coverage.schema_version,\n index_kind: coverage.index_kind,\n classification_system: coverage.classification_system,\n classification_version: coverage.classification_version,\n source: structuredClone(coverage.source),\n summary: structuredClone(coverage.summary),\n };\n}\n\nexport function listClassificationCoverage({ root, system, version, status = null }: CoverageReadOptions & {status?: unknown}) {\n if (status !== null && !CLASSIFICATION_COVERAGE_STATUSES.includes(String(status))) {\n throw new PcrClassificationCoverageStatusError(status);\n }\n const coverage = readClassificationCoverage({ root, system, version });\n const entries = status === null\n ? coverage.entries\n : coverage.entries.filter((entry) => entry.coverage_status === String(status));\n return {\n classification_system: coverage.classification_system,\n classification_version: coverage.classification_version,\n available_statuses: [...CLASSIFICATION_COVERAGE_STATUSES],\n entries: structuredClone(entries),\n };\n}\n\nexport function findClassificationCoverageEntry({ root, system, version, code }: CoverageReadOptions & {code: unknown}): CoverageEntry {\n const coverage = readClassificationCoverage({ root, system, version });\n const entry = coverage.entries.find((candidate) => String(candidate.code) === String(code));\n if (!entry) {\n throw new PcrClassificationCodeUnknownError({\n system: String(system).toLowerCase(),\n version: String(version),\n code: String(code),\n });\n }\n return structuredClone(entry);\n}\n\nfunction normalizeClassification({ system, version }: {system: unknown; version: unknown}): ClassificationCoordinate {\n const normalizedSystem = String(system).toLowerCase();\n const normalizedVersion = String(version);\n if (!/^[a-z0-9][a-z0-9_-]*$/u.test(normalizedSystem)) {\n throw new Error(`Unsupported classification system token: ${String(system)}`);\n }\n if (!/^[A-Za-z0-9][A-Za-z0-9._-]*$/u.test(normalizedVersion)) {\n throw new Error(`Unsupported classification version token: ${String(version)}`);\n }\n return { system: normalizedSystem, version: normalizedVersion };\n}\n\nfunction assertCoverageSemantics({ coverage, normalized, source }: {coverage: CoverageDocument; normalized: ClassificationCoordinate; source: string}): void {\n const issues: string[] = [];\n if (String(coverage.classification_system).toLowerCase() !== normalized.system) {\n issues.push(\n `classification_system ${String(coverage.classification_system)} does not match ${normalized.system}`,\n );\n }\n if (String(coverage.classification_version) !== normalized.version) {\n issues.push(\n `classification_version ${String(coverage.classification_version)} does not match ${normalized.version}`,\n );\n }\n\n const seenCodes = new Set<string>();\n const statusCounts = Object.fromEntries(\n CLASSIFICATION_COVERAGE_STATUSES.map((status) => [status, 0]),\n );\n for (const entry of coverage.entries) {\n if (seenCodes.has(entry.code)) {\n issues.push(`duplicate entry code ${entry.code}`);\n }\n seenCodes.add(entry.code);\n statusCounts[entry.coverage_status] = (statusCounts[entry.coverage_status] ?? 0) + 1;\n if (entry.path_codes.length !== entry.path_titles.length) {\n issues.push(`entry ${entry.code} has mismatched path_codes and path_titles lengths`);\n }\n if (entry.coverage_status === \"mapped\" && !entry.mapping) {\n issues.push(`mapped entry ${entry.code} has no mapping`);\n }\n if (entry.mapping && !isProjectedMapping(entry.mapping)) {\n issues.push(`entry ${entry.code} has a mapping without an accepted decision projection`);\n }\n if (\n [\"unmapped\", \"candidate_suggestion\", \"manual_review\"].includes(entry.coverage_status)\n && entry.mapping\n ) {\n issues.push(`${entry.coverage_status} entry ${entry.code} cannot carry an accepted mapping`);\n }\n if (entry.mapping && entry.legacy_reference) {\n issues.push(`entry ${entry.code} cannot be both a material mapping and a legacy reference`);\n }\n if (entry.legacy_reference && entry.coverage_status !== \"unmapped\") {\n issues.push(`legacy reference entry ${entry.code} must have coverage_status unmapped`);\n }\n }\n if (coverage.summary.total !== coverage.entries.length) {\n issues.push(\n `summary.total ${coverage.summary.total} does not match entries length ${coverage.entries.length}`,\n );\n }\n for (const status of CLASSIFICATION_COVERAGE_STATUSES) {\n if (field(coverage.summary, status) !== statusCounts[status]) {\n issues.push(\n `summary.${status} ${field(coverage.summary, status)} does not match entry count ${statusCounts[status]}`,\n );\n }\n }\n\n if (issues.length > 0) {\n throw new PcrClassificationCoverageSemanticError({\n ...normalized,\n source,\n issues,\n });\n }\n}\n\nfunction assertCoverageSources({ coverage, normalized, root, source }: {coverage: CoverageDocument; normalized: ClassificationCoordinate; root: string; source: string}): void {\n const issues: string[] = [];\n const verifiedSources: { normalized_leaves?: FileSource; mapping?: FileSource } = {};\n const sourceBindings: [\"normalized_leaves\" | \"mapping\", CoverageSourceArtifact, string][] = [\n [\n \"normalized_leaves\",\n coverage.source.normalized_leaves,\n canonicalNormalizedLeavesPath(normalized),\n ],\n [\"mapping\", coverage.source.mapping, canonicalMappingPath(normalized)],\n ];\n for (const [sourceName, descriptor, canonicalPath] of sourceBindings) {\n if (descriptor.path !== canonicalPath) {\n issues.push(sourcePathBindingIssue({ sourceName, descriptor, canonicalPath, normalized }));\n continue;\n }\n\n let sourceFile;\n try {\n sourceFile = readContainedUtf8RegularFile({\n root,\n relativePath: canonicalPath,\n label: `source ${sourceName}`,\n });\n } catch (error) {\n issues.push(error instanceof Error ? error.message : String(error));\n continue;\n }\n const actualSha256 = exactByteSha256(sourceFile.bytes);\n if (actualSha256 !== descriptor.sha256) {\n issues.push(\n `source ${sourceName} exact-byte SHA-256 mismatch: expected ${descriptor.sha256}, received ${actualSha256}`,\n );\n continue;\n }\n verifiedSources[sourceName] = sourceFile;\n }\n\n if (verifiedSources.normalized_leaves && verifiedSources.mapping) {\n let normalizedLeaves: unknown;\n let mapping: unknown;\n try {\n normalizedLeaves = JSON.parse(verifiedSources.normalized_leaves.text);\n } catch (error) {\n issues.push(\n `source normalized_leaves is not valid JSON (${error instanceof Error ? error.message : String(error)})`,\n );\n }\n try {\n mapping = parseYaml(verifiedSources.mapping.text);\n } catch (error) {\n issues.push(\n `source mapping is not valid YAML (${error instanceof Error ? error.message : String(error)})`,\n );\n }\n if (normalizedLeaves && mapping) {\n issues.push(\n ...coverageProjectionIssues({ coverage, normalized, normalizedLeaves, mapping }),\n );\n }\n }\n if (issues.length > 0) {\n throw new PcrClassificationCoverageSemanticError({\n ...normalized,\n source,\n issues,\n });\n }\n}\n\nfunction sourcePathBindingIssue({ sourceName, descriptor, canonicalPath, normalized }: {sourceName: string; descriptor: CoverageSourceArtifact; canonicalPath: string; normalized: ClassificationCoordinate}): string {\n const reportedPath = String(descriptor.path);\n const normalizedPath = path.posix.normalize(reportedPath);\n const escapesRoot = (\n path.posix.isAbsolute(reportedPath)\n || normalizedPath === \"..\"\n || normalizedPath.startsWith(\"../\")\n );\n const reason = escapesRoot\n ? \"escapes the repository root and does not match\"\n : \"does not match\";\n return `source ${sourceName} path ${reportedPath} ${reason} canonical path ${canonicalPath} for ${normalized.system}:${normalized.version}`;\n}\n\nfunction coverageProjectionIssues({ coverage, normalized, normalizedLeaves, mapping }: {coverage: CoverageDocument; normalized: ClassificationCoordinate; normalizedLeaves: unknown; mapping: unknown}): string[] {\n const issues: string[] = [];\n if (\n String(field(normalizedLeaves, \"classification_system\")).toLowerCase() !== normalized.system\n || String(field(normalizedLeaves, \"classification_version\")) !== normalized.version\n ) {\n issues.push(\n `source normalized_leaves coordinate ${String(field(normalizedLeaves, \"classification_system\"))}:${String(field(normalizedLeaves, \"classification_version\"))} does not match ${normalized.system}:${normalized.version}`,\n );\n }\n if (\n String(field(mapping, \"classification_system\")).toLowerCase() !== normalized.system\n || String(field(mapping, \"classification_version\")) !== normalized.version\n ) {\n issues.push(\n `source mapping coordinate ${String(field(mapping, \"classification_system\"))}:${String(field(mapping, \"classification_version\"))} does not match ${normalized.system}:${normalized.version}`,\n );\n }\n if (field(mapping, \"schema_version\") !== 2 || field(mapping, \"status\") !== \"current\") {\n issues.push(\"source mapping must use accepted-only schema_version 2 with status current\");\n }\n\n if (!Array.isArray(field(normalizedLeaves, \"leaves\"))) {\n issues.push(\"source normalized_leaves.leaves must be an array\");\n return issues;\n }\n if (!Array.isArray(field(mapping, \"mappings\"))) {\n issues.push(\"source mapping.mappings must be an array\");\n return issues;\n }\n\n const leavesByCode = new Map<string, ProjectedLeaf>();\n for (const leaf of unknownArray(field(normalizedLeaves, \"leaves\"))) {\n const code = sourceCode(leaf);\n if (code === null) {\n issues.push(\"source normalized_leaves contains a leaf without a code\");\n continue;\n }\n if (!isProjectedLeaf(leaf)) {\n issues.push(`source normalized leaf ${code} cannot be projected deterministically`);\n continue;\n }\n if (leavesByCode.has(code)) {\n issues.push(`source normalized_leaves contains duplicate code ${code}`);\n continue;\n }\n leavesByCode.set(code, leaf);\n }\n\n const entriesByCode = new Map(coverage.entries.map((entry) => [String(entry.code), entry]));\n const sourceCodes = [...leavesByCode.keys()].sort(compareText);\n const entryCodes = coverage.entries.map((entry) => String(entry.code));\n if (!sameStringArrays(entryCodes, sourceCodes)) {\n issues.push(\"coverage entries do not match the deterministic normalized-leaf code order\");\n }\n for (const code of sourceCodes) {\n const leaf = leavesByCode.get(code);\n if (!leaf) throw new Error(\"Missing projected normalized leaf\");\n const entry = entriesByCode.get(code);\n if (!entry) {\n issues.push(`coverage entries are missing normalized leaf ${code}`);\n continue;\n }\n if (entry.label !== leaf.title) {\n issues.push(`coverage entry ${code} label does not match normalized leaf title`);\n }\n if (!sameStringArrays(entry.path_codes, leaf.path_codes)) {\n issues.push(`coverage entry ${code} path_codes do not match normalized leaf path_codes`);\n }\n if (!sameStringArrays(entry.path_titles, leaf.path_titles)) {\n issues.push(`coverage entry ${code} path_titles do not match normalized leaf path_titles`);\n }\n }\n for (const code of entryCodes) {\n if (!leavesByCode.has(code)) {\n issues.push(`coverage entries contain code ${code} absent from normalized leaves`);\n }\n }\n\n const mappingsByCode = new Map<string, CoverageMapping>();\n for (const candidate of unknownArray(field(mapping, \"mappings\"))) {\n const code = sourceCode(candidate);\n if (code === null) {\n issues.push(\"source mapping contains an edge without a code\");\n continue;\n }\n if (!leavesByCode.has(code)) {\n issues.push(`source mapping code ${code} is absent from normalized leaves`);\n }\n if (!isProjectedMapping(candidate)) {\n issues.push(`source mapping for ${code} cannot be projected deterministically`);\n continue;\n }\n if (mappingsByCode.has(code)) {\n issues.push(`source mapping contains duplicate code ${code}`);\n continue;\n }\n mappingsByCode.set(code, candidate);\n }\n\n for (const [code, entry] of entriesByCode) {\n const sourceMapping = mappingsByCode.get(code);\n if (!sourceMapping) {\n if (entry.mapping || entry.legacy_reference) {\n issues.push(`coverage entry ${code} projects an edge absent from canonical mapping`);\n }\n continue;\n }\n if (entry.mapping) {\n for (const field of [\"pcr_id\", \"mapping_type\", \"confidence\"] as const) {\n if (entry.mapping[field] !== sourceMapping[field]) {\n issues.push(`coverage entry ${code} mapping.${field} does not match canonical mapping`);\n }\n }\n for (const field of [\"status\", \"decided_by\", \"decided_at_utc\", \"decision_ref\"] as const) {\n if (entry.mapping.acceptance?.[field] !== sourceMapping.acceptance?.[field]) {\n issues.push(\n `coverage entry ${code} mapping.acceptance.${field} does not match canonical mapping`,\n );\n }\n }\n if (entry.coverage_status !== \"mapped\") {\n issues.push(\n `coverage entry ${code} coverage_status ${entry.coverage_status} does not match accepted canonical mapping projection mapped`,\n );\n }\n continue;\n }\n if (entry.legacy_reference) {\n if (entry.legacy_reference.pcr_id !== sourceMapping.pcr_id) {\n issues.push(`coverage entry ${code} legacy_reference.pcr_id does not match canonical mapping`);\n }\n continue;\n }\n issues.push(`coverage entry ${code} does not represent its canonical mapping edge`);\n }\n return issues;\n}\n\nfunction sourceCode(value: unknown): string | null {\n if (!record(value) || value.code === undefined || value.code === null) {\n return null;\n }\n const code = String(value.code);\n return code.length > 0 ? code : null;\n}\n\nfunction isProjectedLeaf(leaf: unknown): leaf is ProjectedLeaf {\n return (\n record(leaf)\n && typeof leaf.title === \"string\"\n && leaf.title.length > 0\n && isStringArray(leaf.path_codes)\n && leaf.path_codes.length > 0\n && isStringArray(leaf.path_titles)\n && leaf.path_titles.length > 0\n );\n}\n\nfunction isProjectedMapping(mapping: unknown): mapping is CoverageMapping {\n if (!record(mapping) || typeof mapping.pcr_id !== 'string' || !mapping.pcr_id.startsWith('pcr.')\n || typeof mapping.mapping_type !== 'string' || !CLASSIFICATION_MAPPING_RELATIONS.has(mapping.mapping_type) || mapping.mapping_type === 'manual_review'\n || typeof mapping.confidence !== 'string' || mapping.confidence.length === 0 || !record(mapping.acceptance)) return false;\n const acceptance = mapping.acceptance;\n return acceptance.status === 'accepted' && typeof acceptance.decided_by === 'string' && acceptance.decided_by.trim().length > 0\n && isCanonicalUtcTimestamp(acceptance.decided_at_utc) && typeof acceptance.decision_ref === 'string' && acceptance.decision_ref.trim().length > 0;\n}\n\nfunction isCanonicalUtcTimestamp(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]); const month = Number(match[2]); const day = Number(match[3]);\n const hour = Number(match[4]); const minute = Number(match[5]); const 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 isStringArray(value: unknown): value is string[] {\n return Array.isArray(value) && value.every((item) => typeof item === \"string\");\n}\n\nfunction sameStringArrays(left: unknown, right: unknown): boolean {\n return (\n isStringArray(left)\n && isStringArray(right)\n && left.length === right.length\n && left.every((value, index) => value === right[index])\n );\n}\n\nfunction compareText(left: unknown, right: unknown): number {\n const normalizedLeft = String(left);\n const normalizedRight = String(right);\n return normalizedLeft < normalizedRight ? -1 : normalizedLeft > normalizedRight ? 1 : 0;\n}\n\nfunction canonicalNormalizedLeavesPath({ system, version }: ClassificationCoordinate): string {\n return `classifications/systems/${system}/${version}/normalized/leaves.json`;\n}\n\nfunction canonicalMappingPath({ system, version }: ClassificationCoordinate): string {\n return `classifications/mappings/${system}-${version}-to-pcr.yaml`;\n}\n\nfunction readContainedUtf8RegularFile({ root, relativePath, label }: FileOptions): FileSource {\n if (typeof relativePath !== \"string\" || relativePath.length === 0) {\n throw new Error(`${label} path must be a non-empty repository-relative path`);\n }\n if (\n path.posix.isAbsolute(relativePath)\n || relativePath.includes(\"\\\\\")\n || path.posix.normalize(relativePath) !== relativePath\n ) {\n throw new Error(`${label} path is not a canonical repository-relative path: ${relativePath}`);\n }\n\n const resolvedRoot = path.resolve(root);\n const resolvedPath = path.resolve(resolvedRoot, ...relativePath.split(\"/\"));\n const containedRelativePath = path.relative(resolvedRoot, resolvedPath);\n if (\n containedRelativePath.length === 0\n || containedRelativePath === \"..\"\n || containedRelativePath.startsWith(`..${path.sep}`)\n || path.isAbsolute(containedRelativePath)\n ) {\n throw new Error(`${label} path escapes the repository root: ${relativePath}`);\n }\n\n assertRegularPathChain({\n resolvedRoot,\n containedRelativePath,\n relativePath,\n label,\n });\n assertRealPathContained({\n root: resolvedRoot,\n candidate: resolvedPath,\n label,\n relativePath,\n });\n\n let descriptor: number | undefined;\n let bytes: Buffer;\n try {\n descriptor = openSync(\n resolvedPath,\n fsConstants.O_RDONLY | fsConstants.O_NOFOLLOW | fsConstants.O_NONBLOCK,\n );\n const openedStats = fstatSync(descriptor);\n if (!openedStats.isFile()) {\n throw new Error(`${label} is not a regular file: ${relativePath}`);\n }\n const currentStats = assertRegularPathChain({\n resolvedRoot,\n containedRelativePath,\n relativePath,\n label,\n });\n assertRealPathContained({\n root: resolvedRoot,\n candidate: resolvedPath,\n label,\n relativePath,\n });\n if (openedStats.dev !== currentStats.dev || openedStats.ino !== currentStats.ino) {\n throw new Error(`${label} path changed while it was being opened: ${relativePath}`);\n }\n bytes = readFileSync(descriptor);\n } catch (error) {\n if (error instanceof Error && error.message.startsWith(`${label} `)) {\n throw error;\n }\n throw new Error(\n `${label} could not be opened without following symbolic links: ${relativePath} (${errorDetail(error)})`,\n );\n } finally {\n if (descriptor !== undefined) {\n closeSync(descriptor);\n }\n }\n\n return {\n bytes,\n text: decodeFatalUtf8(bytes, { label, relativePath }),\n };\n}\n\nfunction assertRegularPathChain({ resolvedRoot, containedRelativePath, relativePath, label }: { resolvedRoot: string; containedRelativePath: string; relativePath: string; label: string }): Stats {\n const segments = containedRelativePath.split(path.sep);\n let currentPath = resolvedRoot;\n let finalStats: Stats | undefined;\n for (const [index, segment] of segments.entries()) {\n currentPath = path.join(currentPath, segment);\n let stats;\n try {\n stats = lstatSync(currentPath);\n } catch (error) {\n throw new Error(\n `${label} does not exist at ${relativePath} (${errorDetail(error)})`,\n );\n }\n if (stats.isSymbolicLink()) {\n throw new Error(`${label} path contains a symbolic link: ${relativePath}`);\n }\n const isLastSegment = index === segments.length - 1;\n if (isLastSegment && !stats.isFile()) {\n throw new Error(`${label} is not a regular file: ${relativePath}`);\n }\n if (!isLastSegment && !stats.isDirectory()) {\n throw new Error(`${label} parent is not a directory: ${relativePath}`);\n }\n if (isLastSegment) {\n finalStats = stats;\n }\n }\n if (!finalStats) throw new Error(`${label} has an empty path: ${relativePath}`);\n return finalStats;\n}\n\nfunction decodeFatalUtf8(bytes: Buffer, { label, relativePath }: {label: string; relativePath: string}): string {\n try {\n return new TextDecoder(\"utf-8\", { fatal: true }).decode(bytes);\n } catch (error) {\n throw new Error(\n `${label} is not valid UTF-8: ${relativePath} (${error instanceof Error ? error.message : String(error)})`,\n );\n }\n}\n\nfunction assertRealPathContained({ root, candidate, label, relativePath }: FileOptions & {candidate: string}): void {\n const realRoot = realpathSync(root);\n const realCandidate = realpathSync(candidate);\n const realRelativePath = path.relative(realRoot, realCandidate);\n if (\n realRelativePath.length === 0\n || realRelativePath === \"..\"\n || realRelativePath.startsWith(`..${path.sep}`)\n || path.isAbsolute(realRelativePath)\n ) {\n throw new Error(`${label} real path escapes the repository root: ${relativePath}`);\n }\n}\n\nfunction exactByteSha256(bytes: Buffer): string {\n return `sha256:${createHash(\"sha256\").update(bytes).digest(\"hex\")}`;\n}\n\nfunction toPosix(value: string): string {\n return value.split(path.sep).join(\"/\");\n}\n\nfunction unknownArray(value: unknown): unknown[] { return Array.isArray(value) ? value : []; }\n"]}
@@ -0,0 +1,135 @@
1
+ import { createHash } from 'node:crypto';
2
+ import { isDeepStrictEqual } from 'node:util';
3
+ import { compileNormativeProjection } from './normative-projection.js';
4
+ import { inspectNormativeIntegrity } from './normative-integrity.js';
5
+ export class GuidanceContextError extends Error {
6
+ code = 'PCR_NORMATIVE_CONTEXT_INVALID';
7
+ constructor(message) { super(message); this.name = 'GuidanceContextError'; }
8
+ }
9
+ function object(value) {
10
+ return value !== null && typeof value === 'object' && !Array.isArray(value);
11
+ }
12
+ function field(value, key) { return object(value) ? value[key] : undefined; }
13
+ function string(value, label) {
14
+ if (typeof value !== 'string' || !value)
15
+ throw new GuidanceContextError(`Missing ${label}.`);
16
+ return value;
17
+ }
18
+ function ruleAt(structured, pointer) {
19
+ let value = structured;
20
+ for (const key of pointer.slice(1).split('/')) {
21
+ if (Array.isArray(value) && /^(0|[1-9]\d*)$/u.test(key))
22
+ value = value[Number(key)];
23
+ else
24
+ value = field(value, key);
25
+ }
26
+ if (!object(value))
27
+ throw new GuidanceContextError(`Missing stored normative rule at ${pointer}.`);
28
+ return value;
29
+ }
30
+ function arrays(structured) {
31
+ return [field(field(structured, 'system_boundary'), 'rules'), field(structured, 'allocation_rules'), field(structured, 'validation_rules')];
32
+ }
33
+ /** Called only after stored schema and fingerprint verification. Legacy enrichment
34
+ * has its own identity: it never becomes part of the stored projection digest. */
35
+ export function deriveGuidanceContext(structured, sourceMarkdown) {
36
+ const schema = field(structured, 'schema_version');
37
+ if (schema !== 1 && schema !== 2)
38
+ throw new GuidanceContextError('Unsupported stored projection schema.');
39
+ const metadata = field(structured, 'projection_metadata');
40
+ const storedHash = string(field(metadata, 'generated_content_sha256'), 'stored projection fingerprint');
41
+ const sourceHash = string(field(field(metadata, 'canonical_markdown'), 'sha256'), 'canonical source fingerprint');
42
+ let context;
43
+ if (schema === 2) {
44
+ const integrity = inspectNormativeIntegrity({ sourceMarkdown, structuredProjection: structured });
45
+ if (!integrity.valid)
46
+ throw new GuidanceContextError('Stored normative context does not match canonical source and rules.');
47
+ // Recomputed context is identical to the verified stored context; retaining the
48
+ // typed value avoids a cast from untrusted data.
49
+ context = integrity.verified_context;
50
+ if (context.source_sha256 !== sourceHash)
51
+ throw new GuidanceContextError('Canonical source differs from verified projection fingerprint.');
52
+ }
53
+ else {
54
+ const projected = compileNormativeProjection(sourceMarkdown);
55
+ if (projected.context.source_sha256 !== sourceHash)
56
+ throw new GuidanceContextError('Canonical source differs from verified projection fingerprint.');
57
+ const expected = [projected.systemBoundaryRules, projected.allocationRules, projected.validationRules];
58
+ const stored = arrays(structured);
59
+ for (let family = 0; family < expected.length; family += 1) {
60
+ const current = stored[family];
61
+ const generated = expected[family];
62
+ if (!Array.isArray(current) || !generated || current.length !== generated.length) {
63
+ throw new GuidanceContextError('Legacy normative rule coverage differs from canonical source; use the complete English source for review.');
64
+ }
65
+ for (let index = 0; index < generated.length; index += 1) {
66
+ const previous = current[index];
67
+ const next = generated[index];
68
+ if (!object(previous) || !next || previous.rule !== next.rule || previous.applies_to !== next.applies_to || !isDeepStrictEqual(previous.source_ids, next.source_ids)) {
69
+ throw new GuidanceContextError('Legacy normative rule text differs from canonical source; use the complete English source for review.');
70
+ }
71
+ }
72
+ }
73
+ context = {
74
+ ...projected.context,
75
+ bindings: projected.context.bindings.map(binding => ({
76
+ ...binding,
77
+ rule_id: string(ruleAt(structured, binding.pointer).rule_id, `stored rule ID at ${binding.pointer}`),
78
+ // Legacy serializers could silently suffix IDs. Such identities cannot be
79
+ // advertised as stable authored IDs when the stored spelling differs.
80
+ identity_kind: ruleAt(structured, binding.pointer).rule_id === binding.rule_id ? binding.identity_kind : 'snapshot_local',
81
+ })),
82
+ };
83
+ }
84
+ return {
85
+ normative_context: context,
86
+ normative_context_provenance: {
87
+ kind: schema === 2 ? 'stored_projection' : 'derived_legacy_source',
88
+ compiler_contract_version: '2', stored_projection_schema_version: schema,
89
+ stored_projection_sha256: storedHash, source_sha256: sourceHash,
90
+ context_sha256: `sha256:${createHash('sha256').update(JSON.stringify(context), 'utf8').digest('hex')}`,
91
+ },
92
+ };
93
+ }
94
+ /** Selection receives a source-verified core envelope. Check its internal
95
+ * consistency again after defensive copying; this does not replace source
96
+ * regeneration, which requires the canonical bytes held by the core snapshot. */
97
+ export function assertGuidanceContextConsistency(structured, envelope) {
98
+ const context = envelope.normative_context;
99
+ const provenance = envelope.normative_context_provenance;
100
+ const schema = field(structured, 'schema_version');
101
+ const metadata = field(structured, 'projection_metadata');
102
+ const storedHash = field(metadata, 'generated_content_sha256');
103
+ const sourceHash = field(field(metadata, 'canonical_markdown'), 'sha256');
104
+ const contextHash = `sha256:${createHash('sha256').update(JSON.stringify(context), 'utf8').digest('hex')}`;
105
+ if (schema !== provenance.stored_projection_schema_version || storedHash !== provenance.stored_projection_sha256
106
+ || sourceHash !== provenance.source_sha256 || sourceHash !== context.source_sha256
107
+ || contextHash !== provenance.context_sha256 || provenance.kind !== (schema === 2 ? 'stored_projection' : 'derived_legacy_source')) {
108
+ throw new GuidanceContextError('Guidance context provenance does not agree with the verified stored snapshot.');
109
+ }
110
+ const groups = arrays(structured);
111
+ const prefixes = ['/system_boundary/rules', '/allocation_rules', '/validation_rules'];
112
+ const expected = [];
113
+ for (let index = 0; index < groups.length; index += 1) {
114
+ const rules = groups[index];
115
+ const prefix = prefixes[index];
116
+ if (!Array.isArray(rules) || prefix === undefined)
117
+ throw new GuidanceContextError('Normative arrays are incomplete.');
118
+ for (let row = 0; row < rules.length; row += 1) {
119
+ expected.push({ pointer: `${prefix}/${row}`, id: string(field(rules[row], 'rule_id'), 'stored normative rule identity') });
120
+ }
121
+ }
122
+ const units = new Map(context.units.map(unit => [unit.unit_id, unit]));
123
+ const bindings = new Map(context.bindings.map(binding => [binding.pointer, binding]));
124
+ if (units.size !== context.units.length || bindings.size !== context.bindings.length || bindings.size !== expected.length) {
125
+ throw new GuidanceContextError('Normative context has duplicate or incomplete unit/binding coverage.');
126
+ }
127
+ for (const row of expected) {
128
+ const binding = bindings.get(row.pointer);
129
+ const unit = binding ? units.get(binding.unit_id) : undefined;
130
+ const family = row.pointer.startsWith('/system_boundary/') ? 'system_boundary' : row.pointer.startsWith('/allocation_rules/') ? 'allocation' : 'validation';
131
+ if (!binding || !unit || binding.rule_id !== row.id || unit.family !== family)
132
+ throw new GuidanceContextError('Normative context bindings do not address every stored rule in its source family.');
133
+ }
134
+ }
135
+ //# sourceMappingURL=guidance-context.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guidance-context.js","sourceRoot":"pcr://source/","sources":["packages/pcr-core/src/compiler/guidance-context.ts"],"names":[],"mappings":"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","sourcesContent":["import { createHash } from 'node:crypto';\nimport { isDeepStrictEqual } from 'node:util';\nimport { compileNormativeProjection, type NormativeProjectionContext } from './normative-projection.ts';\nimport { inspectNormativeIntegrity } from './normative-integrity.ts';\n\nexport interface GuidanceContextProvenance {\n readonly kind: 'stored_projection' | 'derived_legacy_source';\n readonly compiler_contract_version: '2';\n readonly stored_projection_schema_version: 1 | 2;\n readonly stored_projection_sha256: string;\n readonly source_sha256: string;\n readonly context_sha256: string;\n}\nexport interface GuidanceContextEnvelope {\n readonly normative_context: NormativeProjectionContext;\n readonly normative_context_provenance: GuidanceContextProvenance;\n}\nexport class GuidanceContextError extends Error {\n readonly code = 'PCR_NORMATIVE_CONTEXT_INVALID';\n constructor(message: string) { super(message); this.name = 'GuidanceContextError'; }\n}\nfunction object(value: unknown): value is Record<string, unknown> {\n return value !== null && typeof value === 'object' && !Array.isArray(value);\n}\nfunction field(value: unknown, key: string): unknown { return object(value) ? value[key] : undefined; }\nfunction string(value: unknown, label: string): string {\n if (typeof value !== 'string' || !value) throw new GuidanceContextError(`Missing ${label}.`);\n return value;\n}\nfunction ruleAt(structured: unknown, pointer: string): Record<string, unknown> {\n let value = structured;\n for (const key of pointer.slice(1).split('/')) {\n if (Array.isArray(value) && /^(0|[1-9]\\d*)$/u.test(key)) value = value[Number(key)];\n else value = field(value, key);\n }\n if (!object(value)) throw new GuidanceContextError(`Missing stored normative rule at ${pointer}.`);\n return value;\n}\nfunction arrays(structured: unknown): unknown[] {\n return [field(field(structured, 'system_boundary'), 'rules'), field(structured, 'allocation_rules'), field(structured, 'validation_rules')];\n}\n\n/** Called only after stored schema and fingerprint verification. Legacy enrichment\n * has its own identity: it never becomes part of the stored projection digest. */\nexport function deriveGuidanceContext(structured: unknown, sourceMarkdown: string): GuidanceContextEnvelope {\n const schema = field(structured, 'schema_version');\n if (schema !== 1 && schema !== 2) throw new GuidanceContextError('Unsupported stored projection schema.');\n const metadata = field(structured, 'projection_metadata');\n const storedHash = string(field(metadata, 'generated_content_sha256'), 'stored projection fingerprint');\n const sourceHash = string(field(field(metadata, 'canonical_markdown'), 'sha256'), 'canonical source fingerprint');\n let context: NormativeProjectionContext;\n if (schema === 2) {\n const integrity = inspectNormativeIntegrity({ sourceMarkdown, structuredProjection: structured });\n if (!integrity.valid) throw new GuidanceContextError('Stored normative context does not match canonical source and rules.');\n // Recomputed context is identical to the verified stored context; retaining the\n // typed value avoids a cast from untrusted data.\n context = integrity.verified_context;\n if (context.source_sha256 !== sourceHash) throw new GuidanceContextError('Canonical source differs from verified projection fingerprint.');\n } else {\n const projected = compileNormativeProjection(sourceMarkdown);\n if (projected.context.source_sha256 !== sourceHash) throw new GuidanceContextError('Canonical source differs from verified projection fingerprint.');\n const expected = [projected.systemBoundaryRules, projected.allocationRules, projected.validationRules];\n const stored = arrays(structured);\n for (let family = 0; family < expected.length; family += 1) {\n const current = stored[family];\n const generated = expected[family];\n if (!Array.isArray(current) || !generated || current.length !== generated.length) {\n throw new GuidanceContextError('Legacy normative rule coverage differs from canonical source; use the complete English source for review.');\n }\n for (let index = 0; index < generated.length; index += 1) {\n const previous: unknown = current[index];\n const next = generated[index];\n if (!object(previous) || !next || previous.rule !== next.rule || previous.applies_to !== next.applies_to || !isDeepStrictEqual(previous.source_ids, next.source_ids)) {\n throw new GuidanceContextError('Legacy normative rule text differs from canonical source; use the complete English source for review.');\n }\n }\n }\n context = {\n ...projected.context,\n bindings: projected.context.bindings.map(binding => ({\n ...binding,\n rule_id: string(ruleAt(structured, binding.pointer).rule_id, `stored rule ID at ${binding.pointer}`),\n // Legacy serializers could silently suffix IDs. Such identities cannot be\n // advertised as stable authored IDs when the stored spelling differs.\n identity_kind: ruleAt(structured, binding.pointer).rule_id === binding.rule_id ? binding.identity_kind : 'snapshot_local',\n })),\n };\n }\n return {\n normative_context: context,\n normative_context_provenance: {\n kind: schema === 2 ? 'stored_projection' : 'derived_legacy_source',\n compiler_contract_version: '2', stored_projection_schema_version: schema,\n stored_projection_sha256: storedHash, source_sha256: sourceHash,\n context_sha256: `sha256:${createHash('sha256').update(JSON.stringify(context), 'utf8').digest('hex')}`,\n },\n };\n}\n\n/** Selection receives a source-verified core envelope. Check its internal\n * consistency again after defensive copying; this does not replace source\n * regeneration, which requires the canonical bytes held by the core snapshot. */\nexport function assertGuidanceContextConsistency(structured: unknown, envelope: GuidanceContextEnvelope): void {\n const context = envelope.normative_context;\n const provenance = envelope.normative_context_provenance;\n const schema = field(structured, 'schema_version');\n const metadata = field(structured, 'projection_metadata');\n const storedHash = field(metadata, 'generated_content_sha256');\n const sourceHash = field(field(metadata, 'canonical_markdown'), 'sha256');\n const contextHash = `sha256:${createHash('sha256').update(JSON.stringify(context), 'utf8').digest('hex')}`;\n if (schema !== provenance.stored_projection_schema_version || storedHash !== provenance.stored_projection_sha256\n || sourceHash !== provenance.source_sha256 || sourceHash !== context.source_sha256\n || contextHash !== provenance.context_sha256 || provenance.kind !== (schema === 2 ? 'stored_projection' : 'derived_legacy_source')) {\n throw new GuidanceContextError('Guidance context provenance does not agree with the verified stored snapshot.');\n }\n const groups = arrays(structured);\n const prefixes = ['/system_boundary/rules', '/allocation_rules', '/validation_rules'];\n const expected: { pointer: string; id: string }[] = [];\n for (let index = 0; index < groups.length; index += 1) {\n const rules = groups[index]; const prefix = prefixes[index];\n if (!Array.isArray(rules) || prefix === undefined) throw new GuidanceContextError('Normative arrays are incomplete.');\n for (let row = 0; row < rules.length; row += 1) {\n expected.push({ pointer: `${prefix}/${row}`, id: string(field(rules[row], 'rule_id'), 'stored normative rule identity') });\n }\n }\n const units = new Map(context.units.map(unit => [unit.unit_id, unit]));\n const bindings = new Map(context.bindings.map(binding => [binding.pointer, binding]));\n if (units.size !== context.units.length || bindings.size !== context.bindings.length || bindings.size !== expected.length) {\n throw new GuidanceContextError('Normative context has duplicate or incomplete unit/binding coverage.');\n }\n for (const row of expected) {\n const binding = bindings.get(row.pointer);\n const unit = binding ? units.get(binding.unit_id) : undefined;\n const family = row.pointer.startsWith('/system_boundary/') ? 'system_boundary' : row.pointer.startsWith('/allocation_rules/') ? 'allocation' : 'validation';\n if (!binding || !unit || binding.rule_id !== row.id || unit.family !== family) throw new GuidanceContextError('Normative context bindings do not address every stored rule in its source family.');\n }\n}\n"]}
@@ -0,0 +1,78 @@
1
+ import { deriveGuidanceContext, GuidanceContextError, assertGuidanceContextConsistency } from './guidance-context.js';
2
+ function object(value) {
3
+ return value !== null && typeof value === 'object' && !Array.isArray(value);
4
+ }
5
+ function checkedSnapshot(value) {
6
+ if (!object(value) || !object(value.pcr) || !object(value.pcr.readiness) || !object(value.structured)
7
+ || !object(value.artifacts) || !object(value.artifacts['pcr.en-US.md'])
8
+ || !Buffer.isBuffer(value.artifacts['pcr.en-US.md'].bytes)) {
9
+ throw new GuidanceContextError('Verified current snapshot lacks its canonical source bytes.');
10
+ }
11
+ let sourceMarkdown;
12
+ try {
13
+ sourceMarkdown = new TextDecoder('utf-8', { fatal: true }).decode(value.artifacts['pcr.en-US.md'].bytes);
14
+ }
15
+ catch {
16
+ throw new GuidanceContextError('Canonical source is not valid UTF-8.');
17
+ }
18
+ return { pcr: value.pcr, readiness: value.pcr.readiness, structured: value.structured, sourceMarkdown };
19
+ }
20
+ /** Uses only bytes captured in the core's consistent snapshot, never a second
21
+ * filesystem read that could bind context to a later source revision. */
22
+ export function deriveSnapshotGuidanceContext(value) {
23
+ const snapshot = checkedSnapshot(value);
24
+ return deriveGuidanceContext(snapshot.structured, snapshot.sourceMarkdown);
25
+ }
26
+ export function buildCompleteGuidance(value, sourceStructured) { return buildUnknownGuidance(value, sourceStructured); }
27
+ function buildUnknownGuidance(value, sourceStructured) {
28
+ const { pcr, readiness, structured, sourceMarkdown } = checkedSnapshot(value);
29
+ const fields = normativeFields(structured);
30
+ return composeGuidance(pcr, readiness, structured, fields, sourceStructured, deriveGuidanceContext(structured, sourceMarkdown));
31
+ }
32
+ function normativeFields(structured) {
33
+ const systemBoundary = structured.system_boundary;
34
+ const allocationRules = structured.allocation_rules;
35
+ const validationRules = structured.validation_rules;
36
+ if (!object(systemBoundary) || !Array.isArray(allocationRules) || !Array.isArray(validationRules)) {
37
+ throw new GuidanceContextError('Complete guidance requires every normative rule family.');
38
+ }
39
+ return { system_boundary: systemBoundary, allocation_rules: allocationRules, validation_rules: validationRules };
40
+ }
41
+ function composeGuidance(pcr, readiness, structured, fields, sourceStructured, context) {
42
+ const production = object(structured.dataset_production) ? structured.dataset_production : {};
43
+ return {
44
+ schema_version: 2,
45
+ guidance_kind: 'tiangong-pcr-agent-guidance',
46
+ pcr, readiness: structuredClone(readiness), source_structured: sourceStructured,
47
+ system_boundary: fields.system_boundary,
48
+ reference_flow: structured.reference_flow_definition ?? {},
49
+ boundary_abstraction: structured.boundary_abstraction ?? {},
50
+ measurement_rules: structured.measurement_rules ?? structured.unit_conventions ?? [],
51
+ process_map: structured.process_map ?? [], process_inventory: structured.process_inventory ?? [],
52
+ production_guidance: {
53
+ collection_protocols: production.collection_protocols ?? [],
54
+ calculation_rules: production.calculation_rules ?? [],
55
+ data_quality_requirements: production.data_quality_requirements ?? [],
56
+ },
57
+ published_dataset_profile: structured.published_dataset_profile ?? {},
58
+ allocation_rules: fields.allocation_rules, data_quality_rules: structured.data_quality_rules ?? [],
59
+ validation_rules: fields.validation_rules, data_sources: structured.data_sources ?? [],
60
+ ...context,
61
+ validation_notes: [
62
+ 'Use this guidance for LCA data authoring, optional TIDAS process authoring, or Agent-led review of existing process/model data. Select requirements for the declared scope.',
63
+ 'Preserve PCR-derived UUID identities exactly. They are version-free suggestions; preserve and verify explicit versions on supplied TIDAS dataset references.',
64
+ 'validate-model checks qualifier text presence; validate-dataset checks collection protocol ID presence. Neither performs TIDAS schema validation or semantic review. Use inspect and review prepare/check to support Agent-led review; a foreground package is optional.',
65
+ 'Read complete normative units together with their ancestor_context. Source association preserves conditions and exceptions without deciding scientific applicability. Stored projection hashes and derived legacy context provenance identify different artifacts.',
66
+ ],
67
+ };
68
+ }
69
+ export function buildGuidanceFromProjection(value) {
70
+ const structured = { ...value.structured };
71
+ const fields = normativeFields(structured);
72
+ assertGuidanceContextConsistency(structured, value);
73
+ return composeGuidance({ ...value.pcr }, { ...value.readiness }, structured, fields, value.source_structured, {
74
+ normative_context: value.normative_context,
75
+ normative_context_provenance: value.normative_context_provenance,
76
+ });
77
+ }
78
+ //# sourceMappingURL=guidance-envelope.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"guidance-envelope.js","sourceRoot":"pcr://source/","sources":["packages/pcr-core/src/compiler/guidance-envelope.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,qBAAqB,EAAE,oBAAoB,EAAE,gCAAgC,EAAgC,MAAM,uBAAuB,CAAC;AAEpJ,SAAS,MAAM,CAAC,KAAc;IAC5B,OAAO,KAAK,KAAK,IAAI,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAC9E,CAAC;AACD,SAAS,eAAe,CAAC,KAAc;IACrC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,UAAU,CAAC;WAChG,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC;WACpE,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,EAAE,CAAC;QAC7D,MAAM,IAAI,oBAAoB,CAAC,6DAA6D,CAAC,CAAC;IAChG,CAAC;IACD,IAAI,cAAsB,CAAC;IAC3B,IAAI,CAAC;QAAC,cAAc,GAAG,IAAI,WAAW,CAAC,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,SAAS,CAAC,cAAc,CAAC,CAAC,KAAK,CAAC,CAAC;IAAC,CAAC;IACjH,MAAM,CAAC;QAAC,MAAM,IAAI,oBAAoB,CAAC,sCAAsC,CAAC,CAAC;IAAC,CAAC;IACjF,OAAO,EAAE,GAAG,EAAE,KAAK,CAAC,GAAG,EAAE,SAAS,EAAE,KAAK,CAAC,GAAG,CAAC,SAAS,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,cAAc,EAAE,CAAC;AAC1G,CAAC;AACD;yEACyE;AACzE,MAAM,UAAU,6BAA6B,CAAC,KAAc;IAC1D,MAAM,QAAQ,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IACxC,OAAO,qBAAqB,CAAC,QAAQ,CAAC,UAAU,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;AAC7E,CAAC;AAGD,MAAM,UAAU,qBAAqB,CAAC,KAAc,EAAE,gBAAwB,IAAa,OAAO,oBAAoB,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;AAClJ,SAAS,oBAAoB,CAAC,KAAc,EAAE,gBAAwB;IACpE,MAAM,EAAE,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,cAAc,EAAE,GAAG,eAAe,CAAC,KAAK,CAAC,CAAC;IAC9E,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IAC3C,OAAO,eAAe,CAAC,GAAG,EAAE,SAAS,EAAE,UAAU,EAAE,MAAM,EAAE,gBAAgB,EAAE,qBAAqB,CAAC,UAAU,EAAE,cAAc,CAAC,CAAC,CAAC;AAClI,CAAC;AACD,SAAS,eAAe,CAAC,UAAmC;IAC1D,MAAM,cAAc,GAAG,UAAU,CAAC,eAAe,CAAC;IAClD,MAAM,eAAe,GAAG,UAAU,CAAC,gBAAgB,CAAC;IACpD,MAAM,eAAe,GAAG,UAAU,CAAC,gBAAgB,CAAC;IACpD,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,eAAe,CAAC,EAAE,CAAC;QAClG,MAAM,IAAI,oBAAoB,CAAC,yDAAyD,CAAC,CAAC;IAC5F,CAAC;IACD,OAAO,EAAE,eAAe,EAAE,cAAc,EAAE,gBAAgB,EAAE,eAAe,EAAE,gBAAgB,EAAE,eAAe,EAAE,CAAC;AACnH,CAAC;AACD,SAAS,eAAe,CAAC,GAA4B,EAAE,SAAkC,EAAE,UAAmC,EAAE,MAA0C,EAAE,gBAAwB,EAAE,OAAgC;IACpO,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC,CAAC,EAAE,CAAC;IAC9F,OAAO;QACL,cAAc,EAAE,CAAC;QACjB,aAAa,EAAE,6BAA6B;QAC5C,GAAG,EAAE,SAAS,EAAE,eAAe,CAAC,SAAS,CAAC,EAAE,iBAAiB,EAAE,gBAAgB;QAC/E,eAAe,EAAE,MAAM,CAAC,eAAe;QACvC,cAAc,EAAE,UAAU,CAAC,yBAAyB,IAAI,EAAE;QAC1D,oBAAoB,EAAE,UAAU,CAAC,oBAAoB,IAAI,EAAE;QAC3D,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,IAAI,UAAU,CAAC,gBAAgB,IAAI,EAAE;QACpF,WAAW,EAAE,UAAU,CAAC,WAAW,IAAI,EAAE,EAAE,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,IAAI,EAAE;QAChG,mBAAmB,EAAE;YACnB,oBAAoB,EAAE,UAAU,CAAC,oBAAoB,IAAI,EAAE;YAC3D,iBAAiB,EAAE,UAAU,CAAC,iBAAiB,IAAI,EAAE;YACrD,yBAAyB,EAAE,UAAU,CAAC,yBAAyB,IAAI,EAAE;SACtE;QACD,yBAAyB,EAAE,UAAU,CAAC,yBAAyB,IAAI,EAAE;QACrE,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,EAAE,kBAAkB,EAAE,UAAU,CAAC,kBAAkB,IAAI,EAAE;QAClG,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,EAAE,YAAY,EAAE,UAAU,CAAC,YAAY,IAAI,EAAE;QACtF,GAAG,OAAO;QACV,gBAAgB,EAAE;YAChB,6KAA6K;YAC7K,8JAA8J;YAC9J,0QAA0Q;YAC1Q,oQAAoQ;SACrQ;KACF,CAAC;AACJ,CAAC;AAKD,MAAM,UAAU,2BAA2B,CAAC,KAA4B;IACtE,MAAM,UAAU,GAAG,EAAE,GAAG,KAAK,CAAC,UAAU,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,eAAe,CAAC,UAAU,CAAC,CAAC;IAC3C,gCAAgC,CAAC,UAAU,EAAE,KAAK,CAAC,CAAC;IACpD,OAAO,eAAe,CAAC,EAAE,GAAG,KAAK,CAAC,GAAG,EAAE,EAAE,EAAE,GAAG,KAAK,CAAC,SAAS,EAAE,EAAE,UAAU,EAAE,MAAM,EAAE,KAAK,CAAC,iBAAiB,EAAE;QAC5G,iBAAiB,EAAE,KAAK,CAAC,iBAAiB;QAC1C,4BAA4B,EAAE,KAAK,CAAC,4BAA4B;KACjE,CAAC,CAAC;AACL,CAAC","sourcesContent":["import type { CurrentPcrSnapshot, StructuredProjection, CompleteGuidance, VerifiedPcrProjection } from \"../types.ts\";\nimport { deriveGuidanceContext, GuidanceContextError, assertGuidanceContextConsistency, type GuidanceContextEnvelope } from './guidance-context.ts';\n\nfunction object(value: unknown): value is Record<string, unknown> {\n return value !== null && typeof value === 'object' && !Array.isArray(value);\n}\nfunction checkedSnapshot(value: unknown) {\n if (!object(value) || !object(value.pcr) || !object(value.pcr.readiness) || !object(value.structured)\n || !object(value.artifacts) || !object(value.artifacts['pcr.en-US.md'])\n || !Buffer.isBuffer(value.artifacts['pcr.en-US.md'].bytes)) {\n throw new GuidanceContextError('Verified current snapshot lacks its canonical source bytes.');\n }\n let sourceMarkdown: string;\n try { sourceMarkdown = new TextDecoder('utf-8', { fatal: true }).decode(value.artifacts['pcr.en-US.md'].bytes); }\n catch { throw new GuidanceContextError('Canonical source is not valid UTF-8.'); }\n return { pcr: value.pcr, readiness: value.pcr.readiness, structured: value.structured, sourceMarkdown };\n}\n/** Uses only bytes captured in the core's consistent snapshot, never a second\n * filesystem read that could bind context to a later source revision. */\nexport function deriveSnapshotGuidanceContext(value: unknown) {\n const snapshot = checkedSnapshot(value);\n return deriveGuidanceContext(snapshot.structured, snapshot.sourceMarkdown);\n}\nexport function buildCompleteGuidance(value: CurrentPcrSnapshot & { structured: StructuredProjection }, sourceStructured: string): CompleteGuidance;\nexport function buildCompleteGuidance(value: unknown, sourceStructured: string): ReturnType<typeof buildUnknownGuidance>;\nexport function buildCompleteGuidance(value: unknown, sourceStructured: string): unknown { return buildUnknownGuidance(value, sourceStructured); }\nfunction buildUnknownGuidance(value: unknown, sourceStructured: string) {\n const { pcr, readiness, structured, sourceMarkdown } = checkedSnapshot(value);\n const fields = normativeFields(structured);\n return composeGuidance(pcr, readiness, structured, fields, sourceStructured, deriveGuidanceContext(structured, sourceMarkdown));\n}\nfunction normativeFields(structured: Record<string, unknown>) {\n const systemBoundary = structured.system_boundary;\n const allocationRules = structured.allocation_rules;\n const validationRules = structured.validation_rules;\n if (!object(systemBoundary) || !Array.isArray(allocationRules) || !Array.isArray(validationRules)) {\n throw new GuidanceContextError('Complete guidance requires every normative rule family.');\n }\n return { system_boundary: systemBoundary, allocation_rules: allocationRules, validation_rules: validationRules };\n}\nfunction composeGuidance(pcr: Record<string, unknown>, readiness: Record<string, unknown>, structured: Record<string, unknown>, fields: ReturnType<typeof normativeFields>, sourceStructured: string, context: GuidanceContextEnvelope) {\n const production = object(structured.dataset_production) ? structured.dataset_production : {};\n return {\n schema_version: 2,\n guidance_kind: 'tiangong-pcr-agent-guidance',\n pcr, readiness: structuredClone(readiness), source_structured: sourceStructured,\n system_boundary: fields.system_boundary,\n reference_flow: structured.reference_flow_definition ?? {},\n boundary_abstraction: structured.boundary_abstraction ?? {},\n measurement_rules: structured.measurement_rules ?? structured.unit_conventions ?? [],\n process_map: structured.process_map ?? [], process_inventory: structured.process_inventory ?? [],\n production_guidance: {\n collection_protocols: production.collection_protocols ?? [],\n calculation_rules: production.calculation_rules ?? [],\n data_quality_requirements: production.data_quality_requirements ?? [],\n },\n published_dataset_profile: structured.published_dataset_profile ?? {},\n allocation_rules: fields.allocation_rules, data_quality_rules: structured.data_quality_rules ?? [],\n validation_rules: fields.validation_rules, data_sources: structured.data_sources ?? [],\n ...context,\n validation_notes: [\n 'Use this guidance for LCA data authoring, optional TIDAS process authoring, or Agent-led review of existing process/model data. Select requirements for the declared scope.',\n 'Preserve PCR-derived UUID identities exactly. They are version-free suggestions; preserve and verify explicit versions on supplied TIDAS dataset references.',\n 'validate-model checks qualifier text presence; validate-dataset checks collection protocol ID presence. Neither performs TIDAS schema validation or semantic review. Use inspect and review prepare/check to support Agent-led review; a foreground package is optional.',\n 'Read complete normative units together with their ancestor_context. Source association preserves conditions and exceptions without deciding scientific applicability. Stored projection hashes and derived legacy context provenance identify different artifacts.',\n ],\n };\n}\n\n/** Rendering over a core-verified projection; consistency is rechecked, but this\n * formatter does not replace the source reader's schema/hash/regeneration gate. */\nexport function buildGuidanceFromProjection(value: VerifiedPcrProjection): CompleteGuidance;\nexport function buildGuidanceFromProjection(value: VerifiedPcrProjection): unknown {\n const structured = { ...value.structured };\n const fields = normativeFields(structured);\n assertGuidanceContextConsistency(structured, value);\n return composeGuidance({ ...value.pcr }, { ...value.readiness }, structured, fields, value.source_structured, {\n normative_context: value.normative_context,\n normative_context_provenance: value.normative_context_provenance,\n });\n}\n"]}
@@ -0,0 +1,67 @@
1
+ import { isDeepStrictEqual } from 'node:util';
2
+ import { compileNormativeProjection } from './normative-projection.js';
3
+ function record(value) {
4
+ return value !== null && typeof value === 'object' && !Array.isArray(value)
5
+ ? value : null;
6
+ }
7
+ function array(value) {
8
+ return Array.isArray(value) ? value : null;
9
+ }
10
+ /** Verify structural source fidelity, independently of mutable transport hashes.
11
+ * Complete units, headings, exact normalized positions and text, rule identities,
12
+ * pointers, attribution diagnostics and ordered family membership must equal the
13
+ * deterministic compilation of the canonical source. This establishes neither
14
+ * scientific correctness nor methodological approval. External data stays unknown
15
+ * until checked against that regenerated contract; no unchecked deserialization is
16
+ * used to assign it the compiler's types. */
17
+ export function inspectNormativeIntegrity({ sourceMarkdown, structuredProjection }) {
18
+ const issues = [];
19
+ function fail(code, message) { issues.push({ code, message }); }
20
+ function invalid() { return { valid: false, issues }; }
21
+ const structured = record(structuredProjection);
22
+ const context = record(structured?.normative_context);
23
+ if (!structured || !context) {
24
+ fail('normative_context_missing', 'Contract 2 requires a complete normative_context and structured normative arrays.');
25
+ return invalid();
26
+ }
27
+ let regenerated;
28
+ try {
29
+ regenerated = compileNormativeProjection(sourceMarkdown);
30
+ }
31
+ catch (error) {
32
+ fail('normative_source_invalid', error instanceof Error ? error.message : 'Canonical normative source compilation failed.');
33
+ return invalid();
34
+ }
35
+ const expected = regenerated.context;
36
+ if (context.normalization !== expected.normalization) {
37
+ fail('normative_normalization_invalid', 'Normative source normalization must be utf8-lf-v1.');
38
+ }
39
+ if (context.source_sha256 !== expected.source_sha256) {
40
+ fail('normative_source_mismatch', 'Normative source SHA-256 does not match normalized canonical Markdown.');
41
+ }
42
+ if (context.identity_scope !== expected.identity_scope) {
43
+ fail('normative_identity_scope_invalid', 'Normative fallback identities belong to the projection_snapshot.');
44
+ }
45
+ function compareArray(actual, wanted, code, description) {
46
+ const entries = array(actual);
47
+ // Check lengths first: untrusted extra units/bindings can never become a
48
+ // successful result through a subset check or rewritten fingerprints.
49
+ if (!entries || entries.length !== wanted.length || !isDeepStrictEqual(entries, wanted)) {
50
+ fail(code, description);
51
+ }
52
+ }
53
+ compareArray(context.units, expected.units, 'normative_units_invalid', 'Normative units must preserve every complete source section, family, ID, exact text, normalized span and heading scope.');
54
+ compareArray(context.bindings, expected.bindings, 'normative_bindings_invalid', 'Every normative rule requires its exact ordered binding, canonical JSON Pointer, rule ID, identity kind, unit ID and source span.');
55
+ compareArray(context.diagnostics, expected.diagnostics, 'normative_diagnostics_invalid', 'Normative structural uncertainty and unsupported source diagnostics must match canonical source compilation.');
56
+ const boundary = record(structured.system_boundary);
57
+ compareArray(boundary?.rules, regenerated.systemBoundaryRules, 'normative_rules_invalid', 'System-boundary rules must completely match their canonical source and bindings.');
58
+ compareArray(structured.allocation_rules, regenerated.allocationRules, 'normative_rules_invalid', 'Allocation rules must completely match their canonical source and bindings.');
59
+ compareArray(structured.validation_rules, regenerated.validationRules, 'normative_rules_invalid', 'Validation rules must completely match their canonical source and bindings.');
60
+ // Reject undeclared context fields as well; they could otherwise imply a
61
+ // context or applicability claim that the compiler never established.
62
+ if (issues.length === 0 && !isDeepStrictEqual(context, expected)) {
63
+ fail('normative_context_invalid', 'Normative context contains fields absent from the canonical compiler contract.');
64
+ }
65
+ return issues.length === 0 ? { valid: true, issues, verified_context: expected } : invalid();
66
+ }
67
+ //# sourceMappingURL=normative-integrity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"normative-integrity.js","sourceRoot":"pcr://source/","sources":["packages/pcr-core/src/compiler/normative-integrity.ts"],"names":[],"mappings":"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","sourcesContent":["import { isDeepStrictEqual } from 'node:util';\nimport { compileNormativeProjection, type NormativeProjectionContext } from './normative-projection.ts';\n\nexport interface NormativeIntegrityIssue {\n readonly code: string;\n readonly message: string;\n}\nexport type NormativeIntegrityState =\n | { readonly valid: true; readonly issues: readonly NormativeIntegrityIssue[]; readonly verified_context: NormativeProjectionContext }\n | { readonly valid: false; readonly issues: readonly NormativeIntegrityIssue[]; readonly verified_context?: never };\n\nfunction record(value: unknown): Record<string, unknown> | null {\n return value !== null && typeof value === 'object' && !Array.isArray(value)\n ? value as Record<string, unknown> : null;\n}\nfunction array(value: unknown): readonly unknown[] | null {\n return Array.isArray(value) ? value : null;\n}\n\n/** Verify structural source fidelity, independently of mutable transport hashes.\n * Complete units, headings, exact normalized positions and text, rule identities,\n * pointers, attribution diagnostics and ordered family membership must equal the\n * deterministic compilation of the canonical source. This establishes neither\n * scientific correctness nor methodological approval. External data stays unknown\n * until checked against that regenerated contract; no unchecked deserialization is\n * used to assign it the compiler's types. */\nexport function inspectNormativeIntegrity({ sourceMarkdown, structuredProjection }: {\n readonly sourceMarkdown: string;\n readonly structuredProjection: unknown;\n}): NormativeIntegrityState {\n const issues: NormativeIntegrityIssue[] = [];\n function fail(code: string, message: string): void { issues.push({ code, message }); }\n function invalid(): NormativeIntegrityState { return { valid: false, issues }; }\n const structured = record(structuredProjection);\n const context = record(structured?.normative_context);\n if (!structured || !context) {\n fail('normative_context_missing', 'Contract 2 requires a complete normative_context and structured normative arrays.');\n return invalid();\n }\n let regenerated: ReturnType<typeof compileNormativeProjection>;\n try {\n regenerated = compileNormativeProjection(sourceMarkdown);\n } catch (error: unknown) {\n fail('normative_source_invalid', error instanceof Error ? error.message : 'Canonical normative source compilation failed.');\n return invalid();\n }\n const expected = regenerated.context;\n if (context.normalization !== expected.normalization) {\n fail('normative_normalization_invalid', 'Normative source normalization must be utf8-lf-v1.');\n }\n if (context.source_sha256 !== expected.source_sha256) {\n fail('normative_source_mismatch', 'Normative source SHA-256 does not match normalized canonical Markdown.');\n }\n if (context.identity_scope !== expected.identity_scope) {\n fail('normative_identity_scope_invalid', 'Normative fallback identities belong to the projection_snapshot.');\n }\n function compareArray(actual: unknown, wanted: readonly unknown[], code: string, description: string): void {\n const entries = array(actual);\n // Check lengths first: untrusted extra units/bindings can never become a\n // successful result through a subset check or rewritten fingerprints.\n if (!entries || entries.length !== wanted.length || !isDeepStrictEqual(entries, wanted)) {\n fail(code, description);\n }\n }\n compareArray(context.units, expected.units, 'normative_units_invalid',\n 'Normative units must preserve every complete source section, family, ID, exact text, normalized span and heading scope.');\n compareArray(context.bindings, expected.bindings, 'normative_bindings_invalid',\n 'Every normative rule requires its exact ordered binding, canonical JSON Pointer, rule ID, identity kind, unit ID and source span.');\n compareArray(context.diagnostics, expected.diagnostics, 'normative_diagnostics_invalid',\n 'Normative structural uncertainty and unsupported source diagnostics must match canonical source compilation.');\n const boundary = record(structured.system_boundary);\n compareArray(boundary?.rules, regenerated.systemBoundaryRules, 'normative_rules_invalid',\n 'System-boundary rules must completely match their canonical source and bindings.');\n compareArray(structured.allocation_rules, regenerated.allocationRules, 'normative_rules_invalid',\n 'Allocation rules must completely match their canonical source and bindings.');\n compareArray(structured.validation_rules, regenerated.validationRules, 'normative_rules_invalid',\n 'Validation rules must completely match their canonical source and bindings.');\n // Reject undeclared context fields as well; they could otherwise imply a\n // context or applicability claim that the compiler never established.\n if (issues.length === 0 && !isDeepStrictEqual(context, expected)) {\n fail('normative_context_invalid', 'Normative context contains fields absent from the canonical compiler contract.');\n }\n return issues.length === 0 ? { valid: true, issues, verified_context: expected } : invalid();\n}\n"]}