slopless 0.2.5 → 0.2.6
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 +18 -144
- package/dist/adapters/textlint/report.js +51 -0
- package/dist/adapters/textlint/report.js.map +1 -0
- package/dist/adapters/textlint/units.js +28 -0
- package/dist/adapters/textlint/units.js.map +1 -0
- package/dist/index.js +4 -0
- package/dist/index.js.map +1 -1
- package/dist/presets/everything.js +8 -1
- package/dist/presets/everything.js.map +1 -1
- package/dist/registries/academic-slop.js +5 -0
- package/dist/registries/academic-slop.js.map +1 -0
- package/dist/registries/metrics.js +6 -6
- package/dist/registries/metrics.js.map +1 -1
- package/dist/registries/narrative-slop.js +11 -0
- package/dist/registries/narrative-slop.js.map +1 -0
- package/dist/registries/orthography.js +6 -6
- package/dist/registries/orthography.js.map +1 -1
- package/dist/registries/phrases.js +13 -9
- package/dist/registries/phrases.js.map +1 -1
- package/dist/registries/semantic-thinness.js +1 -1
- package/dist/registries/semantic-thinness.js.map +1 -1
- package/dist/registries/syntactic-patterns/authority.js +1 -1
- package/dist/registries/syntactic-patterns/authority.js.map +1 -1
- package/dist/registries/syntactic-patterns/closers.js +4 -4
- package/dist/registries/syntactic-patterns/closers.js.map +1 -1
- package/dist/registries/syntactic-patterns/contrast.js +3 -3
- package/dist/registries/syntactic-patterns/contrast.js.map +1 -1
- package/dist/registries/syntactic-patterns/generalization.js +2 -2
- package/dist/registries/syntactic-patterns/generalization.js.map +1 -1
- package/dist/registries/syntactic-patterns/lead-ins.js +5 -5
- package/dist/registries/syntactic-patterns/lead-ins.js.map +1 -1
- package/dist/registries/syntactic-patterns/llm-artifacts.js +1 -1
- package/dist/registries/syntactic-patterns/llm-artifacts.js.map +1 -1
- package/dist/registries/syntactic-patterns/repetition.js +4 -4
- package/dist/registries/syntactic-patterns/repetition.js.map +1 -1
- package/dist/registries/term-policy.js +2 -2
- package/dist/registries/term-policy.js.map +1 -1
- package/dist/registries/words.js +4 -4
- package/dist/registries/words.js.map +1 -1
- package/dist/reporting/reports.js +92 -0
- package/dist/reporting/reports.js.map +1 -0
- package/dist/reporting/types.js +2 -0
- package/dist/reporting/types.js.map +1 -0
- package/dist/rules/academic-slop/data/tortured-phrases.json +8 -0
- package/dist/rules/academic-slop/tortured-phrases.js +27 -0
- package/dist/rules/academic-slop/tortured-phrases.js.map +1 -0
- package/dist/{families → rules}/metrics/avg-sentence-length.js +8 -4
- package/dist/rules/metrics/avg-sentence-length.js.map +1 -0
- package/dist/{families → rules}/metrics/coleman-liau.js +8 -4
- package/dist/rules/metrics/coleman-liau.js.map +1 -0
- package/dist/{families → rules}/metrics/flesch-kincaid.js +8 -4
- package/dist/rules/metrics/flesch-kincaid.js.map +1 -0
- package/dist/{families → rules}/metrics/gunning-fog.js +8 -4
- package/dist/rules/metrics/gunning-fog.js.map +1 -0
- package/dist/rules/metrics/paragraph-length.js +25 -0
- package/dist/rules/metrics/paragraph-length.js.map +1 -0
- package/dist/{families → rules}/metrics/word-repetition.js +8 -4
- package/dist/rules/metrics/word-repetition.js.map +1 -0
- package/dist/rules/narrative-slop/body-action-density.js +198 -0
- package/dist/rules/narrative-slop/body-action-density.js.map +1 -0
- package/dist/rules/narrative-slop/data/narrative-cliches.json +134 -0
- package/dist/rules/narrative-slop/flat-action-cadence.js +322 -0
- package/dist/rules/narrative-slop/flat-action-cadence.js.map +1 -0
- package/dist/rules/narrative-slop/narrative-cliches.js +46 -0
- package/dist/rules/narrative-slop/narrative-cliches.js.map +1 -0
- package/dist/rules/narrative-slop/perception-verb-density.js +84 -0
- package/dist/rules/narrative-slop/perception-verb-density.js.map +1 -0
- package/dist/{families → rules}/orthography/colon-dramatic.js +11 -7
- package/dist/rules/orthography/colon-dramatic.js.map +1 -0
- package/dist/{families → rules}/orthography/em-dashes.js +11 -7
- package/dist/rules/orthography/em-dashes.js.map +1 -0
- package/dist/{families → rules}/orthography/exclamation-density.js +11 -7
- package/dist/rules/orthography/exclamation-density.js.map +1 -0
- package/dist/{families → rules}/orthography/fake-timestamps.js +11 -7
- package/dist/rules/orthography/fake-timestamps.js.map +1 -0
- package/dist/{families → rules}/orthography/sentence-case.js +7 -2
- package/dist/rules/orthography/sentence-case.js.map +1 -0
- package/dist/{families → rules}/orthography/smart-quotes.js +11 -7
- package/dist/rules/orthography/smart-quotes.js.map +1 -0
- package/dist/rules/phrases/cliches.js +43 -0
- package/dist/rules/phrases/cliches.js.map +1 -0
- package/dist/rules/phrases/corporate-speak.js +32 -0
- package/dist/rules/phrases/corporate-speak.js.map +1 -0
- package/dist/rules/phrases/data/cliche-templates.json +20 -0
- package/dist/{families → rules}/phrases/data/cliches.json +73 -1
- package/dist/rules/phrases/data/corporate-abstraction-patterns.json +80 -0
- package/dist/{families → rules}/phrases/data/corporate-speak.json +0 -3
- package/dist/rules/phrases/data/llm-disclaimer-expansions.json +4 -0
- package/dist/{families → rules}/phrases/data/prohibited-phrases.json +0 -1
- package/dist/rules/phrases/data/redundancy-patterns.json +74 -0
- package/dist/rules/phrases/data/wordiness-patterns.json +53 -0
- package/dist/rules/phrases/humble-bragger.js +30 -0
- package/dist/rules/phrases/humble-bragger.js.map +1 -0
- package/dist/{families → rules}/phrases/jargon-faker.js +11 -7
- package/dist/rules/phrases/jargon-faker.js.map +1 -0
- package/dist/{families → rules}/phrases/llm-disclaimer.js +21 -8
- package/dist/rules/phrases/llm-disclaimer.js.map +1 -0
- package/dist/rules/phrases/prohibited-phrases.js +27 -0
- package/dist/rules/phrases/prohibited-phrases.js.map +1 -0
- package/dist/rules/phrases/redundancy.js +27 -0
- package/dist/rules/phrases/redundancy.js.map +1 -0
- package/dist/{families → rules}/phrases/skunked-terms.js +8 -4
- package/dist/rules/phrases/skunked-terms.js.map +1 -0
- package/dist/{families → rules}/phrases/uncomparables.js +8 -4
- package/dist/rules/phrases/uncomparables.js.map +1 -0
- package/dist/rules/phrases/wordiness.js +27 -0
- package/dist/rules/phrases/wordiness.js.map +1 -0
- package/dist/rules/semantic-thinness/patterns/abstract-personification-line.json +23 -0
- package/dist/rules/semantic-thinness/patterns/emotion-as-substance.json +95 -0
- package/dist/rules/semantic-thinness/patterns/fixed-metaphor-frame.json +32 -0
- package/dist/rules/semantic-thinness/patterns/sensory-instead-of-frame.json +40 -0
- package/dist/rules/semantic-thinness/patterns/summary-fog-transition.json +30 -0
- package/dist/{families → rules}/semantic-thinness/private/pattern-data-a.js +2 -0
- package/dist/rules/semantic-thinness/private/pattern-data-a.js.map +1 -0
- package/dist/rules/semantic-thinness/private/pattern-data-b.js.map +1 -0
- package/dist/rules/semantic-thinness/private/pattern-data-c.js +17 -0
- package/dist/rules/semantic-thinness/private/pattern-data-c.js.map +1 -0
- package/dist/rules/semantic-thinness/private/pattern-data-d.js.map +1 -0
- package/dist/rules/semantic-thinness/private/pattern-data.js.map +1 -0
- package/dist/rules/semantic-thinness/private/pattern-matcher.js.map +1 -0
- package/dist/{families → rules}/semantic-thinness/semantic-thinness.js +11 -7
- package/dist/rules/semantic-thinness/semantic-thinness.js.map +1 -0
- package/dist/{families → rules}/syntactic-patterns/authority/authority-padding.js +11 -7
- package/dist/rules/syntactic-patterns/authority/authority-padding.js.map +1 -0
- package/dist/{families → rules}/syntactic-patterns/closers/affirmation-closers.js +20 -13
- package/dist/rules/syntactic-patterns/closers/affirmation-closers.js.map +1 -0
- package/dist/{families → rules}/syntactic-patterns/closers/boilerplate-conclusion.js +11 -7
- package/dist/rules/syntactic-patterns/closers/boilerplate-conclusion.js.map +1 -0
- package/dist/{families → rules}/syntactic-patterns/closers/false-question.js +11 -7
- package/dist/rules/syntactic-patterns/closers/false-question.js.map +1 -0
- package/dist/{families → rules}/syntactic-patterns/closers/summative-closer.js +11 -7
- package/dist/rules/syntactic-patterns/closers/summative-closer.js.map +1 -0
- package/dist/{families → rules}/syntactic-patterns/contrast/blame-reframe.js +11 -7
- package/dist/rules/syntactic-patterns/contrast/blame-reframe.js.map +1 -0
- package/dist/{families → rules}/syntactic-patterns/contrast/contrastive-aphorism.js +10 -7
- package/dist/rules/syntactic-patterns/contrast/contrastive-aphorism.js.map +1 -0
- package/dist/rules/syntactic-patterns/contrast/negation-reframe.js +24 -0
- package/dist/rules/syntactic-patterns/contrast/negation-reframe.js.map +1 -0
- package/dist/{families → rules}/syntactic-patterns/contrast/private/negation-reframe-matcher.js +22 -5
- package/dist/rules/syntactic-patterns/contrast/private/negation-reframe-matcher.js.map +1 -0
- package/dist/{families → rules}/syntactic-patterns/contrast/private/negation-reframe-parts.js +55 -0
- package/dist/rules/syntactic-patterns/contrast/private/negation-reframe-parts.js.map +1 -0
- package/dist/rules/syntactic-patterns/contrast/private/negative-slop-frames.js +103 -0
- package/dist/rules/syntactic-patterns/contrast/private/negative-slop-frames.js.map +1 -0
- package/dist/{families → rules}/syntactic-patterns/generalization/softening-language.js +11 -7
- package/dist/rules/syntactic-patterns/generalization/softening-language.js.map +1 -0
- package/dist/{families → rules}/syntactic-patterns/generalization/universalizing-claims.js +11 -7
- package/dist/rules/syntactic-patterns/generalization/universalizing-claims.js.map +1 -0
- package/dist/{families → rules}/syntactic-patterns/lead-ins/boilerplate-framing.js +11 -7
- package/dist/rules/syntactic-patterns/lead-ins/boilerplate-framing.js.map +1 -0
- package/dist/{families → rules}/syntactic-patterns/lead-ins/generic-signposting.js +11 -7
- package/dist/rules/syntactic-patterns/lead-ins/generic-signposting.js.map +1 -0
- package/dist/{families → rules}/syntactic-patterns/lead-ins/lesson-framing.js +11 -7
- package/dist/rules/syntactic-patterns/lead-ins/lesson-framing.js.map +1 -0
- package/dist/rules/syntactic-patterns/lead-ins/llm-openers.js +28 -0
- package/dist/rules/syntactic-patterns/lead-ins/llm-openers.js.map +1 -0
- package/dist/{families → rules}/syntactic-patterns/lead-ins/observer-guidance.js +11 -7
- package/dist/rules/syntactic-patterns/lead-ins/observer-guidance.js.map +1 -0
- package/dist/rules/syntactic-patterns/llm-artifacts/data/response-wrapper-patterns.json +33 -0
- package/dist/{families → rules}/syntactic-patterns/llm-artifacts/response-wrapper.js +55 -10
- package/dist/rules/syntactic-patterns/llm-artifacts/response-wrapper.js.map +1 -0
- package/dist/{families → rules}/syntactic-patterns/repetition/demonstrative-emphasis.js +11 -7
- package/dist/rules/syntactic-patterns/repetition/demonstrative-emphasis.js.map +1 -0
- package/dist/{families → rules}/syntactic-patterns/repetition/empty-emphasis.js +11 -7
- package/dist/rules/syntactic-patterns/repetition/empty-emphasis.js.map +1 -0
- package/dist/{families → rules}/syntactic-patterns/repetition/fragment-stacking.js +11 -7
- package/dist/rules/syntactic-patterns/repetition/fragment-stacking.js.map +1 -0
- package/dist/{families → rules}/syntactic-patterns/repetition/triple-repeat.js +13 -9
- package/dist/rules/syntactic-patterns/repetition/triple-repeat.js.map +1 -0
- package/dist/{families → rules}/term-policy/recommended-terms.js +8 -4
- package/dist/rules/term-policy/recommended-terms.js.map +1 -0
- package/dist/{families → rules}/term-policy/required-terms.js +8 -4
- package/dist/rules/term-policy/required-terms.js.map +1 -0
- package/dist/rules/types.js +2 -0
- package/dist/rules/types.js.map +1 -0
- package/dist/{families → rules}/words/hedge-stacking.js +11 -7
- package/dist/rules/words/hedge-stacking.js.map +1 -0
- package/dist/{families → rules}/words/llm-vocabulary.js +8 -4
- package/dist/rules/words/llm-vocabulary.js.map +1 -0
- package/dist/rules/words/prohibited-words.js +21 -0
- package/dist/rules/words/prohibited-words.js.map +1 -0
- package/dist/{families → rules}/words/simplicity.js +11 -7
- package/dist/rules/words/simplicity.js.map +1 -0
- package/dist/shared/matchers/phrases.js +74 -0
- package/dist/shared/matchers/phrases.js.map +1 -1
- package/package.json +55 -48
- package/dist/families/metrics/avg-sentence-length.js.map +0 -1
- package/dist/families/metrics/coleman-liau.js.map +0 -1
- package/dist/families/metrics/flesch-kincaid.js.map +0 -1
- package/dist/families/metrics/gunning-fog.js.map +0 -1
- package/dist/families/metrics/paragraph-length.js +0 -21
- package/dist/families/metrics/paragraph-length.js.map +0 -1
- package/dist/families/metrics/word-repetition.js.map +0 -1
- package/dist/families/orthography/colon-dramatic.js.map +0 -1
- package/dist/families/orthography/em-dashes.js.map +0 -1
- package/dist/families/orthography/exclamation-density.js.map +0 -1
- package/dist/families/orthography/fake-timestamps.js.map +0 -1
- package/dist/families/orthography/sentence-case.js.map +0 -1
- package/dist/families/orthography/smart-quotes.js.map +0 -1
- package/dist/families/phrases/cliches.js +0 -17
- package/dist/families/phrases/cliches.js.map +0 -1
- package/dist/families/phrases/corporate-speak.js +0 -23
- package/dist/families/phrases/corporate-speak.js.map +0 -1
- package/dist/families/phrases/humble-bragger.js +0 -26
- package/dist/families/phrases/humble-bragger.js.map +0 -1
- package/dist/families/phrases/jargon-faker.js.map +0 -1
- package/dist/families/phrases/llm-disclaimer.js.map +0 -1
- package/dist/families/phrases/prohibited-phrases.js +0 -17
- package/dist/families/phrases/prohibited-phrases.js.map +0 -1
- package/dist/families/phrases/skunked-terms.js.map +0 -1
- package/dist/families/phrases/uncomparables.js.map +0 -1
- package/dist/families/semantic-thinness/private/pattern-data-a.js.map +0 -1
- package/dist/families/semantic-thinness/private/pattern-data-b.js.map +0 -1
- package/dist/families/semantic-thinness/private/pattern-data-c.js +0 -9
- package/dist/families/semantic-thinness/private/pattern-data-c.js.map +0 -1
- package/dist/families/semantic-thinness/private/pattern-data-d.js.map +0 -1
- package/dist/families/semantic-thinness/private/pattern-data.js.map +0 -1
- package/dist/families/semantic-thinness/private/pattern-matcher.js.map +0 -1
- package/dist/families/semantic-thinness/semantic-thinness.js.map +0 -1
- package/dist/families/syntactic-patterns/authority/authority-padding.js.map +0 -1
- package/dist/families/syntactic-patterns/closers/affirmation-closers.js.map +0 -1
- package/dist/families/syntactic-patterns/closers/boilerplate-conclusion.js.map +0 -1
- package/dist/families/syntactic-patterns/closers/false-question.js.map +0 -1
- package/dist/families/syntactic-patterns/closers/summative-closer.js.map +0 -1
- package/dist/families/syntactic-patterns/contrast/blame-reframe.js.map +0 -1
- package/dist/families/syntactic-patterns/contrast/contrastive-aphorism.js.map +0 -1
- package/dist/families/syntactic-patterns/contrast/negation-reframe.js +0 -20
- package/dist/families/syntactic-patterns/contrast/negation-reframe.js.map +0 -1
- package/dist/families/syntactic-patterns/contrast/private/negation-reframe-matcher.js.map +0 -1
- package/dist/families/syntactic-patterns/contrast/private/negation-reframe-parts.js.map +0 -1
- package/dist/families/syntactic-patterns/generalization/softening-language.js.map +0 -1
- package/dist/families/syntactic-patterns/generalization/universalizing-claims.js.map +0 -1
- package/dist/families/syntactic-patterns/lead-ins/boilerplate-framing.js.map +0 -1
- package/dist/families/syntactic-patterns/lead-ins/generic-signposting.js.map +0 -1
- package/dist/families/syntactic-patterns/lead-ins/lesson-framing.js.map +0 -1
- package/dist/families/syntactic-patterns/lead-ins/llm-openers.js +0 -24
- package/dist/families/syntactic-patterns/lead-ins/llm-openers.js.map +0 -1
- package/dist/families/syntactic-patterns/lead-ins/observer-guidance.js.map +0 -1
- package/dist/families/syntactic-patterns/llm-artifacts/response-wrapper.js.map +0 -1
- package/dist/families/syntactic-patterns/repetition/demonstrative-emphasis.js.map +0 -1
- package/dist/families/syntactic-patterns/repetition/empty-emphasis.js.map +0 -1
- package/dist/families/syntactic-patterns/repetition/fragment-stacking.js.map +0 -1
- package/dist/families/syntactic-patterns/repetition/triple-repeat.js.map +0 -1
- package/dist/families/term-policy/recommended-terms.js.map +0 -1
- package/dist/families/term-policy/required-terms.js.map +0 -1
- package/dist/families/words/hedge-stacking.js.map +0 -1
- package/dist/families/words/llm-vocabulary.js.map +0 -1
- package/dist/families/words/prohibited-words.js +0 -17
- package/dist/families/words/prohibited-words.js.map +0 -1
- package/dist/families/words/simplicity.js.map +0 -1
- /package/dist/{families → rules}/phrases/data/skunked-terms.json +0 -0
- /package/dist/{families → rules}/phrases/data/uncomparables.json +0 -0
- /package/dist/{families → rules}/semantic-thinness/patterns/abstract-contrast.json +0 -0
- /package/dist/{families → rules}/semantic-thinness/patterns/abstract-metaphor-claim.json +0 -0
- /package/dist/{families → rules}/semantic-thinness/patterns/body-emotion-shorthand.json +0 -0
- /package/dist/{families → rules}/semantic-thinness/patterns/body-knows.json +0 -0
- /package/dist/{families → rules}/semantic-thinness/patterns/deictic-summary.json +0 -0
- /package/dist/{families → rules}/semantic-thinness/patterns/empty-atmosphere-shift.json +0 -0
- /package/dist/{families → rules}/semantic-thinness/patterns/empty-emotional-weather.json +0 -0
- /package/dist/{families → rules}/semantic-thinness/patterns/empty-scene-state.json +0 -0
- /package/dist/{families → rules}/semantic-thinness/patterns/empty-scene-transition.json +0 -0
- /package/dist/{families → rules}/semantic-thinness/patterns/gaze-choreography.json +0 -0
- /package/dist/{families → rules}/semantic-thinness/patterns/generic-lesson-extraction.json +0 -0
- /package/dist/{families → rules}/semantic-thinness/patterns/generic-pressure-or-stakes.json +0 -0
- /package/dist/{families → rules}/semantic-thinness/patterns/generic-realization.json +0 -0
- /package/dist/{families → rules}/semantic-thinness/patterns/hollow-significance.json +0 -0
- /package/dist/{families → rules}/semantic-thinness/patterns/low-information-physical-blocking.json +0 -0
- /package/dist/{families → rules}/semantic-thinness/patterns/point-is-frame.json +0 -0
- /package/dist/{families → rules}/semantic-thinness/patterns/real-work-begins.json +0 -0
- /package/dist/{families → rules}/semantic-thinness/patterns/silence-as-actor.json +0 -0
- /package/dist/{families → rules}/semantic-thinness/patterns/something-shifted.json +0 -0
- /package/dist/{families → rules}/semantic-thinness/patterns/truth-answer-moves.json +0 -0
- /package/dist/{families → rules}/semantic-thinness/patterns/vague-connective-payoff.json +0 -0
- /package/dist/{families → rules}/semantic-thinness/patterns/vague-threshold-change.json +0 -0
- /package/dist/{families → rules}/semantic-thinness/private/pattern-data-b.js +0 -0
- /package/dist/{families → rules}/semantic-thinness/private/pattern-data-d.js +0 -0
- /package/dist/{families → rules}/semantic-thinness/private/pattern-data.js +0 -0
- /package/dist/{families → rules}/semantic-thinness/private/pattern-matcher.js +0 -0
- /package/dist/{families → rules}/words/data/prohibited-words.json +0 -0
- /package/dist/{families → rules}/words/data/simplicity-pairs.json +0 -0
package/README.md
CHANGED
|
@@ -1,8 +1,12 @@
|
|
|
1
1
|
# slopless
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
[](https://www.npmjs.com/package/slopless)
|
|
4
|
+
[](https://www.npmjs.com/package/slopless)
|
|
5
|
+
[](LICENSE)
|
|
6
|
+
[](/actions/workflows/ci.yml)
|
|
7
|
+
[](package.json)
|
|
4
8
|
|
|
5
|
-
|
|
9
|
+
Catch AI and human slop in Markdown without calling an LLM. Slopless ships 50+ deterministic textlint rules and a CLI that emits structured JSON findings.
|
|
6
10
|
|
|
7
11
|
## Install
|
|
8
12
|
|
|
@@ -10,154 +14,24 @@ It reports patterns that make prose padded, vague, generic, formulaic, or mechan
|
|
|
10
14
|
npm install -D slopless
|
|
11
15
|
```
|
|
12
16
|
|
|
13
|
-
##
|
|
17
|
+
## Quick start
|
|
14
18
|
|
|
15
19
|
```bash
|
|
16
20
|
npx slopless "docs/**/*.md"
|
|
17
|
-
npx slopless draft.md > slopless.json
|
|
18
|
-
cat draft.md | npx slopless --stdin --stdin-filename draft.md
|
|
19
21
|
```
|
|
20
22
|
|
|
21
|
-
|
|
23
|
+
Slopless requires a file path, glob, or stdin input. A bare `npx slopless` exits with code `2`. Exit `0` means clean, `1` means findings, `2` means failure.
|
|
22
24
|
|
|
23
|
-
|
|
24
|
-
{
|
|
25
|
-
"scripts": {
|
|
26
|
-
"lint:prose": "slopless \"docs/**/*.md\""
|
|
27
|
-
}
|
|
28
|
-
}
|
|
29
|
-
```
|
|
30
|
-
|
|
31
|
-
```bash
|
|
32
|
-
npm run lint:prose
|
|
33
|
-
```
|
|
34
|
-
|
|
35
|
-
Slopless requires a file path, glob, or stdin input. A bare `npx slopless` exits with code `2`.
|
|
36
|
-
|
|
37
|
-
## Behavior
|
|
25
|
+
## More
|
|
38
26
|
|
|
39
|
-
-
|
|
40
|
-
-
|
|
41
|
-
-
|
|
42
|
-
-
|
|
43
|
-
-
|
|
44
|
-
-
|
|
45
|
-
-
|
|
27
|
+
- [Philosophy](/wiki/Philosophy) - what slopless is for, design principles, why deterministic.
|
|
28
|
+
- [Comparison](/wiki/Comparison) - slopless vs proselint, write-good, alex, vale, default textlint presets.
|
|
29
|
+
- [Rules](/wiki/Rules) - full 50+ rule inventory across seven families.
|
|
30
|
+
- [Behavior](/wiki/Behavior) - CLI flags, exit codes, JSON output shape, direct textlint integration.
|
|
31
|
+
- [Ignore rules](/wiki/Ignore-Rules) - inline `textlint-disable` block syntax.
|
|
32
|
+
- [Thanks](/wiki/Thanks) - direct rule sources, dependencies, and acknowledgments.
|
|
33
|
+
- [Contributing](.github/CONTRIBUTING.md) - open a detailed issue first; PRs must pass the G3TS pre-commit gate.
|
|
46
34
|
|
|
47
|
-
|
|
35
|
+
---
|
|
48
36
|
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
Ignore one rule for a block:
|
|
52
|
-
|
|
53
|
-
```markdown
|
|
54
|
-
<!-- textlint-disable slopless/semantic-thinness -->
|
|
55
|
-
|
|
56
|
-
Something shifted in the room.
|
|
57
|
-
|
|
58
|
-
<!-- textlint-enable slopless/semantic-thinness -->
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
Ignore several rules:
|
|
62
|
-
|
|
63
|
-
```markdown
|
|
64
|
-
<!-- textlint-disable slopless/semantic-thinness, slopless/llm-openers -->
|
|
65
|
-
|
|
66
|
-
The important thing is that something shifted in the room.
|
|
67
|
-
|
|
68
|
-
<!-- textlint-enable slopless/semantic-thinness, slopless/llm-openers -->
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
Ignore all Slopless findings in a block:
|
|
72
|
-
|
|
73
|
-
```markdown
|
|
74
|
-
<!-- textlint-disable -->
|
|
75
|
-
|
|
76
|
-
Something shifted in the room.
|
|
77
|
-
|
|
78
|
-
<!-- textlint-enable -->
|
|
79
|
-
```
|
|
80
|
-
|
|
81
|
-
Markdown comments must sit on their own lines, with blank lines around the ignored text.
|
|
82
|
-
|
|
83
|
-
## Rules
|
|
84
|
-
|
|
85
|
-
Metrics:
|
|
86
|
-
|
|
87
|
-
- `avg-sentence-length`: average sentence length above 24 words.
|
|
88
|
-
- `paragraph-length`: paragraphs over 6 sentences.
|
|
89
|
-
- `word-repetition`: one non-trivial word repeated over 5 times.
|
|
90
|
-
- `flesch-kincaid`: Flesch Reading Ease below 61.
|
|
91
|
-
- `gunning-fog` and `coleman-liau`: grade scores above 12.
|
|
92
|
-
|
|
93
|
-
Orthography:
|
|
94
|
-
|
|
95
|
-
- `colon-dramatic`: short reveals after a colon, such as `And then: everything changed.`
|
|
96
|
-
- `em-dashes`: closed em dashes.
|
|
97
|
-
- `exclamation-density`: more than 1 exclamation mark per paragraph.
|
|
98
|
-
- `fake-timestamps`: clock specificity, such as `5:47 PM`.
|
|
99
|
-
- `sentence-case`: title-case headings.
|
|
100
|
-
- `smart-quotes`: curly quotes.
|
|
101
|
-
|
|
102
|
-
Phrases and words:
|
|
103
|
-
|
|
104
|
-
- `cliches`: stock phrases, such as `at the end of the day`.
|
|
105
|
-
- `corporate-speak`: business filler, such as `move the needle`.
|
|
106
|
-
- `hedge-stacking`: stacked hedges, such as `might perhaps`.
|
|
107
|
-
- `humble-bragger`: credential lead-ins, such as `in my experience`.
|
|
108
|
-
- `jargon-faker`: borrowed tech metaphors, such as `debug your morning`.
|
|
109
|
-
- `llm-disclaimer`: assistant disclaimers, such as `as an AI language model`.
|
|
110
|
-
- `llm-vocabulary`: common AI diction, such as `delve`.
|
|
111
|
-
- `prohibited-phrases` and `prohibited-words`: package-owned banned lists.
|
|
112
|
-
- `recommended-terms` and `required-terms`: configured missing terms.
|
|
113
|
-
- `simplicity`: complex words with simple replacements, such as `utilize`.
|
|
114
|
-
- `skunked-terms`: contested broad-use terms.
|
|
115
|
-
- `uncomparables`: impossible modifiers, such as `very unique`.
|
|
116
|
-
|
|
117
|
-
Semantic thinness:
|
|
118
|
-
|
|
119
|
-
- `semantic-thinness`: low-information templates, such as `Something shifted in the room.`
|
|
120
|
-
|
|
121
|
-
Syntactic patterns:
|
|
122
|
-
|
|
123
|
-
- `affirmation-closers`: empty certainty endings, such as `and that is the key`.
|
|
124
|
-
- `authority-padding`: soft authority padding, such as `research shows`.
|
|
125
|
-
- `blame-reframe`: blame-to-insight reframes, such as `the problem is not X, it is Y`.
|
|
126
|
-
- `boilerplate-conclusion`: generic endings, such as `in conclusion`.
|
|
127
|
-
- `boilerplate-framing`: generic setup, such as `when it comes to`.
|
|
128
|
-
- `contrastive-aphorism`: slogan contrasts, such as `not faster, but smarter`.
|
|
129
|
-
- `demonstrative-emphasis`: vague `this is what` emphasis.
|
|
130
|
-
- `empty-emphasis`: unsupported importance claims, such as `this matters`.
|
|
131
|
-
- `false-question`: rhetorical questions, such as `isn't that what we all want?`
|
|
132
|
-
- `fragment-stacking`: clipped cadence, such as `Too broad. Too vague. Too late.`
|
|
133
|
-
- `generic-signposting`: generic transitions, such as `it is important to note`.
|
|
134
|
-
- `lesson-framing`: lesson extraction, such as `the lesson is`.
|
|
135
|
-
- `llm-openers`: generic openers, such as `the important thing is`.
|
|
136
|
-
- `negation-reframe`: `not X. It is Y.` constructions.
|
|
137
|
-
- `observer-guidance`: reader-instruction frames, such as `notice how`.
|
|
138
|
-
- `response-wrapper`: chat wrappers, such as `here is a revised version`.
|
|
139
|
-
- `softening-language`: vague softeners, such as `in many ways`.
|
|
140
|
-
- `summative-closer`: summary payoff lines, such as `that is what makes it work`.
|
|
141
|
-
- `triple-repeat`: repeated sentence openers, such as `It is X. It is Y. It is Z.`
|
|
142
|
-
- `universalizing-claims`: broad claims, such as `everyone knows`.
|
|
143
|
-
|
|
144
|
-
## Direct Textlint Use
|
|
145
|
-
|
|
146
|
-
Most users should run `npx slopless "docs/**/*.md"`.
|
|
147
|
-
|
|
148
|
-
The package also exports a textlint preset:
|
|
149
|
-
|
|
150
|
-
```json
|
|
151
|
-
{
|
|
152
|
-
"filters": {
|
|
153
|
-
"comments": true
|
|
154
|
-
},
|
|
155
|
-
"rules": {
|
|
156
|
-
"preset-slopless": true
|
|
157
|
-
}
|
|
158
|
-
}
|
|
159
|
-
```
|
|
160
|
-
|
|
161
|
-
```bash
|
|
162
|
-
npx textlint "docs/**/*.md"
|
|
163
|
-
```
|
|
37
|
+
Part of [Agent Quality Controls](https://github.com/agent-quality-controls).
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { textUnitForNode } from "./units.js";
|
|
2
|
+
import { oneToOneReports } from "../../reporting/reports.js";
|
|
3
|
+
function isTextlintTextUnit(unit) {
|
|
4
|
+
return (typeof unit.node === "object" && unit.node !== null && "type" in unit.node);
|
|
5
|
+
}
|
|
6
|
+
export function emitTextlintReport(context, unitsById, report) {
|
|
7
|
+
const unit = unitsById.get(report.unitId);
|
|
8
|
+
if (unit === undefined || !isTextlintTextUnit(unit)) {
|
|
9
|
+
return;
|
|
10
|
+
}
|
|
11
|
+
const padding = report.range.start === report.range.end
|
|
12
|
+
? context.locator.at(report.range.start)
|
|
13
|
+
: context.locator.range([report.range.start, report.range.end]);
|
|
14
|
+
context.report(unit.node, new context.RuleError(report.message, {
|
|
15
|
+
padding
|
|
16
|
+
}));
|
|
17
|
+
}
|
|
18
|
+
export function emitTextlintReports(context, unitsById, reports) {
|
|
19
|
+
for (const report of reports) {
|
|
20
|
+
emitTextlintReport(context, unitsById, report);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
export function emitTextlintDetection(context, input) {
|
|
24
|
+
const detection = {
|
|
25
|
+
evidence: input.evidence,
|
|
26
|
+
label: input.label,
|
|
27
|
+
range: input.range,
|
|
28
|
+
ruleId: input.ruleId,
|
|
29
|
+
unitId: input.unit.id
|
|
30
|
+
};
|
|
31
|
+
if (input.data !== undefined) {
|
|
32
|
+
Object.assign(detection, { data: input.data });
|
|
33
|
+
}
|
|
34
|
+
emitTextlintReports(context, new Map([[input.unit.id, input.unit]]), oneToOneReports([detection], () => input.message));
|
|
35
|
+
}
|
|
36
|
+
export function emitTextlintFinding(context, input) {
|
|
37
|
+
const evidence = input.evidence ?? input.message;
|
|
38
|
+
emitTextlintDetection(context, {
|
|
39
|
+
...(input.data === undefined ? {} : { data: input.data }),
|
|
40
|
+
evidence,
|
|
41
|
+
label: input.label ?? input.ruleId,
|
|
42
|
+
message: input.message,
|
|
43
|
+
range: input.range,
|
|
44
|
+
ruleId: input.ruleId,
|
|
45
|
+
unit: textUnitForNode("finding", "text", input.node, evidence)
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
export function emitTextlintNodeFinding(context, input) {
|
|
49
|
+
context.report(input.node, new context.RuleError(input.message));
|
|
50
|
+
}
|
|
51
|
+
//# sourceMappingURL=report.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"report.js","sourceRoot":"","sources":["../../../src/adapters/textlint/report.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAE7C,OAAO,EAAE,eAAe,EAAE,MAAM,4BAA4B,CAAC;AAM7D,SAAS,kBAAkB,CAAC,IAAc;IACxC,OAAO,CACL,OAAO,IAAI,CAAC,IAAI,KAAK,QAAQ,IAAI,IAAI,CAAC,IAAI,KAAK,IAAI,IAAI,MAAM,IAAI,IAAI,CAAC,IAAI,CAC3E,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,OAAsC,EACtC,SAAwC,EACxC,MAAkB;IAElB,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC1C,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,EAAE,CAAC;QACpD,OAAO;IACT,CAAC;IAED,MAAM,OAAO,GACX,MAAM,CAAC,KAAK,CAAC,KAAK,KAAK,MAAM,CAAC,KAAK,CAAC,GAAG;QACrC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,CAAC;QACxC,CAAC,CAAC,OAAO,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAEpE,OAAO,CAAC,MAAM,CACZ,IAAI,CAAC,IAAI,EACT,IAAI,OAAO,CAAC,SAAS,CAAC,MAAM,CAAC,OAAO,EAAE;QACpC,OAAO;KACR,CAAC,CACH,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,OAAsC,EACtC,SAAwC,EACxC,OAA8B;IAE9B,KAAK,MAAM,MAAM,IAAI,OAAO,EAAE,CAAC;QAC7B,kBAAkB,CAAC,OAAO,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IACjD,CAAC;AACH,CAAC;AA4BD,MAAM,UAAU,qBAAqB,CACnC,OAAsC,EACtC,KAA6B;IAE7B,MAAM,SAAS,GAAkB;QAC/B,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,MAAM,EAAE,KAAK,CAAC,IAAI,CAAC,EAAE;KACtB,CAAC;IACF,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;QAC7B,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;IAED,mBAAmB,CACjB,OAAO,EACP,IAAI,GAAG,CAAC,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,CAAC,EACtC,eAAe,CAAC,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAClD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,mBAAmB,CACjC,OAAsC,EACtC,KAA2B;IAE3B,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,OAAO,CAAC;IACjD,qBAAqB,CAAC,OAAO,EAAE;QAC7B,GAAG,CAAC,KAAK,CAAC,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC;QACzD,QAAQ;QACR,KAAK,EAAE,KAAK,CAAC,KAAK,IAAI,KAAK,CAAC,MAAM;QAClC,OAAO,EAAE,KAAK,CAAC,OAAO;QACtB,KAAK,EAAE,KAAK,CAAC,KAAK;QAClB,MAAM,EAAE,KAAK,CAAC,MAAM;QACpB,IAAI,EAAE,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,IAAI,EAAE,QAAQ,CAAC;KAC/D,CAAC,CAAC;AACL,CAAC;AAED,MAAM,UAAU,uBAAuB,CACrC,OAAsC,EACtC,KAA+B;IAE/B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,IAAI,EAAE,IAAI,OAAO,CAAC,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC;AACnE,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { normalizeForMatch } from "../../shared/text/normalize.js";
|
|
2
|
+
import { allParagraphs } from "../../shared/text/sections.js";
|
|
3
|
+
export function paragraphUnits(document) {
|
|
4
|
+
return allParagraphs(document).map((paragraph, index) => ({
|
|
5
|
+
id: `paragraph:${index}`,
|
|
6
|
+
kind: "paragraph",
|
|
7
|
+
node: paragraph.paragraph,
|
|
8
|
+
normalizedText: normalizeForMatch(paragraph.text),
|
|
9
|
+
range: { end: paragraph.source.text.length, start: 0 },
|
|
10
|
+
sourceRangeFor: (range) => ({
|
|
11
|
+
end: paragraph.source.originalEndFor(range.end),
|
|
12
|
+
start: paragraph.source.originalStartFor(range.start)
|
|
13
|
+
}),
|
|
14
|
+
text: paragraph.text
|
|
15
|
+
}));
|
|
16
|
+
}
|
|
17
|
+
export function textUnitForNode(id, kind, node, text) {
|
|
18
|
+
return {
|
|
19
|
+
id,
|
|
20
|
+
kind,
|
|
21
|
+
node,
|
|
22
|
+
normalizedText: normalizeForMatch(text),
|
|
23
|
+
range: { end: text.length, start: 0 },
|
|
24
|
+
sourceRangeFor: (range) => range,
|
|
25
|
+
text
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=units.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"units.js","sourceRoot":"","sources":["../../../src/adapters/textlint/units.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,iBAAiB,EAAE,MAAM,gCAAgC,CAAC;AACnE,OAAO,EAAE,aAAa,EAAE,MAAM,+BAA+B,CAAC;AAG9D,MAAM,UAAU,cAAc,CAAC,QAAyB;IACtD,OAAO,aAAa,CAAC,QAAQ,CAAC,CAAC,GAAG,CAAC,CAAC,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC;QACxD,EAAE,EAAE,aAAa,KAAK,EAAE;QACxB,IAAI,EAAE,WAAW;QACjB,IAAI,EAAE,SAAS,CAAC,SAAS;QACzB,cAAc,EAAE,iBAAiB,CAAC,SAAS,CAAC,IAAI,CAAC;QACjD,KAAK,EAAE,EAAE,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE;QACtD,cAAc,EAAE,CAAC,KAAkB,EAAE,EAAE,CAAC,CAAC;YACvC,GAAG,EAAE,SAAS,CAAC,MAAM,CAAC,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC;YAC/C,KAAK,EAAE,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,KAAK,CAAC,KAAK,CAAC;SACtD,CAAC;QACF,IAAI,EAAE,SAAS,CAAC,IAAI;KACrB,CAAC,CAAC,CAAC;AACN,CAAC;AAED,MAAM,UAAU,eAAe,CAC7B,EAAU,EACV,IAAsB,EACtB,IAAa,EACb,IAAY;IAEZ,OAAO;QACL,EAAE;QACF,IAAI;QACJ,IAAI;QACJ,cAAc,EAAE,iBAAiB,CAAC,IAAI,CAAC;QACvC,KAAK,EAAE,EAAE,GAAG,EAAE,IAAI,CAAC,MAAM,EAAE,KAAK,EAAE,CAAC,EAAE;QACrC,cAAc,EAAE,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK;QAChC,IAAI;KACL,CAAC;AACJ,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
1
|
import { everything } from "./presets/everything.js";
|
|
2
|
+
import { academicSlopRules } from "./registries/academic-slop.js";
|
|
2
3
|
import { metricRules } from "./registries/metrics.js";
|
|
4
|
+
import { narrativeSlopRules } from "./registries/narrative-slop.js";
|
|
3
5
|
import { orthographyRules } from "./registries/orthography.js";
|
|
4
6
|
import { phraseRules } from "./registries/phrases.js";
|
|
5
7
|
import { semanticThinnessRules } from "./registries/semantic-thinness.js";
|
|
@@ -7,7 +9,9 @@ import { syntacticPatternRules } from "./registries/syntactic-patterns.js";
|
|
|
7
9
|
import { termPolicyRules } from "./registries/term-policy.js";
|
|
8
10
|
import { wordRules } from "./registries/words.js";
|
|
9
11
|
export const rules = {
|
|
12
|
+
...academicSlopRules,
|
|
10
13
|
...metricRules,
|
|
14
|
+
...narrativeSlopRules,
|
|
11
15
|
...orthographyRules,
|
|
12
16
|
...phraseRules,
|
|
13
17
|
...semanticThinnessRules,
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,GAAG,WAAW;IACd,GAAG,gBAAgB;IACnB,GAAG,WAAW;IACd,GAAG,qBAAqB;IACxB,GAAG,qBAAqB;IACxB,GAAG,eAAe;IAClB,GAAG,SAAS;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,UAAU;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC;AAE5C,eAAe;IACb,KAAK;IACL,WAAW;CACZ,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,MAAM,+BAA+B,CAAC;AAClE,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AACpE,OAAO,EAAE,gBAAgB,EAAE,MAAM,6BAA6B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AACtD,OAAO,EAAE,qBAAqB,EAAE,MAAM,mCAAmC,CAAC;AAC1E,OAAO,EAAE,qBAAqB,EAAE,MAAM,oCAAoC,CAAC;AAC3E,OAAO,EAAE,eAAe,EAAE,MAAM,6BAA6B,CAAC;AAC9D,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAElD,MAAM,CAAC,MAAM,KAAK,GAAG;IACnB,GAAG,iBAAiB;IACpB,GAAG,WAAW;IACd,GAAG,kBAAkB;IACrB,GAAG,gBAAgB;IACnB,GAAG,WAAW;IACd,GAAG,qBAAqB;IACxB,GAAG,qBAAqB;IACxB,GAAG,eAAe;IAClB,GAAG,SAAS;CACb,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAG;IACrB,UAAU;CACX,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG,UAAU,CAAC,KAAK,CAAC;AAE5C,eAAe;IACb,KAAK;IACL,WAAW;CACZ,CAAC"}
|
|
@@ -4,6 +4,7 @@ export const everything = {
|
|
|
4
4
|
"authority-padding": true,
|
|
5
5
|
"avg-sentence-length": true,
|
|
6
6
|
"blame-reframe": true,
|
|
7
|
+
"body-action-density": true,
|
|
7
8
|
"boilerplate-conclusion": true,
|
|
8
9
|
"boilerplate-framing": true,
|
|
9
10
|
cliches: true,
|
|
@@ -17,6 +18,7 @@ export const everything = {
|
|
|
17
18
|
"exclamation-density": true,
|
|
18
19
|
"fake-timestamps": true,
|
|
19
20
|
"false-question": true,
|
|
21
|
+
"flat-action-cadence": true,
|
|
20
22
|
"flesch-kincaid": true,
|
|
21
23
|
"fragment-stacking": true,
|
|
22
24
|
"gunning-fog": true,
|
|
@@ -29,11 +31,14 @@ export const everything = {
|
|
|
29
31
|
"llm-openers": true,
|
|
30
32
|
"llm-vocabulary": true,
|
|
31
33
|
"negation-reframe": true,
|
|
34
|
+
"narrative-cliches": true,
|
|
32
35
|
"observer-guidance": true,
|
|
33
36
|
"paragraph-length": true,
|
|
37
|
+
"perception-verb-density": true,
|
|
34
38
|
"prohibited-phrases": true,
|
|
35
39
|
"prohibited-words": true,
|
|
36
40
|
"recommended-terms": true,
|
|
41
|
+
redundancy: true,
|
|
37
42
|
"response-wrapper": true,
|
|
38
43
|
"required-terms": true,
|
|
39
44
|
"sentence-case": true,
|
|
@@ -44,9 +49,11 @@ export const everything = {
|
|
|
44
49
|
"smart-quotes": true,
|
|
45
50
|
"summative-closer": true,
|
|
46
51
|
"triple-repeat": true,
|
|
52
|
+
"tortured-phrases": true,
|
|
47
53
|
uncomparables: true,
|
|
48
54
|
"universalizing-claims": true,
|
|
49
|
-
"word-repetition": true
|
|
55
|
+
"word-repetition": true,
|
|
56
|
+
wordiness: true
|
|
50
57
|
}
|
|
51
58
|
};
|
|
52
59
|
//# sourceMappingURL=everything.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"everything.js","sourceRoot":"","sources":["../../src/presets/everything.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,KAAK,EAAE;QACL,qBAAqB,EAAE,IAAI;QAC3B,mBAAmB,EAAE,IAAI;QACzB,qBAAqB,EAAE,IAAI;QAC3B,eAAe,EAAE,IAAI;QACrB,wBAAwB,EAAE,IAAI;QAC9B,qBAAqB,EAAE,IAAI;QAC3B,OAAO,EAAE,IAAI;QACb,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE,IAAI;QACpB,iBAAiB,EAAE,IAAI;QACvB,sBAAsB,EAAE,IAAI;QAC5B,wBAAwB,EAAE,IAAI;QAC9B,WAAW,EAAE,IAAI;QACjB,gBAAgB,EAAE,IAAI;QACtB,qBAAqB,EAAE,IAAI;QAC3B,iBAAiB,EAAE,IAAI;QACvB,gBAAgB,EAAE,IAAI;QACtB,gBAAgB,EAAE,IAAI;QACtB,mBAAmB,EAAE,IAAI;QACzB,aAAa,EAAE,IAAI;QACnB,gBAAgB,EAAE,IAAI;QACtB,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE,IAAI;QACpB,qBAAqB,EAAE,IAAI;QAC3B,gBAAgB,EAAE,IAAI;QACtB,gBAAgB,EAAE,IAAI;QACtB,aAAa,EAAE,IAAI;QACnB,gBAAgB,EAAE,IAAI;QACtB,kBAAkB,EAAE,IAAI;QACxB,mBAAmB,EAAE,IAAI;QACzB,kBAAkB,EAAE,IAAI;QACxB,oBAAoB,EAAE,IAAI;QAC1B,kBAAkB,EAAE,IAAI;QACxB,mBAAmB,EAAE,IAAI;QACzB,kBAAkB,EAAE,IAAI;QACxB,gBAAgB,EAAE,IAAI;QACtB,eAAe,EAAE,IAAI;QACrB,mBAAmB,EAAE,IAAI;QACzB,UAAU,EAAE,IAAI;QAChB,eAAe,EAAE,IAAI;QACrB,oBAAoB,EAAE,IAAI;QAC1B,cAAc,EAAE,IAAI;QACpB,kBAAkB,EAAE,IAAI;QACxB,eAAe,EAAE,IAAI;QACrB,aAAa,EAAE,IAAI;QACnB,uBAAuB,EAAE,IAAI;QAC7B,iBAAiB,EAAE,IAAI;
|
|
1
|
+
{"version":3,"file":"everything.js","sourceRoot":"","sources":["../../src/presets/everything.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,KAAK,EAAE;QACL,qBAAqB,EAAE,IAAI;QAC3B,mBAAmB,EAAE,IAAI;QACzB,qBAAqB,EAAE,IAAI;QAC3B,eAAe,EAAE,IAAI;QACrB,qBAAqB,EAAE,IAAI;QAC3B,wBAAwB,EAAE,IAAI;QAC9B,qBAAqB,EAAE,IAAI;QAC3B,OAAO,EAAE,IAAI;QACb,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE,IAAI;QACpB,iBAAiB,EAAE,IAAI;QACvB,sBAAsB,EAAE,IAAI;QAC5B,wBAAwB,EAAE,IAAI;QAC9B,WAAW,EAAE,IAAI;QACjB,gBAAgB,EAAE,IAAI;QACtB,qBAAqB,EAAE,IAAI;QAC3B,iBAAiB,EAAE,IAAI;QACvB,gBAAgB,EAAE,IAAI;QACtB,qBAAqB,EAAE,IAAI;QAC3B,gBAAgB,EAAE,IAAI;QACtB,mBAAmB,EAAE,IAAI;QACzB,aAAa,EAAE,IAAI;QACnB,gBAAgB,EAAE,IAAI;QACtB,gBAAgB,EAAE,IAAI;QACtB,cAAc,EAAE,IAAI;QACpB,qBAAqB,EAAE,IAAI;QAC3B,gBAAgB,EAAE,IAAI;QACtB,gBAAgB,EAAE,IAAI;QACtB,aAAa,EAAE,IAAI;QACnB,gBAAgB,EAAE,IAAI;QACtB,kBAAkB,EAAE,IAAI;QACxB,mBAAmB,EAAE,IAAI;QACzB,mBAAmB,EAAE,IAAI;QACzB,kBAAkB,EAAE,IAAI;QACxB,yBAAyB,EAAE,IAAI;QAC/B,oBAAoB,EAAE,IAAI;QAC1B,kBAAkB,EAAE,IAAI;QACxB,mBAAmB,EAAE,IAAI;QACzB,UAAU,EAAE,IAAI;QAChB,kBAAkB,EAAE,IAAI;QACxB,gBAAgB,EAAE,IAAI;QACtB,eAAe,EAAE,IAAI;QACrB,mBAAmB,EAAE,IAAI;QACzB,UAAU,EAAE,IAAI;QAChB,eAAe,EAAE,IAAI;QACrB,oBAAoB,EAAE,IAAI;QAC1B,cAAc,EAAE,IAAI;QACpB,kBAAkB,EAAE,IAAI;QACxB,eAAe,EAAE,IAAI;QACrB,kBAAkB,EAAE,IAAI;QACxB,aAAa,EAAE,IAAI;QACnB,uBAAuB,EAAE,IAAI;QAC7B,iBAAiB,EAAE,IAAI;QACvB,SAAS,EAAE,IAAI;KAChB;CACF,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"academic-slop.js","sourceRoot":"","sources":["../../src/registries/academic-slop.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,4CAA4C,CAAC;AAEzE,MAAM,CAAC,MAAM,iBAAiB,GAAG;IAC/B,kBAAkB,EAAE,eAAe;CACpC,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import avgSentenceLength from "../
|
|
2
|
-
import colemanLiau from "../
|
|
3
|
-
import fleschKincaid from "../
|
|
4
|
-
import gunningFog from "../
|
|
5
|
-
import paragraphLength from "../
|
|
6
|
-
import wordRepetition from "../
|
|
1
|
+
import avgSentenceLength from "../rules/metrics/avg-sentence-length.js";
|
|
2
|
+
import colemanLiau from "../rules/metrics/coleman-liau.js";
|
|
3
|
+
import fleschKincaid from "../rules/metrics/flesch-kincaid.js";
|
|
4
|
+
import gunningFog from "../rules/metrics/gunning-fog.js";
|
|
5
|
+
import paragraphLength from "../rules/metrics/paragraph-length.js";
|
|
6
|
+
import wordRepetition from "../rules/metrics/word-repetition.js";
|
|
7
7
|
export const metricRules = {
|
|
8
8
|
"avg-sentence-length": avgSentenceLength,
|
|
9
9
|
"coleman-liau": colemanLiau,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/registries/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,
|
|
1
|
+
{"version":3,"file":"metrics.js","sourceRoot":"","sources":["../../src/registries/metrics.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,yCAAyC,CAAC;AACxE,OAAO,WAAW,MAAM,kCAAkC,CAAC;AAC3D,OAAO,aAAa,MAAM,oCAAoC,CAAC;AAC/D,OAAO,UAAU,MAAM,iCAAiC,CAAC;AACzD,OAAO,eAAe,MAAM,sCAAsC,CAAC;AACnE,OAAO,cAAc,MAAM,qCAAqC,CAAC;AAEjE,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,qBAAqB,EAAE,iBAAiB;IACxC,cAAc,EAAE,WAAW;IAC3B,gBAAgB,EAAE,aAAa;IAC/B,aAAa,EAAE,UAAU;IACzB,kBAAkB,EAAE,eAAe;IACnC,iBAAiB,EAAE,cAAc;CAClC,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import bodyActionDensity from "../rules/narrative-slop/body-action-density.js";
|
|
2
|
+
import flatActionCadence from "../rules/narrative-slop/flat-action-cadence.js";
|
|
3
|
+
import narrativeCliches from "../rules/narrative-slop/narrative-cliches.js";
|
|
4
|
+
import perceptionVerbDensity from "../rules/narrative-slop/perception-verb-density.js";
|
|
5
|
+
export const narrativeSlopRules = {
|
|
6
|
+
"body-action-density": bodyActionDensity,
|
|
7
|
+
"flat-action-cadence": flatActionCadence,
|
|
8
|
+
"perception-verb-density": perceptionVerbDensity,
|
|
9
|
+
"narrative-cliches": narrativeCliches
|
|
10
|
+
};
|
|
11
|
+
//# sourceMappingURL=narrative-slop.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"narrative-slop.js","sourceRoot":"","sources":["../../src/registries/narrative-slop.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,gDAAgD,CAAC;AAC/E,OAAO,iBAAiB,MAAM,gDAAgD,CAAC;AAC/E,OAAO,gBAAgB,MAAM,8CAA8C,CAAC;AAC5E,OAAO,qBAAqB,MAAM,oDAAoD,CAAC;AAEvF,MAAM,CAAC,MAAM,kBAAkB,GAAG;IAChC,qBAAqB,EAAE,iBAAiB;IACxC,qBAAqB,EAAE,iBAAiB;IACxC,yBAAyB,EAAE,qBAAqB;IAChD,mBAAmB,EAAE,gBAAgB;CACtC,CAAC"}
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import colonDramatic from "../
|
|
2
|
-
import emDashes from "../
|
|
3
|
-
import exclamationDensity from "../
|
|
4
|
-
import fakeTimestamps from "../
|
|
5
|
-
import sentenceCase from "../
|
|
6
|
-
import smartQuotes from "../
|
|
1
|
+
import colonDramatic from "../rules/orthography/colon-dramatic.js";
|
|
2
|
+
import emDashes from "../rules/orthography/em-dashes.js";
|
|
3
|
+
import exclamationDensity from "../rules/orthography/exclamation-density.js";
|
|
4
|
+
import fakeTimestamps from "../rules/orthography/fake-timestamps.js";
|
|
5
|
+
import sentenceCase from "../rules/orthography/sentence-case.js";
|
|
6
|
+
import smartQuotes from "../rules/orthography/smart-quotes.js";
|
|
7
7
|
export const orthographyRules = {
|
|
8
8
|
"colon-dramatic": colonDramatic,
|
|
9
9
|
"em-dashes": emDashes,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"orthography.js","sourceRoot":"","sources":["../../src/registries/orthography.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,
|
|
1
|
+
{"version":3,"file":"orthography.js","sourceRoot":"","sources":["../../src/registries/orthography.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,wCAAwC,CAAC;AACnE,OAAO,QAAQ,MAAM,mCAAmC,CAAC;AACzD,OAAO,kBAAkB,MAAM,6CAA6C,CAAC;AAC7E,OAAO,cAAc,MAAM,yCAAyC,CAAC;AACrE,OAAO,YAAY,MAAM,uCAAuC,CAAC;AACjE,OAAO,WAAW,MAAM,sCAAsC,CAAC;AAE/D,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,gBAAgB,EAAE,aAAa;IAC/B,WAAW,EAAE,QAAQ;IACrB,qBAAqB,EAAE,kBAAkB;IACzC,iBAAiB,EAAE,cAAc;IACjC,eAAe,EAAE,YAAY;IAC7B,cAAc,EAAE,WAAW;CAC5B,CAAC"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import cliches from "../
|
|
2
|
-
import corporateSpeak from "../
|
|
3
|
-
import humbleBragger from "../
|
|
4
|
-
import jargonFaker from "../
|
|
5
|
-
import llmDisclaimer from "../
|
|
6
|
-
import prohibitedPhrases from "../
|
|
7
|
-
import
|
|
8
|
-
import
|
|
1
|
+
import cliches from "../rules/phrases/cliches.js";
|
|
2
|
+
import corporateSpeak from "../rules/phrases/corporate-speak.js";
|
|
3
|
+
import humbleBragger from "../rules/phrases/humble-bragger.js";
|
|
4
|
+
import jargonFaker from "../rules/phrases/jargon-faker.js";
|
|
5
|
+
import llmDisclaimer from "../rules/phrases/llm-disclaimer.js";
|
|
6
|
+
import prohibitedPhrases from "../rules/phrases/prohibited-phrases.js";
|
|
7
|
+
import redundancy from "../rules/phrases/redundancy.js";
|
|
8
|
+
import skunkedTerms from "../rules/phrases/skunked-terms.js";
|
|
9
|
+
import uncomparables from "../rules/phrases/uncomparables.js";
|
|
10
|
+
import wordiness from "../rules/phrases/wordiness.js";
|
|
9
11
|
export const phraseRules = {
|
|
10
12
|
cliches,
|
|
11
13
|
"corporate-speak": corporateSpeak,
|
|
@@ -13,7 +15,9 @@ export const phraseRules = {
|
|
|
13
15
|
"jargon-faker": jargonFaker,
|
|
14
16
|
"llm-disclaimer": llmDisclaimer,
|
|
15
17
|
"prohibited-phrases": prohibitedPhrases,
|
|
18
|
+
redundancy,
|
|
16
19
|
"skunked-terms": skunkedTerms,
|
|
17
|
-
uncomparables
|
|
20
|
+
uncomparables,
|
|
21
|
+
wordiness
|
|
18
22
|
};
|
|
19
23
|
//# sourceMappingURL=phrases.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"phrases.js","sourceRoot":"","sources":["../../src/registries/phrases.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,
|
|
1
|
+
{"version":3,"file":"phrases.js","sourceRoot":"","sources":["../../src/registries/phrases.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,6BAA6B,CAAC;AAClD,OAAO,cAAc,MAAM,qCAAqC,CAAC;AACjE,OAAO,aAAa,MAAM,oCAAoC,CAAC;AAC/D,OAAO,WAAW,MAAM,kCAAkC,CAAC;AAC3D,OAAO,aAAa,MAAM,oCAAoC,CAAC;AAC/D,OAAO,iBAAiB,MAAM,wCAAwC,CAAC;AACvE,OAAO,UAAU,MAAM,gCAAgC,CAAC;AACxD,OAAO,YAAY,MAAM,mCAAmC,CAAC;AAC7D,OAAO,aAAa,MAAM,mCAAmC,CAAC;AAC9D,OAAO,SAAS,MAAM,+BAA+B,CAAC;AAEtD,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,OAAO;IACP,iBAAiB,EAAE,cAAc;IACjC,gBAAgB,EAAE,aAAa;IAC/B,cAAc,EAAE,WAAW;IAC3B,gBAAgB,EAAE,aAAa;IAC/B,oBAAoB,EAAE,iBAAiB;IACvC,UAAU;IACV,eAAe,EAAE,YAAY;IAC7B,aAAa;IACb,SAAS;CACV,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"semantic-thinness.js","sourceRoot":"","sources":["../../src/registries/semantic-thinness.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,
|
|
1
|
+
{"version":3,"file":"semantic-thinness.js","sourceRoot":"","sources":["../../src/registries/semantic-thinness.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,iDAAiD,CAAC;AAE/E,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,mBAAmB,EAAE,gBAAgB;CACtC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authority.js","sourceRoot":"","sources":["../../../src/registries/syntactic-patterns/authority.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,
|
|
1
|
+
{"version":3,"file":"authority.js","sourceRoot":"","sources":["../../../src/registries/syntactic-patterns/authority.ts"],"names":[],"mappings":"AAAA,OAAO,gBAAgB,MAAM,+DAA+D,CAAC;AAE7F,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,mBAAmB,EAAE,gBAAgB;CACtC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import affirmationClosers from "../../
|
|
2
|
-
import boilerplateConclusion from "../../
|
|
3
|
-
import falseQuestion from "../../
|
|
4
|
-
import summativeCloser from "../../
|
|
1
|
+
import affirmationClosers from "../../rules/syntactic-patterns/closers/affirmation-closers.js";
|
|
2
|
+
import boilerplateConclusion from "../../rules/syntactic-patterns/closers/boilerplate-conclusion.js";
|
|
3
|
+
import falseQuestion from "../../rules/syntactic-patterns/closers/false-question.js";
|
|
4
|
+
import summativeCloser from "../../rules/syntactic-patterns/closers/summative-closer.js";
|
|
5
5
|
export const closerRules = {
|
|
6
6
|
"affirmation-closers": affirmationClosers,
|
|
7
7
|
"boilerplate-conclusion": boilerplateConclusion,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"closers.js","sourceRoot":"","sources":["../../../src/registries/syntactic-patterns/closers.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,
|
|
1
|
+
{"version":3,"file":"closers.js","sourceRoot":"","sources":["../../../src/registries/syntactic-patterns/closers.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,+DAA+D,CAAC;AAC/F,OAAO,qBAAqB,MAAM,kEAAkE,CAAC;AACrG,OAAO,aAAa,MAAM,0DAA0D,CAAC;AACrF,OAAO,eAAe,MAAM,4DAA4D,CAAC;AAEzF,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,qBAAqB,EAAE,kBAAkB;IACzC,wBAAwB,EAAE,qBAAqB;IAC/C,gBAAgB,EAAE,aAAa;IAC/B,kBAAkB,EAAE,eAAe;CACpC,CAAC"}
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import blameReframe from "../../
|
|
2
|
-
import contrastiveAphorism from "../../
|
|
3
|
-
import negationReframe from "../../
|
|
1
|
+
import blameReframe from "../../rules/syntactic-patterns/contrast/blame-reframe.js";
|
|
2
|
+
import contrastiveAphorism from "../../rules/syntactic-patterns/contrast/contrastive-aphorism.js";
|
|
3
|
+
import negationReframe from "../../rules/syntactic-patterns/contrast/negation-reframe.js";
|
|
4
4
|
export const contrastRules = {
|
|
5
5
|
"blame-reframe": blameReframe,
|
|
6
6
|
"contrastive-aphorism": contrastiveAphorism,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contrast.js","sourceRoot":"","sources":["../../../src/registries/syntactic-patterns/contrast.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,
|
|
1
|
+
{"version":3,"file":"contrast.js","sourceRoot":"","sources":["../../../src/registries/syntactic-patterns/contrast.ts"],"names":[],"mappings":"AAAA,OAAO,YAAY,MAAM,0DAA0D,CAAC;AACpF,OAAO,mBAAmB,MAAM,iEAAiE,CAAC;AAClG,OAAO,eAAe,MAAM,6DAA6D,CAAC;AAE1F,MAAM,CAAC,MAAM,aAAa,GAAG;IAC3B,eAAe,EAAE,YAAY;IAC7B,sBAAsB,EAAE,mBAAmB;IAC3C,kBAAkB,EAAE,eAAe;CACpC,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import softeningLanguage from "../../
|
|
2
|
-
import universalizingClaims from "../../
|
|
1
|
+
import softeningLanguage from "../../rules/syntactic-patterns/generalization/softening-language.js";
|
|
2
|
+
import universalizingClaims from "../../rules/syntactic-patterns/generalization/universalizing-claims.js";
|
|
3
3
|
export const generalizationRules = {
|
|
4
4
|
"softening-language": softeningLanguage,
|
|
5
5
|
"universalizing-claims": universalizingClaims
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"generalization.js","sourceRoot":"","sources":["../../../src/registries/syntactic-patterns/generalization.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,
|
|
1
|
+
{"version":3,"file":"generalization.js","sourceRoot":"","sources":["../../../src/registries/syntactic-patterns/generalization.ts"],"names":[],"mappings":"AAAA,OAAO,iBAAiB,MAAM,qEAAqE,CAAC;AACpG,OAAO,oBAAoB,MAAM,wEAAwE,CAAC;AAE1G,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,oBAAoB,EAAE,iBAAiB;IACvC,uBAAuB,EAAE,oBAAoB;CAC9C,CAAC"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import boilerplateFraming from "../../
|
|
2
|
-
import genericSignposting from "../../
|
|
3
|
-
import lessonFraming from "../../
|
|
4
|
-
import llmOpeners from "../../
|
|
5
|
-
import observerGuidance from "../../
|
|
1
|
+
import boilerplateFraming from "../../rules/syntactic-patterns/lead-ins/boilerplate-framing.js";
|
|
2
|
+
import genericSignposting from "../../rules/syntactic-patterns/lead-ins/generic-signposting.js";
|
|
3
|
+
import lessonFraming from "../../rules/syntactic-patterns/lead-ins/lesson-framing.js";
|
|
4
|
+
import llmOpeners from "../../rules/syntactic-patterns/lead-ins/llm-openers.js";
|
|
5
|
+
import observerGuidance from "../../rules/syntactic-patterns/lead-ins/observer-guidance.js";
|
|
6
6
|
export const leadInRules = {
|
|
7
7
|
"boilerplate-framing": boilerplateFraming,
|
|
8
8
|
"generic-signposting": genericSignposting,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"lead-ins.js","sourceRoot":"","sources":["../../../src/registries/syntactic-patterns/lead-ins.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,
|
|
1
|
+
{"version":3,"file":"lead-ins.js","sourceRoot":"","sources":["../../../src/registries/syntactic-patterns/lead-ins.ts"],"names":[],"mappings":"AAAA,OAAO,kBAAkB,MAAM,gEAAgE,CAAC;AAChG,OAAO,kBAAkB,MAAM,gEAAgE,CAAC;AAChG,OAAO,aAAa,MAAM,2DAA2D,CAAC;AACtF,OAAO,UAAU,MAAM,wDAAwD,CAAC;AAChF,OAAO,gBAAgB,MAAM,8DAA8D,CAAC;AAE5F,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,qBAAqB,EAAE,kBAAkB;IACzC,qBAAqB,EAAE,kBAAkB;IACzC,gBAAgB,EAAE,aAAa;IAC/B,aAAa,EAAE,UAAU;IACzB,mBAAmB,EAAE,gBAAgB;CACtC,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import responseWrapper from "../../
|
|
1
|
+
import responseWrapper from "../../rules/syntactic-patterns/llm-artifacts/response-wrapper.js";
|
|
2
2
|
export const llmArtifactRules = {
|
|
3
3
|
"response-wrapper": responseWrapper
|
|
4
4
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-artifacts.js","sourceRoot":"","sources":["../../../src/registries/syntactic-patterns/llm-artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,
|
|
1
|
+
{"version":3,"file":"llm-artifacts.js","sourceRoot":"","sources":["../../../src/registries/syntactic-patterns/llm-artifacts.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,kEAAkE,CAAC;AAE/F,MAAM,CAAC,MAAM,gBAAgB,GAAG;IAC9B,kBAAkB,EAAE,eAAe;CACpC,CAAC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import demonstrativeEmphasis from "../../
|
|
2
|
-
import emptyEmphasis from "../../
|
|
3
|
-
import fragmentStacking from "../../
|
|
4
|
-
import tripleRepeat from "../../
|
|
1
|
+
import demonstrativeEmphasis from "../../rules/syntactic-patterns/repetition/demonstrative-emphasis.js";
|
|
2
|
+
import emptyEmphasis from "../../rules/syntactic-patterns/repetition/empty-emphasis.js";
|
|
3
|
+
import fragmentStacking from "../../rules/syntactic-patterns/repetition/fragment-stacking.js";
|
|
4
|
+
import tripleRepeat from "../../rules/syntactic-patterns/repetition/triple-repeat.js";
|
|
5
5
|
export const repetitionRules = {
|
|
6
6
|
"demonstrative-emphasis": demonstrativeEmphasis,
|
|
7
7
|
"empty-emphasis": emptyEmphasis,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"repetition.js","sourceRoot":"","sources":["../../../src/registries/syntactic-patterns/repetition.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,MAAM,
|
|
1
|
+
{"version":3,"file":"repetition.js","sourceRoot":"","sources":["../../../src/registries/syntactic-patterns/repetition.ts"],"names":[],"mappings":"AAAA,OAAO,qBAAqB,MAAM,qEAAqE,CAAC;AACxG,OAAO,aAAa,MAAM,6DAA6D,CAAC;AACxF,OAAO,gBAAgB,MAAM,gEAAgE,CAAC;AAC9F,OAAO,YAAY,MAAM,4DAA4D,CAAC;AAEtF,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,wBAAwB,EAAE,qBAAqB;IAC/C,gBAAgB,EAAE,aAAa;IAC/B,mBAAmB,EAAE,gBAAgB;IACrC,eAAe,EAAE,YAAY;CAC9B,CAAC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import recommendedTerms from "../
|
|
2
|
-
import requiredTerms from "../
|
|
1
|
+
import recommendedTerms from "../rules/term-policy/recommended-terms.js";
|
|
2
|
+
import requiredTerms from "../rules/term-policy/required-terms.js";
|
|
3
3
|
export const termPolicyRules = {
|
|
4
4
|
"recommended-terms": recommendedTerms,
|
|
5
5
|
"required-terms": requiredTerms
|