@tiangong-lca/pcr 0.3.1 → 0.4.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +8 -4
- package/node_modules/@types/debug/LICENSE +21 -0
- package/node_modules/@types/debug/README.md +69 -0
- package/node_modules/@types/debug/index.d.ts +50 -0
- package/node_modules/@types/debug/package.json +58 -0
- package/node_modules/@types/mdast/LICENSE +21 -0
- package/node_modules/@types/mdast/README.md +15 -0
- package/node_modules/@types/mdast/index.d.ts +1123 -0
- package/node_modules/@types/mdast/package.json +47 -0
- package/node_modules/@types/ms/LICENSE +21 -0
- package/node_modules/@types/ms/README.md +82 -0
- package/node_modules/@types/ms/index.d.ts +63 -0
- package/node_modules/@types/ms/package.json +26 -0
- package/node_modules/@types/unist/LICENSE +21 -0
- package/node_modules/@types/unist/README.md +15 -0
- package/node_modules/@types/unist/index.d.ts +119 -0
- package/node_modules/@types/unist/package.json +60 -0
- package/node_modules/bail/index.d.ts +10 -0
- package/node_modules/bail/index.js +12 -0
- package/node_modules/bail/license +22 -0
- package/node_modules/bail/package.json +73 -0
- package/node_modules/bail/readme.md +147 -0
- package/node_modules/ccount/index.d.ts +11 -0
- package/node_modules/ccount/index.js +27 -0
- package/node_modules/ccount/license +22 -0
- package/node_modules/ccount/package.json +71 -0
- package/node_modules/ccount/readme.md +149 -0
- package/node_modules/character-entities/index.d.ts +6 -0
- package/node_modules/character-entities/index.js +2132 -0
- package/node_modules/character-entities/license +22 -0
- package/node_modules/character-entities/package.json +78 -0
- package/node_modules/character-entities/readme.md +152 -0
- package/node_modules/debug/LICENSE +20 -0
- package/node_modules/debug/README.md +481 -0
- package/node_modules/debug/package.json +64 -0
- package/node_modules/debug/src/browser.js +272 -0
- package/node_modules/debug/src/common.js +292 -0
- package/node_modules/debug/src/index.js +10 -0
- package/node_modules/debug/src/node.js +263 -0
- package/node_modules/decode-named-character-reference/index.d.ts +13 -0
- package/node_modules/decode-named-character-reference/index.d.ts.map +1 -0
- package/node_modules/decode-named-character-reference/index.dom.d.ts +6 -0
- package/node_modules/decode-named-character-reference/index.dom.d.ts.map +1 -0
- package/node_modules/decode-named-character-reference/index.dom.js +32 -0
- package/node_modules/decode-named-character-reference/index.js +19 -0
- package/node_modules/decode-named-character-reference/license +22 -0
- package/node_modules/decode-named-character-reference/package.json +90 -0
- package/node_modules/decode-named-character-reference/readme.md +136 -0
- package/node_modules/dequal/dist/index.js +86 -0
- package/node_modules/dequal/dist/index.min.js +1 -0
- package/node_modules/dequal/dist/index.mjs +84 -0
- package/node_modules/dequal/index.d.ts +1 -0
- package/node_modules/dequal/license +21 -0
- package/node_modules/dequal/lite/index.d.ts +1 -0
- package/node_modules/dequal/lite/index.js +31 -0
- package/node_modules/dequal/lite/index.min.js +1 -0
- package/node_modules/dequal/lite/index.mjs +29 -0
- package/node_modules/dequal/package.json +57 -0
- package/node_modules/dequal/readme.md +112 -0
- package/node_modules/devlop/lib/default.js +9 -0
- package/node_modules/devlop/lib/development.d.ts +84 -0
- package/node_modules/devlop/lib/development.js +238 -0
- package/node_modules/devlop/license +22 -0
- package/node_modules/devlop/package.json +80 -0
- package/node_modules/devlop/readme.md +360 -0
- package/node_modules/escape-string-regexp/index.d.ts +16 -0
- package/node_modules/escape-string-regexp/index.js +11 -0
- package/node_modules/escape-string-regexp/license +9 -0
- package/node_modules/escape-string-regexp/package.json +40 -0
- package/node_modules/escape-string-regexp/readme.md +34 -0
- package/node_modules/extend/.editorconfig +20 -0
- package/node_modules/extend/.eslintrc +17 -0
- package/node_modules/extend/.jscs.json +175 -0
- package/node_modules/extend/.travis.yml +230 -0
- package/node_modules/extend/CHANGELOG.md +83 -0
- package/node_modules/extend/LICENSE +23 -0
- package/node_modules/extend/README.md +81 -0
- package/node_modules/extend/component.json +32 -0
- package/node_modules/extend/index.js +117 -0
- package/node_modules/extend/package.json +42 -0
- package/node_modules/is-plain-obj/index.d.ts +35 -0
- package/node_modules/is-plain-obj/index.js +8 -0
- package/node_modules/is-plain-obj/license +9 -0
- package/node_modules/is-plain-obj/package.json +41 -0
- package/node_modules/is-plain-obj/readme.md +58 -0
- package/node_modules/longest-streak/index.d.ts +11 -0
- package/node_modules/longest-streak/index.js +36 -0
- package/node_modules/longest-streak/license +22 -0
- package/node_modules/longest-streak/package.json +73 -0
- package/node_modules/longest-streak/readme.md +150 -0
- package/node_modules/markdown-table/index.d.ts +171 -0
- package/node_modules/markdown-table/index.d.ts.map +1 -0
- package/node_modules/markdown-table/index.js +393 -0
- package/node_modules/markdown-table/license +22 -0
- package/node_modules/markdown-table/package.json +77 -0
- package/node_modules/markdown-table/readme.md +344 -0
- package/node_modules/mdast-util-find-and-replace/index.d.ts +9 -0
- package/node_modules/mdast-util-find-and-replace/index.d.ts.map +1 -0
- package/node_modules/mdast-util-find-and-replace/index.js +11 -0
- package/node_modules/mdast-util-find-and-replace/lib/index.d.ts +79 -0
- package/node_modules/mdast-util-find-and-replace/lib/index.d.ts.map +1 -0
- package/node_modules/mdast-util-find-and-replace/lib/index.js +261 -0
- package/node_modules/mdast-util-find-and-replace/license +22 -0
- package/node_modules/mdast-util-find-and-replace/package.json +85 -0
- package/node_modules/mdast-util-find-and-replace/readme.md +368 -0
- package/node_modules/mdast-util-from-markdown/dev/index.d.ts +23 -0
- package/node_modules/mdast-util-from-markdown/dev/index.js +2 -0
- package/node_modules/mdast-util-from-markdown/dev/lib/index.d.ts +53 -0
- package/node_modules/mdast-util-from-markdown/dev/lib/index.d.ts.map +1 -0
- package/node_modules/mdast-util-from-markdown/dev/lib/index.js +1348 -0
- package/node_modules/mdast-util-from-markdown/dev/lib/types.d.ts +295 -0
- package/node_modules/mdast-util-from-markdown/dev/lib/types.js +2 -0
- package/node_modules/mdast-util-from-markdown/index.d.ts +23 -0
- package/node_modules/mdast-util-from-markdown/index.js +2 -0
- package/node_modules/mdast-util-from-markdown/lib/index.d.ts +53 -0
- package/node_modules/mdast-util-from-markdown/lib/index.d.ts.map +1 -0
- package/node_modules/mdast-util-from-markdown/lib/index.js +1177 -0
- package/node_modules/mdast-util-from-markdown/lib/types.d.ts +295 -0
- package/node_modules/mdast-util-from-markdown/lib/types.js +2 -0
- package/node_modules/mdast-util-from-markdown/license +22 -0
- package/node_modules/mdast-util-from-markdown/package.json +99 -0
- package/node_modules/mdast-util-from-markdown/readme.md +535 -0
- package/node_modules/mdast-util-gfm/index.d.ts +12 -0
- package/node_modules/mdast-util-gfm/index.js +2 -0
- package/node_modules/mdast-util-gfm/lib/index.d.ts +24 -0
- package/node_modules/mdast-util-gfm/lib/index.d.ts.map +1 -0
- package/node_modules/mdast-util-gfm/lib/index.js +63 -0
- package/node_modules/mdast-util-gfm/license +22 -0
- package/node_modules/mdast-util-gfm/package.json +125 -0
- package/node_modules/mdast-util-gfm/readme.md +497 -0
- package/node_modules/mdast-util-gfm-autolink-literal/index.d.ts +1 -0
- package/node_modules/mdast-util-gfm-autolink-literal/index.js +4 -0
- package/node_modules/mdast-util-gfm-autolink-literal/lib/index.d.ts +18 -0
- package/node_modules/mdast-util-gfm-autolink-literal/lib/index.js +280 -0
- package/node_modules/mdast-util-gfm-autolink-literal/license +22 -0
- package/node_modules/mdast-util-gfm-autolink-literal/package.json +106 -0
- package/node_modules/mdast-util-gfm-autolink-literal/readme.md +334 -0
- package/node_modules/mdast-util-gfm-footnote/index.d.ts +34 -0
- package/node_modules/mdast-util-gfm-footnote/index.js +2 -0
- package/node_modules/mdast-util-gfm-footnote/lib/index.d.ts +22 -0
- package/node_modules/mdast-util-gfm-footnote/lib/index.d.ts.map +1 -0
- package/node_modules/mdast-util-gfm-footnote/lib/index.js +212 -0
- package/node_modules/mdast-util-gfm-footnote/license +22 -0
- package/node_modules/mdast-util-gfm-footnote/package.json +111 -0
- package/node_modules/mdast-util-gfm-footnote/readme.md +494 -0
- package/node_modules/mdast-util-gfm-strikethrough/index.d.ts +19 -0
- package/node_modules/mdast-util-gfm-strikethrough/index.js +5 -0
- package/node_modules/mdast-util-gfm-strikethrough/lib/index.d.ts +19 -0
- package/node_modules/mdast-util-gfm-strikethrough/lib/index.d.ts.map +1 -0
- package/node_modules/mdast-util-gfm-strikethrough/lib/index.js +133 -0
- package/node_modules/mdast-util-gfm-strikethrough/license +22 -0
- package/node_modules/mdast-util-gfm-strikethrough/package.json +84 -0
- package/node_modules/mdast-util-gfm-strikethrough/readme.md +350 -0
- package/node_modules/mdast-util-gfm-table/index.d.ts +54 -0
- package/node_modules/mdast-util-gfm-table/index.js +2 -0
- package/node_modules/mdast-util-gfm-table/lib/index.d.ts +51 -0
- package/node_modules/mdast-util-gfm-table/lib/index.js +300 -0
- package/node_modules/mdast-util-gfm-table/license +22 -0
- package/node_modules/mdast-util-gfm-table/package.json +101 -0
- package/node_modules/mdast-util-gfm-table/readme.md +605 -0
- package/node_modules/mdast-util-gfm-task-list-item/index.d.ts +4 -0
- package/node_modules/mdast-util-gfm-task-list-item/index.js +4 -0
- package/node_modules/mdast-util-gfm-task-list-item/lib/index.d.ts +23 -0
- package/node_modules/mdast-util-gfm-task-list-item/lib/index.js +141 -0
- package/node_modules/mdast-util-gfm-task-list-item/license +22 -0
- package/node_modules/mdast-util-gfm-task-list-item/package.json +90 -0
- package/node_modules/mdast-util-gfm-task-list-item/readme.md +366 -0
- package/node_modules/mdast-util-phrasing/index.d.ts +1 -0
- package/node_modules/mdast-util-phrasing/index.js +1 -0
- package/node_modules/mdast-util-phrasing/lib/index.d.ts +3 -0
- package/node_modules/mdast-util-phrasing/lib/index.js +45 -0
- package/node_modules/mdast-util-phrasing/license +23 -0
- package/node_modules/mdast-util-phrasing/package.json +78 -0
- package/node_modules/mdast-util-phrasing/readme.md +200 -0
- package/node_modules/mdast-util-to-markdown/index.d.ts +18 -0
- package/node_modules/mdast-util-to-markdown/index.js +3 -0
- package/node_modules/mdast-util-to-markdown/lib/configure.d.ts +14 -0
- package/node_modules/mdast-util-to-markdown/lib/configure.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/configure.js +98 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/blockquote.d.ts +24 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/blockquote.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/blockquote.js +40 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/break.d.ts +20 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/break.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/break.js +41 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/code.d.ts +20 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/code.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/code.js +86 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/definition.d.ts +20 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/definition.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/definition.js +83 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/emphasis.d.ts +52 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/emphasis.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/emphasis.js +67 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/heading.d.ts +20 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/heading.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/heading.js +84 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/html.d.ts +22 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/html.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/html.js +27 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/image-reference.d.ts +31 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/image-reference.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/image-reference.js +78 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/image.d.ts +31 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/image.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/image.js +92 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/index.d.ts +42 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/index.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/index.js +45 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/inline-code.d.ts +28 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/inline-code.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/inline-code.js +86 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/link-reference.d.ts +31 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/link-reference.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/link-reference.js +78 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/link.d.ts +37 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/link.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/link.js +129 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/list-item.d.ts +20 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/list-item.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/list-item.js +73 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/list.d.ts +20 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/list.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/list.js +107 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/paragraph.d.ts +24 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/paragraph.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/paragraph.js +27 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/root.d.ts +20 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/root.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/root.js +34 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/strong.d.ts +52 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/strong.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/strong.js +67 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/text.d.ts +24 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/text.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/text.js +22 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/thematic-break.d.ts +17 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/thematic-break.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/handle/thematic-break.js +27 -0
- package/node_modules/mdast-util-to-markdown/lib/index.d.ts +14 -0
- package/node_modules/mdast-util-to-markdown/lib/index.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/index.js +213 -0
- package/node_modules/mdast-util-to-markdown/lib/join.d.ts +4 -0
- package/node_modules/mdast-util-to-markdown/lib/join.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/join.js +56 -0
- package/node_modules/mdast-util-to-markdown/lib/types.d.ts +985 -0
- package/node_modules/mdast-util-to-markdown/lib/types.js +2 -0
- package/node_modules/mdast-util-to-markdown/lib/unsafe.d.ts +4 -0
- package/node_modules/mdast-util-to-markdown/lib/unsafe.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/unsafe.js +160 -0
- package/node_modules/mdast-util-to-markdown/lib/util/association.d.ts +2 -0
- package/node_modules/mdast-util-to-markdown/lib/util/association.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/util/association.js +33 -0
- package/node_modules/mdast-util-to-markdown/lib/util/character.d.ts +23 -0
- package/node_modules/mdast-util-to-markdown/lib/util/character.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/util/character.js +32 -0
- package/node_modules/mdast-util-to-markdown/lib/util/check-bullet-ordered.d.ts +15 -0
- package/node_modules/mdast-util-to-markdown/lib/util/check-bullet-ordered.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/util/check-bullet-ordered.js +25 -0
- package/node_modules/mdast-util-to-markdown/lib/util/check-bullet-other.d.ts +12 -0
- package/node_modules/mdast-util-to-markdown/lib/util/check-bullet-other.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/util/check-bullet-other.js +42 -0
- package/node_modules/mdast-util-to-markdown/lib/util/check-bullet.d.ts +15 -0
- package/node_modules/mdast-util-to-markdown/lib/util/check-bullet.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/util/check-bullet.js +25 -0
- package/node_modules/mdast-util-to-markdown/lib/util/check-emphasis.d.ts +15 -0
- package/node_modules/mdast-util-to-markdown/lib/util/check-emphasis.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/util/check-emphasis.js +25 -0
- package/node_modules/mdast-util-to-markdown/lib/util/check-fence.d.ts +15 -0
- package/node_modules/mdast-util-to-markdown/lib/util/check-fence.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/util/check-fence.js +25 -0
- package/node_modules/mdast-util-to-markdown/lib/util/check-list-item-indent.d.ts +15 -0
- package/node_modules/mdast-util-to-markdown/lib/util/check-list-item-indent.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/util/check-list-item-indent.js +25 -0
- package/node_modules/mdast-util-to-markdown/lib/util/check-quote.d.ts +15 -0
- package/node_modules/mdast-util-to-markdown/lib/util/check-quote.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/util/check-quote.js +25 -0
- package/node_modules/mdast-util-to-markdown/lib/util/check-rule-repetition.d.ts +15 -0
- package/node_modules/mdast-util-to-markdown/lib/util/check-rule-repetition.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/util/check-rule-repetition.js +25 -0
- package/node_modules/mdast-util-to-markdown/lib/util/check-rule.d.ts +15 -0
- package/node_modules/mdast-util-to-markdown/lib/util/check-rule.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/util/check-rule.js +25 -0
- package/node_modules/mdast-util-to-markdown/lib/util/check-strong.d.ts +15 -0
- package/node_modules/mdast-util-to-markdown/lib/util/check-strong.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/util/check-strong.js +25 -0
- package/node_modules/mdast-util-to-markdown/lib/util/compile-pattern.d.ts +2 -0
- package/node_modules/mdast-util-to-markdown/lib/util/compile-pattern.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/util/compile-pattern.js +26 -0
- package/node_modules/mdast-util-to-markdown/lib/util/container-flow.d.ts +21 -0
- package/node_modules/mdast-util-to-markdown/lib/util/container-flow.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/util/container-flow.js +93 -0
- package/node_modules/mdast-util-to-markdown/lib/util/container-phrasing.d.ts +110 -0
- package/node_modules/mdast-util-to-markdown/lib/util/container-phrasing.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/util/container-phrasing.js +704 -0
- package/node_modules/mdast-util-to-markdown/lib/util/encode-character-reference.d.ts +10 -0
- package/node_modules/mdast-util-to-markdown/lib/util/encode-character-reference.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/util/encode-character-reference.js +11 -0
- package/node_modules/mdast-util-to-markdown/lib/util/encode-info.d.ts +33 -0
- package/node_modules/mdast-util-to-markdown/lib/util/encode-info.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/util/encode-info.js +82 -0
- package/node_modules/mdast-util-to-markdown/lib/util/format-code-as-indented.d.ts +18 -0
- package/node_modules/mdast-util-to-markdown/lib/util/format-code-as-indented.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/util/format-code-as-indented.js +27 -0
- package/node_modules/mdast-util-to-markdown/lib/util/format-heading-as-setext.d.ts +14 -0
- package/node_modules/mdast-util-to-markdown/lib/util/format-heading-as-setext.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/util/format-heading-as-setext.js +39 -0
- package/node_modules/mdast-util-to-markdown/lib/util/format-link-as-autolink.d.ts +14 -0
- package/node_modules/mdast-util-to-markdown/lib/util/format-link-as-autolink.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/util/format-link-as-autolink.js +39 -0
- package/node_modules/mdast-util-to-markdown/lib/util/html-kind.d.ts +31 -0
- package/node_modules/mdast-util-to-markdown/lib/util/html-kind.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/util/html-kind.js +63 -0
- package/node_modules/mdast-util-to-markdown/lib/util/indent-lines.d.ts +2 -0
- package/node_modules/mdast-util-to-markdown/lib/util/indent-lines.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/util/indent-lines.js +40 -0
- package/node_modules/mdast-util-to-markdown/lib/util/pattern-in-scope.d.ts +17 -0
- package/node_modules/mdast-util-to-markdown/lib/util/pattern-in-scope.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/util/pattern-in-scope.js +52 -0
- package/node_modules/mdast-util-to-markdown/lib/util/safe.d.ts +29 -0
- package/node_modules/mdast-util-to-markdown/lib/util/safe.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/util/safe.js +238 -0
- package/node_modules/mdast-util-to-markdown/lib/util/track.d.ts +2 -0
- package/node_modules/mdast-util-to-markdown/lib/util/track.d.ts.map +1 -0
- package/node_modules/mdast-util-to-markdown/lib/util/track.js +55 -0
- package/node_modules/mdast-util-to-markdown/license +22 -0
- package/node_modules/mdast-util-to-markdown/package.json +88 -0
- package/node_modules/mdast-util-to-markdown/readme.md +805 -0
- package/node_modules/mdast-util-to-string/index.d.ts +2 -0
- package/node_modules/mdast-util-to-string/index.js +5 -0
- package/node_modules/mdast-util-to-string/lib/index.d.ts +31 -0
- package/node_modules/mdast-util-to-string/lib/index.js +108 -0
- package/node_modules/mdast-util-to-string/license +22 -0
- package/node_modules/mdast-util-to-string/package.json +78 -0
- package/node_modules/mdast-util-to-string/readme.md +218 -0
- package/node_modules/micromark/dev/index.d.ts +82 -0
- package/node_modules/micromark/dev/index.d.ts.map +1 -0
- package/node_modules/micromark/dev/index.js +68 -0
- package/node_modules/micromark/dev/lib/compile.d.ts +16 -0
- package/node_modules/micromark/dev/lib/compile.d.ts.map +1 -0
- package/node_modules/micromark/dev/lib/compile.js +1162 -0
- package/node_modules/micromark/dev/lib/constructs.d.ts +73 -0
- package/node_modules/micromark/dev/lib/constructs.d.ts.map +1 -0
- package/node_modules/micromark/dev/lib/constructs.js +101 -0
- package/node_modules/micromark/dev/lib/create-tokenizer.d.ts +46 -0
- package/node_modules/micromark/dev/lib/create-tokenizer.d.ts.map +1 -0
- package/node_modules/micromark/dev/lib/create-tokenizer.js +718 -0
- package/node_modules/micromark/dev/lib/initialize/content.d.ts +4 -0
- package/node_modules/micromark/dev/lib/initialize/content.d.ts.map +1 -0
- package/node_modules/micromark/dev/lib/initialize/content.js +99 -0
- package/node_modules/micromark/dev/lib/initialize/document.d.ts +10 -0
- package/node_modules/micromark/dev/lib/initialize/document.d.ts.map +1 -0
- package/node_modules/micromark/dev/lib/initialize/document.js +449 -0
- package/node_modules/micromark/dev/lib/initialize/flow.d.ts +4 -0
- package/node_modules/micromark/dev/lib/initialize/flow.d.ts.map +1 -0
- package/node_modules/micromark/dev/lib/initialize/flow.js +86 -0
- package/node_modules/micromark/dev/lib/initialize/text.d.ts +8 -0
- package/node_modules/micromark/dev/lib/initialize/text.d.ts.map +1 -0
- package/node_modules/micromark/dev/lib/initialize/text.js +248 -0
- package/node_modules/micromark/dev/lib/parse.d.ts +10 -0
- package/node_modules/micromark/dev/lib/parse.d.ts.map +1 -0
- package/node_modules/micromark/dev/lib/parse.js +58 -0
- package/node_modules/micromark/dev/lib/postprocess.d.ts +9 -0
- package/node_modules/micromark/dev/lib/postprocess.d.ts.map +1 -0
- package/node_modules/micromark/dev/lib/postprocess.js +19 -0
- package/node_modules/micromark/dev/lib/preprocess.d.ts +13 -0
- package/node_modules/micromark/dev/lib/preprocess.d.ts.map +1 -0
- package/node_modules/micromark/dev/lib/preprocess.js +139 -0
- package/node_modules/micromark/dev/stream.d.ts +35 -0
- package/node_modules/micromark/dev/stream.d.ts.map +1 -0
- package/node_modules/micromark/dev/stream.js +270 -0
- package/node_modules/micromark/index.d.ts +82 -0
- package/node_modules/micromark/index.d.ts.map +1 -0
- package/node_modules/micromark/index.js +60 -0
- package/node_modules/micromark/lib/compile.d.ts +16 -0
- package/node_modules/micromark/lib/compile.d.ts.map +1 -0
- package/node_modules/micromark/lib/compile.js +1068 -0
- package/node_modules/micromark/lib/constructs.d.ts +73 -0
- package/node_modules/micromark/lib/constructs.d.ts.map +1 -0
- package/node_modules/micromark/lib/constructs.js +85 -0
- package/node_modules/micromark/lib/create-tokenizer.d.ts +46 -0
- package/node_modules/micromark/lib/create-tokenizer.d.ts.map +1 -0
- package/node_modules/micromark/lib/create-tokenizer.js +613 -0
- package/node_modules/micromark/lib/initialize/content.d.ts +4 -0
- package/node_modules/micromark/lib/initialize/content.d.ts.map +1 -0
- package/node_modules/micromark/lib/initialize/content.js +79 -0
- package/node_modules/micromark/lib/initialize/document.d.ts +10 -0
- package/node_modules/micromark/lib/initialize/document.d.ts.map +1 -0
- package/node_modules/micromark/lib/initialize/document.js +370 -0
- package/node_modules/micromark/lib/initialize/flow.d.ts +4 -0
- package/node_modules/micromark/lib/initialize/flow.d.ts.map +1 -0
- package/node_modules/micromark/lib/initialize/flow.js +58 -0
- package/node_modules/micromark/lib/initialize/text.d.ts +8 -0
- package/node_modules/micromark/lib/initialize/text.d.ts.map +1 -0
- package/node_modules/micromark/lib/initialize/text.js +216 -0
- package/node_modules/micromark/lib/parse.d.ts +10 -0
- package/node_modules/micromark/lib/parse.d.ts.map +1 -0
- package/node_modules/micromark/lib/parse.js +56 -0
- package/node_modules/micromark/lib/postprocess.d.ts +9 -0
- package/node_modules/micromark/lib/postprocess.d.ts.map +1 -0
- package/node_modules/micromark/lib/postprocess.js +18 -0
- package/node_modules/micromark/lib/preprocess.d.ts +13 -0
- package/node_modules/micromark/lib/preprocess.d.ts.map +1 -0
- package/node_modules/micromark/lib/preprocess.js +112 -0
- package/node_modules/micromark/license +22 -0
- package/node_modules/micromark/package.json +87 -0
- package/node_modules/micromark/readme.md +488 -0
- package/node_modules/micromark/stream.d.ts +35 -0
- package/node_modules/micromark/stream.d.ts.map +1 -0
- package/node_modules/micromark/stream.js +256 -0
- package/node_modules/micromark-core-commonmark/dev/index.d.ts +23 -0
- package/node_modules/micromark-core-commonmark/dev/index.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/dev/index.js +22 -0
- package/node_modules/micromark-core-commonmark/dev/lib/attention.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/dev/lib/attention.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/dev/lib/attention.js +294 -0
- package/node_modules/micromark-core-commonmark/dev/lib/autolink.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/dev/lib/autolink.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/dev/lib/autolink.js +269 -0
- package/node_modules/micromark-core-commonmark/dev/lib/blank-line.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/dev/lib/blank-line.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/dev/lib/blank-line.js +62 -0
- package/node_modules/micromark-core-commonmark/dev/lib/block-quote.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/dev/lib/block-quote.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/dev/lib/block-quote.js +162 -0
- package/node_modules/micromark-core-commonmark/dev/lib/character-escape.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/dev/lib/character-escape.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/dev/lib/character-escape.js +69 -0
- package/node_modules/micromark-core-commonmark/dev/lib/character-reference.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/dev/lib/character-reference.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/dev/lib/character-reference.js +166 -0
- package/node_modules/micromark-core-commonmark/dev/lib/code-fenced.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/dev/lib/code-fenced.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/dev/lib/code-fenced.js +472 -0
- package/node_modules/micromark-core-commonmark/dev/lib/code-indented.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/dev/lib/code-indented.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/dev/lib/code-indented.js +178 -0
- package/node_modules/micromark-core-commonmark/dev/lib/code-text.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/dev/lib/code-text.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/dev/lib/code-text.js +257 -0
- package/node_modules/micromark-core-commonmark/dev/lib/content.d.ts +7 -0
- package/node_modules/micromark-core-commonmark/dev/lib/content.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/dev/lib/content.js +185 -0
- package/node_modules/micromark-core-commonmark/dev/lib/definition.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/dev/lib/definition.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/dev/lib/definition.js +295 -0
- package/node_modules/micromark-core-commonmark/dev/lib/hard-break-escape.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/dev/lib/hard-break-escape.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/dev/lib/hard-break-escape.js +65 -0
- package/node_modules/micromark-core-commonmark/dev/lib/heading-atx.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/dev/lib/heading-atx.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/dev/lib/heading-atx.js +229 -0
- package/node_modules/micromark-core-commonmark/dev/lib/html-flow.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/dev/lib/html-flow.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/dev/lib/html-flow.js +938 -0
- package/node_modules/micromark-core-commonmark/dev/lib/html-text.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/dev/lib/html-text.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/dev/lib/html-text.js +783 -0
- package/node_modules/micromark-core-commonmark/dev/lib/label-end.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/dev/lib/label-end.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/dev/lib/label-end.js +658 -0
- package/node_modules/micromark-core-commonmark/dev/lib/label-start-image.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/dev/lib/label-start-image.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/dev/lib/label-start-image.js +119 -0
- package/node_modules/micromark-core-commonmark/dev/lib/label-start-link.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/dev/lib/label-start-link.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/dev/lib/label-start-link.js +71 -0
- package/node_modules/micromark-core-commonmark/dev/lib/line-ending.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/dev/lib/line-ending.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/dev/lib/line-ending.js +34 -0
- package/node_modules/micromark-core-commonmark/dev/lib/list.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/dev/lib/list.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/dev/lib/list.js +306 -0
- package/node_modules/micromark-core-commonmark/dev/lib/partial-non-lazy-continuation.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/dev/lib/partial-non-lazy-continuation.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/dev/lib/partial-non-lazy-continuation.js +67 -0
- package/node_modules/micromark-core-commonmark/dev/lib/setext-underline.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/dev/lib/setext-underline.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/dev/lib/setext-underline.js +213 -0
- package/node_modules/micromark-core-commonmark/dev/lib/thematic-break.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/dev/lib/thematic-break.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/dev/lib/thematic-break.js +120 -0
- package/node_modules/micromark-core-commonmark/index.d.ts +23 -0
- package/node_modules/micromark-core-commonmark/index.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/index.js +22 -0
- package/node_modules/micromark-core-commonmark/lib/attention.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/lib/attention.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/lib/attention.js +231 -0
- package/node_modules/micromark-core-commonmark/lib/autolink.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/lib/autolink.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/lib/autolink.js +233 -0
- package/node_modules/micromark-core-commonmark/lib/blank-line.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/lib/blank-line.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/lib/blank-line.js +61 -0
- package/node_modules/micromark-core-commonmark/lib/block-quote.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/lib/block-quote.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/lib/block-quote.js +143 -0
- package/node_modules/micromark-core-commonmark/lib/character-escape.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/lib/character-escape.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/lib/character-escape.js +64 -0
- package/node_modules/micromark-core-commonmark/lib/character-reference.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/lib/character-reference.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/lib/character-reference.js +149 -0
- package/node_modules/micromark-core-commonmark/lib/code-fenced.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/lib/code-fenced.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/lib/code-fenced.js +422 -0
- package/node_modules/micromark-core-commonmark/lib/code-indented.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/lib/code-indented.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/lib/code-indented.js +159 -0
- package/node_modules/micromark-core-commonmark/lib/code-text.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/lib/code-text.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/lib/code-text.js +225 -0
- package/node_modules/micromark-core-commonmark/lib/content.d.ts +7 -0
- package/node_modules/micromark-core-commonmark/lib/content.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/lib/content.js +163 -0
- package/node_modules/micromark-core-commonmark/lib/definition.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/lib/definition.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/lib/definition.js +254 -0
- package/node_modules/micromark-core-commonmark/lib/hard-break-escape.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/lib/hard-break-escape.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/lib/hard-break-escape.js +60 -0
- package/node_modules/micromark-core-commonmark/lib/heading-atx.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/lib/heading-atx.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/lib/heading-atx.js +191 -0
- package/node_modules/micromark-core-commonmark/lib/html-flow.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/lib/html-flow.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/lib/html-flow.js +827 -0
- package/node_modules/micromark-core-commonmark/lib/html-text.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/lib/html-text.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/lib/html-text.js +678 -0
- package/node_modules/micromark-core-commonmark/lib/label-end.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/lib/label-end.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/lib/label-end.js +561 -0
- package/node_modules/micromark-core-commonmark/lib/label-start-image.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/lib/label-start-image.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/lib/label-start-image.js +110 -0
- package/node_modules/micromark-core-commonmark/lib/label-start-link.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/lib/label-start-link.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/lib/label-start-link.js +63 -0
- package/node_modules/micromark-core-commonmark/lib/line-ending.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/lib/line-ending.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/lib/line-ending.js +33 -0
- package/node_modules/micromark-core-commonmark/lib/list.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/lib/list.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/lib/list.js +213 -0
- package/node_modules/micromark-core-commonmark/lib/partial-non-lazy-continuation.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/lib/partial-non-lazy-continuation.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/lib/partial-non-lazy-continuation.js +61 -0
- package/node_modules/micromark-core-commonmark/lib/setext-underline.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/lib/setext-underline.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/lib/setext-underline.js +187 -0
- package/node_modules/micromark-core-commonmark/lib/thematic-break.d.ts +4 -0
- package/node_modules/micromark-core-commonmark/lib/thematic-break.d.ts.map +1 -0
- package/node_modules/micromark-core-commonmark/lib/thematic-break.js +102 -0
- package/node_modules/micromark-core-commonmark/license +22 -0
- package/node_modules/micromark-core-commonmark/package.json +62 -0
- package/node_modules/micromark-core-commonmark/readme.md +171 -0
- package/node_modules/micromark-extension-gfm/index.d.ts +28 -0
- package/node_modules/micromark-extension-gfm/index.js +69 -0
- package/node_modules/micromark-extension-gfm/license +22 -0
- package/node_modules/micromark-extension-gfm/package.json +107 -0
- package/node_modules/micromark-extension-gfm/readme.md +433 -0
- package/node_modules/micromark-extension-gfm-autolink-literal/dev/index.d.ts +24 -0
- package/node_modules/micromark-extension-gfm-autolink-literal/dev/index.js +2 -0
- package/node_modules/micromark-extension-gfm-autolink-literal/dev/lib/html.d.ts +10 -0
- package/node_modules/micromark-extension-gfm-autolink-literal/dev/lib/html.js +56 -0
- package/node_modules/micromark-extension-gfm-autolink-literal/dev/lib/syntax.d.ts +10 -0
- package/node_modules/micromark-extension-gfm-autolink-literal/dev/lib/syntax.js +983 -0
- package/node_modules/micromark-extension-gfm-autolink-literal/index.d.ts +24 -0
- package/node_modules/micromark-extension-gfm-autolink-literal/index.js +2 -0
- package/node_modules/micromark-extension-gfm-autolink-literal/lib/html.d.ts +10 -0
- package/node_modules/micromark-extension-gfm-autolink-literal/lib/html.js +60 -0
- package/node_modules/micromark-extension-gfm-autolink-literal/lib/syntax.d.ts +10 -0
- package/node_modules/micromark-extension-gfm-autolink-literal/lib/syntax.js +854 -0
- package/node_modules/micromark-extension-gfm-autolink-literal/license +22 -0
- package/node_modules/micromark-extension-gfm-autolink-literal/package.json +116 -0
- package/node_modules/micromark-extension-gfm-autolink-literal/readme.md +422 -0
- package/node_modules/micromark-extension-gfm-footnote/dev/index.d.ts +164 -0
- package/node_modules/micromark-extension-gfm-footnote/dev/index.js +3 -0
- package/node_modules/micromark-extension-gfm-footnote/dev/lib/html.d.ts +25 -0
- package/node_modules/micromark-extension-gfm-footnote/dev/lib/html.js +226 -0
- package/node_modules/micromark-extension-gfm-footnote/dev/lib/syntax.d.ts +9 -0
- package/node_modules/micromark-extension-gfm-footnote/dev/lib/syntax.js +558 -0
- package/node_modules/micromark-extension-gfm-footnote/index.d.ts +164 -0
- package/node_modules/micromark-extension-gfm-footnote/index.js +3 -0
- package/node_modules/micromark-extension-gfm-footnote/lib/html.d.ts +25 -0
- package/node_modules/micromark-extension-gfm-footnote/lib/html.js +154 -0
- package/node_modules/micromark-extension-gfm-footnote/lib/syntax.d.ts +9 -0
- package/node_modules/micromark-extension-gfm-footnote/lib/syntax.js +485 -0
- package/node_modules/micromark-extension-gfm-footnote/license +22 -0
- package/node_modules/micromark-extension-gfm-footnote/package.json +132 -0
- package/node_modules/micromark-extension-gfm-footnote/readme.md +656 -0
- package/node_modules/micromark-extension-gfm-strikethrough/dev/index.d.ts +30 -0
- package/node_modules/micromark-extension-gfm-strikethrough/dev/index.js +3 -0
- package/node_modules/micromark-extension-gfm-strikethrough/dev/lib/html.d.ts +13 -0
- package/node_modules/micromark-extension-gfm-strikethrough/dev/lib/html.js +26 -0
- package/node_modules/micromark-extension-gfm-strikethrough/dev/lib/syntax.d.ts +12 -0
- package/node_modules/micromark-extension-gfm-strikethrough/dev/lib/syntax.js +183 -0
- package/node_modules/micromark-extension-gfm-strikethrough/index.d.ts +24 -0
- package/node_modules/micromark-extension-gfm-strikethrough/index.js +3 -0
- package/node_modules/micromark-extension-gfm-strikethrough/lib/html.d.ts +13 -0
- package/node_modules/micromark-extension-gfm-strikethrough/lib/html.js +26 -0
- package/node_modules/micromark-extension-gfm-strikethrough/lib/syntax.d.ts +12 -0
- package/node_modules/micromark-extension-gfm-strikethrough/lib/syntax.js +142 -0
- package/node_modules/micromark-extension-gfm-strikethrough/license +22 -0
- package/node_modules/micromark-extension-gfm-strikethrough/package.json +129 -0
- package/node_modules/micromark-extension-gfm-strikethrough/readme.md +304 -0
- package/node_modules/micromark-extension-gfm-table/dev/index.d.ts +55 -0
- package/node_modules/micromark-extension-gfm-table/dev/index.js +2 -0
- package/node_modules/micromark-extension-gfm-table/dev/lib/edit-map.d.ts +51 -0
- package/node_modules/micromark-extension-gfm-table/dev/lib/edit-map.d.ts.map +1 -0
- package/node_modules/micromark-extension-gfm-table/dev/lib/edit-map.js +231 -0
- package/node_modules/micromark-extension-gfm-table/dev/lib/html.d.ts +11 -0
- package/node_modules/micromark-extension-gfm-table/dev/lib/html.d.ts.map +1 -0
- package/node_modules/micromark-extension-gfm-table/dev/lib/html.js +153 -0
- package/node_modules/micromark-extension-gfm-table/dev/lib/infer.d.ts +14 -0
- package/node_modules/micromark-extension-gfm-table/dev/lib/infer.d.ts.map +1 -0
- package/node_modules/micromark-extension-gfm-table/dev/lib/infer.js +64 -0
- package/node_modules/micromark-extension-gfm-table/dev/lib/syntax.d.ts +18 -0
- package/node_modules/micromark-extension-gfm-table/dev/lib/syntax.d.ts.map +1 -0
- package/node_modules/micromark-extension-gfm-table/dev/lib/syntax.js +964 -0
- package/node_modules/micromark-extension-gfm-table/index.d.ts +55 -0
- package/node_modules/micromark-extension-gfm-table/index.js +2 -0
- package/node_modules/micromark-extension-gfm-table/lib/edit-map.d.ts +51 -0
- package/node_modules/micromark-extension-gfm-table/lib/edit-map.d.ts.map +1 -0
- package/node_modules/micromark-extension-gfm-table/lib/edit-map.js +222 -0
- package/node_modules/micromark-extension-gfm-table/lib/html.d.ts +11 -0
- package/node_modules/micromark-extension-gfm-table/lib/html.d.ts.map +1 -0
- package/node_modules/micromark-extension-gfm-table/lib/html.js +135 -0
- package/node_modules/micromark-extension-gfm-table/lib/infer.d.ts +14 -0
- package/node_modules/micromark-extension-gfm-table/lib/infer.d.ts.map +1 -0
- package/node_modules/micromark-extension-gfm-table/lib/infer.js +52 -0
- package/node_modules/micromark-extension-gfm-table/lib/syntax.d.ts +18 -0
- package/node_modules/micromark-extension-gfm-table/lib/syntax.d.ts.map +1 -0
- package/node_modules/micromark-extension-gfm-table/lib/syntax.js +846 -0
- package/node_modules/micromark-extension-gfm-table/license +22 -0
- package/node_modules/micromark-extension-gfm-table/package.json +86 -0
- package/node_modules/micromark-extension-gfm-table/readme.md +515 -0
- package/node_modules/micromark-extension-gfm-tagfilter/index.d.ts +1 -0
- package/node_modules/micromark-extension-gfm-tagfilter/index.js +1 -0
- package/node_modules/micromark-extension-gfm-tagfilter/lib/index.d.ts +12 -0
- package/node_modules/micromark-extension-gfm-tagfilter/lib/index.js +51 -0
- package/node_modules/micromark-extension-gfm-tagfilter/license +22 -0
- package/node_modules/micromark-extension-gfm-tagfilter/package.json +82 -0
- package/node_modules/micromark-extension-gfm-tagfilter/readme.md +237 -0
- package/node_modules/micromark-extension-gfm-task-list-item/dev/index.d.ts +17 -0
- package/node_modules/micromark-extension-gfm-task-list-item/dev/index.js +2 -0
- package/node_modules/micromark-extension-gfm-task-list-item/dev/lib/html.d.ts +13 -0
- package/node_modules/micromark-extension-gfm-task-list-item/dev/lib/html.js +29 -0
- package/node_modules/micromark-extension-gfm-task-list-item/dev/lib/syntax.d.ts +10 -0
- package/node_modules/micromark-extension-gfm-task-list-item/dev/lib/syntax.js +166 -0
- package/node_modules/micromark-extension-gfm-task-list-item/index.d.ts +17 -0
- package/node_modules/micromark-extension-gfm-task-list-item/index.js +2 -0
- package/node_modules/micromark-extension-gfm-task-list-item/lib/html.d.ts +13 -0
- package/node_modules/micromark-extension-gfm-task-list-item/lib/html.js +29 -0
- package/node_modules/micromark-extension-gfm-task-list-item/lib/syntax.d.ts +10 -0
- package/node_modules/micromark-extension-gfm-task-list-item/lib/syntax.js +158 -0
- package/node_modules/micromark-extension-gfm-task-list-item/license +22 -0
- package/node_modules/micromark-extension-gfm-task-list-item/package.json +131 -0
- package/node_modules/micromark-extension-gfm-task-list-item/readme.md +305 -0
- package/node_modules/micromark-factory-destination/dev/index.d.ts +42 -0
- package/node_modules/micromark-factory-destination/dev/index.d.ts.map +1 -0
- package/node_modules/micromark-factory-destination/dev/index.js +255 -0
- package/node_modules/micromark-factory-destination/index.d.ts +42 -0
- package/node_modules/micromark-factory-destination/index.d.ts.map +1 -0
- package/node_modules/micromark-factory-destination/index.js +206 -0
- package/node_modules/micromark-factory-destination/license +22 -0
- package/node_modules/micromark-factory-destination/package.json +57 -0
- package/node_modules/micromark-factory-destination/readme.md +234 -0
- package/node_modules/micromark-factory-label/dev/index.d.ts +37 -0
- package/node_modules/micromark-factory-label/dev/index.d.ts.map +1 -0
- package/node_modules/micromark-factory-label/dev/index.js +172 -0
- package/node_modules/micromark-factory-label/index.d.ts +37 -0
- package/node_modules/micromark-factory-label/index.d.ts.map +1 -0
- package/node_modules/micromark-factory-label/index.js +148 -0
- package/node_modules/micromark-factory-label/license +22 -0
- package/node_modules/micromark-factory-label/package.json +60 -0
- package/node_modules/micromark-factory-label/readme.md +224 -0
- package/node_modules/micromark-factory-space/dev/index.d.ts +60 -0
- package/node_modules/micromark-factory-space/dev/index.d.ts.map +1 -0
- package/node_modules/micromark-factory-space/dev/index.js +122 -0
- package/node_modules/micromark-factory-space/index.d.ts +60 -0
- package/node_modules/micromark-factory-space/index.d.ts.map +1 -0
- package/node_modules/micromark-factory-space/index.js +116 -0
- package/node_modules/micromark-factory-space/license +22 -0
- package/node_modules/micromark-factory-space/package.json +46 -0
- package/node_modules/micromark-factory-space/readme.md +225 -0
- package/node_modules/micromark-factory-title/dev/index.d.ts +36 -0
- package/node_modules/micromark-factory-title/dev/index.d.ts.map +1 -0
- package/node_modules/micromark-factory-title/dev/index.js +169 -0
- package/node_modules/micromark-factory-title/index.d.ts +36 -0
- package/node_modules/micromark-factory-title/index.d.ts.map +1 -0
- package/node_modules/micromark-factory-title/index.js +158 -0
- package/node_modules/micromark-factory-title/license +22 -0
- package/node_modules/micromark-factory-title/package.json +58 -0
- package/node_modules/micromark-factory-title/readme.md +229 -0
- package/node_modules/micromark-factory-whitespace/dev/index.d.ts +22 -0
- package/node_modules/micromark-factory-whitespace/dev/index.d.ts.map +1 -0
- package/node_modules/micromark-factory-whitespace/dev/index.js +53 -0
- package/node_modules/micromark-factory-whitespace/index.d.ts +22 -0
- package/node_modules/micromark-factory-whitespace/index.d.ts.map +1 -0
- package/node_modules/micromark-factory-whitespace/index.js +44 -0
- package/node_modules/micromark-factory-whitespace/license +22 -0
- package/node_modules/micromark-factory-whitespace/package.json +57 -0
- package/node_modules/micromark-factory-whitespace/readme.md +205 -0
- package/node_modules/micromark-util-character/dev/index.d.ts +195 -0
- package/node_modules/micromark-util-character/dev/index.d.ts.map +1 -0
- package/node_modules/micromark-util-character/dev/index.js +252 -0
- package/node_modules/micromark-util-character/index.d.ts +195 -0
- package/node_modules/micromark-util-character/index.d.ts.map +1 -0
- package/node_modules/micromark-util-character/index.js +246 -0
- package/node_modules/micromark-util-character/license +22 -0
- package/node_modules/micromark-util-character/package.json +57 -0
- package/node_modules/micromark-util-character/readme.md +446 -0
- package/node_modules/micromark-util-chunked/dev/index.d.ts +41 -0
- package/node_modules/micromark-util-chunked/dev/index.d.ts.map +1 -0
- package/node_modules/micromark-util-chunked/dev/index.js +89 -0
- package/node_modules/micromark-util-chunked/index.d.ts +41 -0
- package/node_modules/micromark-util-chunked/index.d.ts.map +1 -0
- package/node_modules/micromark-util-chunked/index.js +81 -0
- package/node_modules/micromark-util-chunked/license +22 -0
- package/node_modules/micromark-util-chunked/package.json +57 -0
- package/node_modules/micromark-util-chunked/readme.md +219 -0
- package/node_modules/micromark-util-classify-character/dev/index.d.ts +18 -0
- package/node_modules/micromark-util-classify-character/dev/index.d.ts.map +1 -0
- package/node_modules/micromark-util-classify-character/dev/index.js +38 -0
- package/node_modules/micromark-util-classify-character/index.d.ts +18 -0
- package/node_modules/micromark-util-classify-character/index.d.ts.map +1 -0
- package/node_modules/micromark-util-classify-character/index.js +27 -0
- package/node_modules/micromark-util-classify-character/license +22 -0
- package/node_modules/micromark-util-classify-character/package.json +59 -0
- package/node_modules/micromark-util-classify-character/readme.md +205 -0
- package/node_modules/micromark-util-combine-extensions/index.d.ts +22 -0
- package/node_modules/micromark-util-combine-extensions/index.d.ts.map +1 -0
- package/node_modules/micromark-util-combine-extensions/index.js +143 -0
- package/node_modules/micromark-util-combine-extensions/license +22 -0
- package/node_modules/micromark-util-combine-extensions/package.json +52 -0
- package/node_modules/micromark-util-combine-extensions/readme.md +201 -0
- package/node_modules/micromark-util-decode-numeric-character-reference/dev/index.d.ts +16 -0
- package/node_modules/micromark-util-decode-numeric-character-reference/dev/index.d.ts.map +1 -0
- package/node_modules/micromark-util-decode-numeric-character-reference/dev/index.js +42 -0
- package/node_modules/micromark-util-decode-numeric-character-reference/index.d.ts +16 -0
- package/node_modules/micromark-util-decode-numeric-character-reference/index.d.ts.map +1 -0
- package/node_modules/micromark-util-decode-numeric-character-reference/index.js +32 -0
- package/node_modules/micromark-util-decode-numeric-character-reference/license +22 -0
- package/node_modules/micromark-util-decode-numeric-character-reference/package.json +59 -0
- package/node_modules/micromark-util-decode-numeric-character-reference/readme.md +184 -0
- package/node_modules/micromark-util-decode-string/dev/index.d.ts +14 -0
- package/node_modules/micromark-util-decode-string/dev/index.d.ts.map +1 -0
- package/node_modules/micromark-util-decode-string/dev/index.js +53 -0
- package/node_modules/micromark-util-decode-string/index.d.ts +14 -0
- package/node_modules/micromark-util-decode-string/index.d.ts.map +1 -0
- package/node_modules/micromark-util-decode-string/index.js +45 -0
- package/node_modules/micromark-util-decode-string/license +22 -0
- package/node_modules/micromark-util-decode-string/package.json +63 -0
- package/node_modules/micromark-util-decode-string/readme.md +179 -0
- package/node_modules/micromark-util-edit-map/dev/index.d.ts +78 -0
- package/node_modules/micromark-util-edit-map/dev/index.d.ts.map +1 -0
- package/node_modules/micromark-util-edit-map/dev/index.js +237 -0
- package/node_modules/micromark-util-edit-map/index.d.ts +78 -0
- package/node_modules/micromark-util-edit-map/index.d.ts.map +1 -0
- package/node_modules/micromark-util-edit-map/index.js +225 -0
- package/node_modules/micromark-util-edit-map/license +22 -0
- package/node_modules/micromark-util-edit-map/package.json +48 -0
- package/node_modules/micromark-util-edit-map/readme.md +234 -0
- package/node_modules/micromark-util-encode/index.d.ts +14 -0
- package/node_modules/micromark-util-encode/index.d.ts.map +1 -0
- package/node_modules/micromark-util-encode/index.js +33 -0
- package/node_modules/micromark-util-encode/license +22 -0
- package/node_modules/micromark-util-encode/package.json +47 -0
- package/node_modules/micromark-util-encode/readme.md +176 -0
- package/node_modules/micromark-util-html-tag-name/index.d.ts +30 -0
- package/node_modules/micromark-util-html-tag-name/index.d.ts.map +1 -0
- package/node_modules/micromark-util-html-tag-name/index.js +93 -0
- package/node_modules/micromark-util-html-tag-name/license +22 -0
- package/node_modules/micromark-util-html-tag-name/package.json +47 -0
- package/node_modules/micromark-util-html-tag-name/readme.md +193 -0
- package/node_modules/micromark-util-normalize-identifier/dev/index.d.ts +21 -0
- package/node_modules/micromark-util-normalize-identifier/dev/index.d.ts.map +1 -0
- package/node_modules/micromark-util-normalize-identifier/dev/index.js +38 -0
- package/node_modules/micromark-util-normalize-identifier/index.d.ts +21 -0
- package/node_modules/micromark-util-normalize-identifier/index.d.ts.map +1 -0
- package/node_modules/micromark-util-normalize-identifier/index.js +33 -0
- package/node_modules/micromark-util-normalize-identifier/license +22 -0
- package/node_modules/micromark-util-normalize-identifier/package.json +58 -0
- package/node_modules/micromark-util-normalize-identifier/readme.md +187 -0
- package/node_modules/micromark-util-resolve-all/index.d.ts +22 -0
- package/node_modules/micromark-util-resolve-all/index.d.ts.map +1 -0
- package/node_modules/micromark-util-resolve-all/index.js +32 -0
- package/node_modules/micromark-util-resolve-all/license +22 -0
- package/node_modules/micromark-util-resolve-all/package.json +48 -0
- package/node_modules/micromark-util-resolve-all/readme.md +238 -0
- package/node_modules/micromark-util-sanitize-uri/dev/index.d.ts +36 -0
- package/node_modules/micromark-util-sanitize-uri/dev/index.d.ts.map +1 -0
- package/node_modules/micromark-util-sanitize-uri/dev/index.js +124 -0
- package/node_modules/micromark-util-sanitize-uri/index.d.ts +36 -0
- package/node_modules/micromark-util-sanitize-uri/index.d.ts.map +1 -0
- package/node_modules/micromark-util-sanitize-uri/index.js +107 -0
- package/node_modules/micromark-util-sanitize-uri/license +22 -0
- package/node_modules/micromark-util-sanitize-uri/package.json +59 -0
- package/node_modules/micromark-util-sanitize-uri/readme.md +214 -0
- package/node_modules/micromark-util-subtokenize/dev/index.d.ts +12 -0
- package/node_modules/micromark-util-subtokenize/dev/index.d.ts.map +1 -0
- package/node_modules/micromark-util-subtokenize/dev/index.js +284 -0
- package/node_modules/micromark-util-subtokenize/dev/lib/splice-buffer.d.ts +161 -0
- package/node_modules/micromark-util-subtokenize/dev/lib/splice-buffer.d.ts.map +1 -0
- package/node_modules/micromark-util-subtokenize/dev/lib/splice-buffer.js +288 -0
- package/node_modules/micromark-util-subtokenize/index.d.ts +12 -0
- package/node_modules/micromark-util-subtokenize/index.d.ts.map +1 -0
- package/node_modules/micromark-util-subtokenize/index.js +228 -0
- package/node_modules/micromark-util-subtokenize/lib/splice-buffer.d.ts +161 -0
- package/node_modules/micromark-util-subtokenize/lib/splice-buffer.d.ts.map +1 -0
- package/node_modules/micromark-util-subtokenize/lib/splice-buffer.js +251 -0
- package/node_modules/micromark-util-subtokenize/license +22 -0
- package/node_modules/micromark-util-subtokenize/package.json +60 -0
- package/node_modules/micromark-util-subtokenize/readme.md +181 -0
- package/node_modules/micromark-util-symbol/lib/codes.d.ts +139 -0
- package/node_modules/micromark-util-symbol/lib/codes.d.ts.map +1 -0
- package/node_modules/micromark-util-symbol/lib/codes.js +158 -0
- package/node_modules/micromark-util-symbol/lib/constants.d.ts +37 -0
- package/node_modules/micromark-util-symbol/lib/constants.d.ts.map +1 -0
- package/node_modules/micromark-util-symbol/lib/constants.js +44 -0
- package/node_modules/micromark-util-symbol/lib/default.d.ts +5 -0
- package/node_modules/micromark-util-symbol/lib/default.d.ts.map +1 -0
- package/node_modules/micromark-util-symbol/lib/default.js +4 -0
- package/node_modules/micromark-util-symbol/lib/types.d.ts +106 -0
- package/node_modules/micromark-util-symbol/lib/types.d.ts.map +1 -0
- package/node_modules/micromark-util-symbol/lib/types.js +453 -0
- package/node_modules/micromark-util-symbol/lib/values.d.ts +102 -0
- package/node_modules/micromark-util-symbol/lib/values.d.ts.map +1 -0
- package/node_modules/micromark-util-symbol/lib/values.js +109 -0
- package/node_modules/micromark-util-symbol/license +22 -0
- package/node_modules/micromark-util-symbol/package.json +43 -0
- package/node_modules/micromark-util-symbol/readme.md +168 -0
- package/node_modules/micromark-util-types/index.d.ts +1315 -0
- package/node_modules/micromark-util-types/index.js +2 -0
- package/node_modules/micromark-util-types/license +22 -0
- package/node_modules/micromark-util-types/package.json +37 -0
- package/node_modules/micromark-util-types/readme.md +151 -0
- package/node_modules/ms/index.js +162 -0
- package/node_modules/ms/license.md +21 -0
- package/node_modules/ms/package.json +38 -0
- package/node_modules/ms/readme.md +59 -0
- package/node_modules/remark-gfm/index.d.ts +13 -0
- package/node_modules/remark-gfm/index.js +2 -0
- package/node_modules/remark-gfm/lib/index.d.ts +12 -0
- package/node_modules/remark-gfm/lib/index.d.ts.map +1 -0
- package/node_modules/remark-gfm/lib/index.js +41 -0
- package/node_modules/remark-gfm/license +22 -0
- package/node_modules/remark-gfm/package.json +125 -0
- package/node_modules/remark-gfm/readme.md +518 -0
- package/node_modules/remark-parse/index.d.ts +55 -0
- package/node_modules/remark-parse/index.js +2 -0
- package/node_modules/remark-parse/lib/index.d.ts +26 -0
- package/node_modules/remark-parse/lib/index.js +43 -0
- package/node_modules/remark-parse/license +21 -0
- package/node_modules/remark-parse/package.json +72 -0
- package/node_modules/remark-parse/readme.md +428 -0
- package/node_modules/remark-stringify/index.d.ts +41 -0
- package/node_modules/remark-stringify/index.js +2 -0
- package/node_modules/remark-stringify/lib/index.d.ts +26 -0
- package/node_modules/remark-stringify/lib/index.js +42 -0
- package/node_modules/remark-stringify/license +21 -0
- package/node_modules/remark-stringify/package.json +71 -0
- package/node_modules/remark-stringify/readme.md +407 -0
- package/node_modules/trough/index.d.ts +7 -0
- package/node_modules/trough/index.d.ts.map +1 -0
- package/node_modules/trough/index.js +9 -0
- package/node_modules/trough/lib/index.d.ts +105 -0
- package/node_modules/trough/lib/index.d.ts.map +1 -0
- package/node_modules/trough/lib/index.js +206 -0
- package/node_modules/trough/license +21 -0
- package/node_modules/trough/package.json +77 -0
- package/node_modules/trough/readme.md +494 -0
- package/node_modules/unified/index.d.ts +106 -0
- package/node_modules/unified/index.js +2 -0
- package/node_modules/unified/lib/callable-instance.d.ts +2 -0
- package/node_modules/unified/lib/callable-instance.d.ts.map +1 -0
- package/node_modules/unified/lib/callable-instance.js +44 -0
- package/node_modules/unified/lib/index.d.ts +1024 -0
- package/node_modules/unified/lib/index.d.ts.map +1 -0
- package/node_modules/unified/lib/index.js +1323 -0
- package/node_modules/unified/license +21 -0
- package/node_modules/unified/package.json +120 -0
- package/node_modules/unified/readme.md +1835 -0
- package/node_modules/unist-util-is/index.d.ts +5 -0
- package/node_modules/unist-util-is/index.d.ts.map +1 -0
- package/node_modules/unist-util-is/index.js +7 -0
- package/node_modules/unist-util-is/lib/index.d.ts +111 -0
- package/node_modules/unist-util-is/lib/index.d.ts.map +1 -0
- package/node_modules/unist-util-is/lib/index.js +296 -0
- package/node_modules/unist-util-is/license +22 -0
- package/node_modules/unist-util-is/package.json +103 -0
- package/node_modules/unist-util-is/readme.md +351 -0
- package/node_modules/unist-util-stringify-position/index.d.ts +1 -0
- package/node_modules/unist-util-stringify-position/index.js +1 -0
- package/node_modules/unist-util-stringify-position/lib/index.d.ts +61 -0
- package/node_modules/unist-util-stringify-position/lib/index.js +84 -0
- package/node_modules/unist-util-stringify-position/license +22 -0
- package/node_modules/unist-util-stringify-position/package.json +80 -0
- package/node_modules/unist-util-stringify-position/readme.md +206 -0
- package/node_modules/unist-util-visit/index.d.ts +9 -0
- package/node_modules/unist-util-visit/index.js +2 -0
- package/node_modules/unist-util-visit/lib/index.d.ts +195 -0
- package/node_modules/unist-util-visit/lib/index.d.ts.map +1 -0
- package/node_modules/unist-util-visit/lib/index.js +312 -0
- package/node_modules/unist-util-visit/license +22 -0
- package/node_modules/unist-util-visit/package.json +108 -0
- package/node_modules/unist-util-visit/readme.md +313 -0
- package/node_modules/unist-util-visit-parents/index.d.ts +14 -0
- package/node_modules/unist-util-visit-parents/index.js +2 -0
- package/node_modules/unist-util-visit-parents/lib/color.d.ts +6 -0
- package/node_modules/unist-util-visit-parents/lib/color.d.ts.map +1 -0
- package/node_modules/unist-util-visit-parents/lib/color.js +7 -0
- package/node_modules/unist-util-visit-parents/lib/color.node.d.ts +6 -0
- package/node_modules/unist-util-visit-parents/lib/color.node.d.ts.map +1 -0
- package/node_modules/unist-util-visit-parents/lib/color.node.js +7 -0
- package/node_modules/unist-util-visit-parents/lib/index.d.ts +219 -0
- package/node_modules/unist-util-visit-parents/lib/index.d.ts.map +1 -0
- package/node_modules/unist-util-visit-parents/lib/index.js +399 -0
- package/node_modules/unist-util-visit-parents/license +22 -0
- package/node_modules/unist-util-visit-parents/package.json +106 -0
- package/node_modules/unist-util-visit-parents/readme.md +388 -0
- package/node_modules/vfile/index.d.ts +153 -0
- package/node_modules/vfile/index.js +2 -0
- package/node_modules/vfile/lib/index.d.ts +1465 -0
- package/node_modules/vfile/lib/index.d.ts.map +1 -0
- package/node_modules/vfile/lib/index.js +643 -0
- package/node_modules/vfile/lib/minpath.browser.d.ts +47 -0
- package/node_modules/vfile/lib/minpath.browser.d.ts.map +1 -0
- package/node_modules/vfile/lib/minpath.browser.js +426 -0
- package/node_modules/vfile/lib/minpath.d.ts +2 -0
- package/node_modules/vfile/lib/minpath.d.ts.map +1 -0
- package/node_modules/vfile/lib/minpath.js +1 -0
- package/node_modules/vfile/lib/minproc.browser.d.ts +6 -0
- package/node_modules/vfile/lib/minproc.browser.d.ts.map +1 -0
- package/node_modules/vfile/lib/minproc.browser.js +8 -0
- package/node_modules/vfile/lib/minproc.d.ts +2 -0
- package/node_modules/vfile/lib/minproc.d.ts.map +1 -0
- package/node_modules/vfile/lib/minproc.js +1 -0
- package/node_modules/vfile/lib/minurl.browser.d.ts +9 -0
- package/node_modules/vfile/lib/minurl.browser.d.ts.map +1 -0
- package/node_modules/vfile/lib/minurl.browser.js +76 -0
- package/node_modules/vfile/lib/minurl.d.ts +3 -0
- package/node_modules/vfile/lib/minurl.d.ts.map +1 -0
- package/node_modules/vfile/lib/minurl.js +2 -0
- package/node_modules/vfile/lib/minurl.shared.d.ts +20 -0
- package/node_modules/vfile/lib/minurl.shared.d.ts.map +1 -0
- package/node_modules/vfile/lib/minurl.shared.js +31 -0
- package/node_modules/vfile/license +21 -0
- package/node_modules/vfile/package.json +134 -0
- package/node_modules/vfile/readme.md +785 -0
- package/node_modules/vfile-message/index.d.ts +2 -0
- package/node_modules/vfile-message/index.js +5 -0
- package/node_modules/vfile-message/lib/index.d.ts +508 -0
- package/node_modules/vfile-message/lib/index.js +314 -0
- package/node_modules/vfile-message/license +22 -0
- package/node_modules/vfile-message/package.json +80 -0
- package/node_modules/vfile-message/readme.md +252 -0
- package/node_modules/yaml/LICENSE +13 -0
- package/node_modules/yaml/README.md +172 -0
- package/node_modules/yaml/bin.mjs +11 -0
- package/node_modules/yaml/browser/dist/compose/compose-collection.js +88 -0
- package/node_modules/yaml/browser/dist/compose/compose-doc.js +43 -0
- package/node_modules/yaml/browser/dist/compose/compose-node.js +109 -0
- package/node_modules/yaml/browser/dist/compose/compose-scalar.js +86 -0
- package/node_modules/yaml/browser/dist/compose/composer.js +219 -0
- package/node_modules/yaml/browser/dist/compose/resolve-block-map.js +115 -0
- package/node_modules/yaml/browser/dist/compose/resolve-block-scalar.js +198 -0
- package/node_modules/yaml/browser/dist/compose/resolve-block-seq.js +49 -0
- package/node_modules/yaml/browser/dist/compose/resolve-end.js +37 -0
- package/node_modules/yaml/browser/dist/compose/resolve-flow-collection.js +207 -0
- package/node_modules/yaml/browser/dist/compose/resolve-flow-scalar.js +226 -0
- package/node_modules/yaml/browser/dist/compose/resolve-props.js +146 -0
- package/node_modules/yaml/browser/dist/compose/util-contains-newline.js +34 -0
- package/node_modules/yaml/browser/dist/compose/util-empty-scalar-position.js +26 -0
- package/node_modules/yaml/browser/dist/compose/util-flow-indent-check.js +15 -0
- package/node_modules/yaml/browser/dist/compose/util-map-includes.js +13 -0
- package/node_modules/yaml/browser/dist/doc/Document.js +335 -0
- package/node_modules/yaml/browser/dist/doc/anchors.js +71 -0
- package/node_modules/yaml/browser/dist/doc/applyReviver.js +55 -0
- package/node_modules/yaml/browser/dist/doc/createNode.js +88 -0
- package/node_modules/yaml/browser/dist/doc/directives.js +176 -0
- package/node_modules/yaml/browser/dist/errors.js +57 -0
- package/node_modules/yaml/browser/dist/index.js +17 -0
- package/node_modules/yaml/browser/dist/log.js +11 -0
- package/node_modules/yaml/browser/dist/nodes/Alias.js +118 -0
- package/node_modules/yaml/browser/dist/nodes/Collection.js +147 -0
- package/node_modules/yaml/browser/dist/nodes/Node.js +38 -0
- package/node_modules/yaml/browser/dist/nodes/Pair.js +36 -0
- package/node_modules/yaml/browser/dist/nodes/Scalar.js +24 -0
- package/node_modules/yaml/browser/dist/nodes/YAMLMap.js +144 -0
- package/node_modules/yaml/browser/dist/nodes/YAMLSeq.js +113 -0
- package/node_modules/yaml/browser/dist/nodes/addPairToJSMap.js +63 -0
- package/node_modules/yaml/browser/dist/nodes/identity.js +36 -0
- package/node_modules/yaml/browser/dist/nodes/toJS.js +37 -0
- package/node_modules/yaml/browser/dist/parse/cst-scalar.js +214 -0
- package/node_modules/yaml/browser/dist/parse/cst-stringify.js +61 -0
- package/node_modules/yaml/browser/dist/parse/cst-visit.js +97 -0
- package/node_modules/yaml/browser/dist/parse/cst.js +98 -0
- package/node_modules/yaml/browser/dist/parse/lexer.js +721 -0
- package/node_modules/yaml/browser/dist/parse/line-counter.js +39 -0
- package/node_modules/yaml/browser/dist/parse/parser.js +975 -0
- package/node_modules/yaml/browser/dist/public-api.js +102 -0
- package/node_modules/yaml/browser/dist/schema/Schema.js +37 -0
- package/node_modules/yaml/browser/dist/schema/common/map.js +17 -0
- package/node_modules/yaml/browser/dist/schema/common/null.js +15 -0
- package/node_modules/yaml/browser/dist/schema/common/seq.js +17 -0
- package/node_modules/yaml/browser/dist/schema/common/string.js +14 -0
- package/node_modules/yaml/browser/dist/schema/core/bool.js +19 -0
- package/node_modules/yaml/browser/dist/schema/core/float.js +43 -0
- package/node_modules/yaml/browser/dist/schema/core/int.js +38 -0
- package/node_modules/yaml/browser/dist/schema/core/schema.js +23 -0
- package/node_modules/yaml/browser/dist/schema/json/schema.js +62 -0
- package/node_modules/yaml/browser/dist/schema/tags.js +96 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/binary.js +58 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/bool.js +26 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/float.js +46 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/int.js +71 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/merge.js +67 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/omap.js +74 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/pairs.js +78 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/schema.js +39 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/set.js +93 -0
- package/node_modules/yaml/browser/dist/schema/yaml-1.1/timestamp.js +101 -0
- package/node_modules/yaml/browser/dist/stringify/foldFlowLines.js +146 -0
- package/node_modules/yaml/browser/dist/stringify/stringify.js +129 -0
- package/node_modules/yaml/browser/dist/stringify/stringifyCollection.js +153 -0
- package/node_modules/yaml/browser/dist/stringify/stringifyComment.js +20 -0
- package/node_modules/yaml/browser/dist/stringify/stringifyDocument.js +85 -0
- package/node_modules/yaml/browser/dist/stringify/stringifyNumber.js +25 -0
- package/node_modules/yaml/browser/dist/stringify/stringifyPair.js +150 -0
- package/node_modules/yaml/browser/dist/stringify/stringifyString.js +336 -0
- package/node_modules/yaml/browser/dist/util.js +11 -0
- package/node_modules/yaml/browser/dist/visit.js +233 -0
- package/node_modules/yaml/browser/index.js +5 -0
- package/node_modules/yaml/browser/package.json +3 -0
- package/node_modules/yaml/dist/cli.d.ts +8 -0
- package/node_modules/yaml/dist/cli.mjs +201 -0
- package/node_modules/yaml/dist/compose/compose-collection.d.ts +11 -0
- package/node_modules/yaml/dist/compose/compose-collection.js +90 -0
- package/node_modules/yaml/dist/compose/compose-doc.d.ts +7 -0
- package/node_modules/yaml/dist/compose/compose-doc.js +45 -0
- package/node_modules/yaml/dist/compose/compose-node.d.ts +29 -0
- package/node_modules/yaml/dist/compose/compose-node.js +112 -0
- package/node_modules/yaml/dist/compose/compose-scalar.d.ts +5 -0
- package/node_modules/yaml/dist/compose/compose-scalar.js +88 -0
- package/node_modules/yaml/dist/compose/composer.d.ts +63 -0
- package/node_modules/yaml/dist/compose/composer.js +224 -0
- package/node_modules/yaml/dist/compose/resolve-block-map.d.ts +6 -0
- package/node_modules/yaml/dist/compose/resolve-block-map.js +117 -0
- package/node_modules/yaml/dist/compose/resolve-block-scalar.d.ts +11 -0
- package/node_modules/yaml/dist/compose/resolve-block-scalar.js +200 -0
- package/node_modules/yaml/dist/compose/resolve-block-seq.d.ts +6 -0
- package/node_modules/yaml/dist/compose/resolve-block-seq.js +51 -0
- package/node_modules/yaml/dist/compose/resolve-end.d.ts +6 -0
- package/node_modules/yaml/dist/compose/resolve-end.js +39 -0
- package/node_modules/yaml/dist/compose/resolve-flow-collection.d.ts +7 -0
- package/node_modules/yaml/dist/compose/resolve-flow-collection.js +209 -0
- package/node_modules/yaml/dist/compose/resolve-flow-scalar.d.ts +10 -0
- package/node_modules/yaml/dist/compose/resolve-flow-scalar.js +228 -0
- package/node_modules/yaml/dist/compose/resolve-props.d.ts +23 -0
- package/node_modules/yaml/dist/compose/resolve-props.js +148 -0
- package/node_modules/yaml/dist/compose/util-contains-newline.d.ts +2 -0
- package/node_modules/yaml/dist/compose/util-contains-newline.js +36 -0
- package/node_modules/yaml/dist/compose/util-empty-scalar-position.d.ts +2 -0
- package/node_modules/yaml/dist/compose/util-empty-scalar-position.js +28 -0
- package/node_modules/yaml/dist/compose/util-flow-indent-check.d.ts +3 -0
- package/node_modules/yaml/dist/compose/util-flow-indent-check.js +17 -0
- package/node_modules/yaml/dist/compose/util-map-includes.d.ts +4 -0
- package/node_modules/yaml/dist/compose/util-map-includes.js +15 -0
- package/node_modules/yaml/dist/doc/Document.d.ts +141 -0
- package/node_modules/yaml/dist/doc/Document.js +337 -0
- package/node_modules/yaml/dist/doc/anchors.d.ts +24 -0
- package/node_modules/yaml/dist/doc/anchors.js +76 -0
- package/node_modules/yaml/dist/doc/applyReviver.d.ts +9 -0
- package/node_modules/yaml/dist/doc/applyReviver.js +57 -0
- package/node_modules/yaml/dist/doc/createNode.d.ts +17 -0
- package/node_modules/yaml/dist/doc/createNode.js +90 -0
- package/node_modules/yaml/dist/doc/directives.d.ts +49 -0
- package/node_modules/yaml/dist/doc/directives.js +178 -0
- package/node_modules/yaml/dist/errors.d.ts +21 -0
- package/node_modules/yaml/dist/errors.js +62 -0
- package/node_modules/yaml/dist/index.d.ts +25 -0
- package/node_modules/yaml/dist/index.js +50 -0
- package/node_modules/yaml/dist/log.d.ts +3 -0
- package/node_modules/yaml/dist/log.js +19 -0
- package/node_modules/yaml/dist/nodes/Alias.d.ts +29 -0
- package/node_modules/yaml/dist/nodes/Alias.js +120 -0
- package/node_modules/yaml/dist/nodes/Collection.d.ts +73 -0
- package/node_modules/yaml/dist/nodes/Collection.js +151 -0
- package/node_modules/yaml/dist/nodes/Node.d.ts +53 -0
- package/node_modules/yaml/dist/nodes/Node.js +40 -0
- package/node_modules/yaml/dist/nodes/Pair.d.ts +22 -0
- package/node_modules/yaml/dist/nodes/Pair.js +39 -0
- package/node_modules/yaml/dist/nodes/Scalar.d.ts +47 -0
- package/node_modules/yaml/dist/nodes/Scalar.js +27 -0
- package/node_modules/yaml/dist/nodes/YAMLMap.d.ts +53 -0
- package/node_modules/yaml/dist/nodes/YAMLMap.js +147 -0
- package/node_modules/yaml/dist/nodes/YAMLSeq.d.ts +60 -0
- package/node_modules/yaml/dist/nodes/YAMLSeq.js +115 -0
- package/node_modules/yaml/dist/nodes/addPairToJSMap.d.ts +4 -0
- package/node_modules/yaml/dist/nodes/addPairToJSMap.js +65 -0
- package/node_modules/yaml/dist/nodes/identity.d.ts +23 -0
- package/node_modules/yaml/dist/nodes/identity.js +53 -0
- package/node_modules/yaml/dist/nodes/toJS.d.ts +29 -0
- package/node_modules/yaml/dist/nodes/toJS.js +39 -0
- package/node_modules/yaml/dist/options.d.ts +350 -0
- package/node_modules/yaml/dist/parse/cst-scalar.d.ts +64 -0
- package/node_modules/yaml/dist/parse/cst-scalar.js +218 -0
- package/node_modules/yaml/dist/parse/cst-stringify.d.ts +8 -0
- package/node_modules/yaml/dist/parse/cst-stringify.js +63 -0
- package/node_modules/yaml/dist/parse/cst-visit.d.ts +39 -0
- package/node_modules/yaml/dist/parse/cst-visit.js +99 -0
- package/node_modules/yaml/dist/parse/cst.d.ts +109 -0
- package/node_modules/yaml/dist/parse/cst.js +112 -0
- package/node_modules/yaml/dist/parse/lexer.d.ts +87 -0
- package/node_modules/yaml/dist/parse/lexer.js +723 -0
- package/node_modules/yaml/dist/parse/line-counter.d.ts +22 -0
- package/node_modules/yaml/dist/parse/line-counter.js +41 -0
- package/node_modules/yaml/dist/parse/parser.d.ts +84 -0
- package/node_modules/yaml/dist/parse/parser.js +980 -0
- package/node_modules/yaml/dist/public-api.d.ts +44 -0
- package/node_modules/yaml/dist/public-api.js +107 -0
- package/node_modules/yaml/dist/schema/Schema.d.ts +17 -0
- package/node_modules/yaml/dist/schema/Schema.js +39 -0
- package/node_modules/yaml/dist/schema/common/map.d.ts +2 -0
- package/node_modules/yaml/dist/schema/common/map.js +19 -0
- package/node_modules/yaml/dist/schema/common/null.d.ts +4 -0
- package/node_modules/yaml/dist/schema/common/null.js +17 -0
- package/node_modules/yaml/dist/schema/common/seq.d.ts +2 -0
- package/node_modules/yaml/dist/schema/common/seq.js +19 -0
- package/node_modules/yaml/dist/schema/common/string.d.ts +2 -0
- package/node_modules/yaml/dist/schema/common/string.js +16 -0
- package/node_modules/yaml/dist/schema/core/bool.d.ts +4 -0
- package/node_modules/yaml/dist/schema/core/bool.js +21 -0
- package/node_modules/yaml/dist/schema/core/float.d.ts +4 -0
- package/node_modules/yaml/dist/schema/core/float.js +47 -0
- package/node_modules/yaml/dist/schema/core/int.d.ts +4 -0
- package/node_modules/yaml/dist/schema/core/int.js +42 -0
- package/node_modules/yaml/dist/schema/core/schema.d.ts +1 -0
- package/node_modules/yaml/dist/schema/core/schema.js +25 -0
- package/node_modules/yaml/dist/schema/json/schema.d.ts +2 -0
- package/node_modules/yaml/dist/schema/json/schema.js +64 -0
- package/node_modules/yaml/dist/schema/json-schema.d.ts +69 -0
- package/node_modules/yaml/dist/schema/tags.d.ts +48 -0
- package/node_modules/yaml/dist/schema/tags.js +99 -0
- package/node_modules/yaml/dist/schema/types.d.ts +92 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/binary.d.ts +2 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/binary.js +70 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/bool.d.ts +7 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/bool.js +29 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/float.d.ts +4 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/float.js +50 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/int.d.ts +5 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/int.js +76 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/merge.d.ts +9 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/merge.js +71 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/omap.d.ts +22 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/omap.js +77 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/pairs.d.ts +10 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/pairs.js +82 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/schema.d.ts +1 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/schema.js +41 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/set.d.ts +28 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/set.js +96 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.d.ts +6 -0
- package/node_modules/yaml/dist/schema/yaml-1.1/timestamp.js +105 -0
- package/node_modules/yaml/dist/stringify/foldFlowLines.d.ts +34 -0
- package/node_modules/yaml/dist/stringify/foldFlowLines.js +151 -0
- package/node_modules/yaml/dist/stringify/stringify.d.ts +21 -0
- package/node_modules/yaml/dist/stringify/stringify.js +132 -0
- package/node_modules/yaml/dist/stringify/stringifyCollection.d.ts +17 -0
- package/node_modules/yaml/dist/stringify/stringifyCollection.js +155 -0
- package/node_modules/yaml/dist/stringify/stringifyComment.d.ts +10 -0
- package/node_modules/yaml/dist/stringify/stringifyComment.js +24 -0
- package/node_modules/yaml/dist/stringify/stringifyDocument.d.ts +4 -0
- package/node_modules/yaml/dist/stringify/stringifyDocument.js +87 -0
- package/node_modules/yaml/dist/stringify/stringifyNumber.d.ts +2 -0
- package/node_modules/yaml/dist/stringify/stringifyNumber.js +27 -0
- package/node_modules/yaml/dist/stringify/stringifyPair.d.ts +3 -0
- package/node_modules/yaml/dist/stringify/stringifyPair.js +152 -0
- package/node_modules/yaml/dist/stringify/stringifyString.d.ts +9 -0
- package/node_modules/yaml/dist/stringify/stringifyString.js +338 -0
- package/node_modules/yaml/dist/test-events.d.ts +4 -0
- package/node_modules/yaml/dist/test-events.js +134 -0
- package/node_modules/yaml/dist/util.d.ts +16 -0
- package/node_modules/yaml/dist/util.js +28 -0
- package/node_modules/yaml/dist/visit.d.ts +102 -0
- package/node_modules/yaml/dist/visit.js +236 -0
- package/node_modules/yaml/package.json +97 -0
- package/node_modules/yaml/util.js +2 -0
- package/node_modules/zwitch/index.d.ts +67 -0
- package/node_modules/zwitch/index.js +118 -0
- package/node_modules/zwitch/license +22 -0
- package/node_modules/zwitch/package.json +72 -0
- package/node_modules/zwitch/readme.md +226 -0
- package/package.json +13 -5
- package/packages/pcr-core/schemas/guidance-batch-request.schema.json +12 -0
- package/packages/pcr-core/schemas/guidance-output.schema.json +236 -28
- package/packages/pcr-core/schemas/structured-projection.schema.json +576 -80
- package/packages/pcr-core/src/classification-coverage.js +664 -0
- package/packages/pcr-core/src/classification-coverage.js.map +1 -0
- package/packages/pcr-core/src/compiler/guidance-context.js +135 -0
- package/packages/pcr-core/src/compiler/guidance-context.js.map +1 -0
- package/packages/pcr-core/src/compiler/guidance-envelope.js +78 -0
- package/packages/pcr-core/src/compiler/guidance-envelope.js.map +1 -0
- package/packages/pcr-core/src/compiler/normative-integrity.js +67 -0
- package/packages/pcr-core/src/compiler/normative-integrity.js.map +1 -0
- package/packages/pcr-core/src/compiler/normative-projection.js +276 -0
- package/packages/pcr-core/src/compiler/normative-projection.js.map +1 -0
- package/packages/pcr-core/src/compiler/source-context.js +231 -0
- package/packages/pcr-core/src/compiler/source-context.js.map +1 -0
- package/packages/pcr-core/src/consumption-calculation.js +61 -0
- package/packages/pcr-core/src/consumption-calculation.js.map +1 -0
- package/packages/pcr-core/src/consumption-data.js +99 -0
- package/packages/pcr-core/src/consumption-data.js.map +1 -0
- package/packages/pcr-core/src/consumption-guidance.js +107 -0
- package/packages/pcr-core/src/consumption-guidance.js.map +1 -0
- package/packages/pcr-core/src/consumption-review.js +103 -0
- package/packages/pcr-core/src/consumption-review.js.map +1 -0
- package/packages/pcr-core/src/contracts.js +163 -0
- package/packages/pcr-core/src/contracts.js.map +1 -0
- package/packages/pcr-core/src/generated/controlled-vocabulary.js +39 -0
- package/packages/pcr-core/src/generated/controlled-vocabulary.js.map +1 -0
- package/packages/pcr-core/src/index.js +1824 -0
- package/packages/pcr-core/src/index.js.map +1 -0
- package/packages/pcr-core/src/languages.js +85 -0
- package/packages/pcr-core/src/languages.js.map +1 -0
- package/packages/pcr-core/src/offline-library.js +302 -0
- package/packages/pcr-core/src/offline-library.js.map +1 -0
- package/packages/pcr-core/src/output-semantics.js +122 -0
- package/packages/pcr-core/src/output-semantics.js.map +1 -0
- package/packages/pcr-core/src/pcr-id-aliases.js +898 -0
- package/packages/pcr-core/src/pcr-id-aliases.js.map +1 -0
- package/packages/pcr-core/src/projection-completeness.js +172 -0
- package/packages/pcr-core/src/projection-completeness.js.map +1 -0
- package/packages/pcr-core/src/projection-integrity.js +177 -0
- package/packages/pcr-core/src/projection-integrity.js.map +1 -0
- package/packages/pcr-core/src/read-context.js +421 -0
- package/packages/pcr-core/src/read-context.js.map +1 -0
- package/packages/pcr-core/src/read-session.js +150 -0
- package/packages/pcr-core/src/read-session.js.map +1 -0
- package/packages/pcr-core/src/schema-validation.js +136 -0
- package/packages/pcr-core/src/schema-validation.js.map +1 -0
- package/packages/pcr-core/src/source-context.js +18 -0
- package/packages/pcr-core/src/source-context.js.map +1 -0
- package/packages/pcr-core/src/tidas-inspection.js +201 -0
- package/packages/pcr-core/src/tidas-inspection.js.map +1 -0
- package/packages/pcr-core/src/types.js +12 -0
- package/packages/pcr-core/src/types.js.map +1 -0
- package/packages/pcr-core/src/vocabulary.js +47 -0
- package/packages/pcr-core/src/vocabulary.js.map +1 -0
- package/packages/pcr-core/src/yaml-lite.js +267 -0
- package/packages/pcr-core/src/yaml-lite.js.map +1 -0
- package/packages/tiangong-pcr-cli/bin/tiangong-pcr.js +11 -0
- package/packages/tiangong-pcr-cli/bin/tiangong-pcr.js.map +1 -0
- package/packages/tiangong-pcr-cli/src/commands.js +1662 -0
- package/packages/tiangong-pcr-cli/src/commands.js.map +1 -0
- package/product-release.json +4 -4
- package/skills/tiangong-pcr/SKILL.md +9 -2
- package/packages/pcr-core/src/classification-coverage.mjs +0 -732
- package/packages/pcr-core/src/consumption-calculation.mjs +0 -53
- package/packages/pcr-core/src/consumption-data.mjs +0 -88
- package/packages/pcr-core/src/consumption-guidance.mjs +0 -62
- package/packages/pcr-core/src/consumption-review.mjs +0 -83
- package/packages/pcr-core/src/contracts.mjs +0 -195
- package/packages/pcr-core/src/generated/controlled-vocabulary.mjs +0 -41
- package/packages/pcr-core/src/index.mjs +0 -2101
- package/packages/pcr-core/src/languages.mjs +0 -86
- package/packages/pcr-core/src/offline-library.mjs +0 -121
- package/packages/pcr-core/src/output-semantics.mjs +0 -228
- package/packages/pcr-core/src/pcr-id-aliases.mjs +0 -949
- package/packages/pcr-core/src/projection-completeness.mjs +0 -284
- package/packages/pcr-core/src/projection-integrity.mjs +0 -208
- package/packages/pcr-core/src/read-context.mjs +0 -505
- package/packages/pcr-core/src/schema-validation.mjs +0 -142
- package/packages/pcr-core/src/source-context.mjs +0 -13
- package/packages/pcr-core/src/tidas-inspection.mjs +0 -177
- package/packages/pcr-core/src/yaml-lite.mjs +0 -261
- package/packages/tiangong-pcr-cli/bin/tiangong-pcr.mjs +0 -12
- package/packages/tiangong-pcr-cli/src/commands.mjs +0 -1691
|
@@ -0,0 +1,302 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
import { createRequire } from "node:module";
|
|
3
|
+
import { closeSync, openSync, readSync, readFileSync, statSync } from "node:fs";
|
|
4
|
+
import path from "node:path";
|
|
5
|
+
import { inflateRawSync } from "node:zlib";
|
|
6
|
+
import { parseYaml } from "./yaml-lite.js";
|
|
7
|
+
import { expectedPcrArtifactHashes } from "./languages.js";
|
|
8
|
+
import { PcrClassificationCoverageNotFoundError } from "./classification-coverage.js";
|
|
9
|
+
import { isPcrIdAlias } from "./pcr-id-aliases.js";
|
|
10
|
+
import { assertCoreContract } from "./contracts.js";
|
|
11
|
+
import { isUnknownRecord, errorCode, errorMessage } from "./types.js";
|
|
12
|
+
export const LIBRARY_FORMAT_VERSION = 1;
|
|
13
|
+
const UTF8_DECODER = new TextDecoder("utf-8", { fatal: true, ignoreBOM: true });
|
|
14
|
+
export const sha256 = (bytes) => `sha256:${createHash("sha256").update(bytes).digest("hex")}`;
|
|
15
|
+
export function libraryError(code, message) {
|
|
16
|
+
return Object.assign(new Error(message), { code });
|
|
17
|
+
}
|
|
18
|
+
/** The provider can import this module without eagerly loading SQLite. */
|
|
19
|
+
export function sqliteDatabase() {
|
|
20
|
+
const [major = 0, minor = 0] = process.versions.node.split(".").map(Number);
|
|
21
|
+
if (major < 24 || (major === 24 && minor < 19)) {
|
|
22
|
+
throw libraryError("PCR_LIBRARY_RUNTIME_UNSUPPORTED", "Offline libraries require Node.js 24.19 or newer.");
|
|
23
|
+
}
|
|
24
|
+
const sqlite = createRequire(import.meta.url)("node:sqlite");
|
|
25
|
+
if (!isSqliteModule(sqlite))
|
|
26
|
+
throw libraryError("PCR_LIBRARY_RUNTIME_UNSUPPORTED", "Node SQLite DatabaseSync is unavailable.");
|
|
27
|
+
return sqlite.DatabaseSync;
|
|
28
|
+
}
|
|
29
|
+
function isSqliteModule(value) {
|
|
30
|
+
if (!isUnknownRecord(value) || typeof value.DatabaseSync !== "function")
|
|
31
|
+
return false;
|
|
32
|
+
const prototype = value.DatabaseSync.prototype;
|
|
33
|
+
return isUnknownRecord(prototype) && ["prepare", "exec", "close"].every(name => typeof prototype[name] === "function");
|
|
34
|
+
}
|
|
35
|
+
export function hashFile(filename) {
|
|
36
|
+
const hash = createHash("sha256");
|
|
37
|
+
const fd = openSync(filename, "r");
|
|
38
|
+
const buffer = Buffer.alloc(1024 * 1024);
|
|
39
|
+
try {
|
|
40
|
+
let count;
|
|
41
|
+
while ((count = readSync(fd, buffer, 0, buffer.length, null)))
|
|
42
|
+
hash.update(buffer.subarray(0, count));
|
|
43
|
+
return `sha256:${hash.digest("hex")}`;
|
|
44
|
+
}
|
|
45
|
+
finally {
|
|
46
|
+
closeSync(fd);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
export function metadataDigest(db, table) {
|
|
50
|
+
if (!["records", "aliases", "coverage", "files"].includes(table))
|
|
51
|
+
throw new Error("Unknown snapshot table.");
|
|
52
|
+
const hash = createHash("sha256");
|
|
53
|
+
const columns = table === "files" ? "key, size, sha256" : "key, value, sha256";
|
|
54
|
+
for (const row of db.prepare(`SELECT ${columns} FROM ${table} ORDER BY key`).iterate()) {
|
|
55
|
+
// Preserve native SQLite column order: it is part of the existing digest.
|
|
56
|
+
hash.update(JSON.stringify(row));
|
|
57
|
+
hash.update("\n");
|
|
58
|
+
}
|
|
59
|
+
return `sha256:${hash.digest("hex")}`;
|
|
60
|
+
}
|
|
61
|
+
function object(value, label) {
|
|
62
|
+
if (!isUnknownRecord(value))
|
|
63
|
+
throw new Error(`Invalid ${label}.`);
|
|
64
|
+
return value;
|
|
65
|
+
}
|
|
66
|
+
function string(value, label) {
|
|
67
|
+
if (typeof value !== "string")
|
|
68
|
+
throw new Error(`Invalid ${label}.`);
|
|
69
|
+
return value;
|
|
70
|
+
}
|
|
71
|
+
function number(value, label) {
|
|
72
|
+
if (typeof value !== "number" || !Number.isSafeInteger(value) || value < 0)
|
|
73
|
+
throw new Error(`Invalid ${label}.`);
|
|
74
|
+
return value;
|
|
75
|
+
}
|
|
76
|
+
function stringArray(value, label) {
|
|
77
|
+
if (!Array.isArray(value) || !value.every((entry) => typeof entry === "string"))
|
|
78
|
+
throw new Error(`Invalid ${label}.`);
|
|
79
|
+
return value;
|
|
80
|
+
}
|
|
81
|
+
function stringRecord(value, label) {
|
|
82
|
+
const fields = object(value, label);
|
|
83
|
+
for (const field of Object.values(fields))
|
|
84
|
+
string(field, label);
|
|
85
|
+
return fields;
|
|
86
|
+
}
|
|
87
|
+
function titleRecord(value) {
|
|
88
|
+
const fields = object(value, "PCR titles");
|
|
89
|
+
for (const field of Object.values(fields))
|
|
90
|
+
if (field !== null)
|
|
91
|
+
string(field, "PCR title");
|
|
92
|
+
return fields;
|
|
93
|
+
}
|
|
94
|
+
function json(text) { return JSON.parse(text); }
|
|
95
|
+
function pcrRecord(value) {
|
|
96
|
+
const record = object(value, "PCR record");
|
|
97
|
+
const languages = object(record.languages, "record languages");
|
|
98
|
+
const canonical = languages.canonical;
|
|
99
|
+
const available = languages.available;
|
|
100
|
+
if (canonical !== undefined)
|
|
101
|
+
string(canonical, "canonical language");
|
|
102
|
+
if (available !== undefined)
|
|
103
|
+
stringArray(available, "available languages");
|
|
104
|
+
const version = record.version;
|
|
105
|
+
const maturity = record.content_maturity;
|
|
106
|
+
if (version !== null)
|
|
107
|
+
string(version, "PCR version");
|
|
108
|
+
if (maturity !== null)
|
|
109
|
+
string(maturity, "PCR content maturity");
|
|
110
|
+
const kind = record.record_kind;
|
|
111
|
+
if (kind !== "methodology" && kind !== "legacy_scaffold_reference" && kind !== "invalid_lifecycle_state")
|
|
112
|
+
throw new Error("Invalid PCR record kind.");
|
|
113
|
+
if (!Array.isArray(record.classification_refs) || !record.classification_refs.every(isUnknownRecord))
|
|
114
|
+
throw new Error("Invalid PCR classification refs.");
|
|
115
|
+
assertCoreContract("readiness.schema.json", record.readiness);
|
|
116
|
+
return {
|
|
117
|
+
...record,
|
|
118
|
+
id: string(record.id, "PCR id"), path: string(record.path, "PCR path"),
|
|
119
|
+
title: titleRecord(record.title), status: string(record.status, "PCR status"),
|
|
120
|
+
version: version === null ? null : string(version, "PCR version"),
|
|
121
|
+
content_maturity: maturity === null ? null : string(maturity, "PCR content maturity"),
|
|
122
|
+
languages: {
|
|
123
|
+
...languages,
|
|
124
|
+
...(canonical === undefined ? {} : { canonical: string(canonical, "canonical language") }),
|
|
125
|
+
...(available === undefined ? {} : { available: stringArray(available, "available languages") }),
|
|
126
|
+
},
|
|
127
|
+
translation_status: stringRecord(record.translation_status, "translation status"),
|
|
128
|
+
classification_refs: record.classification_refs, record_kind: kind,
|
|
129
|
+
// Successful existing schema and semantic validation is the narrowing proof.
|
|
130
|
+
readiness: record.readiness,
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
function snapshot(value) {
|
|
134
|
+
const fields = object(value, "snapshot metadata");
|
|
135
|
+
return {
|
|
136
|
+
...fields,
|
|
137
|
+
available_languages: stringArray(fields.available_languages, "snapshot languages"),
|
|
138
|
+
content_version: string(fields.content_version, "content version"),
|
|
139
|
+
source_commit: string(fields.source_commit, "source commit"),
|
|
140
|
+
source_sha256: string(fields.source_sha256, "source fingerprint"),
|
|
141
|
+
records: number(fields.records, "record count"), material_records: number(fields.material_records, "material record count"),
|
|
142
|
+
aliases: number(fields.aliases, "alias count"), original_bytes: number(fields.original_bytes, "original byte count"),
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
function manifest(value) {
|
|
146
|
+
if (value.kind !== "tiangong-pcr-library" || value.format_version !== 1)
|
|
147
|
+
throw new Error("Invalid library manifest.");
|
|
148
|
+
const indexes = object(value.index_sha256, "index hashes");
|
|
149
|
+
// Keep original key order in sidecar/snapshot objects for historical equality.
|
|
150
|
+
const metadata = snapshot(value.snapshot);
|
|
151
|
+
const hashes = {
|
|
152
|
+
records: string(indexes.records, "records index hash"), aliases: string(indexes.aliases, "aliases index hash"),
|
|
153
|
+
coverage: string(indexes.coverage, "coverage index hash"), files: string(indexes.files, "files index hash"),
|
|
154
|
+
};
|
|
155
|
+
return { ...value, kind: value.kind, format_version: 1, snapshot: metadata,
|
|
156
|
+
bytes: number(value.bytes, "library byte length"), sha256: string(value.sha256, "library checksum"), index_sha256: hashes };
|
|
157
|
+
}
|
|
158
|
+
function rowValue(row, name) { return row?.[name]; }
|
|
159
|
+
/** Read-only adapter; all original content remains compressed until selected. */
|
|
160
|
+
export class OfflineLibrary {
|
|
161
|
+
filename;
|
|
162
|
+
root;
|
|
163
|
+
onArtifactRead;
|
|
164
|
+
languages = ["en-US"];
|
|
165
|
+
manifest;
|
|
166
|
+
db = null;
|
|
167
|
+
constructor(filename, { expectedSha256 = null, verify = false, onArtifactRead = null } = {}) {
|
|
168
|
+
this.filename = path.resolve(filename);
|
|
169
|
+
this.root = path.dirname(this.filename);
|
|
170
|
+
this.onArtifactRead = onArtifactRead;
|
|
171
|
+
try {
|
|
172
|
+
const decoded = object(json(UTF8_DECODER.decode(readFileSync(`${this.filename}.json`))), "library manifest");
|
|
173
|
+
if (decoded.format_version !== LIBRARY_FORMAT_VERSION) {
|
|
174
|
+
throw libraryError("PCR_LIBRARY_FORMAT_UNSUPPORTED", `Unsupported library format ${String(decoded.format_version)}; supported: ${LIBRARY_FORMAT_VERSION}.`);
|
|
175
|
+
}
|
|
176
|
+
if (JSON.stringify(isUnknownRecord(decoded.snapshot) ? decoded.snapshot.available_languages : undefined) !== JSON.stringify(this.languages))
|
|
177
|
+
throw new Error("Unsupported library language policy; expected English only.");
|
|
178
|
+
if (decoded.kind !== "tiangong-pcr-library" || !/^sha256:[a-f0-9]{64}$/u.test(String(decoded.sha256 ?? "")))
|
|
179
|
+
throw new Error("Invalid library manifest.");
|
|
180
|
+
this.manifest = manifest(decoded);
|
|
181
|
+
if (statSync(this.filename).size !== this.manifest.bytes)
|
|
182
|
+
throw new Error("Library byte length differs from manifest.");
|
|
183
|
+
if (expectedSha256 !== null && !/^sha256:[a-f0-9]{64}$/u.test(expectedSha256))
|
|
184
|
+
throw new Error("Expected SHA-256 must use sha256:<64 lowercase hex digits>.");
|
|
185
|
+
if (verify || expectedSha256 !== null) {
|
|
186
|
+
const digest = hashFile(this.filename);
|
|
187
|
+
if (digest !== this.manifest.sha256 || (expectedSha256 !== null && digest !== expectedSha256))
|
|
188
|
+
throw new Error("Library SHA-256 mismatch.");
|
|
189
|
+
}
|
|
190
|
+
const DatabaseSync = sqliteDatabase();
|
|
191
|
+
this.db = new DatabaseSync(this.filename, { readOnly: true, allowExtension: false, defensive: true });
|
|
192
|
+
this.db.exec("PRAGMA query_only = ON; PRAGMA trusted_schema = OFF; BEGIN;");
|
|
193
|
+
if (rowValue(this.db.prepare("PRAGMA user_version").get(), "user_version") !== LIBRARY_FORMAT_VERSION)
|
|
194
|
+
throw libraryError("PCR_LIBRARY_FORMAT_UNSUPPORTED", "SQLite format version does not match the reader.");
|
|
195
|
+
const metadata = json(string(rowValue(this.db.prepare("SELECT value FROM metadata WHERE key = 'snapshot'").get(), "value") ?? "null", "snapshot JSON"));
|
|
196
|
+
if (JSON.stringify(metadata) !== JSON.stringify(this.manifest.snapshot))
|
|
197
|
+
throw new Error("Snapshot identity differs from manifest.");
|
|
198
|
+
for (const table of ["records", "aliases", "coverage", "files"]) {
|
|
199
|
+
if (metadataDigest(this.db, table) !== this.manifest.index_sha256[table])
|
|
200
|
+
throw new Error(`Library ${table} index checksum mismatch.`);
|
|
201
|
+
}
|
|
202
|
+
if (verify && rowValue(this.db.prepare("PRAGMA integrity_check").get(), "integrity_check") !== "ok")
|
|
203
|
+
throw new Error("SQLite integrity check failed.");
|
|
204
|
+
}
|
|
205
|
+
catch (error) {
|
|
206
|
+
this.close();
|
|
207
|
+
if (errorCode(error).startsWith("PCR_LIBRARY_"))
|
|
208
|
+
throw error;
|
|
209
|
+
throw libraryError("PCR_LIBRARY_INVALID", `Cannot open offline library ${this.filename}: ${errorMessage(error)}`);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
close() { this.db?.close(); this.db = null; }
|
|
213
|
+
database() {
|
|
214
|
+
if (this.db === null)
|
|
215
|
+
throw libraryError("PCR_LIBRARY_INVALID", "Offline library is closed.");
|
|
216
|
+
return this.db;
|
|
217
|
+
}
|
|
218
|
+
row(table, key) {
|
|
219
|
+
const row = this.database().prepare(`SELECT value, sha256 FROM ${table} WHERE key = ?`).get(key);
|
|
220
|
+
if (!row)
|
|
221
|
+
return null;
|
|
222
|
+
const value = string(row.value, "snapshot JSON row");
|
|
223
|
+
if (sha256(value) !== row.sha256)
|
|
224
|
+
throw libraryError("PCR_LIBRARY_INVALID", `Invalid ${table} row: ${key}`);
|
|
225
|
+
return json(value);
|
|
226
|
+
}
|
|
227
|
+
listPcrs(scope) {
|
|
228
|
+
const where = scope === "all" ? "" : scope === "material" ? " WHERE kind = 'methodology'" : " WHERE kind = 'legacy_scaffold_reference'";
|
|
229
|
+
return this.database().prepare(`SELECT value FROM records${where} ORDER BY position`).all().map(row => pcrRecord(json(string(row.value, "PCR record JSON"))));
|
|
230
|
+
}
|
|
231
|
+
entry(id) {
|
|
232
|
+
const value = this.row("records", String(id));
|
|
233
|
+
if (value === null)
|
|
234
|
+
return null;
|
|
235
|
+
const record = object(value, "PCR record");
|
|
236
|
+
const relative = string(record.path, "PCR path");
|
|
237
|
+
return { id: string(record.id, "PCR id"), path: relative, manifestPath: path.join(this.root, relative, "manifest.yaml") };
|
|
238
|
+
}
|
|
239
|
+
findAlias(id) {
|
|
240
|
+
const value = this.row("aliases", String(id));
|
|
241
|
+
if (value === null)
|
|
242
|
+
return null;
|
|
243
|
+
if (!isPcrIdAlias(value))
|
|
244
|
+
throw libraryError("PCR_LIBRARY_INVALID", `Invalid aliases row: ${String(id)}`);
|
|
245
|
+
return value;
|
|
246
|
+
}
|
|
247
|
+
readFile(key) {
|
|
248
|
+
const row = this.database().prepare("SELECT data, size, sha256 FROM files WHERE key = ?").get(key);
|
|
249
|
+
if (!row)
|
|
250
|
+
throw libraryError("PCR_LIBRARY_ARTIFACT_MISSING", `Missing library artifact: ${key}`);
|
|
251
|
+
try {
|
|
252
|
+
if (!(row.data instanceof Uint8Array))
|
|
253
|
+
throw new Error("invalid compressed blob");
|
|
254
|
+
const size = number(row.size, "artifact size");
|
|
255
|
+
const bytes = inflateRawSync(row.data, { maxOutputLength: Math.max(1, size) });
|
|
256
|
+
if (bytes.length !== size || sha256(bytes) !== row.sha256)
|
|
257
|
+
throw new Error("checksum mismatch");
|
|
258
|
+
this.onArtifactRead?.(key);
|
|
259
|
+
return bytes;
|
|
260
|
+
}
|
|
261
|
+
catch (error) {
|
|
262
|
+
throw libraryError("PCR_LIBRARY_ARTIFACT_INVALID", `Invalid library artifact ${key}: ${errorMessage(error)}`);
|
|
263
|
+
}
|
|
264
|
+
}
|
|
265
|
+
snapshotFiles(entry) {
|
|
266
|
+
const manifestBytes = this.readFile(`${entry.path}/manifest.yaml`);
|
|
267
|
+
let manifestText;
|
|
268
|
+
try {
|
|
269
|
+
manifestText = UTF8_DECODER.decode(manifestBytes);
|
|
270
|
+
}
|
|
271
|
+
catch {
|
|
272
|
+
throw libraryError("PCR_LIBRARY_ARTIFACT_INVALID", `Invalid library artifact ${entry.path}/manifest.yaml: input is not valid UTF-8.`);
|
|
273
|
+
}
|
|
274
|
+
const manifest = object(parseYaml(manifestText), "PCR manifest");
|
|
275
|
+
if (manifest.id !== entry.id)
|
|
276
|
+
throw libraryError("PCR_LIBRARY_INVALID", "PCR manifest identity mismatch.");
|
|
277
|
+
const artifacts = Object.fromEntries(["pcr.en-US.md", "structured.yaml"].map(name => [name, { bytes: this.readFile(`${entry.path}/${name}`) }]));
|
|
278
|
+
for (const [name, expected] of Object.entries(manifest.release_artifacts ? expectedPcrArtifactHashes(manifest) : {})) {
|
|
279
|
+
if (!Object.hasOwn(artifacts, name))
|
|
280
|
+
continue;
|
|
281
|
+
if (manifest.release_artifacts && sha256(artifacts[name]?.bytes ?? Buffer.alloc(0)) !== expected)
|
|
282
|
+
throw libraryError("PCR_LIBRARY_ARTIFACT_INVALID", `Release artifact hash mismatch: ${entry.path}/${name}`);
|
|
283
|
+
}
|
|
284
|
+
return { manifest, manifestBytes, artifacts };
|
|
285
|
+
}
|
|
286
|
+
coverageSnapshot(system, version) {
|
|
287
|
+
const key = `${String(system).toLowerCase()}:${String(version)}`;
|
|
288
|
+
const value = this.row("coverage", key);
|
|
289
|
+
if (value === null)
|
|
290
|
+
throw new PcrClassificationCoverageNotFoundError({ system: String(system), version: String(version), relativePath: `classifications/indexes/${String(system)}-${String(version)}-coverage.json` });
|
|
291
|
+
if (!isCoverageSnapshot(value))
|
|
292
|
+
throw libraryError("PCR_LIBRARY_INVALID", "Invalid coverage snapshot.");
|
|
293
|
+
return value;
|
|
294
|
+
}
|
|
295
|
+
}
|
|
296
|
+
function isCoverageSnapshot(value) {
|
|
297
|
+
if (!isUnknownRecord(value) || typeof value.relative_path !== "string" || typeof value.sha256 !== "string")
|
|
298
|
+
return false;
|
|
299
|
+
assertCoreContract("classification-coverage.schema.json", value.document);
|
|
300
|
+
return true;
|
|
301
|
+
}
|
|
302
|
+
//# sourceMappingURL=offline-library.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"offline-library.js","sourceRoot":"pcr://source/","sources":["packages/pcr-core/src/offline-library.ts"],"names":[],"mappings":"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","sourcesContent":["import { createHash, type BinaryLike } from \"node:crypto\";\nimport { createRequire } from \"node:module\";\nimport { closeSync, openSync, readSync, readFileSync, statSync } from \"node:fs\";\nimport type { DatabaseSync, SQLOutputValue } from \"node:sqlite\";\nimport path from \"node:path\";\nimport { inflateRawSync } from \"node:zlib\";\nimport { parseYaml } from \"./yaml-lite.ts\";\nimport { expectedPcrArtifactHashes } from \"./languages.ts\";\nimport { PcrClassificationCoverageNotFoundError } from \"./classification-coverage.ts\";\nimport { isPcrIdAlias } from \"./pcr-id-aliases.ts\";\nimport { assertCoreContract } from \"./contracts.ts\";\nimport { isUnknownRecord, errorCode, errorMessage } from \"./types.ts\";\nimport type { CatalogEntry, CapturedPcrSnapshot, CoverageSnapshot, OfflineManifest, OfflineSnapshot, PcrCatalogScope, PcrIdAlias, PcrRecord, PcrSource, Readiness, UnknownRecord } from \"./types.ts\";\n\nexport const LIBRARY_FORMAT_VERSION = 1;\nconst UTF8_DECODER = new TextDecoder(\"utf-8\", { fatal: true, ignoreBOM: true });\nexport const sha256 = (bytes: BinaryLike): string => `sha256:${createHash(\"sha256\").update(bytes).digest(\"hex\")}`;\nexport function libraryError(code: string, message: string): Error & { code: string } {\n return Object.assign(new Error(message), { code });\n}\n\n/** The provider can import this module without eagerly loading SQLite. */\nexport function sqliteDatabase(): typeof DatabaseSync {\n const [major = 0, minor = 0] = process.versions.node.split(\".\").map(Number);\n if (major < 24 || (major === 24 && minor < 19)) {\n throw libraryError(\"PCR_LIBRARY_RUNTIME_UNSUPPORTED\", \"Offline libraries require Node.js 24.19 or newer.\");\n }\n const sqlite: unknown = createRequire(import.meta.url)(\"node:sqlite\");\n if (!isSqliteModule(sqlite)) throw libraryError(\"PCR_LIBRARY_RUNTIME_UNSUPPORTED\", \"Node SQLite DatabaseSync is unavailable.\");\n return sqlite.DatabaseSync;\n}\nfunction isSqliteModule(value: unknown): value is { DatabaseSync: typeof DatabaseSync } {\n if (!isUnknownRecord(value) || typeof value.DatabaseSync !== \"function\") return false;\n const prototype: unknown = value.DatabaseSync.prototype;\n return isUnknownRecord(prototype) && [\"prepare\", \"exec\", \"close\"].every(name => typeof prototype[name] === \"function\");\n}\nexport function hashFile(filename: string): string {\n const hash = createHash(\"sha256\");\n const fd = openSync(filename, \"r\");\n const buffer = Buffer.alloc(1024 * 1024);\n try {\n let count: number;\n while ((count = readSync(fd, buffer, 0, buffer.length, null))) hash.update(buffer.subarray(0, count));\n return `sha256:${hash.digest(\"hex\")}`;\n } finally { closeSync(fd); }\n}\nexport type SnapshotTable = \"records\" | \"aliases\" | \"coverage\" | \"files\";\nexport function metadataDigest(db: DatabaseSync, table: SnapshotTable): string {\n if (![\"records\", \"aliases\", \"coverage\", \"files\"].includes(table)) throw new Error(\"Unknown snapshot table.\");\n const hash = createHash(\"sha256\");\n const columns = table === \"files\" ? \"key, size, sha256\" : \"key, value, sha256\";\n for (const row of db.prepare(`SELECT ${columns} FROM ${table} ORDER BY key`).iterate()) {\n // Preserve native SQLite column order: it is part of the existing digest.\n hash.update(JSON.stringify(row)); hash.update(\"\\n\");\n }\n return `sha256:${hash.digest(\"hex\")}`;\n}\nfunction object(value: unknown, label: string): UnknownRecord {\n if (!isUnknownRecord(value)) throw new Error(`Invalid ${label}.`);\n return value;\n}\nfunction string(value: unknown, label: string): string {\n if (typeof value !== \"string\") throw new Error(`Invalid ${label}.`);\n return value;\n}\nfunction number(value: unknown, label: string): number {\n if (typeof value !== \"number\" || !Number.isSafeInteger(value) || value < 0) throw new Error(`Invalid ${label}.`);\n return value;\n}\nfunction stringArray(value: unknown, label: string): string[] {\n if (!Array.isArray(value) || !value.every((entry: unknown) => typeof entry === \"string\")) throw new Error(`Invalid ${label}.`);\n return value as string[];\n}\nfunction stringRecord(value: unknown, label: string): Record<string, string> {\n const fields = object(value, label);\n for (const field of Object.values(fields)) string(field, label);\n return fields as Record<string, string>;\n}\nfunction titleRecord(value: unknown): Record<string, string | null> {\n const fields = object(value, \"PCR titles\");\n for (const field of Object.values(fields)) if (field !== null) string(field, \"PCR title\");\n return fields as Record<string, string | null>;\n}\nfunction json(text: string): unknown { return JSON.parse(text) as unknown; }\nfunction pcrRecord(value: unknown): PcrRecord {\n const record = object(value, \"PCR record\");\n const languages = object(record.languages, \"record languages\");\n const canonical = languages.canonical;\n const available = languages.available;\n if (canonical !== undefined) string(canonical, \"canonical language\");\n if (available !== undefined) stringArray(available, \"available languages\");\n const version = record.version;\n const maturity = record.content_maturity;\n if (version !== null) string(version, \"PCR version\");\n if (maturity !== null) string(maturity, \"PCR content maturity\");\n const kind = record.record_kind;\n if (kind !== \"methodology\" && kind !== \"legacy_scaffold_reference\" && kind !== \"invalid_lifecycle_state\") throw new Error(\"Invalid PCR record kind.\");\n if (!Array.isArray(record.classification_refs) || !record.classification_refs.every(isUnknownRecord)) throw new Error(\"Invalid PCR classification refs.\");\n assertCoreContract(\"readiness.schema.json\", record.readiness);\n return {\n ...record,\n id: string(record.id, \"PCR id\"), path: string(record.path, \"PCR path\"),\n title: titleRecord(record.title), status: string(record.status, \"PCR status\"),\n version: version === null ? null : string(version, \"PCR version\"),\n content_maturity: maturity === null ? null : string(maturity, \"PCR content maturity\"),\n languages: {\n ...languages,\n ...(canonical === undefined ? {} : { canonical: string(canonical, \"canonical language\") }),\n ...(available === undefined ? {} : { available: stringArray(available, \"available languages\") }),\n },\n translation_status: stringRecord(record.translation_status, \"translation status\"),\n classification_refs: record.classification_refs, record_kind: kind,\n // Successful existing schema and semantic validation is the narrowing proof.\n readiness: record.readiness as Readiness,\n };\n}\nfunction snapshot(value: unknown): OfflineSnapshot {\n const fields = object(value, \"snapshot metadata\");\n return {\n ...fields,\n available_languages: stringArray(fields.available_languages, \"snapshot languages\"),\n content_version: string(fields.content_version, \"content version\"),\n source_commit: string(fields.source_commit, \"source commit\"),\n source_sha256: string(fields.source_sha256, \"source fingerprint\"),\n records: number(fields.records, \"record count\"), material_records: number(fields.material_records, \"material record count\"),\n aliases: number(fields.aliases, \"alias count\"), original_bytes: number(fields.original_bytes, \"original byte count\"),\n };\n}\nfunction manifest(value: UnknownRecord): OfflineManifest {\n if (value.kind !== \"tiangong-pcr-library\" || value.format_version !== 1) throw new Error(\"Invalid library manifest.\");\n const indexes = object(value.index_sha256, \"index hashes\");\n // Keep original key order in sidecar/snapshot objects for historical equality.\n const metadata = snapshot(value.snapshot);\n const hashes: Record<SnapshotTable, string> = {\n records: string(indexes.records, \"records index hash\"), aliases: string(indexes.aliases, \"aliases index hash\"),\n coverage: string(indexes.coverage, \"coverage index hash\"), files: string(indexes.files, \"files index hash\"),\n };\n return { ...value, kind: value.kind, format_version: 1, snapshot: metadata,\n bytes: number(value.bytes, \"library byte length\"), sha256: string(value.sha256, \"library checksum\"), index_sha256: hashes };\n}\nfunction rowValue(row: Record<string, SQLOutputValue> | undefined, name: string): unknown { return row?.[name]; }\n\nexport interface OfflineLibraryOptions { expectedSha256?: string | null; verify?: boolean; onArtifactRead?: ((key: string) => void) | null }\n/** Read-only adapter; all original content remains compressed until selected. */\nexport class OfflineLibrary implements PcrSource {\n readonly filename: string;\n readonly root: string;\n readonly onArtifactRead: ((key: string) => void) | null;\n readonly languages = [\"en-US\"];\n readonly manifest: OfflineManifest;\n db: DatabaseSync | null = null;\n\n constructor(filename: string, { expectedSha256 = null, verify = false, onArtifactRead = null }: OfflineLibraryOptions = {}) {\n this.filename = path.resolve(filename);\n this.root = path.dirname(this.filename);\n this.onArtifactRead = onArtifactRead;\n try {\n const decoded = object(json(UTF8_DECODER.decode(readFileSync(`${this.filename}.json`))), \"library manifest\");\n if (decoded.format_version !== LIBRARY_FORMAT_VERSION) {\n throw libraryError(\"PCR_LIBRARY_FORMAT_UNSUPPORTED\", `Unsupported library format ${String(decoded.format_version)}; supported: ${LIBRARY_FORMAT_VERSION}.`);\n }\n if (JSON.stringify(isUnknownRecord(decoded.snapshot) ? decoded.snapshot.available_languages : undefined) !== JSON.stringify(this.languages)) throw new Error(\"Unsupported library language policy; expected English only.\");\n if (decoded.kind !== \"tiangong-pcr-library\" || !/^sha256:[a-f0-9]{64}$/u.test(String(decoded.sha256 ?? \"\"))) throw new Error(\"Invalid library manifest.\");\n this.manifest = manifest(decoded);\n if (statSync(this.filename).size !== this.manifest.bytes) throw new Error(\"Library byte length differs from manifest.\");\n if (expectedSha256 !== null && !/^sha256:[a-f0-9]{64}$/u.test(expectedSha256)) throw new Error(\"Expected SHA-256 must use sha256:<64 lowercase hex digits>.\");\n if (verify || expectedSha256 !== null) {\n const digest = hashFile(this.filename);\n if (digest !== this.manifest.sha256 || (expectedSha256 !== null && digest !== expectedSha256)) throw new Error(\"Library SHA-256 mismatch.\");\n }\n const DatabaseSync = sqliteDatabase();\n this.db = new DatabaseSync(this.filename, { readOnly: true, allowExtension: false, defensive: true });\n this.db.exec(\"PRAGMA query_only = ON; PRAGMA trusted_schema = OFF; BEGIN;\");\n if (rowValue(this.db.prepare(\"PRAGMA user_version\").get(), \"user_version\") !== LIBRARY_FORMAT_VERSION) throw libraryError(\"PCR_LIBRARY_FORMAT_UNSUPPORTED\", \"SQLite format version does not match the reader.\");\n const metadata = json(string(rowValue(this.db.prepare(\"SELECT value FROM metadata WHERE key = 'snapshot'\").get(), \"value\") ?? \"null\", \"snapshot JSON\"));\n if (JSON.stringify(metadata) !== JSON.stringify(this.manifest.snapshot)) throw new Error(\"Snapshot identity differs from manifest.\");\n for (const table of [\"records\", \"aliases\", \"coverage\", \"files\"] as const) {\n if (metadataDigest(this.db, table) !== this.manifest.index_sha256[table]) throw new Error(`Library ${table} index checksum mismatch.`);\n }\n if (verify && rowValue(this.db.prepare(\"PRAGMA integrity_check\").get(), \"integrity_check\") !== \"ok\") throw new Error(\"SQLite integrity check failed.\");\n } catch (error: unknown) {\n this.close();\n if (errorCode(error).startsWith(\"PCR_LIBRARY_\")) throw error;\n throw libraryError(\"PCR_LIBRARY_INVALID\", `Cannot open offline library ${this.filename}: ${errorMessage(error)}`);\n }\n }\n close(): void { this.db?.close(); this.db = null; }\n private database(): DatabaseSync {\n if (this.db === null) throw libraryError(\"PCR_LIBRARY_INVALID\", \"Offline library is closed.\");\n return this.db;\n }\n row(table: Exclude<SnapshotTable, \"files\">, key: string): unknown {\n const row = this.database().prepare(`SELECT value, sha256 FROM ${table} WHERE key = ?`).get(key);\n if (!row) return null;\n const value = string(row.value, \"snapshot JSON row\");\n if (sha256(value) !== row.sha256) throw libraryError(\"PCR_LIBRARY_INVALID\", `Invalid ${table} row: ${key}`);\n return json(value);\n }\n listPcrs(scope: PcrCatalogScope): PcrRecord[] {\n const where = scope === \"all\" ? \"\" : scope === \"material\" ? \" WHERE kind = 'methodology'\" : \" WHERE kind = 'legacy_scaffold_reference'\";\n return this.database().prepare(`SELECT value FROM records${where} ORDER BY position`).all().map(row => pcrRecord(json(string(row.value, \"PCR record JSON\"))));\n }\n entry(id: unknown): CatalogEntry | null {\n const value = this.row(\"records\", String(id));\n if (value === null) return null;\n const record = object(value, \"PCR record\");\n const relative = string(record.path, \"PCR path\");\n return { id: string(record.id, \"PCR id\"), path: relative, manifestPath: path.join(this.root, relative, \"manifest.yaml\") };\n }\n findAlias(id: unknown): PcrIdAlias | null {\n const value = this.row(\"aliases\", String(id));\n if (value === null) return null;\n if (!isPcrIdAlias(value)) throw libraryError(\"PCR_LIBRARY_INVALID\", `Invalid aliases row: ${String(id)}`);\n return value;\n }\n readFile(key: string): Buffer {\n const row = this.database().prepare(\"SELECT data, size, sha256 FROM files WHERE key = ?\").get(key);\n if (!row) throw libraryError(\"PCR_LIBRARY_ARTIFACT_MISSING\", `Missing library artifact: ${key}`);\n try {\n if (!(row.data instanceof Uint8Array)) throw new Error(\"invalid compressed blob\");\n const size = number(row.size, \"artifact size\");\n const bytes = inflateRawSync(row.data, { maxOutputLength: Math.max(1, size) });\n if (bytes.length !== size || sha256(bytes) !== row.sha256) throw new Error(\"checksum mismatch\");\n this.onArtifactRead?.(key);\n return bytes;\n } catch (error: unknown) { throw libraryError(\"PCR_LIBRARY_ARTIFACT_INVALID\", `Invalid library artifact ${key}: ${errorMessage(error)}`); }\n }\n snapshotFiles(entry: CatalogEntry): CapturedPcrSnapshot {\n const manifestBytes = this.readFile(`${entry.path}/manifest.yaml`);\n let manifestText: string;\n try { manifestText = UTF8_DECODER.decode(manifestBytes); }\n catch { throw libraryError(\"PCR_LIBRARY_ARTIFACT_INVALID\", `Invalid library artifact ${entry.path}/manifest.yaml: input is not valid UTF-8.`); }\n const manifest = object(parseYaml(manifestText), \"PCR manifest\");\n if (manifest.id !== entry.id) throw libraryError(\"PCR_LIBRARY_INVALID\", \"PCR manifest identity mismatch.\");\n const artifacts: CapturedPcrSnapshot[\"artifacts\"] = Object.fromEntries([\"pcr.en-US.md\", \"structured.yaml\"].map(name => [name, { bytes: this.readFile(`${entry.path}/${name}`) }]));\n for (const [name, expected] of Object.entries(manifest.release_artifacts ? expectedPcrArtifactHashes(manifest) : {})) {\n if (!Object.hasOwn(artifacts, name)) continue;\n if (manifest.release_artifacts && sha256(artifacts[name]?.bytes ?? Buffer.alloc(0)) !== expected) throw libraryError(\"PCR_LIBRARY_ARTIFACT_INVALID\", `Release artifact hash mismatch: ${entry.path}/${name}`);\n }\n return { manifest, manifestBytes, artifacts };\n }\n coverageSnapshot(system: unknown, version: unknown): CoverageSnapshot {\n const key = `${String(system).toLowerCase()}:${String(version)}`;\n const value = this.row(\"coverage\", key);\n if (value === null) throw new PcrClassificationCoverageNotFoundError({ system: String(system), version: String(version), relativePath: `classifications/indexes/${String(system)}-${String(version)}-coverage.json` });\n if (!isCoverageSnapshot(value)) throw libraryError(\"PCR_LIBRARY_INVALID\", \"Invalid coverage snapshot.\");\n return value;\n }\n}\n\nfunction isCoverageSnapshot(value: unknown): value is CoverageSnapshot {\n if (!isUnknownRecord(value) || typeof value.relative_path !== \"string\" || typeof value.sha256 !== \"string\") return false;\n assertCoreContract(\"classification-coverage.schema.json\", value.document);\n return true;\n}\n"]}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
function semanticIssue(code, instancePath, message, params = {}) {
|
|
2
|
+
return {
|
|
3
|
+
code: `semantic.${code}`,
|
|
4
|
+
instance_path: instancePath,
|
|
5
|
+
schema_path: `#/x-semantic/${code.replaceAll(".", "/")}`,
|
|
6
|
+
keyword: "semantic",
|
|
7
|
+
message,
|
|
8
|
+
params,
|
|
9
|
+
};
|
|
10
|
+
}
|
|
11
|
+
export function readinessSemanticIssues(readiness) {
|
|
12
|
+
const issues = [];
|
|
13
|
+
const blockers = readiness.blockers;
|
|
14
|
+
const fingerprint = readiness.projection_fingerprint;
|
|
15
|
+
const usable = readiness.usable_for_guidance && readiness.usable_for_validation;
|
|
16
|
+
if (readiness.usable_for_guidance !== readiness.usable_for_validation) {
|
|
17
|
+
issues.push(semanticIssue("readiness.usability_alignment", "/usable_for_validation", "guidance and validation usability must have the same value."));
|
|
18
|
+
}
|
|
19
|
+
if (blockers.length > 0) {
|
|
20
|
+
if (readiness.status !== "unavailable") {
|
|
21
|
+
issues.push(semanticIssue("readiness.blocked_status", "/status", "readiness with blockers must be unavailable.", { blocker_count: blockers.length }));
|
|
22
|
+
}
|
|
23
|
+
if (usable || readiness.usable_for_guidance || readiness.usable_for_validation) {
|
|
24
|
+
issues.push(semanticIssue("readiness.blocked_usability", "/usable_for_guidance", "readiness with blockers must not be usable for guidance or validation.", { blocker_count: blockers.length }));
|
|
25
|
+
}
|
|
26
|
+
}
|
|
27
|
+
else {
|
|
28
|
+
if (readiness.status === "unavailable") {
|
|
29
|
+
issues.push(semanticIssue("readiness.unavailable_without_blocker", "/status", "unavailable readiness must include at least one blocker."));
|
|
30
|
+
}
|
|
31
|
+
if (!usable) {
|
|
32
|
+
issues.push(semanticIssue("readiness.unblocked_usability", "/usable_for_guidance", "readiness without blockers must be usable for guidance and validation."));
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
if (!fingerprint.required) {
|
|
36
|
+
if (fingerprint.status !== "not_required" ||
|
|
37
|
+
fingerprint.schema_valid !== null ||
|
|
38
|
+
fingerprint.issues.length > 0) {
|
|
39
|
+
issues.push(semanticIssue("readiness.fingerprint_not_required", "/projection_fingerprint/status", "a non-required projection fingerprint must be not_required with no schema result or issues."));
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
if (fingerprint.status === "current") {
|
|
43
|
+
if (fingerprint.schema_valid !== true ||
|
|
44
|
+
fingerprint.source_hash_valid !== true ||
|
|
45
|
+
fingerprint.content_hash_valid !== true ||
|
|
46
|
+
fingerprint.issues.length > 0) {
|
|
47
|
+
issues.push(semanticIssue("readiness.current_fingerprint", "/projection_fingerprint/status", "a current projection fingerprint requires valid schema, source hash, content hash, and no issues."));
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
if (fingerprint.required && usable && fingerprint.status !== "current") {
|
|
51
|
+
issues.push(semanticIssue("readiness.usable_fingerprint", "/projection_fingerprint/status", "usable material PCR readiness requires a current projection fingerprint."));
|
|
52
|
+
}
|
|
53
|
+
return issues.sort(compareIssues);
|
|
54
|
+
}
|
|
55
|
+
export function validationReportSemanticIssues(report) {
|
|
56
|
+
const issues = [];
|
|
57
|
+
const summary = countFindings(report.findings);
|
|
58
|
+
const performed = report.check_coverage.checks_performed;
|
|
59
|
+
const skipped = report.check_coverage.checks_skipped;
|
|
60
|
+
const checkedRequirementCount = performed.reduce((total, check) => total + check.requirement_count, 0);
|
|
61
|
+
const skippedRequirementCount = skipped.reduce((total, check) => total + check.requirement_count, 0);
|
|
62
|
+
if (report.finding_count !== report.findings.length) {
|
|
63
|
+
issues.push(semanticIssue("validation.finding_count", "/finding_count", "finding_count must equal findings.length.", { expected: report.findings.length, actual: report.finding_count }));
|
|
64
|
+
}
|
|
65
|
+
for (const severity of ["error", "warning", "info"]) {
|
|
66
|
+
if (report.finding_summary[severity] !== summary[severity]) {
|
|
67
|
+
issues.push(semanticIssue(`validation.finding_summary.${severity}`, `/finding_summary/${severity}`, `${severity} finding summary must equal the findings array count.`, { expected: summary[severity], actual: report.finding_summary[severity] }));
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
for (const [index, check] of performed.entries()) {
|
|
71
|
+
if (check.evaluated_requirement_count !== check.requirement_count) {
|
|
72
|
+
issues.push(semanticIssue("validation.performed_check_coverage", `/check_coverage/checks_performed/${index}/evaluated_requirement_count`, "a performed check must evaluate every requirement it declares.", {
|
|
73
|
+
requirement_count: check.requirement_count,
|
|
74
|
+
evaluated_requirement_count: check.evaluated_requirement_count,
|
|
75
|
+
}));
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
const coverage = report.check_coverage;
|
|
79
|
+
if (coverage.checked_requirement_count !== checkedRequirementCount) {
|
|
80
|
+
issues.push(semanticIssue("validation.checked_requirement_count", "/check_coverage/checked_requirement_count", "checked_requirement_count must equal the sum of performed requirement counts.", { expected: checkedRequirementCount, actual: coverage.checked_requirement_count }));
|
|
81
|
+
}
|
|
82
|
+
if (coverage.skipped_requirement_count !== skippedRequirementCount) {
|
|
83
|
+
issues.push(semanticIssue("validation.skipped_requirement_count", "/check_coverage/skipped_requirement_count", "skipped_requirement_count must equal the sum of skipped requirement counts.", { expected: skippedRequirementCount, actual: coverage.skipped_requirement_count }));
|
|
84
|
+
}
|
|
85
|
+
const totalRequirementCount = checkedRequirementCount + skippedRequirementCount;
|
|
86
|
+
if (coverage.total_requirement_count !== totalRequirementCount) {
|
|
87
|
+
issues.push(semanticIssue("validation.total_requirement_count", "/check_coverage/total_requirement_count", "total_requirement_count must equal checked plus skipped requirements.", { expected: totalRequirementCount, actual: coverage.total_requirement_count }));
|
|
88
|
+
}
|
|
89
|
+
const expectedCompleteness = performed.length === 0
|
|
90
|
+
? "none"
|
|
91
|
+
: skipped.length > 0
|
|
92
|
+
? "partial"
|
|
93
|
+
: "complete";
|
|
94
|
+
if (report.completeness !== expectedCompleteness) {
|
|
95
|
+
issues.push(semanticIssue("validation.completeness", "/completeness", "completeness must reflect performed and skipped checks.", { expected: expectedCompleteness, actual: report.completeness }));
|
|
96
|
+
}
|
|
97
|
+
const expectedStatus = summary.error > 0
|
|
98
|
+
? "failed"
|
|
99
|
+
: performed.length === 0
|
|
100
|
+
? "inconclusive"
|
|
101
|
+
: "passed";
|
|
102
|
+
if (report.validation_status !== expectedStatus) {
|
|
103
|
+
issues.push(semanticIssue("validation.status", "/validation_status", "validation_status must reflect error findings and performed coverage.", { expected: expectedStatus, actual: report.validation_status }));
|
|
104
|
+
}
|
|
105
|
+
if (!report.input.accepted && performed.length > 0) {
|
|
106
|
+
issues.push(semanticIssue("validation.rejected_input_coverage", "/check_coverage/checks_performed", "rejected input must not report performed checks."));
|
|
107
|
+
}
|
|
108
|
+
return issues.sort(compareIssues);
|
|
109
|
+
}
|
|
110
|
+
function countFindings(findings) {
|
|
111
|
+
const summary = { error: 0, warning: 0, info: 0 };
|
|
112
|
+
for (const finding of findings) {
|
|
113
|
+
summary[finding.severity] += 1;
|
|
114
|
+
}
|
|
115
|
+
return summary;
|
|
116
|
+
}
|
|
117
|
+
function compareIssues(left, right) {
|
|
118
|
+
return (left.instance_path.localeCompare(right.instance_path) ||
|
|
119
|
+
left.code.localeCompare(right.code) ||
|
|
120
|
+
left.message.localeCompare(right.message));
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=output-semantics.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"output-semantics.js","sourceRoot":"pcr://source/","sources":["packages/pcr-core/src/output-semantics.ts"],"names":[],"mappings":"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","sourcesContent":["import type { Readiness, ValidationReport, SchemaIssue, ValidationFinding } from \"./types.ts\";\nfunction semanticIssue(code: string, instancePath: string, message: string, params: Record<string, unknown> = {}): SchemaIssue {\n return {\n code: `semantic.${code}`,\n instance_path: instancePath,\n schema_path: `#/x-semantic/${code.replaceAll(\".\", \"/\")}`,\n keyword: \"semantic\",\n message,\n params,\n };\n}\n\nexport function readinessSemanticIssues(readiness: Readiness): SchemaIssue[] {\n const issues: SchemaIssue[] = [];\n const blockers = readiness.blockers;\n const fingerprint = readiness.projection_fingerprint;\n const usable = readiness.usable_for_guidance && readiness.usable_for_validation;\n\n if (readiness.usable_for_guidance !== readiness.usable_for_validation) {\n issues.push(semanticIssue(\n \"readiness.usability_alignment\",\n \"/usable_for_validation\",\n \"guidance and validation usability must have the same value.\",\n ));\n }\n\n if (blockers.length > 0) {\n if (readiness.status !== \"unavailable\") {\n issues.push(semanticIssue(\n \"readiness.blocked_status\",\n \"/status\",\n \"readiness with blockers must be unavailable.\",\n { blocker_count: blockers.length },\n ));\n }\n if (usable || readiness.usable_for_guidance || readiness.usable_for_validation) {\n issues.push(semanticIssue(\n \"readiness.blocked_usability\",\n \"/usable_for_guidance\",\n \"readiness with blockers must not be usable for guidance or validation.\",\n { blocker_count: blockers.length },\n ));\n }\n } else {\n if (readiness.status === \"unavailable\") {\n issues.push(semanticIssue(\n \"readiness.unavailable_without_blocker\",\n \"/status\",\n \"unavailable readiness must include at least one blocker.\",\n ));\n }\n if (!usable) {\n issues.push(semanticIssue(\n \"readiness.unblocked_usability\",\n \"/usable_for_guidance\",\n \"readiness without blockers must be usable for guidance and validation.\",\n ));\n }\n }\n\n if (!fingerprint.required) {\n if (\n fingerprint.status !== \"not_required\" ||\n fingerprint.schema_valid !== null ||\n fingerprint.issues.length > 0\n ) {\n issues.push(semanticIssue(\n \"readiness.fingerprint_not_required\",\n \"/projection_fingerprint/status\",\n \"a non-required projection fingerprint must be not_required with no schema result or issues.\",\n ));\n }\n }\n\n if (fingerprint.status === \"current\") {\n if (\n fingerprint.schema_valid !== true ||\n fingerprint.source_hash_valid !== true ||\n fingerprint.content_hash_valid !== true ||\n fingerprint.issues.length > 0\n ) {\n issues.push(semanticIssue(\n \"readiness.current_fingerprint\",\n \"/projection_fingerprint/status\",\n \"a current projection fingerprint requires valid schema, source hash, content hash, and no issues.\",\n ));\n }\n }\n\n if (fingerprint.required && usable && fingerprint.status !== \"current\") {\n issues.push(semanticIssue(\n \"readiness.usable_fingerprint\",\n \"/projection_fingerprint/status\",\n \"usable material PCR readiness requires a current projection fingerprint.\",\n ));\n }\n\n return issues.sort(compareIssues);\n}\n\nexport function validationReportSemanticIssues(report: ValidationReport): SchemaIssue[] {\n const issues: SchemaIssue[] = [];\n const summary = countFindings(report.findings);\n const performed = report.check_coverage.checks_performed;\n const skipped = report.check_coverage.checks_skipped;\n const checkedRequirementCount = performed.reduce(\n (total, check) => total + check.requirement_count,\n 0,\n );\n const skippedRequirementCount = skipped.reduce(\n (total, check) => total + check.requirement_count,\n 0,\n );\n\n if (report.finding_count !== report.findings.length) {\n issues.push(semanticIssue(\n \"validation.finding_count\",\n \"/finding_count\",\n \"finding_count must equal findings.length.\",\n { expected: report.findings.length, actual: report.finding_count },\n ));\n }\n\n for (const severity of [\"error\", \"warning\", \"info\"] as const) {\n if (report.finding_summary[severity] !== summary[severity]) {\n issues.push(semanticIssue(\n `validation.finding_summary.${severity}`,\n `/finding_summary/${severity}`,\n `${severity} finding summary must equal the findings array count.`,\n { expected: summary[severity], actual: report.finding_summary[severity] },\n ));\n }\n }\n\n for (const [index, check] of performed.entries()) {\n if (check.evaluated_requirement_count !== check.requirement_count) {\n issues.push(semanticIssue(\n \"validation.performed_check_coverage\",\n `/check_coverage/checks_performed/${index}/evaluated_requirement_count`,\n \"a performed check must evaluate every requirement it declares.\",\n {\n requirement_count: check.requirement_count,\n evaluated_requirement_count: check.evaluated_requirement_count,\n },\n ));\n }\n }\n\n const coverage = report.check_coverage;\n if (coverage.checked_requirement_count !== checkedRequirementCount) {\n issues.push(semanticIssue(\n \"validation.checked_requirement_count\",\n \"/check_coverage/checked_requirement_count\",\n \"checked_requirement_count must equal the sum of performed requirement counts.\",\n { expected: checkedRequirementCount, actual: coverage.checked_requirement_count },\n ));\n }\n if (coverage.skipped_requirement_count !== skippedRequirementCount) {\n issues.push(semanticIssue(\n \"validation.skipped_requirement_count\",\n \"/check_coverage/skipped_requirement_count\",\n \"skipped_requirement_count must equal the sum of skipped requirement counts.\",\n { expected: skippedRequirementCount, actual: coverage.skipped_requirement_count },\n ));\n }\n const totalRequirementCount = checkedRequirementCount + skippedRequirementCount;\n if (coverage.total_requirement_count !== totalRequirementCount) {\n issues.push(semanticIssue(\n \"validation.total_requirement_count\",\n \"/check_coverage/total_requirement_count\",\n \"total_requirement_count must equal checked plus skipped requirements.\",\n { expected: totalRequirementCount, actual: coverage.total_requirement_count },\n ));\n }\n\n const expectedCompleteness = performed.length === 0\n ? \"none\"\n : skipped.length > 0\n ? \"partial\"\n : \"complete\";\n if (report.completeness !== expectedCompleteness) {\n issues.push(semanticIssue(\n \"validation.completeness\",\n \"/completeness\",\n \"completeness must reflect performed and skipped checks.\",\n { expected: expectedCompleteness, actual: report.completeness },\n ));\n }\n\n const expectedStatus = summary.error > 0\n ? \"failed\"\n : performed.length === 0\n ? \"inconclusive\"\n : \"passed\";\n if (report.validation_status !== expectedStatus) {\n issues.push(semanticIssue(\n \"validation.status\",\n \"/validation_status\",\n \"validation_status must reflect error findings and performed coverage.\",\n { expected: expectedStatus, actual: report.validation_status },\n ));\n }\n\n if (!report.input.accepted && performed.length > 0) {\n issues.push(semanticIssue(\n \"validation.rejected_input_coverage\",\n \"/check_coverage/checks_performed\",\n \"rejected input must not report performed checks.\",\n ));\n }\n\n return issues.sort(compareIssues);\n}\n\nfunction countFindings(findings: readonly ValidationFinding[]): Record<ValidationFinding[\"severity\"], number> {\n const summary = { error: 0, warning: 0, info: 0 };\n for (const finding of findings) {\n summary[finding.severity] += 1;\n }\n return summary;\n}\n\nfunction compareIssues(left: SchemaIssue, right: SchemaIssue): number {\n return (\n left.instance_path.localeCompare(right.instance_path) ||\n left.code.localeCompare(right.code) ||\n left.message.localeCompare(right.message)\n );\n}\n"]}
|