@tiangong-lca/pcr 0.3.1 → 0.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- 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,421 @@
|
|
|
1
|
+
import { createHash } from "node:crypto";
|
|
2
|
+
import { closeSync, constants as fsConstants, fstatSync, lstatSync, openSync, readFileSync, realpathSync, } from "node:fs";
|
|
3
|
+
import path from "node:path";
|
|
4
|
+
import { PCR_ID_ALIAS_REGISTRY_PATH, pcrIdAliasValidationDependencies, pcrIdAliasSourcePcrPathStates, readPcrIdAliases, } from "./pcr-id-aliases.js";
|
|
5
|
+
import { parseYaml } from "./yaml-lite.js";
|
|
6
|
+
function record(value) { return value !== null && typeof value === 'object' && !Array.isArray(value); }
|
|
7
|
+
function field(value, key) {
|
|
8
|
+
if (value === null || (typeof value !== 'object' && typeof value !== 'function'))
|
|
9
|
+
return undefined;
|
|
10
|
+
const result = Reflect.get(value, key);
|
|
11
|
+
return result;
|
|
12
|
+
}
|
|
13
|
+
const CATALOG_PATH = "library/catalog.yaml";
|
|
14
|
+
const MANAGED_READ_FLAGS = fsConstants.O_RDONLY | fsConstants.O_NOFOLLOW | fsConstants.O_NONBLOCK;
|
|
15
|
+
const contextBindings = new WeakMap();
|
|
16
|
+
const contextAliasDependencyPaths = new WeakMap();
|
|
17
|
+
const contextAliasSourcePathStates = new WeakMap();
|
|
18
|
+
const contextSessions = new WeakMap();
|
|
19
|
+
const contextCatalogs = new WeakMap();
|
|
20
|
+
const contextObservers = new WeakMap();
|
|
21
|
+
export class PcrReadContextStaleError extends Error {
|
|
22
|
+
code;
|
|
23
|
+
details;
|
|
24
|
+
constructor({ root, source, reason }) {
|
|
25
|
+
super(`PCR read context is stale for ${source}: ${reason}.`);
|
|
26
|
+
this.name = "PcrReadContextStaleError";
|
|
27
|
+
this.code = "PCR_READ_CONTEXT_STALE";
|
|
28
|
+
this.details = { root, source, reason };
|
|
29
|
+
}
|
|
30
|
+
}
|
|
31
|
+
/**
|
|
32
|
+
* Bind repeated PCR reads to one validated repository state. The context is
|
|
33
|
+
* deliberately independent from the process-global catalog cache: callers
|
|
34
|
+
* may retain it only while all catalog-declared inputs remain byte-identical.
|
|
35
|
+
*/
|
|
36
|
+
export function createPcrReadContext({ root, onAliasValidation = null, beforeAliasValidation = null, onBindingCheck = null, onCatalogSnapshot = null, onPcrArtifactRead = null, beforeBoundSourceOpen = null, }) {
|
|
37
|
+
const rootPath = canonicalRoot(root);
|
|
38
|
+
const catalogSource = readRepositoryFile({ root: rootPath, relativePath: CATALOG_PATH });
|
|
39
|
+
const catalog = parseCatalog(catalogSource.text, rootPath);
|
|
40
|
+
const dependencyPaths = catalogDependencyPaths(catalog, rootPath);
|
|
41
|
+
const aliasDependencyPathsBefore = pcrIdAliasValidationDependencies({ root: rootPath });
|
|
42
|
+
const aliasSourcePathStatesBefore = pcrIdAliasSourcePcrPathStates({ root: rootPath });
|
|
43
|
+
const boundPaths = [CATALOG_PATH, ...dependencyPaths, ...aliasDependencyPathsBefore];
|
|
44
|
+
const bindingsBefore = captureBindings({
|
|
45
|
+
root: rootPath,
|
|
46
|
+
relativePaths: boundPaths,
|
|
47
|
+
beforeBoundSourceOpen,
|
|
48
|
+
});
|
|
49
|
+
if (bindingsBefore.get(CATALOG_PATH) !== catalogSource.sha256) {
|
|
50
|
+
throw new PcrReadContextStaleError({
|
|
51
|
+
root: rootPath,
|
|
52
|
+
source: CATALOG_PATH,
|
|
53
|
+
reason: "catalog changed after its dependency declarations were read",
|
|
54
|
+
});
|
|
55
|
+
}
|
|
56
|
+
const aliasFingerprintBefore = aliasInputFingerprint({
|
|
57
|
+
bindings: bindingsBefore,
|
|
58
|
+
aliasDependencyPaths: aliasDependencyPathsBefore,
|
|
59
|
+
aliasSourcePathStates: aliasSourcePathStatesBefore,
|
|
60
|
+
});
|
|
61
|
+
// A new context establishes semantic validity once from its bound repository.
|
|
62
|
+
// Session reuse below keeps that result private and rechecks all dependencies;
|
|
63
|
+
// no caller or persisted snapshot can manufacture validation authority.
|
|
64
|
+
beforeAliasValidation?.({ root: rootPath });
|
|
65
|
+
const aliases = readPcrIdAliases({ root: rootPath });
|
|
66
|
+
onAliasValidation?.({ root: rootPath, aliases: deepFreeze(structuredClone(aliases)) });
|
|
67
|
+
const aliasDependencyPathsAfter = pcrIdAliasValidationDependencies({ root: rootPath });
|
|
68
|
+
const aliasSourcePathStatesAfter = pcrIdAliasSourcePcrPathStates({ root: rootPath });
|
|
69
|
+
if (!sameStrings(aliasDependencyPathsBefore, aliasDependencyPathsAfter)) {
|
|
70
|
+
throw new PcrReadContextStaleError({
|
|
71
|
+
root: rootPath,
|
|
72
|
+
source: PCR_ID_ALIAS_REGISTRY_PATH,
|
|
73
|
+
reason: "alias validation dependencies changed while aliases were validated",
|
|
74
|
+
});
|
|
75
|
+
}
|
|
76
|
+
if (!sameRecords(aliasSourcePathStatesBefore, aliasSourcePathStatesAfter)) {
|
|
77
|
+
throw new PcrReadContextStaleError({
|
|
78
|
+
root: rootPath,
|
|
79
|
+
source: PCR_ID_ALIAS_REGISTRY_PATH,
|
|
80
|
+
reason: "alias source PCR path states changed while aliases were validated",
|
|
81
|
+
});
|
|
82
|
+
}
|
|
83
|
+
const bindingsAfter = captureBindings({
|
|
84
|
+
root: rootPath,
|
|
85
|
+
relativePaths: boundPaths,
|
|
86
|
+
beforeBoundSourceOpen,
|
|
87
|
+
});
|
|
88
|
+
assertBindingSnapshotsMatch({ root: rootPath, before: bindingsBefore, after: bindingsAfter });
|
|
89
|
+
if (aliasInputFingerprint({
|
|
90
|
+
bindings: bindingsAfter,
|
|
91
|
+
aliasDependencyPaths: aliasDependencyPathsAfter,
|
|
92
|
+
aliasSourcePathStates: aliasSourcePathStatesAfter,
|
|
93
|
+
}) !== aliasFingerprintBefore) {
|
|
94
|
+
throw new PcrReadContextStaleError({
|
|
95
|
+
root: rootPath,
|
|
96
|
+
source: PCR_ID_ALIAS_REGISTRY_PATH,
|
|
97
|
+
reason: "alias reuse inputs changed while the read context was created",
|
|
98
|
+
});
|
|
99
|
+
}
|
|
100
|
+
const aliasByPcrId = new Map();
|
|
101
|
+
for (const alias of aliases) {
|
|
102
|
+
aliasByPcrId.set(String(alias?.source_pcr_id), deepFreeze(structuredClone(alias)));
|
|
103
|
+
}
|
|
104
|
+
const immutableAliases = deepFreeze([...aliasByPcrId.values()].map((alias) => structuredClone(alias)));
|
|
105
|
+
const context = {
|
|
106
|
+
root: rootPath,
|
|
107
|
+
aliases: immutableAliases,
|
|
108
|
+
findPcrIdAlias(pcrId, { root: requestedRoot = rootPath } = {}) {
|
|
109
|
+
assertPcrReadContextFresh({ context, root: requestedRoot });
|
|
110
|
+
const alias = aliasByPcrId.get(String(pcrId));
|
|
111
|
+
return alias ? structuredClone(alias) : null;
|
|
112
|
+
},
|
|
113
|
+
};
|
|
114
|
+
Object.defineProperty(context, "_pcrReadContext", { value: true });
|
|
115
|
+
contextBindings.set(context, bindingsAfter);
|
|
116
|
+
contextAliasDependencyPaths.set(context, aliasDependencyPathsAfter);
|
|
117
|
+
contextAliasSourcePathStates.set(context, aliasSourcePathStatesAfter);
|
|
118
|
+
contextObservers.set(context, { onBindingCheck, onCatalogSnapshot, onPcrArtifactRead });
|
|
119
|
+
return Object.freeze(context);
|
|
120
|
+
}
|
|
121
|
+
export function pcrReadContextAliasInputFingerprint({ root }) {
|
|
122
|
+
const rootPath = canonicalRoot(root);
|
|
123
|
+
const dependencyPaths = pcrIdAliasValidationDependencies({ root: rootPath });
|
|
124
|
+
const sourcePathStates = pcrIdAliasSourcePcrPathStates({ root: rootPath });
|
|
125
|
+
const bindings = captureBindings({
|
|
126
|
+
root: rootPath,
|
|
127
|
+
relativePaths: [CATALOG_PATH, ...dependencyPaths],
|
|
128
|
+
});
|
|
129
|
+
return aliasInputFingerprint({
|
|
130
|
+
bindings,
|
|
131
|
+
aliasDependencyPaths: dependencyPaths,
|
|
132
|
+
aliasSourcePathStates: sourcePathStates,
|
|
133
|
+
});
|
|
134
|
+
}
|
|
135
|
+
export function isPcrReadContext(value) {
|
|
136
|
+
return Boolean(record(value) && value._pcrReadContext === true &&
|
|
137
|
+
typeof value.root === "string" &&
|
|
138
|
+
contextBindings.has(value));
|
|
139
|
+
}
|
|
140
|
+
export function assertPcrReadContextFresh({ context, root }) {
|
|
141
|
+
if (!isPcrReadContext(context)) {
|
|
142
|
+
throw new TypeError("context must be created by createPcrReadContext");
|
|
143
|
+
}
|
|
144
|
+
let canonicalRequestedRoot;
|
|
145
|
+
try {
|
|
146
|
+
canonicalRequestedRoot = canonicalRoot(root ?? context.root);
|
|
147
|
+
}
|
|
148
|
+
catch {
|
|
149
|
+
throw new PcrReadContextStaleError({
|
|
150
|
+
root: context.root,
|
|
151
|
+
source: CATALOG_PATH,
|
|
152
|
+
reason: "requested root is unavailable",
|
|
153
|
+
});
|
|
154
|
+
}
|
|
155
|
+
if (canonicalRequestedRoot !== context.root) {
|
|
156
|
+
throw new PcrReadContextStaleError({
|
|
157
|
+
root: context.root,
|
|
158
|
+
source: CATALOG_PATH,
|
|
159
|
+
reason: "context belongs to another repository root",
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
if (contextSessions.get(context)?.root === context.root) {
|
|
163
|
+
return context;
|
|
164
|
+
}
|
|
165
|
+
contextObservers.get(context)?.onBindingCheck?.({ root: context.root });
|
|
166
|
+
let currentAliasDependencyPaths;
|
|
167
|
+
try {
|
|
168
|
+
currentAliasDependencyPaths = pcrIdAliasValidationDependencies({ root: context.root });
|
|
169
|
+
}
|
|
170
|
+
catch {
|
|
171
|
+
throw new PcrReadContextStaleError({
|
|
172
|
+
root: context.root,
|
|
173
|
+
source: PCR_ID_ALIAS_REGISTRY_PATH,
|
|
174
|
+
reason: "alias validation dependencies are unavailable",
|
|
175
|
+
});
|
|
176
|
+
}
|
|
177
|
+
if (!sameStrings(contextAliasDependencyPaths.get(context) ?? [], currentAliasDependencyPaths)) {
|
|
178
|
+
throw new PcrReadContextStaleError({
|
|
179
|
+
root: context.root,
|
|
180
|
+
source: PCR_ID_ALIAS_REGISTRY_PATH,
|
|
181
|
+
reason: "alias validation dependency set changed",
|
|
182
|
+
});
|
|
183
|
+
}
|
|
184
|
+
const currentAliasSourcePathStates = pcrIdAliasSourcePcrPathStates({ root: context.root });
|
|
185
|
+
if (!sameRecords(contextAliasSourcePathStates.get(context) ?? [], currentAliasSourcePathStates)) {
|
|
186
|
+
throw new PcrReadContextStaleError({
|
|
187
|
+
root: context.root,
|
|
188
|
+
source: PCR_ID_ALIAS_REGISTRY_PATH,
|
|
189
|
+
reason: "alias source PCR path state changed",
|
|
190
|
+
});
|
|
191
|
+
}
|
|
192
|
+
for (const [relativePath, expectedSha256] of contextBindings.get(context) ?? []) {
|
|
193
|
+
let actualSha256;
|
|
194
|
+
try {
|
|
195
|
+
actualSha256 = readRepositoryFile({ root: context.root, relativePath }).sha256;
|
|
196
|
+
}
|
|
197
|
+
catch {
|
|
198
|
+
throw new PcrReadContextStaleError({
|
|
199
|
+
root: context.root,
|
|
200
|
+
source: relativePath,
|
|
201
|
+
reason: "bound source is unavailable",
|
|
202
|
+
});
|
|
203
|
+
}
|
|
204
|
+
if (actualSha256 !== expectedSha256) {
|
|
205
|
+
throw new PcrReadContextStaleError({
|
|
206
|
+
root: context.root,
|
|
207
|
+
source: relativePath,
|
|
208
|
+
reason: "exact-byte fingerprint changed",
|
|
209
|
+
});
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
return context;
|
|
213
|
+
}
|
|
214
|
+
export function withPcrReadContextSession({ context, root, read }) {
|
|
215
|
+
assertPcrReadContextFresh({ context, root });
|
|
216
|
+
const active = contextSessions.get(context);
|
|
217
|
+
if (active) {
|
|
218
|
+
active.depth += 1;
|
|
219
|
+
try {
|
|
220
|
+
return readSynchronously(read);
|
|
221
|
+
}
|
|
222
|
+
finally {
|
|
223
|
+
active.depth -= 1;
|
|
224
|
+
}
|
|
225
|
+
}
|
|
226
|
+
const session = { root: context.root, depth: 1 };
|
|
227
|
+
contextSessions.set(context, session);
|
|
228
|
+
try {
|
|
229
|
+
return readSynchronously(read);
|
|
230
|
+
}
|
|
231
|
+
finally {
|
|
232
|
+
contextSessions.delete(context);
|
|
233
|
+
assertPcrReadContextFresh({ context, root });
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
export function getPcrReadContextCatalog({ context, root, readCatalog }) {
|
|
237
|
+
assertPcrReadContextFresh({ context, root });
|
|
238
|
+
if (!contextCatalogs.has(context)) {
|
|
239
|
+
const entries = readCatalog(context.root);
|
|
240
|
+
const entriesById = new Map(entries.map((entry) => [entry.id, structuredClone(entry)]));
|
|
241
|
+
contextCatalogs.set(context, entriesById);
|
|
242
|
+
contextObservers.get(context)?.onCatalogSnapshot?.({
|
|
243
|
+
root: context.root,
|
|
244
|
+
entryCount: entriesById.size,
|
|
245
|
+
});
|
|
246
|
+
}
|
|
247
|
+
const catalog = contextCatalogs.get(context);
|
|
248
|
+
if (!catalog)
|
|
249
|
+
throw new Error("Missing context catalog snapshot");
|
|
250
|
+
return catalog;
|
|
251
|
+
}
|
|
252
|
+
export function observePcrReadContextArtifactRead({ context, root, relativePath }) {
|
|
253
|
+
assertPcrReadContextFresh({ context, root });
|
|
254
|
+
contextObservers.get(context)?.onPcrArtifactRead?.({
|
|
255
|
+
root: context.root,
|
|
256
|
+
relative_path: String(relativePath),
|
|
257
|
+
});
|
|
258
|
+
}
|
|
259
|
+
export function findPcrIdAliasInReadContext({ context, root, pcrId }) {
|
|
260
|
+
assertPcrReadContextFresh({ context, root });
|
|
261
|
+
return context.findPcrIdAlias(pcrId);
|
|
262
|
+
}
|
|
263
|
+
function canonicalRoot(root) {
|
|
264
|
+
const resolved = path.resolve(root);
|
|
265
|
+
const stats = lstatSync(resolved);
|
|
266
|
+
if (stats.isSymbolicLink() || !stats.isDirectory()) {
|
|
267
|
+
throw new Error(`PCR repository root is not a canonical directory: ${resolved}`);
|
|
268
|
+
}
|
|
269
|
+
return realpathSync(resolved);
|
|
270
|
+
}
|
|
271
|
+
function parseCatalog(text, root) {
|
|
272
|
+
let catalog;
|
|
273
|
+
try {
|
|
274
|
+
catalog = parseYaml(text);
|
|
275
|
+
}
|
|
276
|
+
catch (error) {
|
|
277
|
+
throw new PcrReadContextStaleError({
|
|
278
|
+
root,
|
|
279
|
+
source: CATALOG_PATH,
|
|
280
|
+
reason: `catalog could not be parsed (${error instanceof Error ? error.message : String(error)})`,
|
|
281
|
+
});
|
|
282
|
+
}
|
|
283
|
+
if (!record(catalog)) {
|
|
284
|
+
throw new PcrReadContextStaleError({ root, source: CATALOG_PATH, reason: "catalog is not an object" });
|
|
285
|
+
}
|
|
286
|
+
return catalog;
|
|
287
|
+
}
|
|
288
|
+
function catalogDependencyPaths(catalog, root) {
|
|
289
|
+
const paths = [
|
|
290
|
+
declaredPath(catalog.pcr_index, "pcr_index", root),
|
|
291
|
+
declaredPath(field(catalog.pcr_id_aliases, "path"), "pcr_id_aliases.path", root),
|
|
292
|
+
...declaredPaths(catalog.classification_mappings, "classification_mappings", root),
|
|
293
|
+
...declaredPaths(catalog.classification_coverage_indexes ?? [], "classification_coverage_indexes", root),
|
|
294
|
+
];
|
|
295
|
+
if (!paths.includes(PCR_ID_ALIAS_REGISTRY_PATH)) {
|
|
296
|
+
throw new PcrReadContextStaleError({
|
|
297
|
+
root,
|
|
298
|
+
source: CATALOG_PATH,
|
|
299
|
+
reason: `pcr_id_aliases.path must be ${PCR_ID_ALIAS_REGISTRY_PATH}`,
|
|
300
|
+
});
|
|
301
|
+
}
|
|
302
|
+
return [...new Set(paths)];
|
|
303
|
+
}
|
|
304
|
+
function declaredPaths(value, name, root) {
|
|
305
|
+
if (!Array.isArray(value)) {
|
|
306
|
+
throw new PcrReadContextStaleError({ root, source: CATALOG_PATH, reason: `${name} must be an array` });
|
|
307
|
+
}
|
|
308
|
+
return value.map((entry) => declaredPath(entry, name, root));
|
|
309
|
+
}
|
|
310
|
+
function declaredPath(value, name, root) {
|
|
311
|
+
if (typeof value !== "string" || value.trim() !== value || value.length === 0) {
|
|
312
|
+
throw new PcrReadContextStaleError({ root, source: CATALOG_PATH, reason: `${name} must be a canonical path` });
|
|
313
|
+
}
|
|
314
|
+
const normalized = path.posix.normalize(value);
|
|
315
|
+
if (normalized !== value || normalized.startsWith("../") || path.posix.isAbsolute(normalized)) {
|
|
316
|
+
throw new PcrReadContextStaleError({ root, source: CATALOG_PATH, reason: `${name} escapes the repository root` });
|
|
317
|
+
}
|
|
318
|
+
return normalized;
|
|
319
|
+
}
|
|
320
|
+
function captureBindings({ root, relativePaths, beforeBoundSourceOpen = null }) {
|
|
321
|
+
return new Map(relativePaths.map((relativePath) => [
|
|
322
|
+
relativePath,
|
|
323
|
+
readRepositoryFile({ root, relativePath, beforeBoundSourceOpen }).sha256,
|
|
324
|
+
]));
|
|
325
|
+
}
|
|
326
|
+
function assertBindingSnapshotsMatch({ root, before, after }) {
|
|
327
|
+
for (const [relativePath, beforeSha256] of before) {
|
|
328
|
+
if (after.get(relativePath) !== beforeSha256) {
|
|
329
|
+
throw new PcrReadContextStaleError({
|
|
330
|
+
root,
|
|
331
|
+
source: relativePath,
|
|
332
|
+
reason: "bound source changed while aliases were validated",
|
|
333
|
+
});
|
|
334
|
+
}
|
|
335
|
+
}
|
|
336
|
+
}
|
|
337
|
+
function readRepositoryFile({ root, relativePath, beforeBoundSourceOpen = null }) {
|
|
338
|
+
const filePath = path.join(root, ...relativePath.split("/"));
|
|
339
|
+
const before = assertContainedRegularFile({ root, relativePath, filePath });
|
|
340
|
+
beforeBoundSourceOpen?.({ root, relativePath });
|
|
341
|
+
const descriptor = openSync(filePath, MANAGED_READ_FLAGS);
|
|
342
|
+
try {
|
|
343
|
+
const opened = fstatSync(descriptor);
|
|
344
|
+
if (!opened.isFile()) {
|
|
345
|
+
throw new Error(`bound source is not a regular file: ${relativePath}`);
|
|
346
|
+
}
|
|
347
|
+
const after = assertContainedRegularFile({ root, relativePath, filePath });
|
|
348
|
+
if (!sameFileIdentity(opened, before.at(-1)) || !sameFileIdentity(opened, after.at(-1)) || !samePathChain(before, after)) {
|
|
349
|
+
throw new Error(`bound source path changed while it was being opened: ${relativePath}`);
|
|
350
|
+
}
|
|
351
|
+
const bytes = readFileSync(descriptor);
|
|
352
|
+
return {
|
|
353
|
+
text: new TextDecoder("utf-8", { fatal: true }).decode(bytes),
|
|
354
|
+
sha256: `sha256:${createHash("sha256").update(bytes).digest("hex")}`,
|
|
355
|
+
};
|
|
356
|
+
}
|
|
357
|
+
finally {
|
|
358
|
+
closeSync(descriptor);
|
|
359
|
+
}
|
|
360
|
+
}
|
|
361
|
+
function assertContainedRegularFile({ root, relativePath, filePath }) {
|
|
362
|
+
const segments = relativePath.split("/");
|
|
363
|
+
let currentPath = root;
|
|
364
|
+
const chain = [];
|
|
365
|
+
for (const [index, segment] of segments.entries()) {
|
|
366
|
+
currentPath = path.join(currentPath, segment);
|
|
367
|
+
const stats = lstatSync(currentPath);
|
|
368
|
+
if (stats.isSymbolicLink() || (index === segments.length - 1 ? !stats.isFile() : !stats.isDirectory())) {
|
|
369
|
+
throw new Error(`bound source is not a canonical file: ${relativePath}`);
|
|
370
|
+
}
|
|
371
|
+
chain.push(stats);
|
|
372
|
+
}
|
|
373
|
+
const realFile = realpathSync(filePath);
|
|
374
|
+
if (!isInside(root, realFile)) {
|
|
375
|
+
throw new Error(`bound source escapes the repository root: ${relativePath}`);
|
|
376
|
+
}
|
|
377
|
+
return chain;
|
|
378
|
+
}
|
|
379
|
+
function isInside(root, candidate) {
|
|
380
|
+
const relative = path.relative(root, candidate);
|
|
381
|
+
return relative !== "" && !path.isAbsolute(relative) && relative !== ".." && !relative.startsWith(`..${path.sep}`);
|
|
382
|
+
}
|
|
383
|
+
function deepFreeze(value) {
|
|
384
|
+
if (!value || typeof value !== "object" || Object.isFrozen(value)) {
|
|
385
|
+
return value;
|
|
386
|
+
}
|
|
387
|
+
for (const child of Object.values(value)) {
|
|
388
|
+
deepFreeze(child);
|
|
389
|
+
}
|
|
390
|
+
return Object.freeze(value);
|
|
391
|
+
}
|
|
392
|
+
function sameStrings(left, right) {
|
|
393
|
+
return left.length === right.length && left.every((value, index) => value === right[index]);
|
|
394
|
+
}
|
|
395
|
+
function sameFileIdentity(left, right) {
|
|
396
|
+
return left !== undefined && right !== undefined && left.dev === right.dev && left.ino === right.ino;
|
|
397
|
+
}
|
|
398
|
+
function samePathChain(left, right) {
|
|
399
|
+
return left.length === right.length && left.every((stats, index) => sameFileIdentity(stats, right[index]));
|
|
400
|
+
}
|
|
401
|
+
function sameRecords(left, right) {
|
|
402
|
+
return left.length === right.length && left.every((entry, index) => entry.path === right[index]?.path && entry.state === right[index]?.state);
|
|
403
|
+
}
|
|
404
|
+
function aliasInputFingerprint({ bindings, aliasDependencyPaths, aliasSourcePathStates }) {
|
|
405
|
+
const sources = [CATALOG_PATH, ...aliasDependencyPaths]
|
|
406
|
+
.filter((value, index, values) => values.indexOf(value) === index)
|
|
407
|
+
.sort()
|
|
408
|
+
.map((relativePath) => ({ relative_path: relativePath, sha256: bindings.get(relativePath) }));
|
|
409
|
+
return `sha256:${createHash("sha256").update(JSON.stringify({
|
|
410
|
+
sources,
|
|
411
|
+
source_path_states: aliasSourcePathStates,
|
|
412
|
+
})).digest("hex")}`;
|
|
413
|
+
}
|
|
414
|
+
function readSynchronously(read) {
|
|
415
|
+
const result = read();
|
|
416
|
+
if (result && typeof field(result, "then") === "function") {
|
|
417
|
+
throw new TypeError("PCR read context sessions require a synchronous callback; use an explicit async API.");
|
|
418
|
+
}
|
|
419
|
+
return result;
|
|
420
|
+
}
|
|
421
|
+
//# sourceMappingURL=read-context.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"read-context.js","sourceRoot":"pcr://source/","sources":["packages/pcr-core/src/read-context.ts"],"names":[],"mappings":"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","sourcesContent":["import { createHash } from \"node:crypto\";\nimport {\n closeSync,\n constants as fsConstants,\n fstatSync,\n lstatSync,\n openSync,\n readFileSync,\n realpathSync,\n type Stats,\n} from \"node:fs\";\nimport path from \"node:path\";\n\nimport {\n PCR_ID_ALIAS_REGISTRY_PATH,\n pcrIdAliasValidationDependencies,\n pcrIdAliasSourcePcrPathStates,\n readPcrIdAliases,\n type PcrIdAlias,\n type AliasSourcePcrPathState,\n} from \"./pcr-id-aliases.ts\";\nimport { parseYaml } from \"./yaml-lite.ts\";\n\nimport type { CatalogEntry } from './types.ts';\nexport interface PcrReadContext {\n readonly root: string;\n readonly aliases: readonly PcrIdAlias[];\n findPcrIdAlias(pcrId: unknown, options?: {root?: string | undefined}): PcrIdAlias | null;\n}\ninterface RootEvent { root: string }\ninterface ContextObservers {\n onBindingCheck: ((event: RootEvent) => void) | null;\n onCatalogSnapshot: ((event: RootEvent & {entryCount: number}) => void) | null;\n onPcrArtifactRead: ((event: RootEvent & {relative_path: string}) => void) | null;\n}\n/** Retained compatibility input. Persisted hashes and caller-authored aliases are\n * freshness metadata, never proof of prior semantic validation. */\nexport interface ValidatedAliasReuse { readonly fingerprint: string; readonly aliases: readonly PcrIdAlias[] }\nexport interface PcrReadContextOptions {\n root: string;\n onAliasValidation?: ((event: RootEvent & {aliases: readonly PcrIdAlias[]}) => void) | null;\n beforeAliasValidation?: ((event: RootEvent) => void) | null;\n onBindingCheck?: ContextObservers['onBindingCheck']; onCatalogSnapshot?: ContextObservers['onCatalogSnapshot']; onPcrArtifactRead?: ContextObservers['onPcrArtifactRead'];\n beforeBoundSourceOpen?: ((event: RootEvent & {relativePath: string}) => void) | null;\n validatedAliasReuse?: unknown;\n}\ninterface BoundReadOptions { root: string; relativePath: string; beforeBoundSourceOpen?: PcrReadContextOptions['beforeBoundSourceOpen'] }\ninterface ContextOptions { context: PcrReadContext; root?: string | undefined }\nfunction record(value: unknown): value is Record<string, unknown> { return value !== null && typeof value === 'object' && !Array.isArray(value); }\nfunction field(value: unknown, key: string): unknown {\n if (value === null || (typeof value !== 'object' && typeof value !== 'function')) return undefined;\n const result: unknown = Reflect.get(value, key);\n return result;\n}\n\nconst CATALOG_PATH = \"library/catalog.yaml\";\nconst MANAGED_READ_FLAGS =\n fsConstants.O_RDONLY | fsConstants.O_NOFOLLOW | fsConstants.O_NONBLOCK;\nconst contextBindings = new WeakMap<object, Map<string, string>>();\nconst contextAliasDependencyPaths = new WeakMap<object, string[]>();\nconst contextAliasSourcePathStates = new WeakMap<object, AliasSourcePcrPathState[]>();\nconst contextSessions = new WeakMap<object, {root: string; depth: number}>();\nconst contextCatalogs = new WeakMap<object, Map<string, CatalogEntry>>();\nconst contextObservers = new WeakMap<object, ContextObservers>();\n\nexport class PcrReadContextStaleError extends Error {\n readonly code: string;\n readonly details: {root: string; source: string; reason: string};\n constructor({ root, source, reason }: {root: string; source: string; reason: string}) {\n super(`PCR read context is stale for ${source}: ${reason}.`);\n this.name = \"PcrReadContextStaleError\";\n this.code = \"PCR_READ_CONTEXT_STALE\";\n this.details = { root, source, reason };\n }\n}\n\n/**\n * Bind repeated PCR reads to one validated repository state. The context is\n * deliberately independent from the process-global catalog cache: callers\n * may retain it only while all catalog-declared inputs remain byte-identical.\n */\nexport function createPcrReadContext({\n root,\n onAliasValidation = null,\n beforeAliasValidation = null,\n onBindingCheck = null,\n onCatalogSnapshot = null,\n onPcrArtifactRead = null,\n beforeBoundSourceOpen = null,\n}: PcrReadContextOptions): PcrReadContext {\n const rootPath = canonicalRoot(root);\n const catalogSource = readRepositoryFile({ root: rootPath, relativePath: CATALOG_PATH });\n const catalog = parseCatalog(catalogSource.text, rootPath);\n const dependencyPaths = catalogDependencyPaths(catalog, rootPath);\n const aliasDependencyPathsBefore = pcrIdAliasValidationDependencies({ root: rootPath });\n const aliasSourcePathStatesBefore = pcrIdAliasSourcePcrPathStates({ root: rootPath });\n const boundPaths = [CATALOG_PATH, ...dependencyPaths, ...aliasDependencyPathsBefore];\n const bindingsBefore = captureBindings({\n root: rootPath,\n relativePaths: boundPaths,\n beforeBoundSourceOpen,\n });\n if (bindingsBefore.get(CATALOG_PATH) !== catalogSource.sha256) {\n throw new PcrReadContextStaleError({\n root: rootPath,\n source: CATALOG_PATH,\n reason: \"catalog changed after its dependency declarations were read\",\n });\n }\n const aliasFingerprintBefore = aliasInputFingerprint({\n bindings: bindingsBefore,\n aliasDependencyPaths: aliasDependencyPathsBefore,\n aliasSourcePathStates: aliasSourcePathStatesBefore,\n });\n // A new context establishes semantic validity once from its bound repository.\n // Session reuse below keeps that result private and rechecks all dependencies;\n // no caller or persisted snapshot can manufacture validation authority.\n beforeAliasValidation?.({ root: rootPath });\n const aliases = readPcrIdAliases({ root: rootPath });\n onAliasValidation?.({ root: rootPath, aliases: deepFreeze(structuredClone(aliases)) });\n const aliasDependencyPathsAfter = pcrIdAliasValidationDependencies({ root: rootPath });\n const aliasSourcePathStatesAfter = pcrIdAliasSourcePcrPathStates({ root: rootPath });\n if (!sameStrings(aliasDependencyPathsBefore, aliasDependencyPathsAfter)) {\n throw new PcrReadContextStaleError({\n root: rootPath,\n source: PCR_ID_ALIAS_REGISTRY_PATH,\n reason: \"alias validation dependencies changed while aliases were validated\",\n });\n }\n if (!sameRecords(aliasSourcePathStatesBefore, aliasSourcePathStatesAfter)) {\n throw new PcrReadContextStaleError({\n root: rootPath,\n source: PCR_ID_ALIAS_REGISTRY_PATH,\n reason: \"alias source PCR path states changed while aliases were validated\",\n });\n }\n const bindingsAfter = captureBindings({\n root: rootPath,\n relativePaths: boundPaths,\n beforeBoundSourceOpen,\n });\n assertBindingSnapshotsMatch({ root: rootPath, before: bindingsBefore, after: bindingsAfter });\n if (aliasInputFingerprint({\n bindings: bindingsAfter,\n aliasDependencyPaths: aliasDependencyPathsAfter,\n aliasSourcePathStates: aliasSourcePathStatesAfter,\n }) !== aliasFingerprintBefore) {\n throw new PcrReadContextStaleError({\n root: rootPath,\n source: PCR_ID_ALIAS_REGISTRY_PATH,\n reason: \"alias reuse inputs changed while the read context was created\",\n });\n }\n\n const aliasByPcrId = new Map<string, PcrIdAlias>();\n for (const alias of aliases) {\n aliasByPcrId.set(String(alias?.source_pcr_id), deepFreeze(structuredClone(alias)));\n }\n const immutableAliases = deepFreeze([...aliasByPcrId.values()].map((alias) => structuredClone(alias)));\n const context: PcrReadContext = {\n root: rootPath,\n aliases: immutableAliases,\n findPcrIdAlias(pcrId, { root: requestedRoot = rootPath } = {}) {\n assertPcrReadContextFresh({ context, root: requestedRoot });\n const alias = aliasByPcrId.get(String(pcrId));\n return alias ? structuredClone(alias) : null;\n },\n };\n Object.defineProperty(context, \"_pcrReadContext\", { value: true });\n contextBindings.set(context, bindingsAfter);\n contextAliasDependencyPaths.set(context, aliasDependencyPathsAfter);\n contextAliasSourcePathStates.set(context, aliasSourcePathStatesAfter);\n contextObservers.set(context, { onBindingCheck, onCatalogSnapshot, onPcrArtifactRead });\n return Object.freeze(context);\n}\n\nexport function pcrReadContextAliasInputFingerprint({ root }: {root: string}): string {\n const rootPath = canonicalRoot(root);\n const dependencyPaths = pcrIdAliasValidationDependencies({ root: rootPath });\n const sourcePathStates = pcrIdAliasSourcePcrPathStates({ root: rootPath });\n const bindings = captureBindings({\n root: rootPath,\n relativePaths: [CATALOG_PATH, ...dependencyPaths],\n });\n return aliasInputFingerprint({\n bindings,\n aliasDependencyPaths: dependencyPaths,\n aliasSourcePathStates: sourcePathStates,\n });\n}\n\nexport function isPcrReadContext(value: unknown): value is PcrReadContext {\n return Boolean(\n record(value) && value._pcrReadContext === true &&\n typeof value.root === \"string\" &&\n contextBindings.has(value),\n );\n}\n\nexport function assertPcrReadContextFresh({ context, root }: {context: unknown; root?: string | undefined}): PcrReadContext {\n if (!isPcrReadContext(context)) {\n throw new TypeError(\"context must be created by createPcrReadContext\");\n }\n let canonicalRequestedRoot;\n try {\n canonicalRequestedRoot = canonicalRoot(root ?? context.root);\n } catch {\n throw new PcrReadContextStaleError({\n root: context.root,\n source: CATALOG_PATH,\n reason: \"requested root is unavailable\",\n });\n }\n if (canonicalRequestedRoot !== context.root) {\n throw new PcrReadContextStaleError({\n root: context.root,\n source: CATALOG_PATH,\n reason: \"context belongs to another repository root\",\n });\n }\n if (contextSessions.get(context)?.root === context.root) {\n return context;\n }\n contextObservers.get(context)?.onBindingCheck?.({ root: context.root });\n let currentAliasDependencyPaths;\n try {\n currentAliasDependencyPaths = pcrIdAliasValidationDependencies({ root: context.root });\n } catch {\n throw new PcrReadContextStaleError({\n root: context.root,\n source: PCR_ID_ALIAS_REGISTRY_PATH,\n reason: \"alias validation dependencies are unavailable\",\n });\n }\n if (!sameStrings(contextAliasDependencyPaths.get(context) ?? [], currentAliasDependencyPaths)) {\n throw new PcrReadContextStaleError({\n root: context.root,\n source: PCR_ID_ALIAS_REGISTRY_PATH,\n reason: \"alias validation dependency set changed\",\n });\n }\n const currentAliasSourcePathStates = pcrIdAliasSourcePcrPathStates({ root: context.root });\n if (!sameRecords(contextAliasSourcePathStates.get(context) ?? [], currentAliasSourcePathStates)) {\n throw new PcrReadContextStaleError({\n root: context.root,\n source: PCR_ID_ALIAS_REGISTRY_PATH,\n reason: \"alias source PCR path state changed\",\n });\n }\n for (const [relativePath, expectedSha256] of contextBindings.get(context) ?? []) {\n let actualSha256;\n try {\n actualSha256 = readRepositoryFile({ root: context.root, relativePath }).sha256;\n } catch {\n throw new PcrReadContextStaleError({\n root: context.root,\n source: relativePath,\n reason: \"bound source is unavailable\",\n });\n }\n if (actualSha256 !== expectedSha256) {\n throw new PcrReadContextStaleError({\n root: context.root,\n source: relativePath,\n reason: \"exact-byte fingerprint changed\",\n });\n }\n }\n return context;\n}\n\nexport function withPcrReadContextSession<T>({ context, root, read }: ContextOptions & {read: () => T}): T {\n assertPcrReadContextFresh({ context, root });\n const active = contextSessions.get(context);\n if (active) {\n active.depth += 1;\n try {\n return readSynchronously(read);\n } finally {\n active.depth -= 1;\n }\n }\n const session = { root: context.root, depth: 1 };\n contextSessions.set(context, session);\n try {\n return readSynchronously(read);\n } finally {\n contextSessions.delete(context);\n assertPcrReadContextFresh({ context, root });\n }\n}\n\nexport function getPcrReadContextCatalog({ context, root, readCatalog }: ContextOptions & {readCatalog: (root: string) => readonly CatalogEntry[]}): Map<string, CatalogEntry> {\n assertPcrReadContextFresh({ context, root });\n if (!contextCatalogs.has(context)) {\n const entries = readCatalog(context.root);\n const entriesById = new Map(entries.map((entry) => [entry.id, structuredClone(entry)]));\n contextCatalogs.set(context, entriesById);\n contextObservers.get(context)?.onCatalogSnapshot?.({\n root: context.root,\n entryCount: entriesById.size,\n });\n }\n const catalog = contextCatalogs.get(context);\n if (!catalog) throw new Error(\"Missing context catalog snapshot\");\n return catalog;\n}\n\nexport function observePcrReadContextArtifactRead({ context, root, relativePath }: ContextOptions & {relativePath: unknown}): void {\n assertPcrReadContextFresh({ context, root });\n contextObservers.get(context)?.onPcrArtifactRead?.({\n root: context.root,\n relative_path: String(relativePath),\n });\n}\n\nexport function findPcrIdAliasInReadContext({ context, root, pcrId }: ContextOptions & {pcrId: unknown}): PcrIdAlias | null {\n assertPcrReadContextFresh({ context, root });\n return context.findPcrIdAlias(pcrId);\n}\n\nfunction canonicalRoot(root: string): string {\n const resolved = path.resolve(root);\n const stats = lstatSync(resolved);\n if (stats.isSymbolicLink() || !stats.isDirectory()) {\n throw new Error(`PCR repository root is not a canonical directory: ${resolved}`);\n }\n return realpathSync(resolved);\n}\n\nfunction parseCatalog(text: string, root: string): Record<string, unknown> {\n let catalog: unknown;\n try {\n catalog = parseYaml(text);\n } catch (error) {\n throw new PcrReadContextStaleError({\n root,\n source: CATALOG_PATH,\n reason: `catalog could not be parsed (${error instanceof Error ? error.message : String(error)})`,\n });\n }\n if (!record(catalog)) {\n throw new PcrReadContextStaleError({ root, source: CATALOG_PATH, reason: \"catalog is not an object\" });\n }\n return catalog;\n}\n\nfunction catalogDependencyPaths(catalog: Record<string, unknown>, root: string): string[] {\n const paths = [\n declaredPath(catalog.pcr_index, \"pcr_index\", root),\n declaredPath(field(catalog.pcr_id_aliases, \"path\"), \"pcr_id_aliases.path\", root),\n ...declaredPaths(catalog.classification_mappings, \"classification_mappings\", root),\n ...declaredPaths(catalog.classification_coverage_indexes ?? [], \"classification_coverage_indexes\", root),\n ];\n if (!paths.includes(PCR_ID_ALIAS_REGISTRY_PATH)) {\n throw new PcrReadContextStaleError({\n root,\n source: CATALOG_PATH,\n reason: `pcr_id_aliases.path must be ${PCR_ID_ALIAS_REGISTRY_PATH}`,\n });\n }\n return [...new Set(paths)];\n}\n\nfunction declaredPaths(value: unknown, name: string, root: string): string[] {\n if (!Array.isArray(value)) {\n throw new PcrReadContextStaleError({ root, source: CATALOG_PATH, reason: `${name} must be an array` });\n }\n return value.map((entry) => declaredPath(entry, name, root));\n}\n\nfunction declaredPath(value: unknown, name: string, root: string): string {\n if (typeof value !== \"string\" || value.trim() !== value || value.length === 0) {\n throw new PcrReadContextStaleError({ root, source: CATALOG_PATH, reason: `${name} must be a canonical path` });\n }\n const normalized = path.posix.normalize(value);\n if (normalized !== value || normalized.startsWith(\"../\") || path.posix.isAbsolute(normalized)) {\n throw new PcrReadContextStaleError({ root, source: CATALOG_PATH, reason: `${name} escapes the repository root` });\n }\n return normalized;\n}\n\nfunction captureBindings({ root, relativePaths, beforeBoundSourceOpen = null }: {root: string; relativePaths: readonly string[]; beforeBoundSourceOpen?: PcrReadContextOptions[\"beforeBoundSourceOpen\"]}): Map<string, string> {\n return new Map(\n relativePaths.map((relativePath) => [\n relativePath,\n readRepositoryFile({ root, relativePath, beforeBoundSourceOpen }).sha256,\n ]),\n );\n}\n\nfunction assertBindingSnapshotsMatch({ root, before, after }: {root: string; before: Map<string, string>; after: Map<string, string>}): void {\n for (const [relativePath, beforeSha256] of before) {\n if (after.get(relativePath) !== beforeSha256) {\n throw new PcrReadContextStaleError({\n root,\n source: relativePath,\n reason: \"bound source changed while aliases were validated\",\n });\n }\n }\n}\n\nfunction readRepositoryFile({ root, relativePath, beforeBoundSourceOpen = null }: BoundReadOptions): {text: string; sha256: string} {\n const filePath = path.join(root, ...relativePath.split(\"/\"));\n const before = assertContainedRegularFile({ root, relativePath, filePath });\n beforeBoundSourceOpen?.({ root, relativePath });\n const descriptor = openSync(filePath, MANAGED_READ_FLAGS);\n try {\n const opened = fstatSync(descriptor);\n if (!opened.isFile()) {\n throw new Error(`bound source is not a regular file: ${relativePath}`);\n }\n const after = assertContainedRegularFile({ root, relativePath, filePath });\n if (!sameFileIdentity(opened, before.at(-1)) || !sameFileIdentity(opened, after.at(-1)) || !samePathChain(before, after)) {\n throw new Error(`bound source path changed while it was being opened: ${relativePath}`);\n }\n const bytes = readFileSync(descriptor);\n return {\n text: new TextDecoder(\"utf-8\", { fatal: true }).decode(bytes),\n sha256: `sha256:${createHash(\"sha256\").update(bytes).digest(\"hex\")}`,\n };\n } finally {\n closeSync(descriptor);\n }\n}\n\nfunction assertContainedRegularFile({ root, relativePath, filePath }: {root: string; relativePath: string; filePath: string}): Stats[] {\n const segments = relativePath.split(\"/\");\n let currentPath = root;\n const chain: Stats[] = [];\n for (const [index, segment] of segments.entries()) {\n currentPath = path.join(currentPath, segment);\n const stats = lstatSync(currentPath);\n if (stats.isSymbolicLink() || (index === segments.length - 1 ? !stats.isFile() : !stats.isDirectory())) {\n throw new Error(`bound source is not a canonical file: ${relativePath}`);\n }\n chain.push(stats);\n }\n const realFile = realpathSync(filePath);\n if (!isInside(root, realFile)) {\n throw new Error(`bound source escapes the repository root: ${relativePath}`);\n }\n return chain;\n}\n\nfunction isInside(root: string, candidate: string): boolean {\n const relative = path.relative(root, candidate);\n return relative !== \"\" && !path.isAbsolute(relative) && relative !== \"..\" && !relative.startsWith(`..${path.sep}`);\n}\n\nfunction deepFreeze<T>(value: T): T {\n if (!value || typeof value !== \"object\" || Object.isFrozen(value)) {\n return value;\n }\n for (const child of Object.values(value)) {\n deepFreeze(child);\n }\n return Object.freeze(value);\n}\n\nfunction sameStrings(left: readonly string[], right: readonly string[]): boolean {\n return left.length === right.length && left.every((value, index) => value === right[index]);\n}\n\nfunction sameFileIdentity(left: Stats | undefined, right: Stats | undefined): boolean {\n return left !== undefined && right !== undefined && left.dev === right.dev && left.ino === right.ino;\n}\n\nfunction samePathChain(left: readonly Stats[], right: readonly Stats[]): boolean {\n return left.length === right.length && left.every(\n (stats, index) => sameFileIdentity(stats, right[index]),\n );\n}\n\nfunction sameRecords(left: readonly AliasSourcePcrPathState[], right: readonly AliasSourcePcrPathState[]): boolean {\n return left.length === right.length && left.every(\n (entry, index) => entry.path === right[index]?.path && entry.state === right[index]?.state,\n );\n}\n\nfunction aliasInputFingerprint({ bindings, aliasDependencyPaths, aliasSourcePathStates }: { bindings: Map<string, string>; aliasDependencyPaths: readonly string[]; aliasSourcePathStates: readonly AliasSourcePcrPathState[] }): string {\n const sources = [CATALOG_PATH, ...aliasDependencyPaths]\n .filter((value, index, values) => values.indexOf(value) === index)\n .sort()\n .map((relativePath) => ({ relative_path: relativePath, sha256: bindings.get(relativePath) }));\n return `sha256:${createHash(\"sha256\").update(JSON.stringify({\n sources,\n source_path_states: aliasSourcePathStates,\n })).digest(\"hex\")}`;\n}\n\nfunction readSynchronously<T>(read: () => T): T {\n const result = read();\n if (result && typeof field(result, \"then\") === \"function\") {\n throw new TypeError(\"PCR read context sessions require a synchronous callback; use an explicit async API.\");\n }\n return result;\n}\n"]}
|
|
@@ -0,0 +1,150 @@
|
|
|
1
|
+
import { createHash } from 'node:crypto';
|
|
2
|
+
import { OfflineLibrary } from './offline-library.js';
|
|
3
|
+
import { createPcrReadContext, withPcrReadContextSession } from './read-context.js';
|
|
4
|
+
import { withPcrSource, withRepositoryPcrSource } from './source-context.js';
|
|
5
|
+
import { projectionFromVerifiedSnapshot, readVerifiedSnapshotForSession } from './index.js';
|
|
6
|
+
import { buildGuidanceFromProjection } from './compiler/guidance-envelope.js';
|
|
7
|
+
export const MAX_READ_BATCH = 100;
|
|
8
|
+
export class PcrReadSessionError extends Error {
|
|
9
|
+
code;
|
|
10
|
+
details;
|
|
11
|
+
constructor(code, message, details = {}) {
|
|
12
|
+
super(message);
|
|
13
|
+
this.name = 'PcrReadSessionError';
|
|
14
|
+
this.code = code;
|
|
15
|
+
this.details = details;
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
function validateIds(ids) {
|
|
19
|
+
if (!Array.isArray(ids) || ids.length > MAX_READ_BATCH || ids.some(id => typeof id !== 'string' || !id.trim())) {
|
|
20
|
+
throw new PcrReadSessionError('PCR_READ_BATCH_INVALID', `Provide at most ${MAX_READ_BATCH} nonempty PCR IDs; no partial batch is returned.`);
|
|
21
|
+
}
|
|
22
|
+
return [...ids];
|
|
23
|
+
}
|
|
24
|
+
function fingerprint(snapshot) {
|
|
25
|
+
const digest = (bytes) => createHash('sha256').update(bytes).digest('hex');
|
|
26
|
+
const entries = [['manifest.yaml', digest(snapshot.manifestBytes)]];
|
|
27
|
+
for (const name of Object.keys(snapshot.artifacts).sort()) {
|
|
28
|
+
const artifact = snapshot.artifacts[name];
|
|
29
|
+
const error = artifact?.error;
|
|
30
|
+
const code = error !== null && typeof error === 'object' ? Reflect.get(error, 'code') : undefined;
|
|
31
|
+
entries.push([name, artifact?.bytes ? digest(artifact.bytes) : `unavailable:${String(code ?? 'unknown_error')}`]);
|
|
32
|
+
}
|
|
33
|
+
return digest(Buffer.from(JSON.stringify(entries)));
|
|
34
|
+
}
|
|
35
|
+
function synchronous(read) {
|
|
36
|
+
const result = read();
|
|
37
|
+
if (result !== null && (typeof result === 'object' || typeof result === 'function')) {
|
|
38
|
+
const then = Reflect.get(result, 'then');
|
|
39
|
+
if (typeof then === 'function') {
|
|
40
|
+
void Promise.resolve(result).catch(() => { });
|
|
41
|
+
throw new PcrReadSessionError('PCR_READ_SESSION_ASYNC', 'PCR read sessions require a synchronous callback.');
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
return result;
|
|
45
|
+
}
|
|
46
|
+
/** One owned, synchronous source scope. Each selected repository record is bound
|
|
47
|
+
* by exact captured bytes and rechecked before return. SQLite already opens one
|
|
48
|
+
* read-only transaction in OfflineLibrary; this function owns its lifetime. */
|
|
49
|
+
export function withPcrReadSession(source, read) {
|
|
50
|
+
if (typeof read !== 'function' || !source || (source.kind !== 'repository' && source.kind !== 'library')) {
|
|
51
|
+
throw new PcrReadSessionError('PCR_READ_SOURCE_INVALID', 'Select a repository root or a fixed SQLite library.');
|
|
52
|
+
}
|
|
53
|
+
if (source.kind === 'repository' ? typeof source.root !== 'string' || !source.root : typeof source.filename !== 'string' || !source.filename) {
|
|
54
|
+
throw new PcrReadSessionError('PCR_READ_SOURCE_INVALID', 'The selected source requires a nonempty path.');
|
|
55
|
+
}
|
|
56
|
+
if (source.kind === 'library' && ((source.verify !== undefined && typeof source.verify !== 'boolean')
|
|
57
|
+
|| (source.expectedSha256 !== undefined && (typeof source.expectedSha256 !== 'string' || !/^sha256:[a-f0-9]{64}$/u.test(source.expectedSha256))))) {
|
|
58
|
+
throw new PcrReadSessionError('PCR_READ_SOURCE_INVALID', 'Library verification must be a boolean and its optional pin a sha256 digest.');
|
|
59
|
+
}
|
|
60
|
+
let library;
|
|
61
|
+
const stats = { records_loaded: 0, cache_hits: 0, final_verifications: 0, alias_validations: 0 };
|
|
62
|
+
let active = true;
|
|
63
|
+
try {
|
|
64
|
+
const context = source.kind === 'repository' ? withRepositoryPcrSource(source.root, () => createPcrReadContext({ root: source.root, onAliasValidation: () => { stats.alias_validations += 1; } })) : undefined;
|
|
65
|
+
if (source.kind === 'library')
|
|
66
|
+
library = new OfflineLibrary(source.filename, { expectedSha256: source.expectedSha256 ?? null, verify: source.verify ?? true });
|
|
67
|
+
const selectedRoot = context?.root ?? library?.root;
|
|
68
|
+
if (!selectedRoot)
|
|
69
|
+
throw new PcrReadSessionError('PCR_READ_SOURCE_INVALID', 'Source initialization failed.');
|
|
70
|
+
const root = selectedRoot;
|
|
71
|
+
const adapter = library;
|
|
72
|
+
const scope = (operation) => adapter ? withPcrSource(root, adapter, operation) : withRepositoryPcrSource(root, operation);
|
|
73
|
+
const identity = Object.freeze(adapter ? {
|
|
74
|
+
kind: 'library', filename: adapter.filename, content_version: adapter.manifest.snapshot.content_version,
|
|
75
|
+
source_commit: adapter.manifest.snapshot.source_commit, sha256: adapter.manifest.sha256,
|
|
76
|
+
verified: source.kind === 'library' && ((source.verify ?? true) || source.expectedSha256 !== undefined),
|
|
77
|
+
} : { kind: 'repository', root });
|
|
78
|
+
const bindings = new Map();
|
|
79
|
+
const cache = new Map();
|
|
80
|
+
function requireActive() { if (!active)
|
|
81
|
+
throw new PcrReadSessionError('PCR_READ_SESSION_CLOSED', 'PCR read session has ended.'); }
|
|
82
|
+
function capture(pcrId) {
|
|
83
|
+
return scope(() => readVerifiedSnapshotForSession({ root, pcrId, ...(context ? { context } : {}) }));
|
|
84
|
+
}
|
|
85
|
+
function load(pcrId) {
|
|
86
|
+
requireActive();
|
|
87
|
+
validateIds([pcrId]);
|
|
88
|
+
const cached = cache.get(pcrId);
|
|
89
|
+
if (cached) {
|
|
90
|
+
stats.cache_hits += 1;
|
|
91
|
+
cache.delete(pcrId);
|
|
92
|
+
cache.set(pcrId, cached);
|
|
93
|
+
return cached;
|
|
94
|
+
}
|
|
95
|
+
const snapshot = capture(pcrId);
|
|
96
|
+
const binding = fingerprint(snapshot);
|
|
97
|
+
const previous = bindings.get(pcrId);
|
|
98
|
+
if (previous !== undefined && previous !== binding)
|
|
99
|
+
throw new PcrReadSessionError('PCR_READ_SESSION_STALE', 'Selected PCR source changed during the session.', { pcr_id: pcrId });
|
|
100
|
+
bindings.set(pcrId, binding);
|
|
101
|
+
const value = projectionFromVerifiedSnapshot(snapshot, root);
|
|
102
|
+
stats.records_loaded += 1;
|
|
103
|
+
cache.set(pcrId, value);
|
|
104
|
+
if (cache.size > MAX_READ_BATCH) {
|
|
105
|
+
const oldest = cache.keys().next().value;
|
|
106
|
+
if (oldest !== undefined)
|
|
107
|
+
cache.delete(oldest);
|
|
108
|
+
}
|
|
109
|
+
return value;
|
|
110
|
+
}
|
|
111
|
+
const session = Object.freeze({
|
|
112
|
+
source: identity,
|
|
113
|
+
guidance: (pcrId) => structuredClone(buildGuidanceFromProjection(load(pcrId))),
|
|
114
|
+
projection: (pcrId) => structuredClone(load(pcrId)),
|
|
115
|
+
guidanceMany: (ids) => { requireActive(); return validateIds(ids).map(id => structuredClone(buildGuidanceFromProjection(load(id)))); },
|
|
116
|
+
projectionMany: (ids) => { requireActive(); return validateIds(ids).map(id => structuredClone(load(id))); },
|
|
117
|
+
stats: () => Object.freeze({ ...stats }),
|
|
118
|
+
});
|
|
119
|
+
const operation = () => {
|
|
120
|
+
try {
|
|
121
|
+
const result = synchronous(() => scope(() => read(session)));
|
|
122
|
+
if (context) {
|
|
123
|
+
for (const [pcrId, expected] of bindings) {
|
|
124
|
+
let snapshot;
|
|
125
|
+
try {
|
|
126
|
+
snapshot = capture(pcrId);
|
|
127
|
+
}
|
|
128
|
+
catch (error) {
|
|
129
|
+
throw new PcrReadSessionError('PCR_READ_SESSION_STALE', 'Selected PCR can no longer be verified.', { pcr_id: pcrId, reason: error instanceof Error ? error.message : String(error) });
|
|
130
|
+
}
|
|
131
|
+
stats.final_verifications += 1;
|
|
132
|
+
if (fingerprint(snapshot) !== expected)
|
|
133
|
+
throw new PcrReadSessionError('PCR_READ_SESSION_STALE', 'Selected PCR source changed during the session.', { pcr_id: pcrId });
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
return result;
|
|
137
|
+
}
|
|
138
|
+
finally {
|
|
139
|
+
active = false;
|
|
140
|
+
cache.clear();
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
return context ? withPcrReadContextSession({ context, root, read: operation }) : operation();
|
|
144
|
+
}
|
|
145
|
+
finally {
|
|
146
|
+
active = false;
|
|
147
|
+
library?.close();
|
|
148
|
+
}
|
|
149
|
+
}
|
|
150
|
+
//# sourceMappingURL=read-session.js.map
|