chaffjs 0.18.0 → 0.20.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 +127 -53
- package/bin/chaff.js +17 -2
- package/dist/acronym-expansions.d.ts +26 -0
- package/dist/acronym-expansions.d.ts.map +1 -0
- package/dist/acronym-expansions.js +88 -0
- package/dist/acronym-expansions.js.map +1 -0
- package/dist/announced-count.d.ts.map +1 -1
- package/dist/announced-count.js +44 -10
- package/dist/announced-count.js.map +1 -1
- package/dist/announced-list.d.ts +30 -0
- package/dist/announced-list.d.ts.map +1 -0
- package/dist/announced-list.js +95 -0
- package/dist/announced-list.js.map +1 -0
- package/dist/api.d.ts +168 -0
- package/dist/api.d.ts.map +1 -0
- package/dist/api.js +10 -0
- package/dist/api.js.map +1 -0
- package/dist/baseline.d.ts +11 -2
- package/dist/baseline.d.ts.map +1 -1
- package/dist/baseline.js +13 -4
- package/dist/baseline.js.map +1 -1
- package/dist/check-source.d.ts +32 -0
- package/dist/check-source.d.ts.map +1 -0
- package/dist/check-source.js +50 -0
- package/dist/check-source.js.map +1 -0
- package/dist/checks.js +3 -3
- package/dist/checks.js.map +1 -1
- package/dist/cli-args.d.ts +4 -0
- package/dist/cli-args.d.ts.map +1 -1
- package/dist/cli-args.js +6 -1
- package/dist/cli-args.js.map +1 -1
- package/dist/cli-text.d.ts +3 -3
- package/dist/cli-text.d.ts.map +1 -1
- package/dist/cli-text.js +27 -18
- package/dist/cli-text.js.map +1 -1
- package/dist/cli.d.ts +1 -0
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +86 -93
- package/dist/cli.js.map +1 -1
- package/dist/closing-paragraph.d.ts +7 -0
- package/dist/closing-paragraph.d.ts.map +1 -0
- package/dist/closing-paragraph.js +22 -0
- package/dist/closing-paragraph.js.map +1 -0
- package/dist/commands/compare.d.ts +11 -1
- package/dist/commands/compare.d.ts.map +1 -1
- package/dist/commands/compare.js +12 -18
- package/dist/commands/compare.js.map +1 -1
- package/dist/commands/document-commands.d.ts +9 -0
- package/dist/commands/document-commands.d.ts.map +1 -0
- package/dist/commands/document-commands.js +17 -0
- package/dist/commands/document-commands.js.map +1 -0
- package/dist/commands/eval.d.ts.map +1 -1
- package/dist/commands/eval.js +5 -4
- package/dist/commands/eval.js.map +1 -1
- package/dist/commands/facts.d.ts +8 -0
- package/dist/commands/facts.d.ts.map +1 -0
- package/dist/commands/facts.js +30 -0
- package/dist/commands/facts.js.map +1 -0
- package/dist/commands/feedback.d.ts +10 -0
- package/dist/commands/feedback.d.ts.map +1 -1
- package/dist/commands/feedback.js +25 -1
- package/dist/commands/feedback.js.map +1 -1
- package/dist/commands/fix-plan.d.ts +13 -0
- package/dist/commands/fix-plan.d.ts.map +1 -0
- package/dist/commands/fix-plan.js +46 -0
- package/dist/commands/fix-plan.js.map +1 -0
- package/dist/commands/grade-baseline.d.ts +15 -0
- package/dist/commands/grade-baseline.d.ts.map +1 -0
- package/dist/commands/grade-baseline.js +38 -0
- package/dist/commands/grade-baseline.js.map +1 -0
- package/dist/commands/grade.d.ts +19 -0
- package/dist/commands/grade.d.ts.map +1 -0
- package/dist/commands/grade.js +160 -0
- package/dist/commands/grade.js.map +1 -0
- package/dist/commands/outline.d.ts +8 -0
- package/dist/commands/outline.d.ts.map +1 -0
- package/dist/commands/outline.js +44 -0
- package/dist/commands/outline.js.map +1 -0
- package/dist/commands/read-document.d.ts +17 -0
- package/dist/commands/read-document.d.ts.map +1 -0
- package/dist/commands/read-document.js +22 -0
- package/dist/commands/read-document.js.map +1 -0
- package/dist/commands/suppressions.d.ts +7 -0
- package/dist/commands/suppressions.d.ts.map +1 -0
- package/dist/commands/suppressions.js +9 -0
- package/dist/commands/suppressions.js.map +1 -0
- package/dist/commands/test.js +3 -3
- package/dist/commands/test.js.map +1 -1
- package/dist/commands/tree.d.ts +2 -0
- package/dist/commands/tree.d.ts.map +1 -1
- package/dist/commands/tree.js +19 -12
- package/dist/commands/tree.js.map +1 -1
- package/dist/compare/clock-time.d.ts.map +1 -1
- package/dist/compare/clock-time.js +5 -2
- package/dist/compare/clock-time.js.map +1 -1
- package/dist/compare/distinct.d.ts +9 -0
- package/dist/compare/distinct.d.ts.map +1 -0
- package/dist/compare/distinct.js +18 -0
- package/dist/compare/distinct.js.map +1 -0
- package/dist/compare/extract.d.ts.map +1 -1
- package/dist/compare/extract.js +7 -5
- package/dist/compare/extract.js.map +1 -1
- package/dist/compare/fact-key.d.ts +17 -0
- package/dist/compare/fact-key.d.ts.map +1 -0
- package/dist/compare/fact-key.js +25 -0
- package/dist/compare/fact-key.js.map +1 -0
- package/dist/compare/fact-text.d.ts +5 -0
- package/dist/compare/fact-text.d.ts.map +1 -1
- package/dist/compare/fact-text.js +16 -2
- package/dist/compare/fact-text.js.map +1 -1
- package/dist/compare/facts-render.d.ts +17 -0
- package/dist/compare/facts-render.d.ts.map +1 -0
- package/dist/compare/facts-render.js +43 -0
- package/dist/compare/facts-render.js.map +1 -0
- package/dist/compare/facts-text.d.ts +15 -0
- package/dist/compare/facts-text.d.ts.map +1 -0
- package/dist/compare/facts-text.js +27 -0
- package/dist/compare/facts-text.js.map +1 -0
- package/dist/compare/match.d.ts +1 -0
- package/dist/compare/match.d.ts.map +1 -1
- package/dist/compare/match.js +1 -1
- package/dist/compare/match.js.map +1 -1
- package/dist/compare/outcome.d.ts +4 -1
- package/dist/compare/outcome.d.ts.map +1 -1
- package/dist/compare/outcome.js +10 -4
- package/dist/compare/outcome.js.map +1 -1
- package/dist/compare/proper-nouns.d.ts +5 -3
- package/dist/compare/proper-nouns.d.ts.map +1 -1
- package/dist/compare/proper-nouns.js +10 -8
- package/dist/compare/proper-nouns.js.map +1 -1
- package/dist/compare/render.d.ts +4 -0
- package/dist/compare/render.d.ts.map +1 -1
- package/dist/compare/render.js +2 -2
- package/dist/compare/render.js.map +1 -1
- package/dist/compare/text-atoms.d.ts +5 -2
- package/dist/compare/text-atoms.d.ts.map +1 -1
- package/dist/compare/text-atoms.js +7 -5
- package/dist/compare/text-atoms.js.map +1 -1
- package/dist/compare/text.d.ts.map +1 -1
- package/dist/compare/text.js +2 -2
- package/dist/compare/text.js.map +1 -1
- package/dist/config/load.d.ts +12 -0
- package/dist/config/load.d.ts.map +1 -1
- package/dist/config/load.js +5 -3
- package/dist/config/load.js.map +1 -1
- package/dist/config/option-problems.d.ts +3 -2
- package/dist/config/option-problems.d.ts.map +1 -1
- package/dist/config/option-problems.js +4 -3
- package/dist/config/option-problems.js.map +1 -1
- package/dist/config/style.d.ts +5 -0
- package/dist/config/style.d.ts.map +1 -1
- package/dist/config/style.js +13 -1
- package/dist/config/style.js.map +1 -1
- package/dist/config/yaml-file.d.ts +22 -0
- package/dist/config/yaml-file.d.ts.map +1 -0
- package/dist/config/yaml-file.js +59 -0
- package/dist/config/yaml-file.js.map +1 -0
- package/dist/correction-edit.d.ts +20 -0
- package/dist/correction-edit.d.ts.map +1 -0
- package/dist/correction-edit.js +34 -0
- package/dist/correction-edit.js.map +1 -0
- package/dist/cross-run.d.ts +15 -0
- package/dist/cross-run.d.ts.map +1 -0
- package/dist/cross-run.js +73 -0
- package/dist/cross-run.js.map +1 -0
- package/dist/cross-variants.d.ts +26 -0
- package/dist/cross-variants.d.ts.map +1 -0
- package/dist/cross-variants.js +40 -0
- package/dist/cross-variants.js.map +1 -0
- package/dist/cross-votes.d.ts +17 -0
- package/dist/cross-votes.d.ts.map +1 -0
- package/dist/cross-votes.js +24 -0
- package/dist/cross-votes.js.map +1 -0
- package/dist/custom/load.d.ts +6 -3
- package/dist/custom/load.d.ts.map +1 -1
- package/dist/custom/load.js +10 -2
- package/dist/custom/load.js.map +1 -1
- package/dist/custom/module-path.d.ts +11 -0
- package/dist/custom/module-path.d.ts.map +1 -0
- package/dist/custom/module-path.js +15 -0
- package/dist/custom/module-path.js.map +1 -0
- package/dist/custom/parse.d.ts +17 -3
- package/dist/custom/parse.d.ts.map +1 -1
- package/dist/custom/parse.js +57 -14
- package/dist/custom/parse.js.map +1 -1
- package/dist/custom/problems.d.ts +4 -1
- package/dist/custom/problems.d.ts.map +1 -1
- package/dist/custom/problems.js +56 -39
- package/dist/custom/problems.js.map +1 -1
- package/dist/date-format.d.ts +33 -0
- package/dist/date-format.d.ts.map +1 -0
- package/dist/date-format.js +87 -0
- package/dist/date-format.js.map +1 -0
- package/dist/derived/date-arithmetic.d.ts +22 -0
- package/dist/derived/date-arithmetic.d.ts.map +1 -0
- package/dist/derived/date-arithmetic.js +48 -0
- package/dist/derived/date-arithmetic.js.map +1 -0
- package/dist/derived/durations.d.ts +25 -0
- package/dist/derived/durations.d.ts.map +1 -0
- package/dist/derived/durations.js +38 -0
- package/dist/derived/durations.js.map +1 -0
- package/dist/derived/elapsed.d.ts +41 -0
- package/dist/derived/elapsed.d.ts.map +1 -0
- package/dist/derived/elapsed.js +66 -0
- package/dist/derived/elapsed.js.map +1 -0
- package/dist/derived/relative-dates.d.ts +35 -0
- package/dist/derived/relative-dates.d.ts.map +1 -0
- package/dist/derived/relative-dates.js +65 -0
- package/dist/derived/relative-dates.js.map +1 -0
- package/dist/derived/sentence-buckets.d.ts +4 -0
- package/dist/derived/sentence-buckets.d.ts.map +1 -0
- package/dist/derived/sentence-buckets.js +34 -0
- package/dist/derived/sentence-buckets.js.map +1 -0
- package/dist/detect-language.js +1 -1
- package/dist/detect.d.ts.map +1 -1
- package/dist/detect.js +9 -3
- package/dist/detect.js.map +1 -1
- package/dist/detectors/absolute-exception.d.ts +4 -0
- package/dist/detectors/absolute-exception.d.ts.map +1 -0
- package/dist/detectors/absolute-exception.js +86 -0
- package/dist/detectors/absolute-exception.js.map +1 -0
- package/dist/detectors/abstract-length.d.ts +24 -0
- package/dist/detectors/abstract-length.d.ts.map +1 -0
- package/dist/detectors/abstract-length.js +108 -0
- package/dist/detectors/abstract-length.js.map +1 -0
- package/dist/detectors/ai-phrasing.d.ts +15 -3
- package/dist/detectors/ai-phrasing.d.ts.map +1 -1
- package/dist/detectors/ai-phrasing.js +15 -15
- package/dist/detectors/ai-phrasing.js.map +1 -1
- package/dist/detectors/ai-structure.d.ts +7 -0
- package/dist/detectors/ai-structure.d.ts.map +1 -0
- package/dist/detectors/ai-structure.js +26 -0
- package/dist/detectors/ai-structure.js.map +1 -0
- package/dist/detectors/blank-structure.d.ts +13 -0
- package/dist/detectors/blank-structure.d.ts.map +1 -0
- package/dist/detectors/blank-structure.js +124 -0
- package/dist/detectors/blank-structure.js.map +1 -0
- package/dist/detectors/bold-label.d.ts +10 -0
- package/dist/detectors/bold-label.d.ts.map +1 -0
- package/dist/detectors/bold-label.js +44 -0
- package/dist/detectors/bold-label.js.map +1 -0
- package/dist/detectors/chat-citation.d.ts +18 -0
- package/dist/detectors/chat-citation.d.ts.map +1 -0
- package/dist/detectors/chat-citation.js +41 -0
- package/dist/detectors/chat-citation.js.map +1 -0
- package/dist/detectors/citation-entry.d.ts +32 -0
- package/dist/detectors/citation-entry.d.ts.map +1 -0
- package/dist/detectors/citation-entry.js +62 -0
- package/dist/detectors/citation-entry.js.map +1 -0
- package/dist/detectors/citation-marks.d.ts +43 -0
- package/dist/detectors/citation-marks.d.ts.map +1 -0
- package/dist/detectors/citation-marks.js +151 -0
- package/dist/detectors/citation-marks.js.map +1 -0
- package/dist/detectors/citation-style.d.ts +16 -0
- package/dist/detectors/citation-style.d.ts.map +1 -0
- package/dist/detectors/citation-style.js +39 -0
- package/dist/detectors/citation-style.js.map +1 -0
- package/dist/detectors/cross-link.d.ts +15 -0
- package/dist/detectors/cross-link.d.ts.map +1 -0
- package/dist/detectors/cross-link.js +74 -0
- package/dist/detectors/cross-link.js.map +1 -0
- package/dist/detectors/cross-registry/cross-doc-broken-link.d.ts +3 -0
- package/dist/detectors/cross-registry/cross-doc-broken-link.d.ts.map +1 -0
- package/dist/detectors/cross-registry/cross-doc-broken-link.js +3 -0
- package/dist/detectors/cross-registry/cross-doc-broken-link.js.map +1 -0
- package/dist/detectors/cross-registry/cross-doc-term-variant.d.ts +3 -0
- package/dist/detectors/cross-registry/cross-doc-term-variant.d.ts.map +1 -0
- package/dist/detectors/cross-registry/cross-doc-term-variant.js +3 -0
- package/dist/detectors/cross-registry/cross-doc-term-variant.js.map +1 -0
- package/dist/detectors/cross-variant.d.ts +4 -0
- package/dist/detectors/cross-variant.d.ts.map +1 -0
- package/dist/detectors/cross-variant.js +62 -0
- package/dist/detectors/cross-variant.js.map +1 -0
- package/dist/detectors/dangling-figure.d.ts +5 -2
- package/dist/detectors/dangling-figure.d.ts.map +1 -1
- package/dist/detectors/dangling-figure.js +5 -3
- package/dist/detectors/dangling-figure.js.map +1 -1
- package/dist/detectors/date-format.d.ts +3 -0
- package/dist/detectors/date-format.d.ts.map +1 -0
- package/dist/detectors/date-format.js +26 -0
- package/dist/detectors/date-format.js.map +1 -0
- package/dist/detectors/date-year.d.ts +23 -0
- package/dist/detectors/date-year.d.ts.map +1 -0
- package/dist/detectors/date-year.js +71 -0
- package/dist/detectors/date-year.js.map +1 -0
- package/dist/detectors/definition-use.d.ts +8 -0
- package/dist/detectors/definition-use.d.ts.map +1 -0
- package/dist/detectors/definition-use.js +32 -0
- package/dist/detectors/definition-use.js.map +1 -0
- package/dist/detectors/derived-numbers.d.ts +6 -0
- package/dist/detectors/derived-numbers.d.ts.map +1 -0
- package/dist/detectors/derived-numbers.js +155 -0
- package/dist/detectors/derived-numbers.js.map +1 -0
- package/dist/detectors/document-shape.d.ts +18 -0
- package/dist/detectors/document-shape.d.ts.map +1 -0
- package/dist/detectors/document-shape.js +94 -0
- package/dist/detectors/document-shape.js.map +1 -0
- package/dist/detectors/doubled-punctuation.d.ts.map +1 -1
- package/dist/detectors/doubled-punctuation.js +4 -2
- package/dist/detectors/doubled-punctuation.js.map +1 -1
- package/dist/detectors/duplicate-heading.d.ts +14 -0
- package/dist/detectors/duplicate-heading.d.ts.map +1 -0
- package/dist/detectors/duplicate-heading.js +39 -0
- package/dist/detectors/duplicate-heading.js.map +1 -0
- package/dist/detectors/emoji-heading.d.ts +7 -0
- package/dist/detectors/emoji-heading.d.ts.map +1 -0
- package/dist/detectors/emoji-heading.js +14 -0
- package/dist/detectors/emoji-heading.js.map +1 -0
- package/dist/detectors/empty-section.d.ts +8 -0
- package/dist/detectors/empty-section.d.ts.map +1 -0
- package/dist/detectors/empty-section.js +16 -0
- package/dist/detectors/empty-section.js.map +1 -0
- package/dist/detectors/fact-consistency.d.ts +8 -0
- package/dist/detectors/fact-consistency.d.ts.map +1 -0
- package/dist/detectors/fact-consistency.js +44 -0
- package/dist/detectors/fact-consistency.js.map +1 -0
- package/dist/detectors/figure-order.d.ts +28 -0
- package/dist/detectors/figure-order.d.ts.map +1 -0
- package/dist/detectors/figure-order.js +65 -0
- package/dist/detectors/figure-order.js.map +1 -0
- package/dist/detectors/fullwidth-alnum.d.ts +24 -0
- package/dist/detectors/fullwidth-alnum.d.ts.map +1 -0
- package/dist/detectors/fullwidth-alnum.js +88 -0
- package/dist/detectors/fullwidth-alnum.js.map +1 -0
- package/dist/detectors/hankaku-kana.d.ts +9 -0
- package/dist/detectors/hankaku-kana.d.ts.map +1 -0
- package/dist/detectors/hankaku-kana.js +27 -0
- package/dist/detectors/hankaku-kana.js.map +1 -0
- package/dist/detectors/heading-code-words.js +2 -2
- package/dist/detectors/heading-code-words.js.map +1 -1
- package/dist/detectors/heading-numbering.d.ts +7 -0
- package/dist/detectors/heading-numbering.d.ts.map +1 -0
- package/dist/detectors/heading-numbering.js +34 -0
- package/dist/detectors/heading-numbering.js.map +1 -0
- package/dist/detectors/index.d.ts +3 -1
- package/dist/detectors/index.d.ts.map +1 -1
- package/dist/detectors/index.js +9 -104
- package/dist/detectors/index.js.map +1 -1
- package/dist/detectors/invisible-character.d.ts +20 -0
- package/dist/detectors/invisible-character.d.ts.map +1 -0
- package/dist/detectors/invisible-character.js +143 -0
- package/dist/detectors/invisible-character.js.map +1 -0
- package/dist/detectors/katakana-density.d.ts +11 -0
- package/dist/detectors/katakana-density.d.ts.map +1 -0
- package/dist/detectors/katakana-density.js +47 -0
- package/dist/detectors/katakana-density.js.map +1 -0
- package/dist/detectors/known-correction.d.ts +7 -0
- package/dist/detectors/known-correction.d.ts.map +1 -0
- package/dist/detectors/known-correction.js +63 -0
- package/dist/detectors/known-correction.js.map +1 -0
- package/dist/detectors/kutoten-consistency.js +2 -2
- package/dist/detectors/kutoten-consistency.js.map +1 -1
- package/dist/detectors/lexicon-match.d.ts +10 -1
- package/dist/detectors/lexicon-match.d.ts.map +1 -1
- package/dist/detectors/lexicon-match.js +26 -1
- package/dist/detectors/lexicon-match.js.map +1 -1
- package/dist/detectors/lexicon.d.ts +9 -1
- package/dist/detectors/lexicon.d.ts.map +1 -1
- package/dist/detectors/lexicon.js +34 -13
- package/dist/detectors/lexicon.js.map +1 -1
- package/dist/detectors/list-parallel.d.ts +12 -0
- package/dist/detectors/list-parallel.d.ts.map +1 -0
- package/dist/detectors/list-parallel.js +135 -0
- package/dist/detectors/list-parallel.js.map +1 -0
- package/dist/detectors/list-sentence.d.ts +3 -1
- package/dist/detectors/list-sentence.d.ts.map +1 -1
- package/dist/detectors/list-sentence.js +26 -1
- package/dist/detectors/list-sentence.js.map +1 -1
- package/dist/detectors/long-vowel.d.ts +17 -1
- package/dist/detectors/long-vowel.d.ts.map +1 -1
- package/dist/detectors/long-vowel.js +20 -6
- package/dist/detectors/long-vowel.js.map +1 -1
- package/dist/detectors/markup-finding.d.ts +3 -1
- package/dist/detectors/markup-finding.d.ts.map +1 -1
- package/dist/detectors/markup-finding.js +10 -0
- package/dist/detectors/markup-finding.js.map +1 -1
- package/dist/detectors/misuse-match.d.ts +7 -0
- package/dist/detectors/misuse-match.d.ts.map +1 -0
- package/dist/detectors/misuse-match.js +23 -0
- package/dist/detectors/misuse-match.js.map +1 -0
- package/dist/detectors/modal-conflict.d.ts +6 -0
- package/dist/detectors/modal-conflict.d.ts.map +1 -0
- package/dist/detectors/modal-conflict.js +22 -0
- package/dist/detectors/modal-conflict.js.map +1 -0
- package/dist/detectors/name-variant.d.ts +4 -0
- package/dist/detectors/name-variant.d.ts.map +1 -0
- package/dist/detectors/name-variant.js +13 -0
- package/dist/detectors/name-variant.js.map +1 -0
- package/dist/detectors/next-word.d.ts +22 -0
- package/dist/detectors/next-word.d.ts.map +1 -0
- package/dist/detectors/next-word.js +125 -0
- package/dist/detectors/next-word.js.map +1 -0
- package/dist/detectors/nominalization.d.ts +11 -0
- package/dist/detectors/nominalization.d.ts.map +1 -0
- package/dist/detectors/nominalization.js +56 -0
- package/dist/detectors/nominalization.js.map +1 -0
- package/dist/detectors/number-style.d.ts +31 -0
- package/dist/detectors/number-style.d.ts.map +1 -0
- package/dist/detectors/number-style.js +182 -0
- package/dist/detectors/number-style.js.map +1 -0
- package/dist/detectors/number-unit.d.ts +35 -0
- package/dist/detectors/number-unit.d.ts.map +1 -0
- package/dist/detectors/number-unit.js +121 -0
- package/dist/detectors/number-unit.js.map +1 -0
- package/dist/detectors/orthographic-variant.d.ts +8 -0
- package/dist/detectors/orthographic-variant.d.ts.map +1 -0
- package/dist/detectors/orthographic-variant.js +130 -0
- package/dist/detectors/orthographic-variant.js.map +1 -0
- package/dist/detectors/orthography.d.ts.map +1 -1
- package/dist/detectors/orthography.js +59 -28
- package/dist/detectors/orthography.js.map +1 -1
- package/dist/detectors/outside-announced-list.d.ts +4 -0
- package/dist/detectors/outside-announced-list.d.ts.map +1 -0
- package/dist/detectors/outside-announced-list.js +24 -0
- package/dist/detectors/outside-announced-list.js.map +1 -0
- package/dist/detectors/oxford-comma.d.ts.map +1 -1
- package/dist/detectors/oxford-comma.js +1 -0
- package/dist/detectors/oxford-comma.js.map +1 -1
- package/dist/detectors/paragraph-restatement.d.ts +11 -0
- package/dist/detectors/paragraph-restatement.d.ts.map +1 -0
- package/dist/detectors/paragraph-restatement.js +61 -0
- package/dist/detectors/paragraph-restatement.js.map +1 -0
- package/dist/detectors/paragraph-run.d.ts +7 -0
- package/dist/detectors/paragraph-run.d.ts.map +1 -0
- package/dist/detectors/paragraph-run.js +25 -0
- package/dist/detectors/paragraph-run.js.map +1 -0
- package/dist/detectors/person-consistency.d.ts +7 -0
- package/dist/detectors/person-consistency.d.ts.map +1 -0
- package/dist/detectors/person-consistency.js +25 -0
- package/dist/detectors/person-consistency.js.map +1 -0
- package/dist/detectors/phrase-match.d.ts +4 -1
- package/dist/detectors/phrase-match.d.ts.map +1 -1
- package/dist/detectors/phrase-match.js +26 -7
- package/dist/detectors/phrase-match.js.map +1 -1
- package/dist/detectors/placeholder-text.d.ts +1 -1
- package/dist/detectors/placeholder-text.d.ts.map +1 -1
- package/dist/detectors/placeholder-text.js +54 -4
- package/dist/detectors/placeholder-text.js.map +1 -1
- package/dist/detectors/ra-nuki.d.ts +9 -0
- package/dist/detectors/ra-nuki.d.ts.map +1 -0
- package/dist/detectors/ra-nuki.js +30 -0
- package/dist/detectors/ra-nuki.js.map +1 -0
- package/dist/detectors/reference-text.d.ts +6 -0
- package/dist/detectors/reference-text.d.ts.map +1 -0
- package/dist/detectors/reference-text.js +38 -0
- package/dist/detectors/reference-text.js.map +1 -0
- package/dist/detectors/registry/absolute-exception.d.ts +3 -0
- package/dist/detectors/registry/absolute-exception.d.ts.map +1 -0
- package/dist/detectors/registry/absolute-exception.js +3 -0
- package/dist/detectors/registry/absolute-exception.js.map +1 -0
- package/dist/detectors/registry/abstract-length.d.ts +3 -0
- package/dist/detectors/registry/abstract-length.d.ts.map +1 -0
- package/dist/detectors/registry/abstract-length.js +3 -0
- package/dist/detectors/registry/abstract-length.js.map +1 -0
- package/dist/detectors/registry/acronym-expansion-conflict.d.ts +3 -0
- package/dist/detectors/registry/acronym-expansion-conflict.d.ts.map +1 -0
- package/dist/detectors/registry/acronym-expansion-conflict.js +3 -0
- package/dist/detectors/registry/acronym-expansion-conflict.js.map +1 -0
- package/dist/detectors/registry/adverb-density.d.ts +3 -0
- package/dist/detectors/registry/adverb-density.d.ts.map +1 -0
- package/dist/detectors/registry/adverb-density.js +3 -0
- package/dist/detectors/registry/adverb-density.js.map +1 -0
- package/dist/detectors/registry/agentless-passive.d.ts +3 -0
- package/dist/detectors/registry/agentless-passive.d.ts.map +1 -0
- package/dist/detectors/registry/agentless-passive.js +3 -0
- package/dist/detectors/registry/agentless-passive.js.map +1 -0
- package/dist/detectors/registry/agreement-slip.d.ts +3 -0
- package/dist/detectors/registry/agreement-slip.d.ts.map +1 -0
- package/dist/detectors/registry/agreement-slip.js +3 -0
- package/dist/detectors/registry/agreement-slip.js.map +1 -0
- package/dist/detectors/registry/ai-structure.d.ts +3 -0
- package/dist/detectors/registry/ai-structure.d.ts.map +1 -0
- package/dist/detectors/registry/ai-structure.js +3 -0
- package/dist/detectors/registry/ai-structure.js.map +1 -0
- package/dist/detectors/registry/ai-tell.d.ts +3 -0
- package/dist/detectors/registry/ai-tell.d.ts.map +1 -0
- package/dist/detectors/registry/ai-tell.js +3 -0
- package/dist/detectors/registry/ai-tell.js.map +1 -0
- package/dist/detectors/registry/announced-count.d.ts +3 -0
- package/dist/detectors/registry/announced-count.d.ts.map +1 -0
- package/dist/detectors/registry/announced-count.js +3 -0
- package/dist/detectors/registry/announced-count.js.map +1 -0
- package/dist/detectors/registry/article-sound.d.ts +3 -0
- package/dist/detectors/registry/article-sound.d.ts.map +1 -0
- package/dist/detectors/registry/article-sound.js +3 -0
- package/dist/detectors/registry/article-sound.js.map +1 -0
- package/dist/detectors/registry/assistant-residue.d.ts +3 -0
- package/dist/detectors/registry/assistant-residue.d.ts.map +1 -0
- package/dist/detectors/registry/assistant-residue.js +3 -0
- package/dist/detectors/registry/assistant-residue.js.map +1 -0
- package/dist/detectors/registry/bold-label-list.d.ts +3 -0
- package/dist/detectors/registry/bold-label-list.d.ts.map +1 -0
- package/dist/detectors/registry/bold-label-list.js +3 -0
- package/dist/detectors/registry/bold-label-list.js.map +1 -0
- package/dist/detectors/registry/bracket-nesting.d.ts +3 -0
- package/dist/detectors/registry/bracket-nesting.d.ts.map +1 -0
- package/dist/detectors/registry/bracket-nesting.js +3 -0
- package/dist/detectors/registry/bracket-nesting.js.map +1 -0
- package/dist/detectors/registry/broken-link.d.ts +3 -0
- package/dist/detectors/registry/broken-link.d.ts.map +1 -0
- package/dist/detectors/registry/broken-link.js +3 -0
- package/dist/detectors/registry/broken-link.js.map +1 -0
- package/dist/detectors/registry/chat-citation-residue.d.ts +3 -0
- package/dist/detectors/registry/chat-citation-residue.d.ts.map +1 -0
- package/dist/detectors/registry/chat-citation-residue.js +3 -0
- package/dist/detectors/registry/chat-citation-residue.js.map +1 -0
- package/dist/detectors/registry/citation-entry.d.ts +3 -0
- package/dist/detectors/registry/citation-entry.d.ts.map +1 -0
- package/dist/detectors/registry/citation-entry.js +3 -0
- package/dist/detectors/registry/citation-entry.js.map +1 -0
- package/dist/detectors/registry/citation-style.d.ts +3 -0
- package/dist/detectors/registry/citation-style.d.ts.map +1 -0
- package/dist/detectors/registry/citation-style.js +3 -0
- package/dist/detectors/registry/citation-style.js.map +1 -0
- package/dist/detectors/registry/clause-chain.d.ts +3 -0
- package/dist/detectors/registry/clause-chain.d.ts.map +1 -0
- package/dist/detectors/registry/clause-chain.js +3 -0
- package/dist/detectors/registry/clause-chain.js.map +1 -0
- package/dist/detectors/registry/colon-lead-in.d.ts +3 -0
- package/dist/detectors/registry/colon-lead-in.d.ts.map +1 -0
- package/dist/detectors/registry/colon-lead-in.js +3 -0
- package/dist/detectors/registry/colon-lead-in.js.map +1 -0
- package/dist/detectors/registry/concrete-evidence.d.ts +3 -0
- package/dist/detectors/registry/concrete-evidence.d.ts.map +1 -0
- package/dist/detectors/registry/concrete-evidence.js +3 -0
- package/dist/detectors/registry/concrete-evidence.js.map +1 -0
- package/dist/detectors/registry/conjunction-run.d.ts +3 -0
- package/dist/detectors/registry/conjunction-run.d.ts.map +1 -0
- package/dist/detectors/registry/conjunction-run.js +3 -0
- package/dist/detectors/registry/conjunction-run.js.map +1 -0
- package/dist/detectors/registry/contraction-mix.d.ts +3 -0
- package/dist/detectors/registry/contraction-mix.d.ts.map +1 -0
- package/dist/detectors/registry/contraction-mix.js +3 -0
- package/dist/detectors/registry/contraction-mix.js.map +1 -0
- package/dist/detectors/registry/contrast-framing.d.ts +3 -0
- package/dist/detectors/registry/contrast-framing.d.ts.map +1 -0
- package/dist/detectors/registry/contrast-framing.js +3 -0
- package/dist/detectors/registry/contrast-framing.js.map +1 -0
- package/dist/detectors/registry/count-per-section.d.ts +3 -0
- package/dist/detectors/registry/count-per-section.d.ts.map +1 -0
- package/dist/detectors/registry/count-per-section.js +3 -0
- package/dist/detectors/registry/count-per-section.js.map +1 -0
- package/dist/detectors/registry/cushion-density.d.ts +3 -0
- package/dist/detectors/registry/cushion-density.d.ts.map +1 -0
- package/dist/detectors/registry/cushion-density.js +3 -0
- package/dist/detectors/registry/cushion-density.js.map +1 -0
- package/dist/detectors/registry/custom-pattern.d.ts +3 -0
- package/dist/detectors/registry/custom-pattern.d.ts.map +1 -0
- package/dist/detectors/registry/custom-pattern.js +3 -0
- package/dist/detectors/registry/custom-pattern.js.map +1 -0
- package/dist/detectors/registry/custom-tokens.d.ts +3 -0
- package/dist/detectors/registry/custom-tokens.d.ts.map +1 -0
- package/dist/detectors/registry/custom-tokens.js +3 -0
- package/dist/detectors/registry/custom-tokens.js.map +1 -0
- package/dist/detectors/registry/custom-words.d.ts +3 -0
- package/dist/detectors/registry/custom-words.d.ts.map +1 -0
- package/dist/detectors/registry/custom-words.js +3 -0
- package/dist/detectors/registry/custom-words.js.map +1 -0
- package/dist/detectors/registry/dangling-figure.d.ts +3 -0
- package/dist/detectors/registry/dangling-figure.d.ts.map +1 -0
- package/dist/detectors/registry/dangling-figure.js +3 -0
- package/dist/detectors/registry/dangling-figure.js.map +1 -0
- package/dist/detectors/registry/dangling-reference.d.ts +3 -0
- package/dist/detectors/registry/dangling-reference.d.ts.map +1 -0
- package/dist/detectors/registry/dangling-reference.js +3 -0
- package/dist/detectors/registry/dangling-reference.js.map +1 -0
- package/dist/detectors/registry/dash-density.d.ts +3 -0
- package/dist/detectors/registry/dash-density.d.ts.map +1 -0
- package/dist/detectors/registry/dash-density.js +3 -0
- package/dist/detectors/registry/dash-density.js.map +1 -0
- package/dist/detectors/registry/date-format.d.ts +3 -0
- package/dist/detectors/registry/date-format.d.ts.map +1 -0
- package/dist/detectors/registry/date-format.js +3 -0
- package/dist/detectors/registry/date-format.js.map +1 -0
- package/dist/detectors/registry/date-order.d.ts +3 -0
- package/dist/detectors/registry/date-order.d.ts.map +1 -0
- package/dist/detectors/registry/date-order.js +3 -0
- package/dist/detectors/registry/date-order.js.map +1 -0
- package/dist/detectors/registry/date-range-reversed.d.ts +3 -0
- package/dist/detectors/registry/date-range-reversed.d.ts.map +1 -0
- package/dist/detectors/registry/date-range-reversed.js +3 -0
- package/dist/detectors/registry/date-range-reversed.js.map +1 -0
- package/dist/detectors/registry/date-weekday-mismatch.d.ts +3 -0
- package/dist/detectors/registry/date-weekday-mismatch.d.ts.map +1 -0
- package/dist/detectors/registry/date-weekday-mismatch.js +3 -0
- package/dist/detectors/registry/date-weekday-mismatch.js.map +1 -0
- package/dist/detectors/registry/date-without-year.d.ts +3 -0
- package/dist/detectors/registry/date-without-year.d.ts.map +1 -0
- package/dist/detectors/registry/date-without-year.js +3 -0
- package/dist/detectors/registry/date-without-year.js.map +1 -0
- package/dist/detectors/registry/doubled-particle.d.ts +3 -0
- package/dist/detectors/registry/doubled-particle.d.ts.map +1 -0
- package/dist/detectors/registry/doubled-particle.js +3 -0
- package/dist/detectors/registry/doubled-particle.js.map +1 -0
- package/dist/detectors/registry/doubled-punctuation.d.ts +3 -0
- package/dist/detectors/registry/doubled-punctuation.d.ts.map +1 -0
- package/dist/detectors/registry/doubled-punctuation.js +3 -0
- package/dist/detectors/registry/doubled-punctuation.js.map +1 -0
- package/dist/detectors/registry/doubled-word.d.ts +3 -0
- package/dist/detectors/registry/doubled-word.d.ts.map +1 -0
- package/dist/detectors/registry/doubled-word.js +3 -0
- package/dist/detectors/registry/doubled-word.js.map +1 -0
- package/dist/detectors/registry/duplicate-definition.d.ts +3 -0
- package/dist/detectors/registry/duplicate-definition.d.ts.map +1 -0
- package/dist/detectors/registry/duplicate-definition.js +3 -0
- package/dist/detectors/registry/duplicate-definition.js.map +1 -0
- package/dist/detectors/registry/duplicate-heading.d.ts +3 -0
- package/dist/detectors/registry/duplicate-heading.d.ts.map +1 -0
- package/dist/detectors/registry/duplicate-heading.js +3 -0
- package/dist/detectors/registry/duplicate-heading.js.map +1 -0
- package/dist/detectors/registry/duration-mismatch.d.ts +3 -0
- package/dist/detectors/registry/duration-mismatch.d.ts.map +1 -0
- package/dist/detectors/registry/duration-mismatch.js +3 -0
- package/dist/detectors/registry/duration-mismatch.js.map +1 -0
- package/dist/detectors/registry/elapsed-years-mismatch.d.ts +3 -0
- package/dist/detectors/registry/elapsed-years-mismatch.d.ts.map +1 -0
- package/dist/detectors/registry/elapsed-years-mismatch.js +3 -0
- package/dist/detectors/registry/elapsed-years-mismatch.js.map +1 -0
- package/dist/detectors/registry/emoji-density.d.ts +3 -0
- package/dist/detectors/registry/emoji-density.d.ts.map +1 -0
- package/dist/detectors/registry/emoji-density.js +3 -0
- package/dist/detectors/registry/emoji-density.js.map +1 -0
- package/dist/detectors/registry/emoji-heading.d.ts +3 -0
- package/dist/detectors/registry/emoji-heading.d.ts.map +1 -0
- package/dist/detectors/registry/emoji-heading.js +3 -0
- package/dist/detectors/registry/emoji-heading.js.map +1 -0
- package/dist/detectors/registry/empty-list-item.d.ts +3 -0
- package/dist/detectors/registry/empty-list-item.d.ts.map +1 -0
- package/dist/detectors/registry/empty-list-item.js +3 -0
- package/dist/detectors/registry/empty-list-item.js.map +1 -0
- package/dist/detectors/registry/empty-section.d.ts +3 -0
- package/dist/detectors/registry/empty-section.d.ts.map +1 -0
- package/dist/detectors/registry/empty-section.js +3 -0
- package/dist/detectors/registry/empty-section.js.map +1 -0
- package/dist/detectors/registry/empty-table-cell.d.ts +3 -0
- package/dist/detectors/registry/empty-table-cell.d.ts.map +1 -0
- package/dist/detectors/registry/empty-table-cell.js +3 -0
- package/dist/detectors/registry/empty-table-cell.js.map +1 -0
- package/dist/detectors/registry/expletive.d.ts +3 -0
- package/dist/detectors/registry/expletive.d.ts.map +1 -0
- package/dist/detectors/registry/expletive.js +3 -0
- package/dist/detectors/registry/expletive.js.map +1 -0
- package/dist/detectors/registry/fact-conflict.d.ts +3 -0
- package/dist/detectors/registry/fact-conflict.d.ts.map +1 -0
- package/dist/detectors/registry/fact-conflict.js +3 -0
- package/dist/detectors/registry/fact-conflict.js.map +1 -0
- package/dist/detectors/registry/figure-order.d.ts +3 -0
- package/dist/detectors/registry/figure-order.d.ts.map +1 -0
- package/dist/detectors/registry/figure-order.js +3 -0
- package/dist/detectors/registry/figure-order.js.map +1 -0
- package/dist/detectors/registry/fullwidth-alnum.d.ts +3 -0
- package/dist/detectors/registry/fullwidth-alnum.d.ts.map +1 -0
- package/dist/detectors/registry/fullwidth-alnum.js +3 -0
- package/dist/detectors/registry/fullwidth-alnum.js.map +1 -0
- package/dist/detectors/registry/hankaku-kana.d.ts +3 -0
- package/dist/detectors/registry/hankaku-kana.d.ts.map +1 -0
- package/dist/detectors/registry/hankaku-kana.js +3 -0
- package/dist/detectors/registry/hankaku-kana.js.map +1 -0
- package/dist/detectors/registry/heading-echo.d.ts +3 -0
- package/dist/detectors/registry/heading-echo.d.ts.map +1 -0
- package/dist/detectors/registry/heading-echo.js +3 -0
- package/dist/detectors/registry/heading-echo.js.map +1 -0
- package/dist/detectors/registry/heading-level-skip.d.ts +3 -0
- package/dist/detectors/registry/heading-level-skip.d.ts.map +1 -0
- package/dist/detectors/registry/heading-level-skip.js +3 -0
- package/dist/detectors/registry/heading-level-skip.js.map +1 -0
- package/dist/detectors/registry/heading-numbering.d.ts +3 -0
- package/dist/detectors/registry/heading-numbering.d.ts.map +1 -0
- package/dist/detectors/registry/heading-numbering.js +3 -0
- package/dist/detectors/registry/heading-numbering.js.map +1 -0
- package/dist/detectors/registry/hedging.d.ts +3 -0
- package/dist/detectors/registry/hedging.d.ts.map +1 -0
- package/dist/detectors/registry/hedging.js +3 -0
- package/dist/detectors/registry/hedging.js.map +1 -0
- package/dist/detectors/registry/image-alt-text.d.ts +3 -0
- package/dist/detectors/registry/image-alt-text.d.ts.map +1 -0
- package/dist/detectors/registry/image-alt-text.js +3 -0
- package/dist/detectors/registry/image-alt-text.js.map +1 -0
- package/dist/detectors/registry/intensified-adjective.d.ts +3 -0
- package/dist/detectors/registry/intensified-adjective.d.ts.map +1 -0
- package/dist/detectors/registry/intensified-adjective.js +3 -0
- package/dist/detectors/registry/intensified-adjective.js.map +1 -0
- package/dist/detectors/registry/internal-jargon.d.ts +3 -0
- package/dist/detectors/registry/internal-jargon.d.ts.map +1 -0
- package/dist/detectors/registry/internal-jargon.js +3 -0
- package/dist/detectors/registry/internal-jargon.js.map +1 -0
- package/dist/detectors/registry/invisible-character.d.ts +3 -0
- package/dist/detectors/registry/invisible-character.d.ts.map +1 -0
- package/dist/detectors/registry/invisible-character.js +3 -0
- package/dist/detectors/registry/invisible-character.js.map +1 -0
- package/dist/detectors/registry/kanji-run.d.ts +3 -0
- package/dist/detectors/registry/kanji-run.d.ts.map +1 -0
- package/dist/detectors/registry/kanji-run.js +3 -0
- package/dist/detectors/registry/kanji-run.js.map +1 -0
- package/dist/detectors/registry/katakana-density.d.ts +3 -0
- package/dist/detectors/registry/katakana-density.d.ts.map +1 -0
- package/dist/detectors/registry/katakana-density.js +3 -0
- package/dist/detectors/registry/katakana-density.js.map +1 -0
- package/dist/detectors/registry/katakana-long-vowel.d.ts +3 -0
- package/dist/detectors/registry/katakana-long-vowel.d.ts.map +1 -0
- package/dist/detectors/registry/katakana-long-vowel.js +3 -0
- package/dist/detectors/registry/katakana-long-vowel.js.map +1 -0
- package/dist/detectors/registry/known-correction.d.ts +3 -0
- package/dist/detectors/registry/known-correction.d.ts.map +1 -0
- package/dist/detectors/registry/known-correction.js +3 -0
- package/dist/detectors/registry/known-correction.js.map +1 -0
- package/dist/detectors/registry/kutoten-consistency.d.ts +3 -0
- package/dist/detectors/registry/kutoten-consistency.d.ts.map +1 -0
- package/dist/detectors/registry/kutoten-consistency.js +3 -0
- package/dist/detectors/registry/kutoten-consistency.js.map +1 -0
- package/dist/detectors/registry/latin-spacing.d.ts +3 -0
- package/dist/detectors/registry/latin-spacing.d.ts.map +1 -0
- package/dist/detectors/registry/latin-spacing.js +3 -0
- package/dist/detectors/registry/latin-spacing.js.map +1 -0
- package/dist/detectors/registry/list-item-form-mix.d.ts +3 -0
- package/dist/detectors/registry/list-item-form-mix.d.ts.map +1 -0
- package/dist/detectors/registry/list-item-form-mix.js +3 -0
- package/dist/detectors/registry/list-item-form-mix.js.map +1 -0
- package/dist/detectors/registry/middle-dot.d.ts +3 -0
- package/dist/detectors/registry/middle-dot.d.ts.map +1 -0
- package/dist/detectors/registry/middle-dot.js +3 -0
- package/dist/detectors/registry/middle-dot.js.map +1 -0
- package/dist/detectors/registry/misuse-match.d.ts +3 -0
- package/dist/detectors/registry/misuse-match.d.ts.map +1 -0
- package/dist/detectors/registry/misuse-match.js +3 -0
- package/dist/detectors/registry/misuse-match.js.map +1 -0
- package/dist/detectors/registry/modal-conflict.d.ts +3 -0
- package/dist/detectors/registry/modal-conflict.d.ts.map +1 -0
- package/dist/detectors/registry/modal-conflict.js +3 -0
- package/dist/detectors/registry/modal-conflict.js.map +1 -0
- package/dist/detectors/registry/name-variant.d.ts +3 -0
- package/dist/detectors/registry/name-variant.d.ts.map +1 -0
- package/dist/detectors/registry/name-variant.js +3 -0
- package/dist/detectors/registry/name-variant.js.map +1 -0
- package/dist/detectors/registry/ngram-repetition.d.ts +3 -0
- package/dist/detectors/registry/ngram-repetition.d.ts.map +1 -0
- package/dist/detectors/registry/ngram-repetition.js +3 -0
- package/dist/detectors/registry/ngram-repetition.js.map +1 -0
- package/dist/detectors/registry/no-lead.d.ts +3 -0
- package/dist/detectors/registry/no-lead.d.ts.map +1 -0
- package/dist/detectors/registry/no-lead.js +3 -0
- package/dist/detectors/registry/no-lead.js.map +1 -0
- package/dist/detectors/registry/nominalization.d.ts +3 -0
- package/dist/detectors/registry/nominalization.d.ts.map +1 -0
- package/dist/detectors/registry/nominalization.js +3 -0
- package/dist/detectors/registry/nominalization.js.map +1 -0
- package/dist/detectors/registry/noun-ending.d.ts +3 -0
- package/dist/detectors/registry/noun-ending.d.ts.map +1 -0
- package/dist/detectors/registry/noun-ending.js +3 -0
- package/dist/detectors/registry/noun-ending.js.map +1 -0
- package/dist/detectors/registry/number-style-consistency.d.ts +3 -0
- package/dist/detectors/registry/number-style-consistency.d.ts.map +1 -0
- package/dist/detectors/registry/number-style-consistency.js +3 -0
- package/dist/detectors/registry/number-style-consistency.js.map +1 -0
- package/dist/detectors/registry/number-without-unit.d.ts +3 -0
- package/dist/detectors/registry/number-without-unit.d.ts.map +1 -0
- package/dist/detectors/registry/number-without-unit.js +3 -0
- package/dist/detectors/registry/number-without-unit.js.map +1 -0
- package/dist/detectors/registry/numbering-gap.d.ts +3 -0
- package/dist/detectors/registry/numbering-gap.d.ts.map +1 -0
- package/dist/detectors/registry/numbering-gap.js +3 -0
- package/dist/detectors/registry/numbering-gap.js.map +1 -0
- package/dist/detectors/registry/one-sentence-paragraph-run.d.ts +3 -0
- package/dist/detectors/registry/one-sentence-paragraph-run.d.ts.map +1 -0
- package/dist/detectors/registry/one-sentence-paragraph-run.js +3 -0
- package/dist/detectors/registry/one-sentence-paragraph-run.js.map +1 -0
- package/dist/detectors/registry/opener-pile.d.ts +3 -0
- package/dist/detectors/registry/opener-pile.d.ts.map +1 -0
- package/dist/detectors/registry/opener-pile.js +3 -0
- package/dist/detectors/registry/opener-pile.js.map +1 -0
- package/dist/detectors/registry/opener-run.d.ts +3 -0
- package/dist/detectors/registry/opener-run.d.ts.map +1 -0
- package/dist/detectors/registry/opener-run.js +3 -0
- package/dist/detectors/registry/opener-run.js.map +1 -0
- package/dist/detectors/registry/orthographic-variant.d.ts +3 -0
- package/dist/detectors/registry/orthographic-variant.d.ts.map +1 -0
- package/dist/detectors/registry/orthographic-variant.js +3 -0
- package/dist/detectors/registry/orthographic-variant.js.map +1 -0
- package/dist/detectors/registry/outside-announced-list.d.ts +3 -0
- package/dist/detectors/registry/outside-announced-list.d.ts.map +1 -0
- package/dist/detectors/registry/outside-announced-list.js +3 -0
- package/dist/detectors/registry/outside-announced-list.js.map +1 -0
- package/dist/detectors/registry/oxford-comma.d.ts +3 -0
- package/dist/detectors/registry/oxford-comma.d.ts.map +1 -0
- package/dist/detectors/registry/oxford-comma.js +3 -0
- package/dist/detectors/registry/oxford-comma.js.map +1 -0
- package/dist/detectors/registry/paragraph-length.d.ts +3 -0
- package/dist/detectors/registry/paragraph-length.d.ts.map +1 -0
- package/dist/detectors/registry/paragraph-length.js +3 -0
- package/dist/detectors/registry/paragraph-length.js.map +1 -0
- package/dist/detectors/registry/paragraph-restatement.d.ts +3 -0
- package/dist/detectors/registry/paragraph-restatement.d.ts.map +1 -0
- package/dist/detectors/registry/paragraph-restatement.js +3 -0
- package/dist/detectors/registry/paragraph-restatement.js.map +1 -0
- package/dist/detectors/registry/paragraph-variance.d.ts +3 -0
- package/dist/detectors/registry/paragraph-variance.d.ts.map +1 -0
- package/dist/detectors/registry/paragraph-variance.js +3 -0
- package/dist/detectors/registry/paragraph-variance.js.map +1 -0
- package/dist/detectors/registry/percent-sum-mismatch.d.ts +3 -0
- package/dist/detectors/registry/percent-sum-mismatch.d.ts.map +1 -0
- package/dist/detectors/registry/percent-sum-mismatch.js +3 -0
- package/dist/detectors/registry/percent-sum-mismatch.js.map +1 -0
- package/dist/detectors/registry/person-mix.d.ts +3 -0
- package/dist/detectors/registry/person-mix.d.ts.map +1 -0
- package/dist/detectors/registry/person-mix.js +3 -0
- package/dist/detectors/registry/person-mix.js.map +1 -0
- package/dist/detectors/registry/phrase-count.d.ts +3 -0
- package/dist/detectors/registry/phrase-count.d.ts.map +1 -0
- package/dist/detectors/registry/phrase-count.js +3 -0
- package/dist/detectors/registry/phrase-count.js.map +1 -0
- package/dist/detectors/registry/phrase-density.d.ts +3 -0
- package/dist/detectors/registry/phrase-density.d.ts.map +1 -0
- package/dist/detectors/registry/phrase-density.js +3 -0
- package/dist/detectors/registry/phrase-density.js.map +1 -0
- package/dist/detectors/registry/phrase-match.d.ts +3 -0
- package/dist/detectors/registry/phrase-match.d.ts.map +1 -0
- package/dist/detectors/registry/phrase-match.js +3 -0
- package/dist/detectors/registry/phrase-match.js.map +1 -0
- package/dist/detectors/registry/preamble-length.d.ts +3 -0
- package/dist/detectors/registry/preamble-length.d.ts.map +1 -0
- package/dist/detectors/registry/preamble-length.js +3 -0
- package/dist/detectors/registry/preamble-length.js.map +1 -0
- package/dist/detectors/registry/preferred-term.d.ts +3 -0
- package/dist/detectors/registry/preferred-term.d.ts.map +1 -0
- package/dist/detectors/registry/preferred-term.js +3 -0
- package/dist/detectors/registry/preferred-term.js.map +1 -0
- package/dist/detectors/registry/proper-noun-density.d.ts +3 -0
- package/dist/detectors/registry/proper-noun-density.d.ts.map +1 -0
- package/dist/detectors/registry/proper-noun-density.js +3 -0
- package/dist/detectors/registry/proper-noun-density.js.map +1 -0
- package/dist/detectors/registry/ra-nuki.d.ts +3 -0
- package/dist/detectors/registry/ra-nuki.d.ts.map +1 -0
- package/dist/detectors/registry/ra-nuki.js +3 -0
- package/dist/detectors/registry/ra-nuki.js.map +1 -0
- package/dist/detectors/registry/reference-title-mismatch.d.ts +3 -0
- package/dist/detectors/registry/reference-title-mismatch.d.ts.map +1 -0
- package/dist/detectors/registry/reference-title-mismatch.js +3 -0
- package/dist/detectors/registry/reference-title-mismatch.js.map +1 -0
- package/dist/detectors/registry/reference-topic-missing.d.ts +3 -0
- package/dist/detectors/registry/reference-topic-missing.d.ts.map +1 -0
- package/dist/detectors/registry/reference-topic-missing.js +3 -0
- package/dist/detectors/registry/reference-topic-missing.js.map +1 -0
- package/dist/detectors/registry/relative-date-mismatch.d.ts +3 -0
- package/dist/detectors/registry/relative-date-mismatch.d.ts.map +1 -0
- package/dist/detectors/registry/relative-date-mismatch.js +3 -0
- package/dist/detectors/registry/relative-date-mismatch.js.map +1 -0
- package/dist/detectors/registry/repeated-conjunction.d.ts +3 -0
- package/dist/detectors/registry/repeated-conjunction.d.ts.map +1 -0
- package/dist/detectors/registry/repeated-conjunction.js +3 -0
- package/dist/detectors/registry/repeated-conjunction.js.map +1 -0
- package/dist/detectors/registry/repeated-head.d.ts +3 -0
- package/dist/detectors/registry/repeated-head.d.ts.map +1 -0
- package/dist/detectors/registry/repeated-head.js +3 -0
- package/dist/detectors/registry/repeated-head.js.map +1 -0
- package/dist/detectors/registry/required-sections.d.ts +3 -0
- package/dist/detectors/registry/required-sections.d.ts.map +1 -0
- package/dist/detectors/registry/required-sections.js +3 -0
- package/dist/detectors/registry/required-sections.js.map +1 -0
- package/dist/detectors/registry/requirement-modal.d.ts +3 -0
- package/dist/detectors/registry/requirement-modal.d.ts.map +1 -0
- package/dist/detectors/registry/requirement-modal.js +3 -0
- package/dist/detectors/registry/requirement-modal.js.map +1 -0
- package/dist/detectors/registry/requirement-smell.d.ts +3 -0
- package/dist/detectors/registry/requirement-smell.d.ts.map +1 -0
- package/dist/detectors/registry/requirement-smell.js +3 -0
- package/dist/detectors/registry/requirement-smell.js.map +1 -0
- package/dist/detectors/registry/rule-of-three.d.ts +3 -0
- package/dist/detectors/registry/rule-of-three.d.ts.map +1 -0
- package/dist/detectors/registry/rule-of-three.js +3 -0
- package/dist/detectors/registry/rule-of-three.js.map +1 -0
- package/dist/detectors/registry/section-uniformity.d.ts +3 -0
- package/dist/detectors/registry/section-uniformity.d.ts.map +1 -0
- package/dist/detectors/registry/section-uniformity.js +3 -0
- package/dist/detectors/registry/section-uniformity.js.map +1 -0
- package/dist/detectors/registry/sentence-comma-count.d.ts +3 -0
- package/dist/detectors/registry/sentence-comma-count.d.ts.map +1 -0
- package/dist/detectors/registry/sentence-comma-count.js +3 -0
- package/dist/detectors/registry/sentence-comma-count.js.map +1 -0
- package/dist/detectors/registry/sentence-conjunctive-count.d.ts +3 -0
- package/dist/detectors/registry/sentence-conjunctive-count.d.ts.map +1 -0
- package/dist/detectors/registry/sentence-conjunctive-count.js +3 -0
- package/dist/detectors/registry/sentence-conjunctive-count.js.map +1 -0
- package/dist/detectors/registry/sentence-ending.d.ts +3 -0
- package/dist/detectors/registry/sentence-ending.d.ts.map +1 -0
- package/dist/detectors/registry/sentence-ending.js +3 -0
- package/dist/detectors/registry/sentence-ending.js.map +1 -0
- package/dist/detectors/registry/sentence-length.d.ts +3 -0
- package/dist/detectors/registry/sentence-length.d.ts.map +1 -0
- package/dist/detectors/registry/sentence-length.js +3 -0
- package/dist/detectors/registry/sentence-length.js.map +1 -0
- package/dist/detectors/registry/sentence-rhythm.d.ts +3 -0
- package/dist/detectors/registry/sentence-rhythm.d.ts.map +1 -0
- package/dist/detectors/registry/sentence-rhythm.js +3 -0
- package/dist/detectors/registry/sentence-rhythm.js.map +1 -0
- package/dist/detectors/registry/sentence-word-count.d.ts +3 -0
- package/dist/detectors/registry/sentence-word-count.d.ts.map +1 -0
- package/dist/detectors/registry/sentence-word-count.js +3 -0
- package/dist/detectors/registry/sentence-word-count.js.map +1 -0
- package/dist/detectors/registry/space-before-punctuation.d.ts +3 -0
- package/dist/detectors/registry/space-before-punctuation.d.ts.map +1 -0
- package/dist/detectors/registry/space-before-punctuation.js +3 -0
- package/dist/detectors/registry/space-before-punctuation.js.map +1 -0
- package/dist/detectors/registry/spelling-variety.d.ts +3 -0
- package/dist/detectors/registry/spelling-variety.d.ts.map +1 -0
- package/dist/detectors/registry/spelling-variety.js +3 -0
- package/dist/detectors/registry/spelling-variety.js.map +1 -0
- package/dist/detectors/registry/stock-transition.d.ts +3 -0
- package/dist/detectors/registry/stock-transition.d.ts.map +1 -0
- package/dist/detectors/registry/stock-transition.js +3 -0
- package/dist/detectors/registry/stock-transition.js.map +1 -0
- package/dist/detectors/registry/stray-space.d.ts +3 -0
- package/dist/detectors/registry/stray-space.d.ts.map +1 -0
- package/dist/detectors/registry/stray-space.js +3 -0
- package/dist/detectors/registry/stray-space.js.map +1 -0
- package/dist/detectors/registry/summary-fact-mismatch.d.ts +3 -0
- package/dist/detectors/registry/summary-fact-mismatch.d.ts.map +1 -0
- package/dist/detectors/registry/summary-fact-mismatch.js +3 -0
- package/dist/detectors/registry/summary-fact-mismatch.js.map +1 -0
- package/dist/detectors/registry/table-header-variant.d.ts +3 -0
- package/dist/detectors/registry/table-header-variant.d.ts.map +1 -0
- package/dist/detectors/registry/table-header-variant.js +3 -0
- package/dist/detectors/registry/table-header-variant.js.map +1 -0
- package/dist/detectors/registry/title-case-mix.d.ts +3 -0
- package/dist/detectors/registry/title-case-mix.d.ts.map +1 -0
- package/dist/detectors/registry/title-case-mix.js +3 -0
- package/dist/detectors/registry/title-case-mix.js.map +1 -0
- package/dist/detectors/registry/title-length.d.ts +3 -0
- package/dist/detectors/registry/title-length.d.ts.map +1 -0
- package/dist/detectors/registry/title-length.js +3 -0
- package/dist/detectors/registry/title-length.js.map +1 -0
- package/dist/detectors/registry/topic-predicate-distance.d.ts +3 -0
- package/dist/detectors/registry/topic-predicate-distance.d.ts.map +1 -0
- package/dist/detectors/registry/topic-predicate-distance.js +3 -0
- package/dist/detectors/registry/topic-predicate-distance.js.map +1 -0
- package/dist/detectors/registry/total-mismatch.d.ts +3 -0
- package/dist/detectors/registry/total-mismatch.d.ts.map +1 -0
- package/dist/detectors/registry/total-mismatch.js +3 -0
- package/dist/detectors/registry/total-mismatch.js.map +1 -0
- package/dist/detectors/registry/unbalanced-bracket.d.ts +3 -0
- package/dist/detectors/registry/unbalanced-bracket.d.ts.map +1 -0
- package/dist/detectors/registry/unbalanced-bracket.js +3 -0
- package/dist/detectors/registry/unbalanced-bracket.js.map +1 -0
- package/dist/detectors/registry/undefined-acronym.d.ts +3 -0
- package/dist/detectors/registry/undefined-acronym.d.ts.map +1 -0
- package/dist/detectors/registry/undefined-acronym.js +3 -0
- package/dist/detectors/registry/undefined-acronym.js.map +1 -0
- package/dist/detectors/registry/unfilled-placeholder.d.ts +3 -0
- package/dist/detectors/registry/unfilled-placeholder.d.ts.map +1 -0
- package/dist/detectors/registry/unfilled-placeholder.js +3 -0
- package/dist/detectors/registry/unfilled-placeholder.js.map +1 -0
- package/dist/detectors/registry/unit-mismatch.d.ts +3 -0
- package/dist/detectors/registry/unit-mismatch.d.ts.map +1 -0
- package/dist/detectors/registry/unit-mismatch.js +3 -0
- package/dist/detectors/registry/unit-mismatch.js.map +1 -0
- package/dist/detectors/registry/unknown-word.d.ts +3 -0
- package/dist/detectors/registry/unknown-word.d.ts.map +1 -0
- package/dist/detectors/registry/unknown-word.js +3 -0
- package/dist/detectors/registry/unknown-word.js.map +1 -0
- package/dist/detectors/registry/unqualified-superlative.d.ts +3 -0
- package/dist/detectors/registry/unqualified-superlative.d.ts.map +1 -0
- package/dist/detectors/registry/unqualified-superlative.js +3 -0
- package/dist/detectors/registry/unqualified-superlative.js.map +1 -0
- package/dist/detectors/registry/unused-definition.d.ts +3 -0
- package/dist/detectors/registry/unused-definition.d.ts.map +1 -0
- package/dist/detectors/registry/unused-definition.js +3 -0
- package/dist/detectors/registry/unused-definition.js.map +1 -0
- package/dist/detectors/registry/url-run-on.d.ts +3 -0
- package/dist/detectors/registry/url-run-on.d.ts.map +1 -0
- package/dist/detectors/registry/url-run-on.js +3 -0
- package/dist/detectors/registry/url-run-on.js.map +1 -0
- package/dist/detectors/registry/use-before-definition.d.ts +3 -0
- package/dist/detectors/registry/use-before-definition.d.ts.map +1 -0
- package/dist/detectors/registry/use-before-definition.js +3 -0
- package/dist/detectors/registry/use-before-definition.js.map +1 -0
- package/dist/detectors/registry/vague-density.d.ts +3 -0
- package/dist/detectors/registry/vague-density.d.ts.map +1 -0
- package/dist/detectors/registry/vague-density.js +3 -0
- package/dist/detectors/registry/vague-density.js.map +1 -0
- package/dist/detectors/registry/vague-figure-pointer.d.ts +3 -0
- package/dist/detectors/registry/vague-figure-pointer.d.ts.map +1 -0
- package/dist/detectors/registry/vague-figure-pointer.js +3 -0
- package/dist/detectors/registry/vague-figure-pointer.js.map +1 -0
- package/dist/detectors/registry/vague-link-text.d.ts +3 -0
- package/dist/detectors/registry/vague-link-text.d.ts.map +1 -0
- package/dist/detectors/registry/vague-link-text.js +3 -0
- package/dist/detectors/registry/vague-link-text.js.map +1 -0
- package/dist/detectors/registry-files.d.ts +11 -0
- package/dist/detectors/registry-files.d.ts.map +1 -0
- package/dist/detectors/registry-files.js +9 -0
- package/dist/detectors/registry-files.js.map +1 -0
- package/dist/detectors/registry-load.d.ts +6 -0
- package/dist/detectors/registry-load.d.ts.map +1 -0
- package/dist/detectors/registry-load.js +19 -0
- package/dist/detectors/registry-load.js.map +1 -0
- package/dist/detectors/relative-dates.d.ts +4 -0
- package/dist/detectors/relative-dates.d.ts.map +1 -0
- package/dist/detectors/relative-dates.js +100 -0
- package/dist/detectors/relative-dates.js.map +1 -0
- package/dist/detectors/requirement-modal.d.ts +5 -0
- package/dist/detectors/requirement-modal.d.ts.map +1 -0
- package/dist/detectors/requirement-modal.js +54 -0
- package/dist/detectors/requirement-modal.js.map +1 -0
- package/dist/detectors/requirement-smell.d.ts +4 -0
- package/dist/detectors/requirement-smell.d.ts.map +1 -0
- package/dist/detectors/requirement-smell.js +41 -0
- package/dist/detectors/requirement-smell.js.map +1 -0
- package/dist/detectors/sentence-counts.d.ts +19 -0
- package/dist/detectors/sentence-counts.d.ts.map +1 -0
- package/dist/detectors/sentence-counts.js +83 -0
- package/dist/detectors/sentence-counts.js.map +1 -0
- package/dist/detectors/sentence-load.d.ts +8 -0
- package/dist/detectors/sentence-load.d.ts.map +1 -0
- package/dist/detectors/sentence-load.js +35 -0
- package/dist/detectors/sentence-load.js.map +1 -0
- package/dist/detectors/space-before-punctuation.d.ts +8 -0
- package/dist/detectors/space-before-punctuation.d.ts.map +1 -0
- package/dist/detectors/space-before-punctuation.js +24 -0
- package/dist/detectors/space-before-punctuation.js.map +1 -0
- package/dist/detectors/spelling-variety.d.ts +24 -0
- package/dist/detectors/spelling-variety.d.ts.map +1 -0
- package/dist/detectors/spelling-variety.js +59 -0
- package/dist/detectors/spelling-variety.js.map +1 -0
- package/dist/detectors/structure-tree.d.ts.map +1 -1
- package/dist/detectors/structure-tree.js +3 -1
- package/dist/detectors/structure-tree.js.map +1 -1
- package/dist/detectors/structure.d.ts.map +1 -1
- package/dist/detectors/structure.js +16 -2
- package/dist/detectors/structure.js.map +1 -1
- package/dist/detectors/superlative-comparison.d.ts +20 -0
- package/dist/detectors/superlative-comparison.d.ts.map +1 -0
- package/dist/detectors/superlative-comparison.js +32 -0
- package/dist/detectors/superlative-comparison.js.map +1 -0
- package/dist/detectors/table-header.d.ts +28 -0
- package/dist/detectors/table-header.d.ts.map +1 -0
- package/dist/detectors/table-header.js +148 -0
- package/dist/detectors/table-header.js.map +1 -0
- package/dist/detectors/team.d.ts +3 -1
- package/dist/detectors/team.d.ts.map +1 -1
- package/dist/detectors/team.js +10 -3
- package/dist/detectors/team.js.map +1 -1
- package/dist/detectors/unit-consistency.d.ts +4 -0
- package/dist/detectors/unit-consistency.d.ts.map +1 -0
- package/dist/detectors/unit-consistency.js +53 -0
- package/dist/detectors/unit-consistency.js.map +1 -0
- package/dist/detectors/unknown-word.d.ts +7 -0
- package/dist/detectors/unknown-word.d.ts.map +1 -0
- package/dist/detectors/unknown-word.js +40 -0
- package/dist/detectors/unknown-word.js.map +1 -0
- package/dist/detectors/url-run-on.d.ts.map +1 -1
- package/dist/detectors/url-run-on.js +6 -1
- package/dist/detectors/url-run-on.js.map +1 -1
- package/dist/detectors/vague-figure-pointer.d.ts +10 -0
- package/dist/detectors/vague-figure-pointer.d.ts.map +1 -0
- package/dist/detectors/vague-figure-pointer.js +46 -0
- package/dist/detectors/vague-figure-pointer.js.map +1 -0
- package/dist/detectors/vague-link-text.d.ts +4 -0
- package/dist/detectors/vague-link-text.d.ts.map +1 -0
- package/dist/detectors/vague-link-text.js +11 -0
- package/dist/detectors/vague-link-text.js.map +1 -0
- package/dist/detectors/word-list.d.ts +2 -0
- package/dist/detectors/word-list.d.ts.map +1 -1
- package/dist/detectors/word-list.js +4 -1
- package/dist/detectors/word-list.js.map +1 -1
- package/dist/document-reading.d.ts +15 -0
- package/dist/document-reading.d.ts.map +1 -0
- package/dist/document-reading.js +23 -0
- package/dist/document-reading.js.map +1 -0
- package/dist/document.d.ts +9 -3
- package/dist/document.d.ts.map +1 -1
- package/dist/document.js +61 -36
- package/dist/document.js.map +1 -1
- package/dist/experimental-alone.d.ts +13 -0
- package/dist/experimental-alone.d.ts.map +1 -0
- package/dist/experimental-alone.js +11 -0
- package/dist/experimental-alone.js.map +1 -0
- package/dist/extension/document-view.d.ts +7 -0
- package/dist/extension/document-view.d.ts.map +1 -0
- package/dist/extension/document-view.js +91 -0
- package/dist/extension/document-view.js.map +1 -0
- package/dist/extension/failure-text.d.ts +5 -0
- package/dist/extension/failure-text.d.ts.map +1 -0
- package/dist/extension/failure-text.js +33 -0
- package/dist/extension/failure-text.js.map +1 -0
- package/dist/extension/import-default.d.ts +7 -0
- package/dist/extension/import-default.d.ts.map +1 -0
- package/dist/extension/import-default.js +21 -0
- package/dist/extension/import-default.js.map +1 -0
- package/dist/extension/load.d.ts +28 -0
- package/dist/extension/load.d.ts.map +1 -0
- package/dist/extension/load.js +51 -0
- package/dist/extension/load.js.map +1 -0
- package/dist/extension/module-detector.d.ts +21 -0
- package/dist/extension/module-detector.d.ts.map +1 -0
- package/dist/extension/module-detector.js +49 -0
- package/dist/extension/module-detector.js.map +1 -0
- package/dist/extension/plugin-load.d.ts +9 -0
- package/dist/extension/plugin-load.d.ts.map +1 -0
- package/dist/extension/plugin-load.js +68 -0
- package/dist/extension/plugin-load.js.map +1 -0
- package/dist/extension/plugin-name.d.ts +8 -0
- package/dist/extension/plugin-name.d.ts.map +1 -0
- package/dist/extension/plugin-name.js +22 -0
- package/dist/extension/plugin-name.js.map +1 -0
- package/dist/extension/plugin-parse.d.ts +41 -0
- package/dist/extension/plugin-parse.d.ts.map +1 -0
- package/dist/extension/plugin-parse.js +156 -0
- package/dist/extension/plugin-parse.js.map +1 -0
- package/dist/extension/problem-text.d.ts +5 -0
- package/dist/extension/problem-text.d.ts.map +1 -0
- package/dist/extension/problem-text.js +74 -0
- package/dist/extension/problem-text.js.map +1 -0
- package/dist/extension/real-path.d.ts +3 -0
- package/dist/extension/real-path.d.ts.map +1 -0
- package/dist/extension/real-path.js +8 -0
- package/dist/extension/real-path.js.map +1 -0
- package/dist/extension/returned-findings.d.ts +17 -0
- package/dist/extension/returned-findings.d.ts.map +1 -0
- package/dist/extension/returned-findings.js +48 -0
- package/dist/extension/returned-findings.js.map +1 -0
- package/dist/extension/rule-export.d.ts +13 -0
- package/dist/extension/rule-export.d.ts.map +1 -0
- package/dist/extension/rule-export.js +16 -0
- package/dist/extension/rule-export.js.map +1 -0
- package/dist/facts/fact-conflicts.d.ts +15 -0
- package/dist/facts/fact-conflicts.d.ts.map +1 -0
- package/dist/facts/fact-conflicts.js +50 -0
- package/dist/facts/fact-conflicts.js.map +1 -0
- package/dist/facts/fact-scope.d.ts +17 -0
- package/dist/facts/fact-scope.d.ts.map +1 -0
- package/dist/facts/fact-scope.js +112 -0
- package/dist/facts/fact-scope.js.map +1 -0
- package/dist/facts/fact-values.d.ts +18 -0
- package/dist/facts/fact-values.d.ts.map +1 -0
- package/dist/facts/fact-values.js +98 -0
- package/dist/facts/fact-values.js.map +1 -0
- package/dist/facts/labelled-facts.d.ts +31 -0
- package/dist/facts/labelled-facts.d.ts.map +1 -0
- package/dist/facts/labelled-facts.js +94 -0
- package/dist/facts/labelled-facts.js.map +1 -0
- package/dist/facts/measures.d.ts +20 -0
- package/dist/facts/measures.d.ts.map +1 -0
- package/dist/facts/measures.js +40 -0
- package/dist/facts/measures.js.map +1 -0
- package/dist/facts/table-facts.d.ts +5 -0
- package/dist/facts/table-facts.d.ts.map +1 -0
- package/dist/facts/table-facts.js +55 -0
- package/dist/facts/table-facts.js.map +1 -0
- package/dist/facts/trim-marks.d.ts +7 -0
- package/dist/facts/trim-marks.d.ts.map +1 -0
- package/dist/facts/trim-marks.js +18 -0
- package/dist/facts/trim-marks.js.map +1 -0
- package/dist/facts/unit-conflicts.d.ts +14 -0
- package/dist/facts/unit-conflicts.d.ts.map +1 -0
- package/dist/facts/unit-conflicts.js +36 -0
- package/dist/facts/unit-conflicts.js.map +1 -0
- package/dist/feedback/draft.d.ts +2 -0
- package/dist/feedback/draft.d.ts.map +1 -1
- package/dist/feedback/draft.js +3 -0
- package/dist/feedback/draft.js.map +1 -1
- package/dist/figure-references.d.ts +26 -2
- package/dist/figure-references.d.ts.map +1 -1
- package/dist/figure-references.js +64 -13
- package/dist/figure-references.js.map +1 -1
- package/dist/files.d.ts +3 -1
- package/dist/files.d.ts.map +1 -1
- package/dist/files.js +10 -7
- package/dist/files.js.map +1 -1
- package/dist/finding-order.d.ts +9 -0
- package/dist/finding-order.d.ts.map +1 -0
- package/dist/finding-order.js +3 -0
- package/dist/finding-order.js.map +1 -0
- package/dist/fix-plan/mode.d.ts +26 -0
- package/dist/fix-plan/mode.d.ts.map +1 -0
- package/dist/fix-plan/mode.js +20 -0
- package/dist/fix-plan/mode.js.map +1 -0
- package/dist/fix-plan/plan.d.ts +89 -0
- package/dist/fix-plan/plan.d.ts.map +1 -0
- package/dist/fix-plan/plan.js +111 -0
- package/dist/fix-plan/plan.js.map +1 -0
- package/dist/fix-plan/render.d.ts +6 -0
- package/dist/fix-plan/render.d.ts.map +1 -0
- package/dist/fix-plan/render.js +118 -0
- package/dist/fix-plan/render.js.map +1 -0
- package/dist/fix-plan/structure-target-text.d.ts +15 -0
- package/dist/fix-plan/structure-target-text.d.ts.map +1 -0
- package/dist/fix-plan/structure-target-text.js +57 -0
- package/dist/fix-plan/structure-target-text.js.map +1 -0
- package/dist/fix-plan/structure-targets.d.ts +24 -0
- package/dist/fix-plan/structure-targets.d.ts.map +1 -0
- package/dist/fix-plan/structure-targets.js +27 -0
- package/dist/fix-plan/structure-targets.js.map +1 -0
- package/dist/fix-plan/text.d.ts +35 -0
- package/dist/fix-plan/text.d.ts.map +1 -0
- package/dist/fix-plan/text.js +97 -0
- package/dist/fix-plan/text.js.map +1 -0
- package/dist/grade/baseline-text.d.ts +27 -0
- package/dist/grade/baseline-text.d.ts.map +1 -0
- package/dist/grade/baseline-text.js +49 -0
- package/dist/grade/baseline-text.js.map +1 -0
- package/dist/grade/baseline.d.ts +51 -0
- package/dist/grade/baseline.d.ts.map +1 -0
- package/dist/grade/baseline.js +84 -0
- package/dist/grade/baseline.js.map +1 -0
- package/dist/grade/checks.d.ts +28 -0
- package/dist/grade/checks.d.ts.map +1 -0
- package/dist/grade/checks.js +50 -0
- package/dist/grade/checks.js.map +1 -0
- package/dist/grade/context-support.d.ts +23 -0
- package/dist/grade/context-support.d.ts.map +1 -0
- package/dist/grade/context-support.js +33 -0
- package/dist/grade/context-support.js.map +1 -0
- package/dist/grade/contexts.d.ts +16 -0
- package/dist/grade/contexts.d.ts.map +1 -0
- package/dist/grade/contexts.js +34 -0
- package/dist/grade/contexts.js.map +1 -0
- package/dist/grade/grade-item.d.ts +12 -0
- package/dist/grade/grade-item.d.ts.map +1 -0
- package/dist/grade/grade-item.js +103 -0
- package/dist/grade/grade-item.js.map +1 -0
- package/dist/grade/item.d.ts +54 -0
- package/dist/grade/item.d.ts.map +1 -0
- package/dist/grade/item.js +155 -0
- package/dist/grade/item.js.map +1 -0
- package/dist/grade/order.d.ts +7 -0
- package/dist/grade/order.d.ts.map +1 -0
- package/dist/grade/order.js +7 -0
- package/dist/grade/order.js.map +1 -0
- package/dist/grade/pairing.d.ts +13 -0
- package/dist/grade/pairing.d.ts.map +1 -0
- package/dist/grade/pairing.js +14 -0
- package/dist/grade/pairing.js.map +1 -0
- package/dist/grade/rates.d.ts +14 -0
- package/dist/grade/rates.d.ts.map +1 -0
- package/dist/grade/rates.js +26 -0
- package/dist/grade/rates.js.map +1 -0
- package/dist/grade/render-baseline.d.ts +7 -0
- package/dist/grade/render-baseline.d.ts.map +1 -0
- package/dist/grade/render-baseline.js +44 -0
- package/dist/grade/render-baseline.js.map +1 -0
- package/dist/grade/render-markdown.d.ts +15 -0
- package/dist/grade/render-markdown.d.ts.map +1 -0
- package/dist/grade/render-markdown.js +41 -0
- package/dist/grade/render-markdown.js.map +1 -0
- package/dist/grade/render-variants.d.ts +12 -0
- package/dist/grade/render-variants.d.ts.map +1 -0
- package/dist/grade/render-variants.js +80 -0
- package/dist/grade/render-variants.js.map +1 -0
- package/dist/grade/render.d.ts +14 -0
- package/dist/grade/render.d.ts.map +1 -0
- package/dist/grade/render.js +52 -0
- package/dist/grade/render.js.map +1 -0
- package/dist/grade/result-name.d.ts +7 -0
- package/dist/grade/result-name.d.ts.map +1 -0
- package/dist/grade/result-name.js +6 -0
- package/dist/grade/result-name.js.map +1 -0
- package/dist/grade/result.d.ts +101 -0
- package/dist/grade/result.d.ts.map +1 -0
- package/dist/grade/result.js +2 -0
- package/dist/grade/result.js.map +1 -0
- package/dist/grade/results-read.d.ts +10 -0
- package/dist/grade/results-read.d.ts.map +1 -0
- package/dist/grade/results-read.js +82 -0
- package/dist/grade/results-read.js.map +1 -0
- package/dist/grade/rubric-verdict.d.ts +19 -0
- package/dist/grade/rubric-verdict.d.ts.map +1 -0
- package/dist/grade/rubric-verdict.js +65 -0
- package/dist/grade/rubric-verdict.js.map +1 -0
- package/dist/grade/rubric.d.ts +52 -0
- package/dist/grade/rubric.d.ts.map +1 -0
- package/dist/grade/rubric.js +149 -0
- package/dist/grade/rubric.js.map +1 -0
- package/dist/grade/scorer.d.ts +13 -0
- package/dist/grade/scorer.d.ts.map +1 -0
- package/dist/grade/scorer.js +15 -0
- package/dist/grade/scorer.js.map +1 -0
- package/dist/grade/setup.d.ts +9 -0
- package/dist/grade/setup.d.ts.map +1 -0
- package/dist/grade/setup.js +31 -0
- package/dist/grade/setup.js.map +1 -0
- package/dist/grade/stamp.d.ts +23 -0
- package/dist/grade/stamp.d.ts.map +1 -0
- package/dist/grade/stamp.js +36 -0
- package/dist/grade/stamp.js.map +1 -0
- package/dist/grade/summary.d.ts +43 -0
- package/dist/grade/summary.d.ts.map +1 -0
- package/dist/grade/summary.js +72 -0
- package/dist/grade/summary.js.map +1 -0
- package/dist/grade/text.d.ts +32 -0
- package/dist/grade/text.d.ts.map +1 -0
- package/dist/grade/text.js +117 -0
- package/dist/grade/text.js.map +1 -0
- package/dist/grade/variants-input.d.ts +12 -0
- package/dist/grade/variants-input.d.ts.map +1 -0
- package/dist/grade/variants-input.js +42 -0
- package/dist/grade/variants-input.js.map +1 -0
- package/dist/grade/variants-text.d.ts +31 -0
- package/dist/grade/variants-text.d.ts.map +1 -0
- package/dist/grade/variants-text.js +57 -0
- package/dist/grade/variants-text.js.map +1 -0
- package/dist/grade/variants.d.ts +63 -0
- package/dist/grade/variants.d.ts.map +1 -0
- package/dist/grade/variants.js +66 -0
- package/dist/grade/variants.js.map +1 -0
- package/dist/grade/verdict.d.ts +18 -0
- package/dist/grade/verdict.d.ts.map +1 -0
- package/dist/grade/verdict.js +17 -0
- package/dist/grade/verdict.js.map +1 -0
- package/dist/grade-api.d.ts +53 -0
- package/dist/grade-api.d.ts.map +1 -0
- package/dist/grade-api.js +140 -0
- package/dist/grade-api.js.map +1 -0
- package/dist/heading-numbering.d.ts +32 -0
- package/dist/heading-numbering.d.ts.map +1 -0
- package/dist/heading-numbering.js +72 -0
- package/dist/heading-numbering.js.map +1 -0
- package/dist/kana-spelling.d.ts +14 -0
- package/dist/kana-spelling.d.ts.map +1 -0
- package/dist/kana-spelling.js +43 -0
- package/dist/kana-spelling.js.map +1 -0
- package/dist/language-sample.d.ts +2 -0
- package/dist/language-sample.d.ts.map +1 -0
- package/dist/language-sample.js +41 -0
- package/dist/language-sample.js.map +1 -0
- package/dist/link-line.d.ts +8 -0
- package/dist/link-line.d.ts.map +1 -0
- package/dist/link-line.js +12 -0
- package/dist/link-line.js.map +1 -0
- package/dist/link-text.d.ts +12 -0
- package/dist/link-text.d.ts.map +1 -0
- package/dist/link-text.js +45 -0
- package/dist/link-text.js.map +1 -0
- package/dist/long-vowel.d.ts +9 -6
- package/dist/long-vowel.d.ts.map +1 -1
- package/dist/long-vowel.js +15 -8
- package/dist/long-vowel.js.map +1 -1
- package/dist/markup.d.ts.map +1 -1
- package/dist/markup.js +4 -2
- package/dist/markup.js.map +1 -1
- package/dist/name-variants.d.ts +25 -0
- package/dist/name-variants.d.ts.map +1 -0
- package/dist/name-variants.js +181 -0
- package/dist/name-variants.js.map +1 -0
- package/dist/node-version.d.ts +7 -0
- package/dist/node-version.d.ts.map +1 -0
- package/dist/node-version.js +19 -0
- package/dist/node-version.js.map +1 -0
- package/dist/not-run.d.ts +14 -0
- package/dist/not-run.d.ts.map +1 -0
- package/dist/not-run.js +12 -0
- package/dist/not-run.js.map +1 -0
- package/dist/orthography.d.ts +8 -1
- package/dist/orthography.d.ts.map +1 -1
- package/dist/orthography.js +33 -12
- package/dist/orthography.js.map +1 -1
- package/dist/outline/render.d.ts +20 -0
- package/dist/outline/render.d.ts.map +1 -0
- package/dist/outline/render.js +66 -0
- package/dist/outline/render.js.map +1 -0
- package/dist/outline/shape.d.ts +26 -0
- package/dist/outline/shape.d.ts.map +1 -0
- package/dist/outline/shape.js +37 -0
- package/dist/outline/shape.js.map +1 -0
- package/dist/outline/structure-render.d.ts +15 -0
- package/dist/outline/structure-render.d.ts.map +1 -0
- package/dist/outline/structure-render.js +80 -0
- package/dist/outline/structure-render.js.map +1 -0
- package/dist/outline/structure-text.d.ts +30 -0
- package/dist/outline/structure-text.d.ts.map +1 -0
- package/dist/outline/structure-text.js +87 -0
- package/dist/outline/structure-text.js.map +1 -0
- package/dist/outline/text.d.ts +24 -0
- package/dist/outline/text.d.ts.map +1 -0
- package/dist/outline/text.js +33 -0
- package/dist/outline/text.js.map +1 -0
- package/dist/paragraph-runs.d.ts +7 -0
- package/dist/paragraph-runs.d.ts.map +1 -0
- package/dist/paragraph-runs.js +27 -0
- package/dist/paragraph-runs.js.map +1 -0
- package/dist/person-forms.d.ts +30 -0
- package/dist/person-forms.d.ts.map +1 -0
- package/dist/person-forms.js +96 -0
- package/dist/person-forms.js.map +1 -0
- package/dist/plugin.d.ts +38 -2
- package/dist/plugin.d.ts.map +1 -1
- package/dist/reasons.d.ts +3 -0
- package/dist/reasons.d.ts.map +1 -1
- package/dist/reasons.js +4 -0
- package/dist/reasons.js.map +1 -1
- package/dist/render/compact.d.ts +3 -1
- package/dist/render/compact.d.ts.map +1 -1
- package/dist/render/compact.js +8 -2
- package/dist/render/compact.js.map +1 -1
- package/dist/render/explain.d.ts +5 -1
- package/dist/render/explain.d.ts.map +1 -1
- package/dist/render/explain.js +35 -16
- package/dist/render/explain.js.map +1 -1
- package/dist/render/friendly.d.ts.map +1 -1
- package/dist/render/friendly.js +13 -1
- package/dist/render/friendly.js.map +1 -1
- package/dist/render/rules-json.d.ts.map +1 -1
- package/dist/render/rules-json.js +21 -13
- package/dist/render/rules-json.js.map +1 -1
- package/dist/render/rules-table.d.ts +2 -0
- package/dist/render/rules-table.d.ts.map +1 -1
- package/dist/render/rules-table.js +1 -1
- package/dist/render/rules-table.js.map +1 -1
- package/dist/render/sarif.d.ts +7 -1
- package/dist/render/sarif.d.ts.map +1 -1
- package/dist/render/sarif.js +20 -1
- package/dist/render/sarif.js.map +1 -1
- package/dist/render/suppressions.d.ts +3 -0
- package/dist/render/suppressions.d.ts.map +1 -1
- package/dist/render/suppressions.js +20 -1
- package/dist/render/suppressions.js.map +1 -1
- package/dist/resolve-genre.d.ts +1 -2
- package/dist/resolve-genre.d.ts.map +1 -1
- package/dist/rule-guide.d.ts +21 -0
- package/dist/rule-guide.d.ts.map +1 -1
- package/dist/rule-guide.js +15 -0
- package/dist/rule-guide.js.map +1 -1
- package/dist/run-semantic.d.ts.map +1 -1
- package/dist/run-semantic.js +2 -1
- package/dist/run-semantic.js.map +1 -1
- package/dist/run.d.ts +8 -1
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +64 -24
- package/dist/run.js.map +1 -1
- package/dist/sentence-load.d.ts +19 -0
- package/dist/sentence-load.d.ts.map +1 -0
- package/dist/sentence-load.js +70 -0
- package/dist/sentence-load.js.map +1 -0
- package/dist/setting-problems.d.ts.map +1 -1
- package/dist/setting-problems.js +3 -1
- package/dist/setting-problems.js.map +1 -1
- package/dist/spacing-minority.d.ts +16 -0
- package/dist/spacing-minority.d.ts.map +1 -0
- package/dist/spacing-minority.js +23 -0
- package/dist/spacing-minority.js.map +1 -0
- package/dist/spelling-variants.d.ts +17 -0
- package/dist/spelling-variants.d.ts.map +1 -0
- package/dist/spelling-variants.js +32 -0
- package/dist/spelling-variants.js.map +1 -0
- package/dist/spelling.d.ts +32 -0
- package/dist/spelling.d.ts.map +1 -0
- package/dist/spelling.js +54 -0
- package/dist/spelling.js.map +1 -0
- package/dist/stet-block.d.ts +5 -0
- package/dist/stet-block.d.ts.map +1 -0
- package/dist/stet-block.js +59 -0
- package/dist/stet-block.js.map +1 -0
- package/dist/stet.d.ts +4 -0
- package/dist/stet.d.ts.map +1 -1
- package/dist/stet.js +31 -11
- package/dist/stet.js.map +1 -1
- package/dist/structure/absolute-exception.d.ts +35 -0
- package/dist/structure/absolute-exception.d.ts.map +1 -0
- package/dist/structure/absolute-exception.js +70 -0
- package/dist/structure/absolute-exception.js.map +1 -0
- package/dist/structure/date-range.d.ts +10 -0
- package/dist/structure/date-range.d.ts.map +1 -1
- package/dist/structure/date-range.js +33 -1
- package/dist/structure/date-range.js.map +1 -1
- package/dist/structure/definition-use.d.ts +32 -0
- package/dist/structure/definition-use.d.ts.map +1 -0
- package/dist/structure/definition-use.js +102 -0
- package/dist/structure/definition-use.js.map +1 -0
- package/dist/structure/issues.d.ts +5 -0
- package/dist/structure/issues.d.ts.map +1 -1
- package/dist/structure/issues.js +22 -0
- package/dist/structure/issues.js.map +1 -1
- package/dist/structure/lazy-tree.d.ts +8 -0
- package/dist/structure/lazy-tree.d.ts.map +1 -0
- package/dist/structure/lazy-tree.js +14 -0
- package/dist/structure/lazy-tree.js.map +1 -0
- package/dist/structure/modal-conflict.d.ts +29 -0
- package/dist/structure/modal-conflict.d.ts.map +1 -0
- package/dist/structure/modal-conflict.js +74 -0
- package/dist/structure/modal-conflict.js.map +1 -0
- package/dist/structure/numbered-clauses.d.ts +4 -0
- package/dist/structure/numbered-clauses.d.ts.map +1 -0
- package/dist/structure/numbered-clauses.js +9 -0
- package/dist/structure/numbered-clauses.js.map +1 -0
- package/dist/structure/reference-text.d.ts +29 -0
- package/dist/structure/reference-text.d.ts.map +1 -0
- package/dist/structure/reference-text.js +79 -0
- package/dist/structure/reference-text.js.map +1 -0
- package/dist/structure/universal.d.ts.map +1 -1
- package/dist/structure/universal.js +8 -2
- package/dist/structure/universal.js.map +1 -1
- package/dist/structure-shape/baseline-load.d.ts +4 -0
- package/dist/structure-shape/baseline-load.d.ts.map +1 -0
- package/dist/structure-shape/baseline-load.js +17 -0
- package/dist/structure-shape/baseline-load.js.map +1 -0
- package/dist/structure-shape/baseline.d.ts +19 -0
- package/dist/structure-shape/baseline.d.ts.map +1 -0
- package/dist/structure-shape/baseline.js +44 -0
- package/dist/structure-shape/baseline.js.map +1 -0
- package/dist/structure-shape/features.d.ts +25 -0
- package/dist/structure-shape/features.d.ts.map +1 -0
- package/dist/structure-shape/features.js +149 -0
- package/dist/structure-shape/features.js.map +1 -0
- package/dist/structure-shape/heading-words.d.ts +14 -0
- package/dist/structure-shape/heading-words.d.ts.map +1 -0
- package/dist/structure-shape/heading-words.js +54 -0
- package/dist/structure-shape/heading-words.js.map +1 -0
- package/dist/structure-shape/of-document.d.ts +5 -0
- package/dist/structure-shape/of-document.d.ts.map +1 -0
- package/dist/structure-shape/of-document.js +6 -0
- package/dist/structure-shape/of-document.js.map +1 -0
- package/dist/structure-shape/restatement.d.ts +11 -0
- package/dist/structure-shape/restatement.d.ts.map +1 -0
- package/dist/structure-shape/restatement.js +32 -0
- package/dist/structure-shape/restatement.js.map +1 -0
- package/dist/structure-shape/score.d.ts +30 -0
- package/dist/structure-shape/score.d.ts.map +1 -0
- package/dist/structure-shape/score.js +37 -0
- package/dist/structure-shape/score.js.map +1 -0
- package/dist/style-parse.d.ts +6 -0
- package/dist/style-parse.d.ts.map +1 -1
- package/dist/style-parse.js +32 -4
- package/dist/style-parse.js.map +1 -1
- package/dist/subheading-line.d.ts +19 -2
- package/dist/subheading-line.d.ts.map +1 -1
- package/dist/subheading-line.js +39 -11
- package/dist/subheading-line.js.map +1 -1
- package/dist/tag-coverage.d.ts +8 -0
- package/dist/tag-coverage.d.ts.map +1 -0
- package/dist/tag-coverage.js +7 -0
- package/dist/tag-coverage.js.map +1 -0
- package/dist/yaml-values.d.ts +13 -0
- package/dist/yaml-values.d.ts.map +1 -0
- package/dist/yaml-values.js +58 -0
- package/dist/yaml-values.js.map +1 -0
- package/genres.yaml +145 -1
- package/package.json +12 -3
- package/rules/absolute-exception.yaml +83 -0
- package/rules/abstract-length.yaml +130 -0
- package/rules/acronym-expansion-conflict.yaml +82 -0
- package/rules/adverb-overuse.yaml +2 -2
- package/rules/adversative-ga-repeat.yaml +58 -0
- package/rules/agentless-passive.yaml +28 -0
- package/rules/ai-generated-composite.yaml +2 -1
- package/rules/ai-structure.yaml +202 -0
- package/rules/ai-tell.yaml +35 -1
- package/rules/announced-count-mismatch.yaml +2 -2
- package/rules/announcing-opener.yaml +32 -1
- package/rules/article-sound.yaml +58 -0
- package/rules/assistant-residue.yaml +30 -0
- package/rules/bold-density.yaml +28 -0
- package/rules/bold-label-list.yaml +81 -0
- package/rules/bracket-nesting.yaml +74 -0
- package/rules/chat-citation-residue.yaml +77 -0
- package/rules/citation-reference-mismatch.yaml +110 -0
- package/rules/citation-style-mix.yaml +109 -0
- package/rules/clause-chain.yaml +59 -0
- package/rules/closing-cliche.yaml +27 -2
- package/rules/colon-lead-in.yaml +29 -5
- package/rules/contrast-framing.yaml +34 -3
- package/rules/cross-doc-broken-link.yaml +83 -0
- package/rules/cross-doc-term-variant.yaml +73 -0
- package/rules/cushion-phrase-density.yaml +32 -5
- package/rules/dangling-reference.yaml +1 -0
- package/rules/date-format-consistency.yaml +85 -0
- package/rules/date-order.yaml +1 -0
- package/rules/date-range-reversed.yaml +2 -2
- package/rules/date-without-year.yaml +70 -0
- package/rules/demonstrative-opener-run.yaml +59 -0
- package/rules/double-negative.yaml +51 -0
- package/rules/doubled-nado.yaml +57 -0
- package/rules/doubled-punctuation.yaml +2 -2
- package/rules/doubled-word.yaml +2 -2
- package/rules/duplicate-heading.yaml +78 -0
- package/rules/duration-mismatch.yaml +73 -0
- package/rules/elapsed-years-mismatch.yaml +79 -0
- package/rules/emoji-density.yaml +5 -4
- package/rules/emoji-heading.yaml +128 -0
- package/rules/empty-intensifier.yaml +25 -0
- package/rules/empty-list-item.yaml +85 -0
- package/rules/empty-section.yaml +74 -0
- package/rules/empty-table-cell.yaml +89 -0
- package/rules/excessive-hedging.yaml +32 -4
- package/rules/fact-conflict.yaml +110 -0
- package/rules/figure-reference-order.yaml +109 -0
- package/rules/fullwidth-alnum-consistency.yaml +53 -0
- package/rules/hankaku-kana.yaml +41 -0
- package/rules/heading-numbering-mix.yaml +140 -0
- package/rules/homophone-slip.yaml +58 -0
- package/rules/idiom-misuse.yaml +60 -0
- package/rules/image-alt-text.yaml +1 -1
- package/rules/invisible-character.yaml +63 -0
- package/rules/katakana-density.yaml +93 -0
- package/rules/katakana-long-vowel.yaml +10 -9
- package/rules/known-misspelling.yaml +76 -0
- package/rules/latin-spacing.yaml +12 -5
- package/rules/list-item-form-mix.yaml +134 -0
- package/rules/max-kanji-continuous.yaml +1 -0
- package/rules/max-paragraph-length.yaml +1 -0
- package/rules/max-sentence-length.yaml +26 -0
- package/rules/max-ten.yaml +59 -0
- package/rules/misconversion.yaml +61 -0
- package/rules/modal-conflict.yaml +106 -0
- package/rules/name-variant.yaml +88 -0
- package/rules/no-doubled-joshi.yaml +1 -0
- package/rules/no-em-dash.yaml +26 -2
- package/rules/no-lead.yaml +95 -0
- package/rules/no-mixed-desumasu.yaml +1 -0
- package/rules/nominalization.yaml +89 -0
- package/rules/number-style-consistency.yaml +105 -0
- package/rules/number-without-unit.yaml +96 -0
- package/rules/one-sentence-paragraph-run.yaml +95 -0
- package/rules/orthographic-variant.yaml +87 -0
- package/rules/outside-announced-list.yaml +80 -0
- package/rules/padded-intro.yaml +25 -0
- package/rules/paragraph-length-variance.yaml +26 -2
- package/rules/paragraph-restatement.yaml +96 -0
- package/rules/person-consistency.yaml +59 -0
- package/rules/preferred-term.yaml +1 -0
- package/rules/proper-noun-density.yaml +14 -5
- package/rules/ra-nuki.yaml +43 -0
- package/rules/redundant-expression.yaml +76 -0
- package/rules/reference-title-mismatch.yaml +101 -0
- package/rules/reference-topic-missing.yaml +101 -0
- package/rules/relative-date-mismatch.yaml +71 -0
- package/rules/requirement-modal.yaml +94 -0
- package/rules/requirement-smell.yaml +70 -0
- package/rules/rule-of-three.yaml +49 -3
- package/rules/section-length-uniformity.yaml +27 -3
- package/rules/sentence-initial-so.yaml +58 -0
- package/rules/sentence-rhythm.yaml +27 -1
- package/rules/space-before-punctuation.yaml +41 -0
- package/rules/spelling-consistency.yaml +47 -0
- package/rules/stock-transition.yaml +34 -3
- package/rules/summary-fact-mismatch.yaml +122 -0
- package/rules/table-header-variant.yaml +112 -0
- package/rules/taigen-dome-in-prose.yaml +14 -0
- package/rules/teki-overuse.yaml +59 -0
- package/rules/title-length.yaml +120 -0
- package/rules/topic-predicate-distance.yaml +59 -0
- package/rules/total-mismatch.yaml +1 -0
- package/rules/translationese-density.yaml +62 -0
- package/rules/undefined-acronym.yaml +1 -0
- package/rules/unfilled-placeholder.yaml +8 -11
- package/rules/unit-mismatch.yaml +110 -0
- package/rules/unknown-word.yaml +62 -0
- package/rules/unqualified-superlative.yaml +5 -4
- package/rules/unused-definition.yaml +75 -0
- package/rules/use-before-definition.yaml +77 -0
- package/rules/vague-figure-reference.yaml +66 -0
- package/rules/vague-link-text.yaml +77 -0
- package/rules/vague-word-density.yaml +89 -0
- package/rules/very-adjective.yaml +61 -0
- package/rules/weasel-word.yaml +60 -0
- package/rules/wordy-phrase.yaml +61 -0
- package/skills/chaff/SKILL.md +116 -8
- package/src/acronym-expansions.ts +106 -0
- package/src/announced-count.ts +53 -11
- package/src/announced-list.ts +120 -0
- package/src/api.ts +154 -0
- package/src/baseline.ts +17 -4
- package/src/check-source.ts +75 -0
- package/src/checks.ts +3 -3
- package/src/cli-args.ts +7 -1
- package/src/cli-text.ts +32 -17
- package/src/cli.ts +105 -98
- package/src/closing-paragraph.ts +24 -0
- package/src/commands/compare.ts +15 -18
- package/src/commands/document-commands.ts +19 -0
- package/src/commands/eval.ts +5 -4
- package/src/commands/facts.ts +33 -0
- package/src/commands/feedback.ts +33 -1
- package/src/commands/fix-plan.ts +55 -0
- package/src/commands/grade-baseline.ts +44 -0
- package/src/commands/grade.ts +191 -0
- package/src/commands/outline.ts +50 -0
- package/src/commands/read-document.ts +33 -0
- package/src/commands/suppressions.ts +20 -0
- package/src/commands/test.ts +3 -3
- package/src/commands/tree.ts +19 -12
- package/src/compare/clock-time.ts +5 -2
- package/src/compare/distinct.ts +20 -0
- package/src/compare/extract.ts +7 -5
- package/src/compare/fact-key.ts +31 -0
- package/src/compare/fact-text.ts +21 -2
- package/src/compare/facts-render.ts +63 -0
- package/src/compare/facts-text.ts +41 -0
- package/src/compare/match.ts +1 -1
- package/src/compare/outcome.ts +14 -4
- package/src/compare/proper-nouns.ts +14 -10
- package/src/compare/render.ts +2 -2
- package/src/compare/text-atoms.ts +7 -6
- package/src/compare/text.ts +3 -2
- package/src/config/load.ts +17 -3
- package/src/config/option-problems.ts +6 -4
- package/src/config/style.ts +14 -1
- package/src/config/yaml-file.ts +65 -0
- package/src/correction-edit.ts +43 -0
- package/src/cross-run.ts +107 -0
- package/src/cross-variants.ts +55 -0
- package/src/cross-votes.ts +29 -0
- package/src/custom/load.ts +11 -3
- package/src/custom/module-path.ts +23 -0
- package/src/custom/parse.ts +67 -18
- package/src/custom/problems.ts +63 -41
- package/src/date-format.ts +123 -0
- package/src/derived/date-arithmetic.ts +63 -0
- package/src/derived/durations.ts +52 -0
- package/src/derived/elapsed.ts +125 -0
- package/src/derived/relative-dates.ts +96 -0
- package/src/derived/sentence-buckets.ts +29 -0
- package/src/detect-language.ts +1 -1
- package/src/detect.ts +10 -3
- package/src/detectors/absolute-exception.ts +102 -0
- package/src/detectors/abstract-length.ts +126 -0
- package/src/detectors/ai-phrasing.ts +18 -16
- package/src/detectors/ai-structure.ts +26 -0
- package/src/detectors/blank-structure.ts +147 -0
- package/src/detectors/bold-label.ts +55 -0
- package/src/detectors/chat-citation.ts +50 -0
- package/src/detectors/citation-entry.ts +94 -0
- package/src/detectors/citation-marks.ts +205 -0
- package/src/detectors/citation-style.ts +46 -0
- package/src/detectors/cross-link.ts +82 -0
- package/src/detectors/cross-registry/cross-doc-broken-link.ts +4 -0
- package/src/detectors/cross-registry/cross-doc-term-variant.ts +4 -0
- package/src/detectors/cross-variant.ts +77 -0
- package/src/detectors/dangling-figure.ts +8 -4
- package/src/detectors/date-format.ts +29 -0
- package/src/detectors/date-year.ts +91 -0
- package/src/detectors/definition-use.ts +41 -0
- package/src/detectors/derived-numbers.ts +191 -0
- package/src/detectors/document-shape.ts +107 -0
- package/src/detectors/doubled-punctuation.ts +5 -2
- package/src/detectors/duplicate-heading.ts +47 -0
- package/src/detectors/emoji-heading.ts +17 -0
- package/src/detectors/empty-section.ts +21 -0
- package/src/detectors/fact-consistency.ts +54 -0
- package/src/detectors/figure-order.ts +81 -0
- package/src/detectors/fullwidth-alnum.ts +118 -0
- package/src/detectors/hankaku-kana.ts +38 -0
- package/src/detectors/heading-code-words.ts +2 -2
- package/src/detectors/heading-numbering.ts +38 -0
- package/src/detectors/index.ts +18 -114
- package/src/detectors/invisible-character.ts +190 -0
- package/src/detectors/katakana-density.ts +62 -0
- package/src/detectors/known-correction.ts +89 -0
- package/src/detectors/kutoten-consistency.ts +2 -2
- package/src/detectors/lexicon-match.ts +33 -1
- package/src/detectors/lexicon.ts +43 -13
- package/src/detectors/list-parallel.ts +155 -0
- package/src/detectors/list-sentence.ts +45 -4
- package/src/detectors/long-vowel.ts +22 -6
- package/src/detectors/markup-finding.ts +16 -1
- package/src/detectors/misuse-match.ts +28 -0
- package/src/detectors/modal-conflict.ts +26 -0
- package/src/detectors/name-variant.ts +15 -0
- package/src/detectors/next-word.ts +156 -0
- package/src/detectors/nominalization.ts +73 -0
- package/src/detectors/number-style.ts +230 -0
- package/src/detectors/number-unit.ts +146 -0
- package/src/detectors/orthographic-variant.ts +152 -0
- package/src/detectors/orthography.ts +77 -27
- package/src/detectors/outside-announced-list.ts +25 -0
- package/src/detectors/oxford-comma.ts +1 -0
- package/src/detectors/paragraph-restatement.ts +68 -0
- package/src/detectors/paragraph-run.ts +27 -0
- package/src/detectors/person-consistency.ts +29 -0
- package/src/detectors/phrase-match.ts +27 -7
- package/src/detectors/placeholder-text.ts +62 -5
- package/src/detectors/ra-nuki.ts +38 -0
- package/src/detectors/reference-text.ts +44 -0
- package/src/detectors/registry/absolute-exception.ts +4 -0
- package/src/detectors/registry/abstract-length.ts +4 -0
- package/src/detectors/registry/acronym-expansion-conflict.ts +4 -0
- package/src/detectors/registry/adverb-density.ts +4 -0
- package/src/detectors/registry/agentless-passive.ts +4 -0
- package/src/detectors/registry/agreement-slip.ts +4 -0
- package/src/detectors/registry/ai-structure.ts +4 -0
- package/src/detectors/registry/ai-tell.ts +4 -0
- package/src/detectors/registry/announced-count.ts +4 -0
- package/src/detectors/registry/article-sound.ts +4 -0
- package/src/detectors/registry/assistant-residue.ts +4 -0
- package/src/detectors/registry/bold-label-list.ts +4 -0
- package/src/detectors/registry/bracket-nesting.ts +4 -0
- package/src/detectors/registry/broken-link.ts +4 -0
- package/src/detectors/registry/chat-citation-residue.ts +4 -0
- package/src/detectors/registry/citation-entry.ts +4 -0
- package/src/detectors/registry/citation-style.ts +4 -0
- package/src/detectors/registry/clause-chain.ts +4 -0
- package/src/detectors/registry/colon-lead-in.ts +4 -0
- package/src/detectors/registry/concrete-evidence.ts +4 -0
- package/src/detectors/registry/conjunction-run.ts +4 -0
- package/src/detectors/registry/contraction-mix.ts +4 -0
- package/src/detectors/registry/contrast-framing.ts +4 -0
- package/src/detectors/registry/count-per-section.ts +4 -0
- package/src/detectors/registry/cushion-density.ts +4 -0
- package/src/detectors/registry/custom-pattern.ts +4 -0
- package/src/detectors/registry/custom-tokens.ts +4 -0
- package/src/detectors/registry/custom-words.ts +4 -0
- package/src/detectors/registry/dangling-figure.ts +4 -0
- package/src/detectors/registry/dangling-reference.ts +4 -0
- package/src/detectors/registry/dash-density.ts +4 -0
- package/src/detectors/registry/date-format.ts +4 -0
- package/src/detectors/registry/date-order.ts +4 -0
- package/src/detectors/registry/date-range-reversed.ts +4 -0
- package/src/detectors/registry/date-weekday-mismatch.ts +4 -0
- package/src/detectors/registry/date-without-year.ts +4 -0
- package/src/detectors/registry/doubled-particle.ts +4 -0
- package/src/detectors/registry/doubled-punctuation.ts +4 -0
- package/src/detectors/registry/doubled-word.ts +4 -0
- package/src/detectors/registry/duplicate-definition.ts +4 -0
- package/src/detectors/registry/duplicate-heading.ts +4 -0
- package/src/detectors/registry/duration-mismatch.ts +4 -0
- package/src/detectors/registry/elapsed-years-mismatch.ts +4 -0
- package/src/detectors/registry/emoji-density.ts +4 -0
- package/src/detectors/registry/emoji-heading.ts +4 -0
- package/src/detectors/registry/empty-list-item.ts +4 -0
- package/src/detectors/registry/empty-section.ts +4 -0
- package/src/detectors/registry/empty-table-cell.ts +4 -0
- package/src/detectors/registry/expletive.ts +4 -0
- package/src/detectors/registry/fact-conflict.ts +4 -0
- package/src/detectors/registry/figure-order.ts +4 -0
- package/src/detectors/registry/fullwidth-alnum.ts +4 -0
- package/src/detectors/registry/hankaku-kana.ts +4 -0
- package/src/detectors/registry/heading-echo.ts +4 -0
- package/src/detectors/registry/heading-level-skip.ts +4 -0
- package/src/detectors/registry/heading-numbering.ts +4 -0
- package/src/detectors/registry/hedging.ts +4 -0
- package/src/detectors/registry/image-alt-text.ts +4 -0
- package/src/detectors/registry/intensified-adjective.ts +4 -0
- package/src/detectors/registry/internal-jargon.ts +4 -0
- package/src/detectors/registry/invisible-character.ts +4 -0
- package/src/detectors/registry/kanji-run.ts +4 -0
- package/src/detectors/registry/katakana-density.ts +4 -0
- package/src/detectors/registry/katakana-long-vowel.ts +4 -0
- package/src/detectors/registry/known-correction.ts +4 -0
- package/src/detectors/registry/kutoten-consistency.ts +4 -0
- package/src/detectors/registry/latin-spacing.ts +4 -0
- package/src/detectors/registry/list-item-form-mix.ts +4 -0
- package/src/detectors/registry/middle-dot.ts +4 -0
- package/src/detectors/registry/misuse-match.ts +4 -0
- package/src/detectors/registry/modal-conflict.ts +4 -0
- package/src/detectors/registry/name-variant.ts +4 -0
- package/src/detectors/registry/ngram-repetition.ts +4 -0
- package/src/detectors/registry/no-lead.ts +4 -0
- package/src/detectors/registry/nominalization.ts +4 -0
- package/src/detectors/registry/noun-ending.ts +4 -0
- package/src/detectors/registry/number-style-consistency.ts +4 -0
- package/src/detectors/registry/number-without-unit.ts +4 -0
- package/src/detectors/registry/numbering-gap.ts +4 -0
- package/src/detectors/registry/one-sentence-paragraph-run.ts +4 -0
- package/src/detectors/registry/opener-pile.ts +4 -0
- package/src/detectors/registry/opener-run.ts +4 -0
- package/src/detectors/registry/orthographic-variant.ts +4 -0
- package/src/detectors/registry/outside-announced-list.ts +4 -0
- package/src/detectors/registry/oxford-comma.ts +4 -0
- package/src/detectors/registry/paragraph-length.ts +4 -0
- package/src/detectors/registry/paragraph-restatement.ts +4 -0
- package/src/detectors/registry/paragraph-variance.ts +4 -0
- package/src/detectors/registry/percent-sum-mismatch.ts +4 -0
- package/src/detectors/registry/person-mix.ts +4 -0
- package/src/detectors/registry/phrase-count.ts +4 -0
- package/src/detectors/registry/phrase-density.ts +4 -0
- package/src/detectors/registry/phrase-match.ts +4 -0
- package/src/detectors/registry/preamble-length.ts +4 -0
- package/src/detectors/registry/preferred-term.ts +4 -0
- package/src/detectors/registry/proper-noun-density.ts +4 -0
- package/src/detectors/registry/ra-nuki.ts +4 -0
- package/src/detectors/registry/reference-title-mismatch.ts +4 -0
- package/src/detectors/registry/reference-topic-missing.ts +4 -0
- package/src/detectors/registry/relative-date-mismatch.ts +4 -0
- package/src/detectors/registry/repeated-conjunction.ts +4 -0
- package/src/detectors/registry/repeated-head.ts +4 -0
- package/src/detectors/registry/required-sections.ts +4 -0
- package/src/detectors/registry/requirement-modal.ts +4 -0
- package/src/detectors/registry/requirement-smell.ts +4 -0
- package/src/detectors/registry/rule-of-three.ts +4 -0
- package/src/detectors/registry/section-uniformity.ts +4 -0
- package/src/detectors/registry/sentence-comma-count.ts +4 -0
- package/src/detectors/registry/sentence-conjunctive-count.ts +4 -0
- package/src/detectors/registry/sentence-ending.ts +4 -0
- package/src/detectors/registry/sentence-length.ts +4 -0
- package/src/detectors/registry/sentence-rhythm.ts +4 -0
- package/src/detectors/registry/sentence-word-count.ts +4 -0
- package/src/detectors/registry/space-before-punctuation.ts +4 -0
- package/src/detectors/registry/spelling-variety.ts +4 -0
- package/src/detectors/registry/stock-transition.ts +4 -0
- package/src/detectors/registry/stray-space.ts +4 -0
- package/src/detectors/registry/summary-fact-mismatch.ts +4 -0
- package/src/detectors/registry/table-header-variant.ts +4 -0
- package/src/detectors/registry/title-case-mix.ts +4 -0
- package/src/detectors/registry/title-length.ts +4 -0
- package/src/detectors/registry/topic-predicate-distance.ts +4 -0
- package/src/detectors/registry/total-mismatch.ts +4 -0
- package/src/detectors/registry/unbalanced-bracket.ts +4 -0
- package/src/detectors/registry/undefined-acronym.ts +4 -0
- package/src/detectors/registry/unfilled-placeholder.ts +4 -0
- package/src/detectors/registry/unit-mismatch.ts +4 -0
- package/src/detectors/registry/unknown-word.ts +4 -0
- package/src/detectors/registry/unqualified-superlative.ts +4 -0
- package/src/detectors/registry/unused-definition.ts +4 -0
- package/src/detectors/registry/url-run-on.ts +4 -0
- package/src/detectors/registry/use-before-definition.ts +4 -0
- package/src/detectors/registry/vague-density.ts +4 -0
- package/src/detectors/registry/vague-figure-pointer.ts +4 -0
- package/src/detectors/registry/vague-link-text.ts +4 -0
- package/src/detectors/registry-files.ts +12 -0
- package/src/detectors/registry-load.ts +23 -0
- package/src/detectors/relative-dates.ts +113 -0
- package/src/detectors/requirement-modal.ts +67 -0
- package/src/detectors/requirement-smell.ts +52 -0
- package/src/detectors/sentence-counts.ts +112 -0
- package/src/detectors/sentence-load.ts +45 -0
- package/src/detectors/space-before-punctuation.ts +32 -0
- package/src/detectors/spelling-variety.ts +81 -0
- package/src/detectors/structure-tree.ts +3 -1
- package/src/detectors/structure.ts +17 -3
- package/src/detectors/superlative-comparison.ts +47 -0
- package/src/detectors/table-header.ts +174 -0
- package/src/detectors/team.ts +12 -4
- package/src/detectors/unit-consistency.ts +55 -0
- package/src/detectors/unknown-word.ts +43 -0
- package/src/detectors/url-run-on.ts +7 -1
- package/src/detectors/vague-figure-pointer.ts +58 -0
- package/src/detectors/vague-link-text.ts +12 -0
- package/src/detectors/word-list.ts +6 -1
- package/src/document-reading.ts +25 -0
- package/src/document.ts +94 -45
- package/src/experimental-alone.ts +21 -0
- package/src/extension/document-view.ts +109 -0
- package/src/extension/failure-text.ts +46 -0
- package/src/extension/import-default.ts +13 -0
- package/src/extension/load.ts +97 -0
- package/src/extension/module-detector.ts +61 -0
- package/src/extension/plugin-load.ts +82 -0
- package/src/extension/plugin-name.ts +26 -0
- package/src/extension/plugin-parse.ts +229 -0
- package/src/extension/problem-text.ts +103 -0
- package/src/extension/real-path.ts +10 -0
- package/src/extension/returned-findings.ts +62 -0
- package/src/extension/rule-export.ts +23 -0
- package/src/facts/fact-conflicts.ts +64 -0
- package/src/facts/fact-scope.ts +141 -0
- package/src/facts/fact-values.ts +110 -0
- package/src/facts/labelled-facts.ts +131 -0
- package/src/facts/measures.ts +54 -0
- package/src/facts/table-facts.ts +71 -0
- package/src/facts/trim-marks.ts +18 -0
- package/src/facts/unit-conflicts.ts +45 -0
- package/src/feedback/draft.ts +6 -0
- package/src/figure-references.ts +93 -13
- package/src/files.ts +16 -10
- package/src/finding-order.ts +3 -0
- package/src/fix-plan/mode.ts +40 -0
- package/src/fix-plan/plan.ts +202 -0
- package/src/fix-plan/render.ts +146 -0
- package/src/fix-plan/structure-target-text.ts +90 -0
- package/src/fix-plan/structure-targets.ts +46 -0
- package/src/fix-plan/text.ts +136 -0
- package/src/grade/baseline-text.ts +80 -0
- package/src/grade/baseline.ts +140 -0
- package/src/grade/checks.ts +73 -0
- package/src/grade/context-support.ts +60 -0
- package/src/grade/contexts.ts +53 -0
- package/src/grade/grade-item.ts +133 -0
- package/src/grade/item.ts +208 -0
- package/src/grade/order.ts +10 -0
- package/src/grade/pairing.ts +22 -0
- package/src/grade/rates.ts +39 -0
- package/src/grade/render-baseline.ts +74 -0
- package/src/grade/render-markdown.ts +62 -0
- package/src/grade/render-variants.ts +115 -0
- package/src/grade/render.ts +84 -0
- package/src/grade/result-name.ts +9 -0
- package/src/grade/result.ts +82 -0
- package/src/grade/results-read.ts +111 -0
- package/src/grade/rubric-verdict.ts +86 -0
- package/src/grade/rubric.ts +192 -0
- package/src/grade/scorer.ts +33 -0
- package/src/grade/setup.ts +43 -0
- package/src/grade/stamp.ts +60 -0
- package/src/grade/summary.ts +112 -0
- package/src/grade/text.ts +164 -0
- package/src/grade/variants-input.ts +54 -0
- package/src/grade/variants-text.ts +88 -0
- package/src/grade/variants.ts +118 -0
- package/src/grade/verdict.ts +27 -0
- package/src/grade-api.ts +184 -0
- package/src/heading-numbering.ts +106 -0
- package/src/kana-spelling.ts +49 -0
- package/src/language-sample.ts +48 -0
- package/src/link-line.ts +13 -0
- package/src/link-text.ts +46 -0
- package/src/long-vowel.ts +18 -8
- package/src/markup.ts +4 -2
- package/src/name-variants.ts +217 -0
- package/src/node-version.ts +22 -0
- package/src/not-run.ts +16 -0
- package/src/orthography.ts +40 -11
- package/src/outline/render.ts +92 -0
- package/src/outline/shape.ts +72 -0
- package/src/outline/structure-render.ts +101 -0
- package/src/outline/structure-text.ts +124 -0
- package/src/outline/text.ts +55 -0
- package/src/paragraph-runs.ts +30 -0
- package/src/person-forms.ts +119 -0
- package/src/plugin.ts +34 -4
- package/src/reasons.ts +7 -0
- package/src/render/compact.ts +13 -3
- package/src/render/explain.ts +54 -21
- package/src/render/friendly.ts +17 -1
- package/src/render/rules-json.ts +23 -13
- package/src/render/rules-table.ts +1 -1
- package/src/render/sarif.ts +31 -1
- package/src/render/suppressions.ts +30 -2
- package/src/resolve-genre.ts +1 -1
- package/src/rule-guide.ts +41 -0
- package/src/run-semantic.ts +2 -1
- package/src/run.ts +108 -63
- package/src/sentence-load.ts +77 -0
- package/src/setting-problems.ts +3 -1
- package/src/spacing-minority.ts +27 -0
- package/src/spelling-variants.ts +42 -0
- package/src/spelling.ts +81 -0
- package/src/stet-block.ts +60 -0
- package/src/stet.ts +41 -15
- package/src/structure/absolute-exception.ts +104 -0
- package/src/structure/date-range.ts +49 -1
- package/src/structure/definition-use.ts +130 -0
- package/src/structure/issues.ts +22 -0
- package/src/structure/lazy-tree.ts +15 -0
- package/src/structure/modal-conflict.ts +86 -0
- package/src/structure/numbered-clauses.ts +11 -0
- package/src/structure/reference-text.ts +114 -0
- package/src/structure/universal.ts +10 -2
- package/src/structure-shape/baseline-load.ts +18 -0
- package/src/structure-shape/baseline.ts +62 -0
- package/src/structure-shape/features.ts +189 -0
- package/src/structure-shape/heading-words.ts +71 -0
- package/src/structure-shape/of-document.ts +7 -0
- package/src/structure-shape/restatement.ts +41 -0
- package/src/structure-shape/score.ts +65 -0
- package/src/style-parse.ts +38 -3
- package/src/subheading-line.ts +51 -13
- package/src/tag-coverage.ts +13 -0
- package/src/yaml-values.ts +61 -0
- package/structure-baseline.yaml +289 -0
- package/styles/ieice.yaml +5 -4
- package/styles/jis-z8301-2011.yaml +5 -2
- package/styles/jis-z8301-2019.yaml +31 -0
- package/styles/koyobun.yaml +35 -0
- package/dist/legal-address.d.ts +0 -2
- package/dist/legal-address.d.ts.map +0 -1
- package/dist/legal-address.js +0 -16
- package/dist/legal-address.js.map +0 -1
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { GradeResult } from "./result.ts";
|
|
2
|
+
import { isGradeResult } from "./results-read.ts";
|
|
3
|
+
|
|
4
|
+
// The results `compareVariants()` is given, checked and grouped by variant. Pure. A harness builds this input by hand, so
|
|
5
|
+
// a result without an id, without a variant or under an id its variant already has is said, not silently dropped.
|
|
6
|
+
|
|
7
|
+
/** Each variant's results, by variant label then id, in order of first appearance. */
|
|
8
|
+
export type VariantGroups = ReadonlyMap<string, ReadonlyMap<string, GradeResult>>;
|
|
9
|
+
|
|
10
|
+
/** Labelled results, or each variant's results under its label. */
|
|
11
|
+
export type VariantInput = readonly GradeResult[] | Readonly<Record<string, readonly GradeResult[]>>;
|
|
12
|
+
|
|
13
|
+
type Labelled = { readonly variant: unknown; readonly result: unknown; readonly place: string };
|
|
14
|
+
|
|
15
|
+
const isRecord = (value: unknown): value is Record<string, unknown> => typeof value === "object" && value !== null && !Array.isArray(value);
|
|
16
|
+
|
|
17
|
+
const labelledOf = (input: unknown): Labelled[] | undefined => {
|
|
18
|
+
if (Array.isArray(input))
|
|
19
|
+
return input.map((result: unknown, index) => ({ variant: isRecord(result) ? result["variant"] : undefined, result, place: `results[${String(index)}]` }));
|
|
20
|
+
if (!isRecord(input)) return undefined;
|
|
21
|
+
return Object.entries(input).flatMap(([variant, results]) =>
|
|
22
|
+
Array.isArray(results)
|
|
23
|
+
? results.map((result: unknown, index) => ({ variant, result, place: `${variant}[${String(index)}]` }))
|
|
24
|
+
: [{ variant, result: results, place: variant }],
|
|
25
|
+
);
|
|
26
|
+
};
|
|
27
|
+
|
|
28
|
+
/** A whole result line, as `--out` writes it, with an id to match by: a partial object would break the table, not be compared. */
|
|
29
|
+
const isResult = (value: unknown): value is GradeResult => isGradeResult(value) && value.id !== "";
|
|
30
|
+
|
|
31
|
+
/** Why one entry cannot be compared, or undefined when it can. */
|
|
32
|
+
const problemOf = (entry: Labelled, groups: ReadonlyMap<string, ReadonlyMap<string, GradeResult>>): string | undefined => {
|
|
33
|
+
if (!isResult(entry.result)) return `${entry.place}: not a grade result with an id`;
|
|
34
|
+
if (typeof entry.variant !== "string" || entry.variant === "") return `${entry.place}: id "${entry.result.id}" has no variant`;
|
|
35
|
+
return groups.get(entry.variant)?.has(entry.result.id) === true
|
|
36
|
+
? `${entry.place}: id "${entry.result.id}" is already in variant "${entry.variant}"`
|
|
37
|
+
: undefined;
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
/** The results grouped by variant, or every reason some cannot be. No result at all is a problem, not an empty comparison. */
|
|
41
|
+
export const variantGroupsOf = (input: unknown): { readonly groups: VariantGroups } | { readonly problems: readonly string[] } => {
|
|
42
|
+
const labelled = labelledOf(input);
|
|
43
|
+
if (labelled === undefined) return { problems: ["results must be an array of grade results, or { variant: results[] }"] };
|
|
44
|
+
const groups = new Map<string, Map<string, GradeResult>>();
|
|
45
|
+
const problems = labelled.flatMap((entry) => {
|
|
46
|
+
const problem = problemOf(entry, groups);
|
|
47
|
+
if (problem !== undefined || !isResult(entry.result) || typeof entry.variant !== "string") return problem === undefined ? [] : [problem];
|
|
48
|
+
const byId = groups.get(entry.variant) ?? new Map<string, GradeResult>();
|
|
49
|
+
groups.set(entry.variant, byId.set(entry.result.id, { ...entry.result, variant: entry.variant }));
|
|
50
|
+
return [];
|
|
51
|
+
});
|
|
52
|
+
if (problems.length > 0) return { problems };
|
|
53
|
+
return groups.size === 0 ? { problems: ["no results to compare"] } : { groups };
|
|
54
|
+
};
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import type { Texts } from "../ui.ts";
|
|
2
|
+
|
|
3
|
+
export type VariantText = {
|
|
4
|
+
readonly heading: (compared: number, variants: number) => string;
|
|
5
|
+
readonly passed: string;
|
|
6
|
+
readonly passedCell: (passed: number, outputs: number, rate: string) => string;
|
|
7
|
+
readonly factsDropped: string;
|
|
8
|
+
readonly factsAdded: string;
|
|
9
|
+
readonly citationsFailed: string;
|
|
10
|
+
readonly citationsCell: (failed: number, checked: number) => string;
|
|
11
|
+
readonly unsupportedFacts: string;
|
|
12
|
+
readonly penalty: string;
|
|
13
|
+
readonly ratesHeading: (unit: string) => string;
|
|
14
|
+
readonly unit: Readonly<Record<"char" | "word", string>>;
|
|
15
|
+
readonly disagreeHeading: (count: number) => string;
|
|
16
|
+
readonly disagreement: (id: string, passedIn: string, failedIn: string) => string;
|
|
17
|
+
readonly failedIn: (variant: string, reasons: string) => string;
|
|
18
|
+
readonly noDisagreement: string;
|
|
19
|
+
readonly missing: (id: string, variants: string) => string;
|
|
20
|
+
readonly readOtherwise: (ids: string) => string;
|
|
21
|
+
readonly notComparedHeading: string;
|
|
22
|
+
/** Markdown only: the run's heading and its totals. */
|
|
23
|
+
readonly runHeading: (path: string) => string;
|
|
24
|
+
readonly totals: (total: number, passed: number) => string;
|
|
25
|
+
readonly failedHeading: string;
|
|
26
|
+
readonly regressionsHeading: (count: number) => string;
|
|
27
|
+
readonly noRegression: string;
|
|
28
|
+
readonly stamp: string;
|
|
29
|
+
readonly separator: string;
|
|
30
|
+
};
|
|
31
|
+
|
|
32
|
+
export const VARIANT_TEXT: Texts<VariantText> = {
|
|
33
|
+
ja: {
|
|
34
|
+
heading: (compared, variants) => `${String(variants)} つの variant を並べた: どの variant にもある id の出力 ${String(compared)} 件`,
|
|
35
|
+
passed: "通った",
|
|
36
|
+
passedCell: (passed, outputs, rate) => `${String(passed)}/${String(outputs)}(${rate})`,
|
|
37
|
+
factsDropped: "落ちた事実",
|
|
38
|
+
factsAdded: "足された事実",
|
|
39
|
+
citationsFailed: "外れた引用",
|
|
40
|
+
citationsCell: (failed, checked) => `${String(failed)}/${String(checked)}`,
|
|
41
|
+
unsupportedFacts: "一節に無い事実",
|
|
42
|
+
penalty: "減点の和",
|
|
43
|
+
ratesHeading: (unit) => `ルールごとの率(1,000 ${unit}あたり)`,
|
|
44
|
+
unit: { char: "字", word: "語" },
|
|
45
|
+
disagreeHeading: (count) => `合否が分かれた出力 ${String(count)} 件`,
|
|
46
|
+
disagreement: (id, passedIn, failedIn) => `${id}: 通った ${passedIn}、落ちた ${failedIn}`,
|
|
47
|
+
failedIn: (variant, reasons) => `${variant}(${reasons})`,
|
|
48
|
+
noDisagreement: "合否が分かれた出力はありません",
|
|
49
|
+
missing: (id, variants) => `${id}: ${variants} に無い`,
|
|
50
|
+
readOtherwise: (ids) => `言語かジャンルが違う: ${ids}`,
|
|
51
|
+
notComparedHeading: "比べなかった id",
|
|
52
|
+
runHeading: (path) => `chaff grade: ${path}`,
|
|
53
|
+
totals: (total, passed) => `${String(total)} 件の出力、${String(passed)} 件が通り、${String(total - passed)} 件が落ちた`,
|
|
54
|
+
failedHeading: "落ちた出力",
|
|
55
|
+
regressionsHeading: (count) => `前の回と比べた回帰 ${String(count)} 件`,
|
|
56
|
+
noRegression: "前の回と比べた回帰はありません",
|
|
57
|
+
stamp: "再現の印",
|
|
58
|
+
separator: "、",
|
|
59
|
+
},
|
|
60
|
+
en: {
|
|
61
|
+
heading: (compared, variants) =>
|
|
62
|
+
`${String(variants)} variants side by side: ${String(compared)} ${compared === 1 ? "output" : "outputs"} with an id every variant has`,
|
|
63
|
+
passed: "Passed",
|
|
64
|
+
passedCell: (passed, outputs, rate) => `${String(passed)}/${String(outputs)} (${rate})`,
|
|
65
|
+
factsDropped: "Facts dropped",
|
|
66
|
+
factsAdded: "Facts added",
|
|
67
|
+
citationsFailed: "Quotations failed",
|
|
68
|
+
citationsCell: (failed, checked) => `${String(failed)}/${String(checked)}`,
|
|
69
|
+
unsupportedFacts: "Unsupported facts",
|
|
70
|
+
penalty: "Penalty points",
|
|
71
|
+
ratesHeading: (unit) => `Rule rates (per 1,000 ${unit})`,
|
|
72
|
+
unit: { char: "characters", word: "words" },
|
|
73
|
+
disagreeHeading: (count) => `${String(count)} ${count === 1 ? "output" : "outputs"} where pass or fail differs`,
|
|
74
|
+
disagreement: (id, passedIn, failedIn) => `${id}: passed in ${passedIn}; failed in ${failedIn}`,
|
|
75
|
+
failedIn: (variant, reasons) => `${variant} (${reasons})`,
|
|
76
|
+
noDisagreement: "Every variant passed or failed the same outputs",
|
|
77
|
+
missing: (id, variants) => `${id}: missing from ${variants}`,
|
|
78
|
+
readOtherwise: (ids) => `another language or genre: ${ids}`,
|
|
79
|
+
notComparedHeading: "Ids not compared",
|
|
80
|
+
runHeading: (path) => `chaff grade: ${path}`,
|
|
81
|
+
totals: (total, passed) => `${String(total)} outputs, ${String(passed)} passed, ${String(total - passed)} failed`,
|
|
82
|
+
failedHeading: "Failed outputs",
|
|
83
|
+
regressionsHeading: (count) => `${String(count)} ${count === 1 ? "regression" : "regressions"} against the baseline`,
|
|
84
|
+
noRegression: "No regression against the baseline",
|
|
85
|
+
stamp: "Stamp",
|
|
86
|
+
separator: "; ",
|
|
87
|
+
},
|
|
88
|
+
};
|
|
@@ -0,0 +1,118 @@
|
|
|
1
|
+
import type { LengthUnit } from "../plugin.ts";
|
|
2
|
+
import { rateRows, sameReading } from "./pairing.ts";
|
|
3
|
+
import type { GradeResult } from "./result.ts";
|
|
4
|
+
import { summaryOf } from "./summary.ts";
|
|
5
|
+
import { variantGroupsOf, type VariantGroups } from "./variants-input.ts";
|
|
6
|
+
|
|
7
|
+
// Several variants (prompts, models, settings) graded on the same inputs, side by side (spec §29.5). Pure. Outputs are
|
|
8
|
+
// matched by id: only an id every variant answered, read the same way, is compared, so each column covers the same tasks.
|
|
9
|
+
|
|
10
|
+
/** One variant over the compared ids. */
|
|
11
|
+
export type VariantColumn = {
|
|
12
|
+
readonly variant: string;
|
|
13
|
+
readonly outputs: number;
|
|
14
|
+
readonly passed: number;
|
|
15
|
+
/** The share of outputs that passed, in percent to one decimal. Undefined when no id was compared. */
|
|
16
|
+
readonly passRate?: number | undefined;
|
|
17
|
+
/** Facts dropped and added against the reference, not counting the kinds the rubric allows. */
|
|
18
|
+
readonly facts: { readonly dropped: number; readonly added: number };
|
|
19
|
+
readonly citations: { readonly checked: number; readonly failed: number };
|
|
20
|
+
/** Facts checked against the retrieved passages, and those in no passage. Only when some output had contexts. */
|
|
21
|
+
readonly contexts?: { readonly checked: number; readonly unsupported: number } | undefined;
|
|
22
|
+
/** Only with a `grade:` rubric. */
|
|
23
|
+
readonly penalty?: number | undefined;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
/** One rule's rate per 1,000 units in each variant, by variant label; 0 where the variant had no finding of it. */
|
|
27
|
+
export type VariantRates = { readonly rule: string; readonly unit: LengthUnit; readonly rates: Readonly<Record<string, number>> };
|
|
28
|
+
|
|
29
|
+
/** An id some variants passed and others failed, with why each failed. */
|
|
30
|
+
export type Disagreement = {
|
|
31
|
+
readonly id: string;
|
|
32
|
+
readonly passedIn: readonly string[];
|
|
33
|
+
readonly failedIn: readonly { readonly variant: string; readonly failedBecause: readonly string[] }[];
|
|
34
|
+
};
|
|
35
|
+
|
|
36
|
+
export type VariantComparison = {
|
|
37
|
+
/** In the order they first appear. */
|
|
38
|
+
readonly variants: readonly string[];
|
|
39
|
+
/** The ids every variant answered, read the same way. */
|
|
40
|
+
readonly compared: readonly string[];
|
|
41
|
+
/** Ids some variant did not answer, and which. */
|
|
42
|
+
readonly missing: readonly { readonly id: string; readonly missingFrom: readonly string[] }[];
|
|
43
|
+
/** Ids every variant answered, but in another language or genre: not the same task graded the same way. */
|
|
44
|
+
readonly readOtherwise: readonly string[];
|
|
45
|
+
readonly columns: readonly VariantColumn[];
|
|
46
|
+
readonly rules: readonly VariantRates[];
|
|
47
|
+
readonly disagreements: readonly Disagreement[];
|
|
48
|
+
};
|
|
49
|
+
|
|
50
|
+
const PERCENT = 100;
|
|
51
|
+
const PERCENT_SCALE = 10;
|
|
52
|
+
|
|
53
|
+
const percentOf = (passed: number, outputs: number): number | undefined =>
|
|
54
|
+
outputs === 0 ? undefined : Math.round((passed * PERCENT * PERCENT_SCALE) / outputs) / PERCENT_SCALE;
|
|
55
|
+
|
|
56
|
+
const sum = (counts: Readonly<Record<string, number>>): number => Object.values(counts).reduce((total, count) => total + count, 0);
|
|
57
|
+
|
|
58
|
+
const columnOf = (variant: string, results: readonly GradeResult[]): VariantColumn => {
|
|
59
|
+
const summary = summaryOf(results);
|
|
60
|
+
return {
|
|
61
|
+
variant,
|
|
62
|
+
outputs: summary.total,
|
|
63
|
+
passed: summary.passed,
|
|
64
|
+
passRate: percentOf(summary.passed, summary.total),
|
|
65
|
+
facts: { dropped: sum(summary.facts.dropped), added: sum(summary.facts.added) },
|
|
66
|
+
citations: summary.citations,
|
|
67
|
+
...(summary.contexts === undefined ? {} : { contexts: { checked: summary.contexts.checked, unsupported: sum(summary.contexts.unsupported) } }),
|
|
68
|
+
...(summary.penalty === undefined ? {} : { penalty: summary.penalty }),
|
|
69
|
+
};
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
const disagreementOf = (id: string, row: readonly GradeResult[], variants: readonly string[]): Disagreement[] => {
|
|
73
|
+
const passedIn = variants.filter((_, index) => row[index]?.pass === true);
|
|
74
|
+
if (passedIn.length === 0 || passedIn.length === variants.length) return [];
|
|
75
|
+
const failedIn = variants.flatMap((variant, index) => {
|
|
76
|
+
const result = row[index];
|
|
77
|
+
return result === undefined || result.pass ? [] : [{ variant, failedBecause: result.failedBecause }];
|
|
78
|
+
});
|
|
79
|
+
return [{ id, passedIn, failedIn }];
|
|
80
|
+
};
|
|
81
|
+
|
|
82
|
+
/** Each id in order of first appearance, with its result in each variant, or undefined where the variant has none. */
|
|
83
|
+
const rowsOf = (grouped: VariantGroups, variants: readonly string[]): { readonly id: string; readonly row: readonly (GradeResult | undefined)[] }[] => {
|
|
84
|
+
const ids = [...new Set([...grouped.values()].flatMap((byId) => [...byId.keys()]))];
|
|
85
|
+
return ids.map((id) => ({ id, row: variants.map((variant) => grouped.get(variant)?.get(id)) }));
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
const isComplete = (row: readonly (GradeResult | undefined)[]): row is readonly GradeResult[] => row.every((result) => result !== undefined);
|
|
89
|
+
|
|
90
|
+
/** The variants side by side over the ids they all answered. `grouped`: each variant's results by id, the variants in order. */
|
|
91
|
+
export const compareVariantGroups = (grouped: VariantGroups): VariantComparison => {
|
|
92
|
+
const variants = [...grouped.keys()];
|
|
93
|
+
const rows = rowsOf(grouped, variants);
|
|
94
|
+
const complete = rows.flatMap(({ id, row }) => (isComplete(row) ? [{ id, row }] : []));
|
|
95
|
+
const compared = complete.filter(({ row }) => sameReading(row));
|
|
96
|
+
const byVariant = variants.map((_, index) => compared.flatMap(({ row }) => row.slice(index, index + 1)));
|
|
97
|
+
return {
|
|
98
|
+
variants,
|
|
99
|
+
compared: compared.map(({ id }) => id),
|
|
100
|
+
missing: rows.flatMap(({ id, row }) => {
|
|
101
|
+
const missingFrom = variants.filter((_, index) => row[index] === undefined);
|
|
102
|
+
return missingFrom.length === 0 ? [] : [{ id, missingFrom }];
|
|
103
|
+
}),
|
|
104
|
+
readOtherwise: complete.filter(({ row }) => !sameReading(row)).map(({ id }) => id),
|
|
105
|
+
columns: variants.map((variant, index) => columnOf(variant, byVariant[index] ?? [])),
|
|
106
|
+
rules: rateRows(byVariant)
|
|
107
|
+
.filter((row) => row.rates.some((rate) => rate > 0))
|
|
108
|
+
.map(({ rule, unit, rates }) => ({ rule, unit, rates: Object.fromEntries(variants.map((variant, index) => [variant, rates[index] ?? 0])) })),
|
|
109
|
+
disagreements: compared.flatMap(({ id, row }) => disagreementOf(id, row, variants)),
|
|
110
|
+
};
|
|
111
|
+
};
|
|
112
|
+
|
|
113
|
+
/** A run's results compared variant by variant, or undefined when none has a variant label (the command line's input already checked). */
|
|
114
|
+
export const variantsOfRun = (results: readonly GradeResult[]): VariantComparison | undefined => {
|
|
115
|
+
if (!results.some((result) => result.variant !== undefined)) return undefined;
|
|
116
|
+
const read = variantGroupsOf(results);
|
|
117
|
+
return "groups" in read ? compareVariantGroups(read.groups) : undefined;
|
|
118
|
+
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { GradeFact, GradeResult } from "./result.ts";
|
|
2
|
+
|
|
3
|
+
/** What pass or fail is decided from. */
|
|
4
|
+
export type Graded = Pick<GradeResult, "findings" | "facts" | "citations" | "contexts">;
|
|
5
|
+
|
|
6
|
+
export type Verdict = { readonly pass: boolean; readonly failedBecause: readonly string[] };
|
|
7
|
+
|
|
8
|
+
/** A condition over a count, written as the reason when the count goes past its limit: `facts.dropped 3 > 0`. */
|
|
9
|
+
export const overLimit = (name: string, count: number, limit: number): string[] => (count > limit ? [`${name} ${String(count)} > ${String(limit)}`] : []);
|
|
10
|
+
|
|
11
|
+
/** Facts that count against the output: those whose kind was not allowed to change. */
|
|
12
|
+
export const counted = (facts: readonly GradeFact[]): number => facts.filter((fact) => !fact.allowed).length;
|
|
13
|
+
|
|
14
|
+
export const verdictOf = (failedBecause: readonly string[]): Verdict => ({ pass: failedBecause.length === 0, failedBecause });
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* The pass or fail with no `grade:` in chaff.yaml (spec §29.3): an error finding, a fact dropped or added against the
|
|
18
|
+
* reference, a quotation not found, or a fact no retrieved passage states fails the output. Warnings and info are rates to compare, not a verdict on one output.
|
|
19
|
+
*/
|
|
20
|
+
export const defaultVerdict = (graded: Graded): Verdict =>
|
|
21
|
+
verdictOf([
|
|
22
|
+
...overLimit("findings.error", graded.findings.filter((finding) => finding.level === "error").length, 0),
|
|
23
|
+
...overLimit("facts.dropped", counted(graded.facts?.dropped ?? []), 0),
|
|
24
|
+
...overLimit("facts.added", counted(graded.facts?.added ?? []), 0),
|
|
25
|
+
...overLimit("citations.failed", graded.citations?.failed.length ?? 0, 0),
|
|
26
|
+
...overLimit("contexts.unsupported", counted(graded.contexts?.unsupported ?? []), 0),
|
|
27
|
+
]);
|
package/src/grade-api.ts
ADDED
|
@@ -0,0 +1,184 @@
|
|
|
1
|
+
// `chaffjs/grade`: chaff's grader for an in-process eval harness (spec §29.6). One output at a time, with the same
|
|
2
|
+
// result as one line of `chaff grade --out`: both go through gradeItem with the same settings and stamp. A separate entry
|
|
3
|
+
// from `chaffjs/api`, so the plugin API's version and the result's shape are not bound to one number.
|
|
4
|
+
import { statSync } from "node:fs";
|
|
5
|
+
import { resolve } from "node:path";
|
|
6
|
+
import { packageFor } from "./adapter-load.ts";
|
|
7
|
+
import { CLI_TEXT } from "./cli-text.ts";
|
|
8
|
+
import { EMPTY, loadConfig, type Config } from "./config/load.ts";
|
|
9
|
+
import { withStyle } from "./config/style.ts";
|
|
10
|
+
import { withExtensions } from "./extension/load.ts";
|
|
11
|
+
import { GENRES } from "./genre.ts";
|
|
12
|
+
import { gradeItem, type GradeSetup } from "./grade/grade-item.ts";
|
|
13
|
+
import { readItem } from "./grade/item.ts";
|
|
14
|
+
import type { GradeResult } from "./grade/result.ts";
|
|
15
|
+
import { parseRubric, type Rubric } from "./grade/rubric.ts";
|
|
16
|
+
import { gradeSetup } from "./grade/setup.ts";
|
|
17
|
+
import { GRADE_TEXT } from "./grade/text.ts";
|
|
18
|
+
import { compareVariantGroups, type VariantComparison } from "./grade/variants.ts";
|
|
19
|
+
import { variantGroupsOf, type VariantInput } from "./grade/variants-input.ts";
|
|
20
|
+
import { settingProblems } from "./setting-problems.ts";
|
|
21
|
+
import { loadStyles } from "./style-load.ts";
|
|
22
|
+
|
|
23
|
+
export type {
|
|
24
|
+
FailedCitation,
|
|
25
|
+
GradeCitations,
|
|
26
|
+
GradeContexts,
|
|
27
|
+
GradeFact,
|
|
28
|
+
GradeFacts,
|
|
29
|
+
GradeFinding,
|
|
30
|
+
GradeResult,
|
|
31
|
+
GradeScore,
|
|
32
|
+
NotRunEntry,
|
|
33
|
+
ScoreItem,
|
|
34
|
+
Stamp,
|
|
35
|
+
SupportedFact,
|
|
36
|
+
} from "./grade/result.ts";
|
|
37
|
+
export type { OutputSize } from "./grade/rates.ts";
|
|
38
|
+
export { toScorer, type ChaffScore } from "./grade/scorer.ts";
|
|
39
|
+
export type { Disagreement, VariantColumn, VariantComparison, VariantRates } from "./grade/variants.ts";
|
|
40
|
+
export type { VariantInput } from "./grade/variants-input.ts";
|
|
41
|
+
|
|
42
|
+
export type GradeOptions = {
|
|
43
|
+
/** The result's id. "output" when left out. */
|
|
44
|
+
readonly id?: string;
|
|
45
|
+
/** The document the output was made from: facts are checked against it, as `chaff compare` does. */
|
|
46
|
+
readonly reference?: string;
|
|
47
|
+
/** Each source's name and text. */
|
|
48
|
+
readonly sources?: Readonly<Record<string, string>>;
|
|
49
|
+
/** What the output quoted. `source` may be left out when there is one source. */
|
|
50
|
+
readonly citations?: readonly { readonly source?: string; readonly address: string; readonly quote: string }[];
|
|
51
|
+
/** The retrieved passages the output was meant to rest on: each fact of the output is looked for in them. */
|
|
52
|
+
readonly contexts?: readonly string[];
|
|
53
|
+
readonly language?: string;
|
|
54
|
+
readonly genre?: string;
|
|
55
|
+
/** The prompt, model or setting that produced the output, kept on the result for compareVariants(). */
|
|
56
|
+
readonly variant?: string;
|
|
57
|
+
/** Run the experimental rules too, as --experimental does. chaff.yaml's `experimental` when left out. */
|
|
58
|
+
readonly experimental?: boolean;
|
|
59
|
+
/** chaff.yaml's path, or settings already read. Without it chaff's defaults apply and no file is read. */
|
|
60
|
+
readonly config?: string | Config;
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
/** An input or a chaff.yaml grade() cannot use: the same cases end `chaff grade` with exit 2. */
|
|
64
|
+
export class GradeInputError extends Error {
|
|
65
|
+
readonly problems: readonly string[];
|
|
66
|
+
|
|
67
|
+
constructor(problems: readonly string[]) {
|
|
68
|
+
super(problems.join("\n"));
|
|
69
|
+
this.name = "GradeInputError";
|
|
70
|
+
this.problems = problems;
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
|
|
74
|
+
const TEXT = GRADE_TEXT.en;
|
|
75
|
+
|
|
76
|
+
/** Each chaff.yaml read, by its path and when it was last changed: one file is read and its code loaded once. */
|
|
77
|
+
const readConfigs = new Map<string, Config>();
|
|
78
|
+
|
|
79
|
+
const KEPT = 16;
|
|
80
|
+
|
|
81
|
+
/** Adds to a cache, dropping the oldest entry past KEPT. */
|
|
82
|
+
const remember = <T>(cache: Map<string, T>, key: string, value: T): T => {
|
|
83
|
+
cache.set(key, value);
|
|
84
|
+
const [oldest] = cache.keys();
|
|
85
|
+
if (cache.size > KEPT && oldest !== undefined) cache.delete(oldest);
|
|
86
|
+
return value;
|
|
87
|
+
};
|
|
88
|
+
|
|
89
|
+
/** chaff.yaml read as the command line reads it: its style applied and the code it names loaded. */
|
|
90
|
+
const readConfig = async (path: string): Promise<Config> => {
|
|
91
|
+
const file = resolve(path);
|
|
92
|
+
const key = `${file}\n${String(statSync(file).mtimeMs)}`;
|
|
93
|
+
return readConfigs.get(key) ?? remember(readConfigs, key, await withExtensions(withStyle(loadConfig(file), loadStyles())));
|
|
94
|
+
};
|
|
95
|
+
|
|
96
|
+
/** A chaff.yaml that is missing or not YAML is an input grade() cannot use, as it is for the command line. */
|
|
97
|
+
const readNamedConfig = async (path: string): Promise<Config> => {
|
|
98
|
+
try {
|
|
99
|
+
return await readConfig(path);
|
|
100
|
+
} catch (error) {
|
|
101
|
+
throw new GradeInputError([TEXT.unreadable(path, error instanceof Error ? error.message : String(error))]);
|
|
102
|
+
}
|
|
103
|
+
};
|
|
104
|
+
|
|
105
|
+
/** The settings to grade with, checked as the command line checks them, whether read here or given already read. */
|
|
106
|
+
const configOf = async (given: string | Config | undefined): Promise<Config> => {
|
|
107
|
+
if (given === undefined) return EMPTY;
|
|
108
|
+
const config = typeof given === "string" ? await readNamedConfig(given) : given;
|
|
109
|
+
const problems = settingProblems("grade", undefined, config, CLI_TEXT.en);
|
|
110
|
+
if (problems.length > 0) throw new GradeInputError(problems);
|
|
111
|
+
return config;
|
|
112
|
+
};
|
|
113
|
+
|
|
114
|
+
const rubricOf = (config: Config): Rubric | undefined => {
|
|
115
|
+
const parsed = parseRubric(config.grade);
|
|
116
|
+
if ("problems" in parsed) throw new GradeInputError(parsed.problems.map((problem) => TEXT.rubricProblem(problem)));
|
|
117
|
+
return parsed.rubric;
|
|
118
|
+
};
|
|
119
|
+
|
|
120
|
+
/**
|
|
121
|
+
* Setups for each settings object, by what else decides them, so a harness grading many outputs loads the language
|
|
122
|
+
* packages and hashes the rules once. Keyed by the object itself: two chaff.yaml files that read alike may load other code.
|
|
123
|
+
*/
|
|
124
|
+
const setups = new WeakMap<Config, Map<string, Promise<GradeSetup>>>();
|
|
125
|
+
|
|
126
|
+
const setupFor = (config: Config, experimental: boolean, languages: readonly string[]): Promise<GradeSetup> => {
|
|
127
|
+
const run = { experimental, genre: undefined };
|
|
128
|
+
const own = setups.get(config) ?? new Map<string, Promise<GradeSetup>>();
|
|
129
|
+
setups.set(config, own);
|
|
130
|
+
const key = `${String(experimental)}\n${languages.join(",")}`;
|
|
131
|
+
const known = own.get(key);
|
|
132
|
+
if (known !== undefined) return known;
|
|
133
|
+
const made = remember(own, key, gradeSetup(config, run, languages, rubricOf(config)));
|
|
134
|
+
// A language package that failed to load may be installed before the next call: do not keep the failure.
|
|
135
|
+
made.catch(() => own.delete(key));
|
|
136
|
+
return made;
|
|
137
|
+
};
|
|
138
|
+
|
|
139
|
+
/** The setup, or GradeInputError when a language package cannot be loaded, as `chaff grade` ends with 2 then. */
|
|
140
|
+
const loadedSetup = async (config: Config, experimental: boolean, languages: readonly string[]): Promise<GradeSetup> => {
|
|
141
|
+
try {
|
|
142
|
+
return await setupFor(config, experimental, languages);
|
|
143
|
+
} catch (error) {
|
|
144
|
+
if (error instanceof GradeInputError) throw error;
|
|
145
|
+
throw new GradeInputError([TEXT.cannotLoad(error instanceof Error ? error.message : String(error))]);
|
|
146
|
+
}
|
|
147
|
+
};
|
|
148
|
+
|
|
149
|
+
/**
|
|
150
|
+
* Grades one output (spec §29.6): its findings and rates, its facts against `reference`, its `citations` against
|
|
151
|
+
* `sources`, and pass or fail by chaff.yaml's `grade:` or the default. Reads a file only when `config` is a path, and
|
|
152
|
+
* never writes one. Throws GradeInputError for an input or a chaff.yaml `chaff grade` would refuse with exit 2.
|
|
153
|
+
*/
|
|
154
|
+
export const grade = async (output: string, options: GradeOptions = {}): Promise<GradeResult> => {
|
|
155
|
+
const config = await configOf(options.config);
|
|
156
|
+
const raw = {
|
|
157
|
+
id: options.id ?? "output",
|
|
158
|
+
output,
|
|
159
|
+
reference: options.reference,
|
|
160
|
+
sources: options.sources,
|
|
161
|
+
citations: options.citations,
|
|
162
|
+
contexts: options.contexts,
|
|
163
|
+
language: options.language,
|
|
164
|
+
genre: options.genre,
|
|
165
|
+
variant: options.variant,
|
|
166
|
+
};
|
|
167
|
+
const read = readItem(raw, { isLanguage: (language) => packageFor(language) !== undefined, genres: GENRES });
|
|
168
|
+
if ("problem" in read) throw new GradeInputError([TEXT.problem(read.problem)]);
|
|
169
|
+
const languages = read.item.language === undefined ? [] : [read.item.language];
|
|
170
|
+
return gradeItem(read.item, await loadedSetup(config, options.experimental ?? config.experimental, languages));
|
|
171
|
+
};
|
|
172
|
+
|
|
173
|
+
/**
|
|
174
|
+
* Several variants' results side by side on the same inputs (spec §29.5), as `chaff grade` prints them for a file whose
|
|
175
|
+
* lines carry a variant: per variant the pass rate, each rule's rate, facts dropped and added, and failed quotations,
|
|
176
|
+
* over the ids every variant answered; and the ids where pass or fail differs. Takes results labelled by `variant`
|
|
177
|
+
* (grade() with `variant`, or `chaff grade --out`), or `{ [variant]: results }`. Throws GradeInputError for a result
|
|
178
|
+
* without an id or a variant, or an id given twice in one variant.
|
|
179
|
+
*/
|
|
180
|
+
export const compareVariants = (results: VariantInput): VariantComparison => {
|
|
181
|
+
const read = variantGroupsOf(results);
|
|
182
|
+
if ("problems" in read) throw new GradeInputError(read.problems);
|
|
183
|
+
return compareVariantGroups(read.groups);
|
|
184
|
+
};
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
// 見出しの番号の付け方。純粋な関数だけを置く。どの語が番号を持つか(第1章、Chapter 1)と、番号を付けない前後の見出し
|
|
2
|
+
// (目次、参考文献)は言語パッケージの語彙表が言う。
|
|
3
|
+
|
|
4
|
+
/** 番号の無い見出しの書き方。ほかの書き方は "dot"(1.)や "label:章"(第1章)のように、番号を持つ語ごとに分ける。 */
|
|
5
|
+
export const UNNUMBERED = "none";
|
|
6
|
+
|
|
7
|
+
/** 番号を持つ語。before は語が番号の前(Chapter 1、ステップ1)、after は番号の後ろ(第1章、1章)。 */
|
|
8
|
+
export type NumberLabel = { readonly word: string; readonly position: "before" | "after" };
|
|
9
|
+
|
|
10
|
+
const ARABIC = "[0-90-9]+";
|
|
11
|
+
const KANJI = "[一二三四五六七八九十百]+";
|
|
12
|
+
const ROMAN = "[IVXⅠ-Ⅻ]+";
|
|
13
|
+
|
|
14
|
+
/** 番号の後ろに続く見出しの言葉の頭。字で始まる。「8.2.3 (2026-08-06)」の版や「3 reasons」の数量は番号と読まない。 */
|
|
15
|
+
const WORDS_FOLLOW = "(?=\\s*[\\p{L}])";
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* 字だけで決まる書き方。上から順に試す。ラテン文字一字とローマ数字(A. と II.)は同じ書き方とする。どちらも番号の後ろに言葉が続くときだけ。
|
|
19
|
+
* 区切りの記号の無い数(「1 Introduction」)は数量(「10 reasons」)と見分けられないので読まない。
|
|
20
|
+
*/
|
|
21
|
+
const SHAPES: ReadonlyArray<readonly [string, RegExp]> = [
|
|
22
|
+
["paren", /^[((][0-90-9]+[))]/u],
|
|
23
|
+
["close-paren", /^[0-90-9]+[))]/u],
|
|
24
|
+
["dot", new RegExp(`^${ARABIC}[a-z]?(?:[..]${ARABIC})*[..](?![0-90-9])${WORDS_FOLLOW}`, "u")],
|
|
25
|
+
["dotted", new RegExp(`^${ARABIC}(?:[..]${ARABIC})+\\s${WORDS_FOLLOW}`, "u")],
|
|
26
|
+
["circled", /^[①-⑳]/u],
|
|
27
|
+
["kanji", /^[一二三四五六七八九十]+[、..]/u],
|
|
28
|
+
["letter", /^(?:[IVX]+|[A-Z])[.)]\s+(?=\p{L})/u],
|
|
29
|
+
];
|
|
30
|
+
|
|
31
|
+
const escaped = (word: string): string => word.replace(/[.*+?^${}()|[\]\\]/gu, "\\$&");
|
|
32
|
+
|
|
33
|
+
/** 番号を持つ語は書いたとおりか、全部大文字で照らす(Chapter と CHAPTER。小文字の section は本文の語)。 */
|
|
34
|
+
const casings = (word: string): string => [...new Set([word, word.toUpperCase()])].map(escaped).join("|");
|
|
35
|
+
|
|
36
|
+
const labelPattern = (label: NumberLabel): RegExp =>
|
|
37
|
+
label.position === "before"
|
|
38
|
+
? new RegExp(`^(?:${casings(label.word)})(?:\\s*(?:${ARABIC}|${KANJI}|${ROMAN})|\\s+[A-Z])(?![A-Za-z])`, "u")
|
|
39
|
+
: new RegExp(`^(?:第(?:${ARABIC}|${KANJI}|${ROMAN})|${ARABIC})${escaped(label.word)}`, "u");
|
|
40
|
+
|
|
41
|
+
/** 見出しの頭の強調の印と空白。「**1. 概要**」も「1. 概要」と読む。 */
|
|
42
|
+
const LEAD = /^[\s*_]+/u;
|
|
43
|
+
|
|
44
|
+
/** 見出しの言葉から、番号の書き方を読む。番号を持つ語(第1章)を先に、字だけの形(1.)を後に見る。 */
|
|
45
|
+
export const numberingStyleOf = (heading: string, labels: readonly NumberLabel[]): string => {
|
|
46
|
+
const text = heading.replace(LEAD, "");
|
|
47
|
+
const label = labels.find((candidate) => labelPattern(candidate).test(text));
|
|
48
|
+
if (label !== undefined) return `label:${label.word.toLowerCase()}`;
|
|
49
|
+
return SHAPES.find(([, shape]) => shape.test(text))?.[0] ?? UNNUMBERED;
|
|
50
|
+
};
|
|
51
|
+
|
|
52
|
+
/** 見出し 1 つ。depth は深さ(#の数)、style は番号の書き方、skipped は番号を付けない前後の見出し(目次・参考文献)。 */
|
|
53
|
+
export type NumberedHeading = { readonly depth: number; readonly style: string; readonly skipped: boolean };
|
|
54
|
+
|
|
55
|
+
/** 親(直前の浅い見出し)と深さが同じ見出しの組。番号は兄弟の見出しのあいだで揃える。位置は渡した並びの添え字。 */
|
|
56
|
+
export const siblingGroups = (headings: readonly NumberedHeading[]): number[][] => {
|
|
57
|
+
const parents = headings.map((heading, at) => headings.slice(0, at).findLastIndex((before) => before.depth < heading.depth));
|
|
58
|
+
const groups = new Map<string, number[]>();
|
|
59
|
+
headings.forEach((heading, at) => {
|
|
60
|
+
const key = `${String(parents[at])}:${String(heading.depth)}`;
|
|
61
|
+
groups.set(key, [...(groups.get(key) ?? []), at]);
|
|
62
|
+
});
|
|
63
|
+
return [...groups.values()];
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
/** 指す見出しと、何に対して少ないか。kind は numbered(番号の有無)か style(番号の書き方)。majority は多いほうの書き方で、count はその数。 */
|
|
67
|
+
export type NumberingMinority = {
|
|
68
|
+
readonly at: number;
|
|
69
|
+
readonly kind: "numbered" | "style";
|
|
70
|
+
readonly majority: string;
|
|
71
|
+
readonly count: number;
|
|
72
|
+
/** 多いほうの書き方の、最初の兄弟の位置。指摘が例に引く。 */
|
|
73
|
+
readonly example: number;
|
|
74
|
+
};
|
|
75
|
+
|
|
76
|
+
type Split = { readonly minority: readonly number[]; readonly majority: string; readonly count: number; readonly example: number };
|
|
77
|
+
|
|
78
|
+
const minorityBy = (members: readonly number[], keyOf: (at: number) => string): Split | undefined => {
|
|
79
|
+
const counts = new Map<string, number>();
|
|
80
|
+
members.forEach((at) => counts.set(keyOf(at), (counts.get(keyOf(at)) ?? 0) + 1));
|
|
81
|
+
const [top, second] = [...counts].toSorted((left, right) => right[1] - left[1]);
|
|
82
|
+
if (top === undefined || second === undefined || top[1] === second[1]) return undefined;
|
|
83
|
+
const example = members.find((at) => keyOf(at) === top[0]) ?? -1;
|
|
84
|
+
return { minority: members.filter((at) => keyOf(at) !== top[0]), majority: top[0], count: top[1], example };
|
|
85
|
+
};
|
|
86
|
+
|
|
87
|
+
const minoritiesOf = (split: Split | undefined, kind: NumberingMinority["kind"]): NumberingMinority[] =>
|
|
88
|
+
split === undefined ? [] : split.minority.map((at) => ({ at, kind, majority: split.majority, count: split.count, example: split.example }));
|
|
89
|
+
|
|
90
|
+
/**
|
|
91
|
+
* 兄弟の見出しのうち、少ないほうの書き方のもの。先に番号の有無を比べ(「1. 概要」「2. 手順」「まとめ」の「まとめ」)、
|
|
92
|
+
* 番号の付いた見出しのあいだで書き方を比べる(「1.」「2.」「3)」の「3)」)。同じ数なら言わない(二つだけの兄弟は必ず同じ数か一つの書き方)。前後の見出し(目次・参考文献)は数えない。
|
|
93
|
+
*/
|
|
94
|
+
export const numberingMinorities = (headings: readonly NumberedHeading[]): NumberingMinority[] =>
|
|
95
|
+
siblingGroups(headings).flatMap((group) => {
|
|
96
|
+
const members = group.filter((at) => headings[at]?.skipped !== true);
|
|
97
|
+
const styleOf = (at: number): string => headings[at]?.style ?? UNNUMBERED;
|
|
98
|
+
const numbered = members.filter((at) => styleOf(at) !== UNNUMBERED);
|
|
99
|
+
return [
|
|
100
|
+
...minoritiesOf(
|
|
101
|
+
minorityBy(members, (at) => (styleOf(at) === UNNUMBERED ? UNNUMBERED : "numbered")),
|
|
102
|
+
"numbered",
|
|
103
|
+
),
|
|
104
|
+
...minoritiesOf(minorityBy(numbered, styleOf), "style"),
|
|
105
|
+
];
|
|
106
|
+
});
|
|
@@ -0,0 +1,49 @@
|
|
|
1
|
+
// Keys that make two Japanese spellings of one word meet: the reading of the dictionary form (出来る and できる are both デキル),
|
|
2
|
+
// the kanji a spelling keeps (引っ越し and 引越し both keep 引越), and a katakana word with its small kana and ー evened out
|
|
3
|
+
// (ウィンドウ and ウインドウ). Pure: the tokens come in from the language adapter.
|
|
4
|
+
|
|
5
|
+
const HIRAGANA_TO_KATAKANA = 0x60;
|
|
6
|
+
const HIRAGANA = /[ぁ-ゖ]/gu;
|
|
7
|
+
const KANA_ONLY = /^[ぁ-ゖァ-ヺー]+$/u;
|
|
8
|
+
const KANJI = /[\p{Script=Han}々]/gu;
|
|
9
|
+
|
|
10
|
+
/** Hiragana as katakana, the script the adapter reads in. */
|
|
11
|
+
export const toKatakana = (text: string): string => text.replace(HIRAGANA, (char) => String.fromCodePoint((char.codePointAt(0) ?? 0) + HIRAGANA_TO_KATAKANA));
|
|
12
|
+
|
|
13
|
+
export const isKanaOnly = (text: string): boolean => KANA_ONLY.test(text);
|
|
14
|
+
|
|
15
|
+
/** The kanji of a spelling, in order: 引越 for both 引っ越し and 引越し, nothing for できる. */
|
|
16
|
+
export const kanjiSkeleton = (text: string): string => [...text.matchAll(KANJI)].map((match) => match[0]).join("");
|
|
17
|
+
|
|
18
|
+
/** The length, in UTF-16 units, of the start both strings share, compared character by character (𠮟 is one character, two units). */
|
|
19
|
+
const sharedPrefixLength = (left: string, right: string): number => {
|
|
20
|
+
const [leftChars, rightChars] = [[...left], [...right]];
|
|
21
|
+
const differs = leftChars.findIndex((char, at) => rightChars[at] !== char);
|
|
22
|
+
const shared = differs === -1 ? leftChars.slice(0, rightChars.length) : leftChars.slice(0, differs);
|
|
23
|
+
return shared.join("").length;
|
|
24
|
+
};
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* The reading of the dictionary form, from the reading of the written form: 下さい (クダサイ) with lemma 下さる reads クダサル.
|
|
28
|
+
* The written form and the lemma differ only in their kana ending, so that ending is swapped in the reading. When the ending is
|
|
29
|
+
* not kana, or the reading does not end with it (来 read キ for 来る), there is no answer.
|
|
30
|
+
*/
|
|
31
|
+
export const lemmaReading = (surface: string, lemma: string, reading: string): string | undefined => {
|
|
32
|
+
const shared = sharedPrefixLength(surface, lemma);
|
|
33
|
+
const [writtenEnd, lemmaEnd] = [surface.slice(shared), lemma.slice(shared)];
|
|
34
|
+
if ((writtenEnd !== "" && !isKanaOnly(writtenEnd)) || (lemmaEnd !== "" && !isKanaOnly(lemmaEnd))) return undefined;
|
|
35
|
+
const spoken = toKatakana(writtenEnd);
|
|
36
|
+
if (!reading.endsWith(spoken)) return undefined;
|
|
37
|
+
return reading.slice(0, reading.length - spoken.length) + toKatakana(lemmaEnd);
|
|
38
|
+
};
|
|
39
|
+
|
|
40
|
+
const SMALL_TO_LARGE: Readonly<Record<string, string>> = { ァ: "ア", ィ: "イ", ゥ: "ウ", ェ: "エ", ォ: "オ", ヵ: "カ", ヶ: "ケ", ヮ: "ワ" };
|
|
41
|
+
const VU: Readonly<Record<string, string>> = { ヴァ: "バ", ヴィ: "ビ", ヴェ: "ベ", ヴォ: "ボ", ヴ: "ブ" };
|
|
42
|
+
|
|
43
|
+
/** A katakana word with ー dropped, small vowels made large, ヴ read as バ行 and エイ as エ: インターフェース and インタフェイス meet. */
|
|
44
|
+
export const katakanaKey = (surface: string): string =>
|
|
45
|
+
surface
|
|
46
|
+
.replace(/ヴ[ァィェォ]?/gu, (match) => VU[match] ?? match)
|
|
47
|
+
.replace(/[ァィゥェォヵヶヮ]/gu, (char) => SMALL_TO_LARGE[char] ?? char)
|
|
48
|
+
.replace(/ー/gu, "")
|
|
49
|
+
.replace(/エイ/gu, "エ");
|