chaffjs 0.15.0 → 0.16.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 +27 -2
- package/dist/address-chain.js +1 -1
- package/dist/address-chain.js.map +1 -1
- package/dist/backends/anthropic.d.ts +2 -1
- package/dist/backends/anthropic.d.ts.map +1 -1
- package/dist/backends/anthropic.js +4 -1
- package/dist/backends/anthropic.js.map +1 -1
- package/dist/backends/openai.d.ts +2 -1
- package/dist/backends/openai.d.ts.map +1 -1
- package/dist/backends/openai.js +1 -1
- package/dist/backends/openai.js.map +1 -1
- package/dist/backends/types.d.ts +2 -1
- package/dist/backends/types.d.ts.map +1 -1
- package/dist/backends/types.js +1 -1
- package/dist/backends/types.js.map +1 -1
- package/dist/baseline.js +1 -1
- package/dist/baseline.js.map +1 -1
- package/dist/calendar-number.d.ts +26 -0
- package/dist/calendar-number.d.ts.map +1 -0
- package/dist/calendar-number.js +51 -0
- package/dist/calendar-number.js.map +1 -0
- package/dist/cli-args.d.ts +0 -5
- package/dist/cli-args.d.ts.map +1 -1
- package/dist/cli-args.js +2 -2
- package/dist/cli-args.js.map +1 -1
- package/dist/cli-text.d.ts +6 -2
- package/dist/cli-text.d.ts.map +1 -1
- package/dist/cli-text.js +19 -12
- package/dist/cli-text.js.map +1 -1
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +43 -37
- package/dist/cli.js.map +1 -1
- package/dist/commands/cite.d.ts.map +1 -1
- package/dist/commands/cite.js +4 -4
- package/dist/commands/cite.js.map +1 -1
- package/dist/commands/eval.js +1 -1
- package/dist/commands/eval.js.map +1 -1
- package/dist/commands/init-ask.d.ts +19 -0
- package/dist/commands/init-ask.d.ts.map +1 -0
- package/dist/commands/init-ask.js +43 -0
- package/dist/commands/init-ask.js.map +1 -0
- package/dist/commands/test.d.ts +8 -0
- package/dist/commands/test.d.ts.map +1 -1
- package/dist/commands/test.js +70 -38
- package/dist/commands/test.js.map +1 -1
- package/dist/commands/tree.d.ts +1 -8
- package/dist/commands/tree.d.ts.map +1 -1
- package/dist/commands/tree.js +7 -6
- package/dist/commands/tree.js.map +1 -1
- package/dist/config/by-path.d.ts.map +1 -1
- package/dist/config/by-path.js +10 -9
- package/dist/config/by-path.js.map +1 -1
- package/dist/config/load.d.ts +4 -0
- package/dist/config/load.d.ts.map +1 -1
- package/dist/config/load.js +19 -0
- package/dist/config/load.js.map +1 -1
- package/dist/config/name-problems.d.ts +5 -0
- package/dist/config/name-problems.d.ts.map +1 -0
- package/dist/config/name-problems.js +11 -0
- package/dist/config/name-problems.js.map +1 -0
- package/dist/date-stamp.js +1 -1
- package/dist/date-stamp.js.map +1 -1
- package/dist/detectors/char-shape.d.ts.map +1 -1
- package/dist/detectors/char-shape.js +16 -6
- package/dist/detectors/char-shape.js.map +1 -1
- package/dist/detectors/en-shape.d.ts.map +1 -1
- package/dist/detectors/en-shape.js +101 -7
- package/dist/detectors/en-shape.js.map +1 -1
- package/dist/detectors/enumerated-runs.d.ts.map +1 -1
- package/dist/detectors/enumerated-runs.js +4 -2
- package/dist/detectors/enumerated-runs.js.map +1 -1
- package/dist/detectors/gram-place.js +1 -1
- package/dist/detectors/gram-place.js.map +1 -1
- package/dist/detectors/heading-case.d.ts.map +1 -1
- package/dist/detectors/heading-case.js +3 -1
- package/dist/detectors/heading-case.js.map +1 -1
- package/dist/detectors/index.d.ts.map +1 -1
- package/dist/detectors/index.js +4 -3
- package/dist/detectors/index.js.map +1 -1
- package/dist/detectors/lettered-index.d.ts +9 -0
- package/dist/detectors/lettered-index.d.ts.map +1 -0
- package/dist/detectors/lettered-index.js +54 -0
- package/dist/detectors/lettered-index.js.map +1 -0
- package/dist/detectors/lexicon.d.ts +5 -1
- package/dist/detectors/lexicon.d.ts.map +1 -1
- package/dist/detectors/lexicon.js +46 -3
- package/dist/detectors/lexicon.js.map +1 -1
- package/dist/detectors/orthography.d.ts.map +1 -1
- package/dist/detectors/orthography.js +24 -6
- package/dist/detectors/orthography.js.map +1 -1
- package/dist/detectors/phrase-match.d.ts +3 -1
- package/dist/detectors/phrase-match.d.ts.map +1 -1
- package/dist/detectors/phrase-match.js +20 -15
- package/dist/detectors/phrase-match.js.map +1 -1
- package/dist/detectors/repeated-head.d.ts.map +1 -1
- package/dist/detectors/repeated-head.js +5 -4
- package/dist/detectors/repeated-head.js.map +1 -1
- package/dist/detectors/signals.d.ts.map +1 -1
- package/dist/detectors/signals.js +16 -6
- package/dist/detectors/signals.js.map +1 -1
- package/dist/detectors/stacked-hedge.d.ts +23 -0
- package/dist/detectors/stacked-hedge.d.ts.map +1 -0
- package/dist/detectors/stacked-hedge.js +64 -0
- package/dist/detectors/stacked-hedge.js.map +1 -0
- package/dist/detectors/superlative-amount.d.ts +9 -0
- package/dist/detectors/superlative-amount.d.ts.map +1 -0
- package/dist/detectors/superlative-amount.js +20 -0
- package/dist/detectors/superlative-amount.js.map +1 -0
- package/dist/detectors/superlative-clause.d.ts +18 -0
- package/dist/detectors/superlative-clause.d.ts.map +1 -0
- package/dist/detectors/superlative-clause.js +61 -0
- package/dist/detectors/superlative-clause.js.map +1 -0
- package/dist/detectors/superlative-scope.d.ts +6 -0
- package/dist/detectors/superlative-scope.d.ts.map +1 -1
- package/dist/detectors/superlative-scope.js +3 -3
- package/dist/detectors/superlative-scope.js.map +1 -1
- package/dist/detectors/team.d.ts +0 -6
- package/dist/detectors/team.d.ts.map +1 -1
- package/dist/detectors/team.js +17 -1
- package/dist/detectors/team.js.map +1 -1
- package/dist/detectors/token-shape.d.ts.map +1 -1
- package/dist/detectors/token-shape.js +8 -6
- package/dist/detectors/token-shape.js.map +1 -1
- package/dist/document.d.ts +3 -0
- package/dist/document.d.ts.map +1 -1
- package/dist/document.js +18 -3
- package/dist/document.js.map +1 -1
- package/dist/eval.js +1 -1
- package/dist/eval.js.map +1 -1
- package/dist/feedback/draft.js +1 -1
- package/dist/feedback/draft.js.map +1 -1
- package/dist/feedback/excerpt.d.ts +0 -1
- package/dist/feedback/excerpt.d.ts.map +1 -1
- package/dist/feedback/excerpt.js +2 -2
- package/dist/feedback/excerpt.js.map +1 -1
- package/dist/file-header.d.ts +20 -0
- package/dist/file-header.d.ts.map +1 -0
- package/dist/file-header.js +21 -0
- package/dist/file-header.js.map +1 -0
- package/dist/files.js +3 -3
- package/dist/files.js.map +1 -1
- package/dist/genre-check.js +1 -1
- package/dist/genre-check.js.map +1 -1
- package/dist/genre-load.d.ts +6 -0
- package/dist/genre-load.d.ts.map +1 -0
- package/dist/genre-load.js +22 -0
- package/dist/genre-load.js.map +1 -0
- package/dist/genre-parse.d.ts +40 -0
- package/dist/genre-parse.d.ts.map +1 -0
- package/dist/genre-parse.js +104 -0
- package/dist/genre-parse.js.map +1 -0
- package/dist/genre-suggest.d.ts +15 -0
- package/dist/genre-suggest.d.ts.map +1 -0
- package/dist/genre-suggest.js +26 -0
- package/dist/genre-suggest.js.map +1 -0
- package/dist/genre.d.ts +1 -1
- package/dist/genre.d.ts.map +1 -1
- package/dist/genre.js +3 -13
- package/dist/genre.js.map +1 -1
- package/dist/init-choice.d.ts +12 -0
- package/dist/init-choice.d.ts.map +1 -0
- package/dist/init-choice.js +41 -0
- package/dist/init-choice.js.map +1 -0
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +16 -5
- package/dist/init.js.map +1 -1
- package/dist/judge.d.ts +2 -1
- package/dist/judge.d.ts.map +1 -1
- package/dist/judge.js +1 -1
- package/dist/judge.js.map +1 -1
- package/dist/line-paragraphs.d.ts +4 -0
- package/dist/line-paragraphs.d.ts.map +1 -0
- package/dist/line-paragraphs.js +69 -0
- package/dist/line-paragraphs.js.map +1 -0
- package/dist/mask.d.ts.map +1 -1
- package/dist/mask.js +7 -6
- package/dist/mask.js.map +1 -1
- package/dist/plugin.d.ts +6 -0
- package/dist/plugin.d.ts.map +1 -1
- package/dist/profile/check.d.ts +28 -0
- package/dist/profile/check.d.ts.map +1 -0
- package/dist/profile/check.js +12 -0
- package/dist/profile/check.js.map +1 -0
- package/dist/profile/for-file.d.ts +2 -2
- package/dist/profile/for-file.d.ts.map +1 -1
- package/dist/profile/for-file.js +9 -2
- package/dist/profile/for-file.js.map +1 -1
- package/dist/profile/load.js +1 -1
- package/dist/profile/load.js.map +1 -1
- package/dist/profile/select.d.ts +4 -2
- package/dist/profile/select.d.ts.map +1 -1
- package/dist/profile/select.js +8 -3
- package/dist/profile/select.js.map +1 -1
- package/dist/quoted-span.d.ts +15 -3
- package/dist/quoted-span.d.ts.map +1 -1
- package/dist/quoted-span.js +16 -11
- package/dist/quoted-span.js.map +1 -1
- package/dist/reasons.d.ts +1 -0
- package/dist/reasons.d.ts.map +1 -1
- package/dist/reasons.js +4 -1
- package/dist/reasons.js.map +1 -1
- package/dist/render/compact.d.ts.map +1 -1
- package/dist/render/compact.js +1 -2
- package/dist/render/compact.js.map +1 -1
- package/dist/render/eval.d.ts.map +1 -1
- package/dist/render/eval.js +4 -3
- package/dist/render/eval.js.map +1 -1
- package/dist/render/friendly.d.ts +2 -1
- package/dist/render/friendly.d.ts.map +1 -1
- package/dist/render/friendly.js +14 -6
- package/dist/render/friendly.js.map +1 -1
- package/dist/render/genres.d.ts +5 -0
- package/dist/render/genres.d.ts.map +1 -0
- package/dist/render/genres.js +28 -0
- package/dist/render/genres.js.map +1 -0
- package/dist/render/plural.d.ts +3 -0
- package/dist/render/plural.d.ts.map +1 -0
- package/dist/render/plural.js +5 -0
- package/dist/render/plural.js.map +1 -0
- package/dist/render/rules-json.d.ts.map +1 -1
- package/dist/render/rules-json.js +9 -3
- package/dist/render/rules-json.js.map +1 -1
- package/dist/render/semantic.d.ts +3 -2
- package/dist/render/semantic.d.ts.map +1 -1
- package/dist/render/semantic.js +94 -34
- package/dist/render/semantic.js.map +1 -1
- package/dist/render/summary.d.ts.map +1 -1
- package/dist/render/summary.js +4 -3
- package/dist/render/summary.js.map +1 -1
- package/dist/render/suppressions.d.ts.map +1 -1
- package/dist/render/suppressions.js +3 -2
- package/dist/render/suppressions.js.map +1 -1
- package/dist/render/text.d.ts +2 -0
- package/dist/render/text.d.ts.map +1 -1
- package/dist/render/text.js +11 -3
- package/dist/render/text.js.map +1 -1
- package/dist/rule-load.d.ts.map +1 -1
- package/dist/rule-load.js +4 -1
- package/dist/rule-load.js.map +1 -1
- package/dist/run-semantic.js +1 -1
- package/dist/run-semantic.js.map +1 -1
- package/dist/run.d.ts +2 -0
- package/dist/run.d.ts.map +1 -1
- package/dist/run.js +25 -15
- package/dist/run.js.map +1 -1
- package/dist/sentence-shape.d.ts +0 -1
- package/dist/sentence-shape.d.ts.map +1 -1
- package/dist/sentence-shape.js +3 -5
- package/dist/sentence-shape.js.map +1 -1
- package/dist/setting-problems.d.ts +5 -0
- package/dist/setting-problems.d.ts.map +1 -0
- package/dist/setting-problems.js +15 -0
- package/dist/setting-problems.js.map +1 -0
- package/dist/structure/build.js +5 -5
- package/dist/structure/build.js.map +1 -1
- package/dist/structure/cite.js +1 -1
- package/dist/structure/cite.js.map +1 -1
- package/dist/structure/issues.d.ts.map +1 -1
- package/dist/structure/issues.js +5 -5
- package/dist/structure/issues.js.map +1 -1
- package/dist/structure/markdown-path.d.ts.map +1 -1
- package/dist/structure/markdown-path.js +2 -2
- package/dist/structure/markdown-path.js.map +1 -1
- package/dist/structure/numbering.d.ts.map +1 -1
- package/dist/structure/numbering.js +1 -1
- package/dist/structure/numbering.js.map +1 -1
- package/dist/structure/relative-find.js +1 -1
- package/dist/structure/relative-find.js.map +1 -1
- package/dist/structure/sexp.js +1 -1
- package/dist/structure/sexp.js.map +1 -1
- package/dist/structure/unnumbered.js +2 -2
- package/dist/structure/unnumbered.js.map +1 -1
- package/dist/team-names.d.ts +9 -0
- package/dist/team-names.d.ts.map +1 -0
- package/dist/team-names.js +34 -0
- package/dist/team-names.js.map +1 -0
- package/dist/ui.d.ts +2 -0
- package/dist/ui.d.ts.map +1 -1
- package/dist/ui.js +6 -0
- package/dist/ui.js.map +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/dist/watch.d.ts +2 -2
- package/dist/watch.d.ts.map +1 -1
- package/dist/watch.js +5 -5
- package/dist/watch.js.map +1 -1
- package/genres.yaml +363 -0
- package/package.json +4 -3
- package/rules/adverb-overuse.yaml +2 -2
- package/rules/agentless-passive.yaml +1 -1
- package/rules/ai-generated-composite.yaml +2 -2
- package/rules/ai-tell.yaml +2 -2
- package/rules/bold-density.yaml +2 -2
- package/rules/closing-cliche.yaml +1 -1
- package/rules/concrete-evidence-density.yaml +2 -2
- package/rules/contraction-consistency.yaml +1 -1
- package/rules/cushion-phrase-density.yaml +1 -1
- package/rules/dangling-reference.yaml +1 -1
- package/rules/date-order.yaml +1 -1
- package/rules/date-weekday-mismatch.yaml +1 -1
- package/rules/double-keigo.yaml +1 -1
- package/rules/doubled-word.yaml +1 -1
- package/rules/duplicate-definition.yaml +1 -1
- package/rules/emoji-density.yaml +1 -1
- package/rules/empty-conclusion.yaml +2 -1
- package/rules/empty-intensifier.yaml +1 -1
- package/rules/excessive-hedging.yaml +16 -6
- package/rules/expletive-construction.yaml +2 -2
- package/rules/heading-echo.yaml +1 -1
- package/rules/hiragana-fukushi.yaml +1 -1
- package/rules/internal-jargon.yaml +2 -2
- package/rules/latin-spacing.yaml +5 -4
- package/rules/max-kanji-continuous.yaml +4 -3
- package/rules/max-paragraph-length.yaml +9 -2
- package/rules/max-sentence-length.yaml +14 -2
- package/rules/ngram-repetition.yaml +4 -4
- package/rules/no-doubled-joshi.yaml +2 -2
- package/rules/no-em-dash.yaml +2 -2
- package/rules/no-mixed-desumasu.yaml +1 -1
- package/rules/no-nakaguro-parallel.yaml +2 -2
- package/rules/numbering-gap.yaml +1 -1
- package/rules/oxford-comma-consistency.yaml +2 -1
- package/rules/padded-intro.yaml +2 -1
- package/rules/paragraph-length-variance.yaml +1 -1
- package/rules/preamble-length.yaml +2 -2
- package/rules/preferred-term.yaml +1 -1
- package/rules/proper-noun-density.yaml +3 -2
- package/rules/repeated-conjunction.yaml +2 -2
- package/rules/repeated-sentence-head.yaml +2 -2
- package/rules/required-sections.yaml +1 -1
- package/rules/rule-of-three.yaml +2 -2
- package/rules/sasete-itadaku.yaml +3 -3
- package/rules/section-length-uniformity.yaml +1 -1
- package/rules/sentence-initial-conjunction-run.yaml +2 -2
- package/rules/sentence-rhythm.yaml +1 -1
- package/rules/taigen-dome-in-prose.yaml +2 -2
- package/rules/title-case-consistency.yaml +1 -1
- package/rules/total-mismatch.yaml +1 -1
- package/rules/undefined-acronym.yaml +4 -4
- package/rules/unqualified-superlative.yaml +2 -2
- package/skills/chaff/SKILL.md +28 -9
- package/src/address-chain.ts +1 -1
- package/src/backends/anthropic.ts +5 -1
- package/src/backends/openai.ts +2 -1
- package/src/backends/types.ts +3 -2
- package/src/baseline.ts +1 -1
- package/src/calendar-number.ts +75 -0
- package/src/cli-args.ts +2 -2
- package/src/cli-text.ts +29 -15
- package/src/cli.ts +42 -41
- package/src/commands/cite.ts +4 -4
- package/src/commands/eval.ts +1 -1
- package/src/commands/init-ask.ts +53 -0
- package/src/commands/test.ts +102 -45
- package/src/commands/tree.ts +7 -6
- package/src/config/by-path.ts +8 -9
- package/src/config/load.ts +24 -0
- package/src/config/name-problems.ts +15 -0
- package/src/date-stamp.ts +1 -1
- package/src/detectors/char-shape.ts +21 -9
- package/src/detectors/en-shape.ts +106 -8
- package/src/detectors/enumerated-runs.ts +3 -2
- package/src/detectors/gram-place.ts +1 -1
- package/src/detectors/heading-case.ts +4 -1
- package/src/detectors/index.ts +4 -3
- package/src/detectors/lettered-index.ts +78 -0
- package/src/detectors/lexicon.ts +63 -6
- package/src/detectors/orthography.ts +31 -7
- package/src/detectors/phrase-match.ts +23 -12
- package/src/detectors/repeated-head.ts +3 -4
- package/src/detectors/signals.ts +15 -6
- package/src/detectors/stacked-hedge.ts +93 -0
- package/src/detectors/superlative-amount.ts +24 -0
- package/src/detectors/superlative-clause.ts +82 -0
- package/src/detectors/superlative-scope.ts +3 -3
- package/src/detectors/team.ts +18 -2
- package/src/detectors/token-shape.ts +8 -10
- package/src/document.ts +29 -3
- package/src/eval.ts +1 -1
- package/src/feedback/draft.ts +1 -1
- package/src/feedback/excerpt.ts +2 -2
- package/src/file-header.ts +31 -0
- package/src/files.ts +3 -3
- package/src/genre-check.ts +1 -1
- package/src/genre-load.ts +24 -0
- package/src/genre-parse.ts +126 -0
- package/src/genre-suggest.ts +37 -0
- package/src/genre.ts +4 -13
- package/src/init-choice.ts +47 -0
- package/src/init.ts +20 -6
- package/src/judge.ts +3 -1
- package/src/line-paragraphs.ts +83 -0
- package/src/mask.ts +5 -6
- package/src/plugin.ts +6 -0
- package/src/profile/check.ts +34 -0
- package/src/profile/for-file.ts +10 -3
- package/src/profile/load.ts +1 -1
- package/src/profile/select.ts +11 -4
- package/src/quoted-span.ts +26 -12
- package/src/reasons.ts +5 -1
- package/src/render/compact.ts +1 -3
- package/src/render/eval.ts +4 -3
- package/src/render/friendly.ts +21 -6
- package/src/render/genres.ts +31 -0
- package/src/render/plural.ts +6 -0
- package/src/render/rules-json.ts +10 -3
- package/src/render/semantic.ts +117 -34
- package/src/render/summary.ts +4 -3
- package/src/render/suppressions.ts +3 -2
- package/src/render/text.ts +18 -3
- package/src/rule-load.ts +6 -1
- package/src/run-semantic.ts +1 -1
- package/src/run.ts +28 -15
- package/src/sentence-shape.ts +3 -7
- package/src/setting-problems.ts +24 -0
- package/src/structure/build.ts +5 -5
- package/src/structure/cite.ts +1 -1
- package/src/structure/issues.ts +6 -5
- package/src/structure/markdown-path.ts +2 -2
- package/src/structure/numbering.ts +1 -1
- package/src/structure/relative-find.ts +1 -1
- package/src/structure/sexp.ts +1 -1
- package/src/structure/unnumbered.ts +2 -2
- package/src/team-names.ts +39 -0
- package/src/ui.ts +7 -0
- package/src/version.ts +1 -1
- package/src/watch.ts +5 -5
package/README.md
CHANGED
|
@@ -11,7 +11,32 @@ npx chaffjs article.md
|
|
|
11
11
|
インストールも、AI の利用登録も、言語の指定も要りません。
|
|
12
12
|
|
|
13
13
|
> chaff finds what makes writing hard to read — in Japanese and English — and never rewrites the text. On an
|
|
14
|
-
> English document it speaks English.
|
|
14
|
+
> English document it speaks English. Pick the kind of document (`--genre legal/contract`, `docs/manual`,
|
|
15
|
+
> `academic/paper`, …) and it checks it the way that kind is written. Guide, genres and rule reference:
|
|
16
|
+
> https://isamu.github.io/lab/en/
|
|
17
|
+
|
|
18
|
+
## 文書の種類を選ぶ
|
|
19
|
+
|
|
20
|
+
契約書・法令・マニュアル・論文・小説・発言録は、それぞれの書き方で書かれます。種類(ジャンル)を選ぶと、その書き方に合わせて見ます。設定は要りません。
|
|
21
|
+
|
|
22
|
+
```bash
|
|
23
|
+
npx chaffjs --genre legal/contract 契約書.md この実行だけ、契約書として見る
|
|
24
|
+
npx chaffjs init --genre legal/contract この場所の chaff.yaml に書く
|
|
25
|
+
npx chaffjs genres ジャンルの一覧と、それぞれ何向けか
|
|
26
|
+
```
|
|
27
|
+
|
|
28
|
+
| 群 | ジャンル |
|
|
29
|
+
| --- | --- |
|
|
30
|
+
| 技術文書 | `technical/spec` `technical/readme` |
|
|
31
|
+
| ブログ | `blog/tech`(既定) `blog/essay` `blog/owned-media` |
|
|
32
|
+
| ビジネス文書 | `business/proposal` `business/report` `business/email` `business/press-release` `business/meeting-notes` |
|
|
33
|
+
| 法務 | `legal/contract` `legal/statute` `legal/judgment` `legal/patent` |
|
|
34
|
+
| 説明書 | `docs/manual` `docs/faq` `docs/glossary` |
|
|
35
|
+
| 学術 | `academic/paper` |
|
|
36
|
+
| 文学 | `literature/fiction` `literature/essay` `literature/poetry` `literature/play` |
|
|
37
|
+
| 話し言葉 | `speech/address` `speech/transcript` |
|
|
38
|
+
|
|
39
|
+
ジャンルを決めていない文書が別の種類に見えるときは、画面がそう言います(「契約書・規約のようです。--genre legal/contract を試せます」)。
|
|
15
40
|
|
|
16
41
|
## 何を見つけるか
|
|
17
42
|
|
|
@@ -57,7 +82,7 @@ npx chaffjs article.md
|
|
|
57
82
|
```bash
|
|
58
83
|
npx chaffjs . この場所の Markdown を全部
|
|
59
84
|
npx chaffjs article.md --watch 保存のたびに、変わったところだけ出す
|
|
60
|
-
npx chaffjs init chaff.yaml
|
|
85
|
+
npx chaffjs init chaff.yaml を作る(端末ならジャンルを尋ねる)
|
|
61
86
|
npx chaffjs explain bold-density ルールの意図と根拠を読む
|
|
62
87
|
npx chaffjs baseline docs/ 既にある指摘を棚上げする
|
|
63
88
|
npx chaffjs suppressions docs/ stet で黙らせている指摘を数える
|
package/dist/address-chain.js
CHANGED
|
@@ -70,7 +70,7 @@ const chainAt = (patterns, text, start) => {
|
|
|
70
70
|
if (firstEnd === undefined)
|
|
71
71
|
return undefined;
|
|
72
72
|
const { spans, cuts } = readChain(patterns, text, { start, end: firstEnd });
|
|
73
|
-
const cut =
|
|
73
|
+
const cut = cuts.findLast((candidate) => endsHere(patterns, text, candidate.end));
|
|
74
74
|
return cut === undefined ? undefined : { spans: spans.slice(0, cut.addresses), end: cut.end };
|
|
75
75
|
};
|
|
76
76
|
/** 1 文字先。絵文字のような 2 単位の文字の途中に止まると、同じ位置の空の一致を繰り返す。 */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"address-chain.js","sourceRoot":"","sources":["../src/address-chain.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"address-chain.js","sourceRoot":"","sources":["../src/address-chain.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import Anthropic from "@anthropic-ai/sdk";
|
|
2
2
|
import type { Failure, Judge } from "./types.ts";
|
|
3
|
+
import type { Texts } from "../ui.ts";
|
|
3
4
|
type AnthropicResponse = {
|
|
4
5
|
readonly content: readonly {
|
|
5
6
|
readonly type: string;
|
|
@@ -19,6 +20,6 @@ export declare const isAuthFailure: (error: unknown) => boolean;
|
|
|
19
20
|
export declare const describeFailure: (error: unknown) => Failure | undefined;
|
|
20
21
|
export declare const judge: (client?: AnthropicClient) => Judge;
|
|
21
22
|
/** 認証が無いときに人へ見せる案内。 */
|
|
22
|
-
export declare const SETUP_HINT
|
|
23
|
+
export declare const SETUP_HINT: Texts<string>;
|
|
23
24
|
export {};
|
|
24
25
|
//# sourceMappingURL=anthropic.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/backends/anthropic.ts"],"names":[],"mappings":"AAGA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAE1C,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAU,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"anthropic.d.ts","sourceRoot":"","sources":["../../src/backends/anthropic.ts"],"names":[],"mappings":"AAGA,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAE1C,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAU,MAAM,YAAY,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC,KAAK,iBAAiB,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,SAAS;QAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,GAAG,SAAS,CAAA;KAAE,EAAE,CAAA;CAAE,CAAC;AAExH,8DAA8D;AAC9D,MAAM,MAAM,eAAe,GAAG;IAAE,QAAQ,CAAC,QAAQ,EAAE;QAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,SAAS,CAAC,+BAA+B,KAAK,OAAO,CAAC,iBAAiB,CAAC,CAAA;KAAE,CAAA;CAAE,CAAC;AAK5J,eAAO,MAAM,aAAa,kBAAkB,CAAC;AAe7C,eAAO,MAAM,cAAc,GAAI,aAAY,MAAoB,KAAG,OACuB,CAAC;AAE1F,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,KAAG,OACkE,CAAC;AAElH,qDAAqD;AACrD,eAAO,MAAM,eAAe,GAAI,OAAO,OAAO,KAAG,OAAO,GAAG,SAI1D,CAAC;AAEF,eAAO,MAAM,KAAK,GACf,SAAS,eAAe,KAAG,KAa3B,CAAC;AAEJ,uBAAuB;AACvB,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,MAAM,CAGpC,CAAC"}
|
|
@@ -40,5 +40,8 @@ export const judge = (client) => async (prompt) => {
|
|
|
40
40
|
return body;
|
|
41
41
|
};
|
|
42
42
|
/** 認証が無いときに人へ見せる案内。 */
|
|
43
|
-
export const SETUP_HINT =
|
|
43
|
+
export const SETUP_HINT = {
|
|
44
|
+
ja: "ANTHROPIC_API_KEY を設定するか、ant auth login を実行してください。",
|
|
45
|
+
en: "Set ANTHROPIC_API_KEY, or run ant auth login.",
|
|
46
|
+
};
|
|
44
47
|
//# sourceMappingURL=anthropic.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/backends/anthropic.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,SAAS,MAAM,mBAAmB,CAAC;AAC1C,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"anthropic.js","sourceRoot":"","sources":["../../src/backends/anthropic.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import OpenAI from "openai";
|
|
2
2
|
import type { Failure, Judge } from "./types.ts";
|
|
3
|
+
import type { Texts } from "../ui.ts";
|
|
3
4
|
type OpenAIResponse = {
|
|
4
5
|
readonly choices: readonly {
|
|
5
6
|
readonly message: {
|
|
@@ -25,6 +26,6 @@ export declare const describeFailure: (error: unknown) => Failure | undefined;
|
|
|
25
26
|
* 変えると、provider を替えたときに判定の意味まで変わる。
|
|
26
27
|
*/
|
|
27
28
|
export declare const judge: (client?: OpenAIClient) => Judge;
|
|
28
|
-
export declare const SETUP_HINT
|
|
29
|
+
export declare const SETUP_HINT: Texts<string>;
|
|
29
30
|
export {};
|
|
30
31
|
//# sourceMappingURL=openai.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/backends/openai.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAU,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"openai.d.ts","sourceRoot":"","sources":["../../src/backends/openai.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAE5B,OAAO,KAAK,EAAE,OAAO,EAAE,KAAK,EAAU,MAAM,YAAY,CAAC;AACzD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,UAAU,CAAC;AAEtC,KAAK,cAAc,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,SAAS;QAAE,QAAQ,CAAC,OAAO,EAAE;YAAE,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAA;SAAE,CAAA;KAAE,EAAE,CAAA;CAAE,CAAC;AAEjH,0DAA0D;AAC1D,MAAM,MAAM,YAAY,GAAG;IACzB,QAAQ,CAAC,IAAI,EAAE;QAAE,QAAQ,CAAC,WAAW,EAAE;YAAE,QAAQ,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,sCAAsC,KAAK,OAAO,CAAC,cAAc,CAAC,CAAA;SAAE,CAAA;KAAE,CAAC;CAClJ,CAAC;AAEF,eAAO,MAAM,aAAa,UAAU,CAAC;AAErC,eAAO,MAAM,cAAc,QAAO,OAA2D,CAAC;AAE9F,eAAO,MAAM,aAAa,GAAI,OAAO,OAAO,KAAG,OAAmE,CAAC;AAEnH,qDAAqD;AACrD,eAAO,MAAM,eAAe,GAAI,OAAO,OAAO,KAAG,OAAO,GAAG,SAI1D,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,KAAK,GACf,SAAS,YAAY,KAAG,KAcxB,CAAC;AAEJ,eAAO,MAAM,UAAU,EAAE,KAAK,CAAC,MAAM,CAAkE,CAAC"}
|
package/dist/backends/openai.js
CHANGED
|
@@ -29,5 +29,5 @@ export const judge = (client) => async (prompt) => {
|
|
|
29
29
|
throw new Error("判定が返りませんでした");
|
|
30
30
|
return body;
|
|
31
31
|
};
|
|
32
|
-
export const SETUP_HINT = "OPENAI_API_KEY を設定してください。";
|
|
32
|
+
export const SETUP_HINT = { ja: "OPENAI_API_KEY を設定してください。", en: "Set OPENAI_API_KEY." };
|
|
33
33
|
//# sourceMappingURL=openai.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/backends/openai.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;
|
|
1
|
+
{"version":3,"file":"openai.js","sourceRoot":"","sources":["../../src/backends/openai.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AAWvC,MAAM,CAAC,MAAM,aAAa,GAAG,OAAO,CAAC;AAErC,MAAM,CAAC,MAAM,cAAc,GAAG,GAAY,EAAE,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,GAAG,CAAC,CAAC;AAE9F,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,KAAc,EAAW,EAAE,CAAC,KAAK,YAAY,MAAM,CAAC,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,GAAG,CAAC;AAEnH,qDAAqD;AACrD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,KAAc,EAAuB,EAAE;IACrE,IAAI,CAAC,CAAC,KAAK,YAAY,MAAM,CAAC,QAAQ,CAAC;QAAE,OAAO,SAAS,CAAC;IAC1D,MAAM,GAAG,GAA0C,KAAK,CAAC;IACzD,OAAO,SAAS,CAAC,GAAG,CAAC,CAAC;AACxB,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,KAAK,GAChB,CAAC,MAAqB,EAAS,EAAE,CACjC,KAAK,EAAE,MAAc,EAAmB,EAAE;IACxC,MAAM,MAAM,GAAiB,MAAM,IAAI,IAAI,MAAM,EAAE,CAAC;IACpD,MAAM,QAAQ,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,WAAW,CAAC,MAAM,CAAC;QACpD,KAAK,EAAE,MAAM,CAAC,KAAK;QACnB,QAAQ,EAAE;YACR,EAAE,IAAI,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE;YAC1C,EAAE,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,CAAC,IAAI,EAAE;SACvC;QACD,eAAe,EAAE,EAAE,IAAI,EAAE,aAAa,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,EAAE;KAChH,CAAC,CAAC;IACH,MAAM,IAAI,GAAG,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC;IAClD,IAAI,IAAI,KAAK,IAAI,IAAI,IAAI,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,aAAa,CAAC,CAAC;IACxE,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEJ,MAAM,CAAC,MAAM,UAAU,GAAkB,EAAE,EAAE,EAAE,2BAA2B,EAAE,EAAE,EAAE,qBAAqB,EAAE,CAAC"}
|
package/dist/backends/types.d.ts
CHANGED
|
@@ -15,10 +15,11 @@ export type Judge = (prompt: Prompt) => Promise<string>;
|
|
|
15
15
|
export type BackendName = "anthropic" | "openai";
|
|
16
16
|
export declare const isBackend: (value: unknown) => value is BackendName;
|
|
17
17
|
/** API が返した失敗。生のスタックトレースを人に見せないための、最小の分類。 */
|
|
18
|
+
/** message is the provider's own words, undefined when it gave none: the screen says so in the reader's language. */
|
|
18
19
|
export type Failure = {
|
|
19
20
|
readonly kind: "auth" | "quota" | "api";
|
|
20
21
|
readonly status: number | undefined;
|
|
21
|
-
readonly message: string;
|
|
22
|
+
readonly message: string | undefined;
|
|
22
23
|
};
|
|
23
24
|
/**
|
|
24
25
|
* SDK の APIError から Failure を作る。分類は provider で変えない。
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/backends/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAE3D,MAAM,MAAM,MAAM,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7H,MAAM,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAExD,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAC;AAIjD,eAAO,MAAM,SAAS,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,WAAsD,CAAC;AAE3G,6CAA6C;AAC7C,MAAM,MAAM,OAAO,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAA;CAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/backends/types.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AACH,MAAM,MAAM,UAAU,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC,CAAC;AAE3D,MAAM,MAAM,MAAM,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,UAAU,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAE7H,MAAM,MAAM,KAAK,GAAG,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;AAExD,MAAM,MAAM,WAAW,GAAG,WAAW,GAAG,QAAQ,CAAC;AAIjD,eAAO,MAAM,SAAS,GAAI,OAAO,OAAO,KAAG,KAAK,IAAI,WAAsD,CAAC;AAE3G,6CAA6C;AAC7C,qHAAqH;AACrH,MAAM,MAAM,OAAO,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,GAAG,KAAK,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,SAAS,CAAA;CAAE,CAAC;AAW7I;;;GAGG;AACH,eAAO,MAAM,SAAS,GAAI,OAAO;IAAE,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAC;IAAC,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;CAAE,KAAG,OAG1F,CAAC"}
|
package/dist/backends/types.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
const BACKENDS = ["anthropic", "openai"];
|
|
2
2
|
export const isBackend = (value) => BACKENDS.some((name) => name === value);
|
|
3
3
|
const statusOf = (value) => (typeof value === "number" ? value : undefined);
|
|
4
|
-
const messageOf = (value) => (typeof value === "string" && value.length > 0 ? value :
|
|
4
|
+
const messageOf = (value) => (typeof value === "string" && value.length > 0 ? value : undefined);
|
|
5
5
|
const kindOf = (status) => {
|
|
6
6
|
if (status === 401 || status === 403)
|
|
7
7
|
return "auth";
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/backends/types.ts"],"names":[],"mappings":"AAcA,MAAM,QAAQ,GAA2B,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AAEjE,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAc,EAAwB,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/backends/types.ts"],"names":[],"mappings":"AAcA,MAAM,QAAQ,GAA2B,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;AAEjE,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAAc,EAAwB,EAAE,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,KAAK,CAAC,CAAC;AAM3G,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAsB,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAEzG,MAAM,SAAS,GAAG,CAAC,KAAc,EAAsB,EAAE,CAAC,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAE9H,MAAM,MAAM,GAAG,CAAC,MAA0B,EAAmB,EAAE;IAC7D,IAAI,MAAM,KAAK,GAAG,IAAI,MAAM,KAAK,GAAG;QAAE,OAAO,MAAM,CAAC;IACpD,OAAO,MAAM,KAAK,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,KAAK,CAAC;AAC1C,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,KAA8D,EAAW,EAAE;IACnG,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;IACtC,OAAO,EAAE,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC;AAC7E,CAAC,CAAC"}
|
package/dist/baseline.js
CHANGED
|
@@ -21,7 +21,7 @@ export const readBaseline = (path) => {
|
|
|
21
21
|
return isBaseline(raw) ? raw : undefined;
|
|
22
22
|
};
|
|
23
23
|
export const writeBaseline = (path, entries) => {
|
|
24
|
-
const sorted =
|
|
24
|
+
const sorted = entries.toSorted((left, right) => left.localeCompare(right, "en"));
|
|
25
25
|
const body = { version: 1, created: new Date().toISOString().slice(0, 10), entries: sorted };
|
|
26
26
|
writeFileSync(path, `${JSON.stringify(body, null, 2)}\n`, "utf8");
|
|
27
27
|
};
|
package/dist/baseline.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"baseline.js","sourceRoot":"","sources":["../src/baseline.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,SAAS,CAAC;AAGlE,MAAM,CAAC,MAAM,aAAa,GAAG,sBAAsB,CAAC;AAEpD;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAY,EAAE,OAAgB,EAAU,EAAE;IACpE,MAAM,IAAI,GAAG,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACxF,OAAO,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AACtE,CAAC,CAAC;AAIF,MAAM,UAAU,GAAG,CAAC,KAAc,EAAqB,EAAE,CACvD,OAAO,KAAK,KAAK,QAAQ;IACzB,KAAK,KAAK,IAAI;IACd,SAAS,IAAI,KAAK;IAClB,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,OAAO,CAAC;IAC5B,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC;AAE5D,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAwB,EAAE;IACjE,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,SAAS,CAAC;IACxC,MAAM,GAAG,GAAY,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC,CAAC;IAC5D,OAAO,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,SAAS,CAAC;AAC3C,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC,IAAY,EAAE,OAA0B,EAAQ,EAAE;IAC9E,MAAM,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"baseline.js","sourceRoot":"","sources":["../src/baseline.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { Span, Token } from "./plugin.ts";
|
|
2
|
+
/**
|
|
3
|
+
* 日付・時刻として書かれた数(9月、3時、2026年、10月1日、10時5分)。数を詰めて書くのが決まりで、空け方の好みではない。
|
|
4
|
+
* 長さ(3ヶ月、3時間、3日間)は別の語で書くので、ここには入らない。
|
|
5
|
+
*
|
|
6
|
+
* 単位は語彙表から渡す。chained は日付・時刻の単位を大きい順に(年月日時分秒)。大きい単位の後ろに小さい単位を続けて書けば
|
|
7
|
+
* 一つの日付・時刻になる。「2008年 2年連続」のように同じ単位や大きい単位が続けば、別のものの始まり。
|
|
8
|
+
* positional は数の後ろに置くだけで位置を言う単位(月、時)。year は 4 桁の数の後ろで暦の年を言う単位(年、年度)。
|
|
9
|
+
* 「5日」「5分」「3年」のように、単位だけでは長さと見分けのつかないものは、位置を言う単位と続けて書いたときだけ日付・時刻と読む。
|
|
10
|
+
*/
|
|
11
|
+
export type CalendarUnits = {
|
|
12
|
+
readonly chained: readonly string[];
|
|
13
|
+
readonly positional: ReadonlySet<string>;
|
|
14
|
+
readonly year: ReadonlySet<string>;
|
|
15
|
+
};
|
|
16
|
+
/** 日付・時刻の数の並び。first は日付の頭の数、inner は前の単位に続く数(2026年9月の 9)。 */
|
|
17
|
+
export type CalendarRun = {
|
|
18
|
+
readonly run: Span;
|
|
19
|
+
readonly place: "first" | "inner";
|
|
20
|
+
};
|
|
21
|
+
/**
|
|
22
|
+
* 文 text の中の、日付・時刻の数の並び。tokens は文書全体の座標で、base は text の先頭の位置。
|
|
23
|
+
* 品詞が無ければ判断せず、何も返さない。
|
|
24
|
+
*/
|
|
25
|
+
export declare const calendarRuns: (text: string, tokens: readonly Token[] | undefined, base: number, units: CalendarUnits) => CalendarRun[];
|
|
26
|
+
//# sourceMappingURL=calendar-number.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calendar-number.d.ts","sourceRoot":"","sources":["../src/calendar-number.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAE/C;;;;;;;;GAQG;AACH,MAAM,MAAM,aAAa,GAAG;IAAE,QAAQ,CAAC,OAAO,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,UAAU,EAAE,WAAW,CAAC,MAAM,CAAC,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC,CAAA;CAAE,CAAC;AAElJ,4DAA4D;AAC5D,MAAM,MAAM,WAAW,GAAG;IAAE,QAAQ,CAAC,GAAG,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAAA;CAAE,CAAC;AAiDpF;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,EAAE,QAAQ,SAAS,KAAK,EAAE,GAAG,SAAS,EAAE,MAAM,MAAM,EAAE,OAAO,aAAa,KAAG,WAAW,EAMhI,CAAC"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
import { digitRunAround } from "./number-name.js";
|
|
2
|
+
const DIGIT = /\d/u;
|
|
3
|
+
const CALENDAR_YEAR = /^\d{4}$/u;
|
|
4
|
+
/** text の中の数の並び(数字・小数点・ハイフン)を左から。 */
|
|
5
|
+
const digitRuns = (text) => {
|
|
6
|
+
const runs = [];
|
|
7
|
+
let at = 0;
|
|
8
|
+
while (at < text.length) {
|
|
9
|
+
const run = DIGIT.test(text[at] ?? "") ? digitRunAround(text, at) : undefined;
|
|
10
|
+
if (run !== undefined)
|
|
11
|
+
runs.push(run);
|
|
12
|
+
at = Math.max(run?.end ?? 0, at + 1);
|
|
13
|
+
}
|
|
14
|
+
return runs;
|
|
15
|
+
};
|
|
16
|
+
/** 空白 1 つを越えた位置。 */
|
|
17
|
+
const pastSpace = (text, at) => (text[at] === " " ? at + 1 : at);
|
|
18
|
+
const isUnit = (surface, units) => units.chained.includes(surface) || units.positional.has(surface) || units.year.has(surface);
|
|
19
|
+
const isAnchor = (digits, surface, units) => units.positional.has(surface) || (units.year.has(surface) && CALENDAR_YEAR.test(digits));
|
|
20
|
+
/** 数のすぐ後ろ(空白 1 つまで)の語が日付・時刻の単位なら、その組。語の切れ目が合わなければ組にしない。 */
|
|
21
|
+
const partOf = (text, run, tokens, base, units) => {
|
|
22
|
+
const unit = tokens.find((token) => token.span.start === base + pastSpace(text, run.end));
|
|
23
|
+
if (unit === undefined || !isUnit(unit.surface, units))
|
|
24
|
+
return undefined;
|
|
25
|
+
const rank = units.chained.indexOf(unit.surface);
|
|
26
|
+
return { run, unitEnd: unit.span.end - base, rank, anchored: isAnchor(text.slice(run.start, run.end), unit.surface, units) };
|
|
27
|
+
};
|
|
28
|
+
/** 前の組の単位のすぐ後ろ(空白 1 つまで)から始まり、単位が前より小さい組か。 */
|
|
29
|
+
const continues = (text, previous, part) => previous !== undefined && previous.rank >= 0 && part.rank > previous.rank && part.run.start === pastSpace(text, previous.unitEnd);
|
|
30
|
+
/** 前の組に続く組を、同じ日付・時刻にまとめる。 */
|
|
31
|
+
const chainsOf = (text, parts) => parts.reduce((chains, part) => {
|
|
32
|
+
const chain = chains.at(-1);
|
|
33
|
+
if (chain !== undefined && continues(text, chain.at(-1), part))
|
|
34
|
+
chain.push(part);
|
|
35
|
+
else
|
|
36
|
+
chains.push([part]);
|
|
37
|
+
return chains;
|
|
38
|
+
}, []);
|
|
39
|
+
/**
|
|
40
|
+
* 文 text の中の、日付・時刻の数の並び。tokens は文書全体の座標で、base は text の先頭の位置。
|
|
41
|
+
* 品詞が無ければ判断せず、何も返さない。
|
|
42
|
+
*/
|
|
43
|
+
export const calendarRuns = (text, tokens, base, units) => {
|
|
44
|
+
if (tokens === undefined)
|
|
45
|
+
return [];
|
|
46
|
+
const parts = digitRuns(text).flatMap((run) => partOf(text, run, tokens, base, units) ?? []);
|
|
47
|
+
return chainsOf(text, parts)
|
|
48
|
+
.filter((chain) => chain.some((part) => part.anchored))
|
|
49
|
+
.flatMap((chain) => chain.map((part, index) => ({ run: part.run, place: index === 0 ? "first" : "inner" })));
|
|
50
|
+
};
|
|
51
|
+
//# sourceMappingURL=calendar-number.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"calendar-number.js","sourceRoot":"","sources":["../src/calendar-number.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAoBlD,MAAM,KAAK,GAAG,KAAK,CAAC;AACpB,MAAM,aAAa,GAAG,UAAU,CAAC;AAEjC,qCAAqC;AACrC,MAAM,SAAS,GAAG,CAAC,IAAY,EAAU,EAAE;IACzC,MAAM,IAAI,GAAW,EAAE,CAAC;IACxB,IAAI,EAAE,GAAG,CAAC,CAAC;IACX,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;QACxB,MAAM,GAAG,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC9E,IAAI,GAAG,KAAK,SAAS;YAAE,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACtC,EAAE,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,EAAE,EAAE,GAAG,CAAC,CAAC,CAAC;IACvC,CAAC;IACD,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF,oBAAoB;AACpB,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,EAAU,EAAU,EAAE,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,KAAK,GAAG,CAAC,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAEzF,MAAM,MAAM,GAAG,CAAC,OAAe,EAAE,KAAoB,EAAW,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AAE/J,MAAM,QAAQ,GAAG,CAAC,MAAc,EAAE,OAAe,EAAE,KAAoB,EAAW,EAAE,CAClF,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC;AAE3F,2DAA2D;AAC3D,MAAM,MAAM,GAAG,CAAC,IAAY,EAAE,GAAS,EAAE,MAAwB,EAAE,IAAY,EAAE,KAAoB,EAAoB,EAAE;IACzH,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,KAAK,IAAI,GAAG,SAAS,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1F,IAAI,IAAI,KAAK,SAAS,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACzE,MAAM,IAAI,GAAG,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACjD,OAAO,EAAE,GAAG,EAAE,OAAO,EAAE,IAAI,CAAC,IAAI,CAAC,GAAG,GAAG,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,GAAG,CAAC,GAAG,CAAC,EAAE,IAAI,CAAC,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC;AAC/H,CAAC,CAAC;AAEF,8CAA8C;AAC9C,MAAM,SAAS,GAAG,CAAC,IAAY,EAAE,QAA0B,EAAE,IAAU,EAAW,EAAE,CAClF,QAAQ,KAAK,SAAS,IAAI,QAAQ,CAAC,IAAI,IAAI,CAAC,IAAI,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,IAAI,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,KAAK,SAAS,CAAC,IAAI,EAAE,QAAQ,CAAC,OAAO,CAAC,CAAC;AAEpI,6BAA6B;AAC7B,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,KAAsB,EAAY,EAAE,CAClE,KAAK,CAAC,MAAM,CAAW,CAAC,MAAM,EAAE,IAAI,EAAE,EAAE;IACtC,MAAM,KAAK,GAAG,MAAM,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5B,IAAI,KAAK,KAAK,SAAS,IAAI,SAAS,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC;QAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;;QAC5E,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC;IACzB,OAAO,MAAM,CAAC;AAChB,CAAC,EAAE,EAAE,CAAC,CAAC;AAET;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,MAAoC,EAAE,IAAY,EAAE,KAAoB,EAAiB,EAAE;IACpI,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,EAAE,CAAC;IACpC,MAAM,KAAK,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC,OAAO,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,MAAM,CAAC,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,EAAE,CAAC,CAAC;IAC7F,OAAO,QAAQ,CAAC,IAAI,EAAE,KAAK,CAAC;SACzB,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SACtD,OAAO,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,KAAK,EAAe,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,IAAI,CAAC,GAAG,EAAE,KAAK,EAAE,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;AAC9H,CAAC,CAAC"}
|
package/dist/cli-args.d.ts
CHANGED
|
@@ -1,8 +1,3 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Options of the commands that take files to check, whose value is the next argument. That value is not a file.
|
|
3
|
-
* `--why` (relax), `--format` and `--language` (tree) belong to commands that read their own arguments.
|
|
4
|
-
*/
|
|
5
|
-
export declare const VALUE_FLAGS: readonly string[];
|
|
6
1
|
/** The arguments that name what to check: everything that is neither an option nor an option's value. */
|
|
7
2
|
export declare const targetsOf: (args: readonly string[]) => string[];
|
|
8
3
|
//# sourceMappingURL=cli-args.d.ts.map
|
package/dist/cli-args.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-args.d.ts","sourceRoot":"","sources":["../src/cli-args.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli-args.d.ts","sourceRoot":"","sources":["../src/cli-args.ts"],"names":[],"mappings":"AAMA,yGAAyG;AACzG,eAAO,MAAM,SAAS,GAAI,MAAM,SAAS,MAAM,EAAE,KAAG,MAAM,EACoD,CAAC"}
|
package/dist/cli-args.js
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Options of the commands that take files to check, whose value is the next argument. That value is not a file.
|
|
3
3
|
* `--why` (relax), `--format` and `--language` (tree) belong to commands that read their own arguments.
|
|
4
4
|
*/
|
|
5
|
-
|
|
5
|
+
const VALUE_FLAGS = new Set(["--sarif", "--genre", "--rule", "--line"]);
|
|
6
6
|
/** The arguments that name what to check: everything that is neither an option nor an option's value. */
|
|
7
|
-
export const targetsOf = (args) => args.filter((arg, index) => !arg.startsWith("--") && !(index > 0 && VALUE_FLAGS.
|
|
7
|
+
export const targetsOf = (args) => args.filter((arg, index) => !arg.startsWith("--") && !(index > 0 && VALUE_FLAGS.has(args[index - 1] ?? "")));
|
|
8
8
|
//# sourceMappingURL=cli-args.js.map
|
package/dist/cli-args.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-args.js","sourceRoot":"","sources":["../src/cli-args.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,
|
|
1
|
+
{"version":3,"file":"cli-args.js","sourceRoot":"","sources":["../src/cli-args.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,GAAwB,IAAI,GAAG,CAAC,CAAC,SAAS,EAAE,SAAS,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC;AAE7F,yGAAyG;AACzG,MAAM,CAAC,MAAM,SAAS,GAAG,CAAC,IAAuB,EAAY,EAAE,CAC7D,IAAI,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,KAAK,GAAG,CAAC,IAAI,WAAW,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC"}
|
package/dist/cli-text.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { Texts } from "./ui.ts";
|
|
2
2
|
import type { GenreSetting } from "./genre-check.ts";
|
|
3
|
+
import type { ProfileSetting } from "./profile/check.ts";
|
|
3
4
|
/** Where a file's genre came from, as the header names it. */
|
|
4
5
|
export type GenreSource = "--genre" | "by_path" | "config" | "default" | "front-matter" | "path" | "content";
|
|
5
6
|
export type CliText = {
|
|
@@ -7,22 +8,25 @@ export type CliText = {
|
|
|
7
8
|
readonly languageName: (language: string) => string;
|
|
8
9
|
readonly genreSource: Readonly<Record<GenreSource, string>>;
|
|
9
10
|
readonly header: (path: string, genre: string, language: string, from: string, shelved: number, hushed: number) => string;
|
|
11
|
+
readonly suggested: (name: string, genre: string) => string;
|
|
12
|
+
readonly suggestedNote: (name: string, genre: string, used: string) => string;
|
|
10
13
|
readonly noMarkdown: (targets: string) => string;
|
|
11
14
|
readonly noMarkdownHere: string;
|
|
12
15
|
readonly noAdapter: (language: string) => string;
|
|
13
16
|
readonly unknownGenre: (genre: string, where: string, known: readonly string[]) => string;
|
|
14
17
|
readonly genreWhere: (where: GenreSetting, files: readonly string[]) => string;
|
|
15
18
|
readonly unreadFrontMatterGenre: (path: string, genre: string, known: readonly string[]) => string;
|
|
19
|
+
readonly unknownProfile: (profile: string, where: string, known: readonly string[]) => string;
|
|
20
|
+
readonly profileWhere: (where: ProfileSetting, files: readonly string[]) => string;
|
|
16
21
|
readonly unknownRule: (id: string) => string;
|
|
17
22
|
readonly unknownRuleWithList: (id: string, list: string) => string;
|
|
18
23
|
readonly unnamed: string;
|
|
19
24
|
readonly sarifWritten: (path: string, count: number) => string;
|
|
20
25
|
readonly unchanged: string;
|
|
21
|
-
readonly findingsUnit: string;
|
|
26
|
+
readonly findingsUnit: (count: number) => string;
|
|
22
27
|
readonly watching: (files: number, findings: number) => string;
|
|
23
28
|
readonly watchHint: string;
|
|
24
29
|
readonly baselineDone: (files: number, entries: number, file: string) => readonly string[];
|
|
25
|
-
readonly genres: (list: readonly string[]) => string;
|
|
26
30
|
readonly unit: (ruleId: string, language: string) => string;
|
|
27
31
|
};
|
|
28
32
|
export declare const CLI_TEXT: Texts<CliText>;
|
package/dist/cli-text.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-text.d.ts","sourceRoot":"","sources":["../src/cli-text.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"cli-text.d.ts","sourceRoot":"","sources":["../src/cli-text.ts"],"names":[],"mappings":"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"}
|
package/dist/cli-text.js
CHANGED
|
@@ -1,14 +1,15 @@
|
|
|
1
|
+
import { counted, formFor } from "./render/plural.js";
|
|
1
2
|
const USAGE_JA = `chaff — 文章の読みにくいところを見つけます。文章は書き換えません。
|
|
2
3
|
|
|
3
4
|
chaff <file|dir|glob>... 検査する(設定も API key も要りません)
|
|
4
5
|
chaff . この場所の Markdown を全部
|
|
5
6
|
chaff test <file|dir>... 意味を読む検査も動かす(API key が要ります)
|
|
6
7
|
判定役は chaff.yaml の ai_backend で選びます
|
|
7
|
-
chaff init chaff.yaml
|
|
8
|
+
chaff init chaff.yaml を作る(端末ならジャンルを尋ねる。--genre <ジャンル> でも選べる)
|
|
8
9
|
chaff --version chaffjs と言語パッケージの版
|
|
9
10
|
chaff eval <dir> 手元の文書で閾値を測り直す
|
|
10
11
|
chaff explain <rule> そのルールの意図と根拠を読む
|
|
11
|
-
chaff genres
|
|
12
|
+
chaff genres ジャンル(文書の種類)の一覧と、それぞれ何向けか
|
|
12
13
|
chaff tree <file> [--format sexp|json] 文書を番地の付いた木にする(条・項・定義・参照)
|
|
13
14
|
chaff cite <原文> <引用.json> 回答の引用(番地と引用文)が原文にあるかを確かめる
|
|
14
15
|
chaff rules --json いまの設定を JSON で出す(AI に渡す用)
|
|
@@ -37,11 +38,11 @@ const USAGE_EN = `chaff — finds what makes writing hard to read. It never rewr
|
|
|
37
38
|
chaff . every Markdown file here
|
|
38
39
|
chaff test <file|dir>... also run the checks that read meaning (needs an API key)
|
|
39
40
|
the judge is chosen by ai_backend in chaff.yaml
|
|
40
|
-
chaff init create chaff.yaml
|
|
41
|
+
chaff init create chaff.yaml (asks for the genre at a terminal; --genre <genre> chooses it)
|
|
41
42
|
chaff --version the version of chaffjs and its language packages
|
|
42
43
|
chaff eval <dir> re-measure the limits on your own documents
|
|
43
44
|
chaff explain <rule> read what a rule is for and why
|
|
44
|
-
chaff genres list the genres
|
|
45
|
+
chaff genres list the genres (kinds of document) and what each is for
|
|
45
46
|
chaff tree <file> [--format sexp|json] the document as a tree of addresses (sections, clauses, definitions, references)
|
|
46
47
|
chaff cite <source> <quotes.json> check that quoted passages (address and text) are in the source
|
|
47
48
|
chaff rules --json the current settings as JSON (to give to an AI)
|
|
@@ -78,6 +79,8 @@ export const CLI_TEXT = {
|
|
|
78
79
|
content: "内容",
|
|
79
80
|
},
|
|
80
81
|
header: (path, genre, language, from, shelved, hushed) => [`${path} ${genre} · ${language} ジャンルは${from}から`, shelved > 0 ? ` 棚上げ ${shelved} 件` : "", hushed > 0 ? ` stet ${hushed} 件` : ""].join(""),
|
|
82
|
+
suggested: (name, genre) => ` ${name}のようです。--genre ${genre} を試せます`,
|
|
83
|
+
suggestedNote: (name, genre, used) => ` ジャンルを決めていないので、${used} として見ました。${name}なら、--genre ${genre} でその種類の書き方に合わせて見ます(npx chaffjs genres で一覧)。`,
|
|
81
84
|
noMarkdown: (targets) => `Markdown が 1 つも見つかりませんでした: ${targets}`,
|
|
82
85
|
noMarkdownHere: "Markdown が 1 つも見つかりませんでした。",
|
|
83
86
|
noAdapter: (language) => `言語 "${language}" のアダプタがありません。`,
|
|
@@ -88,12 +91,14 @@ export const CLI_TEXT = {
|
|
|
88
91
|
return where === "by_path" ? `chaff.yaml の by_path、files: ${files.join(", ")}` : "--genre";
|
|
89
92
|
},
|
|
90
93
|
unreadFrontMatterGenre: (path, genre, known) => `${path}: front matter の genre "${genre}" はジャンルではないので読みませんでした。使えるのは ${known.join("、")} です。`,
|
|
94
|
+
unknownProfile: (profile, where, known) => `文書の種類 "${profile}" はありません(${where})。使えるのは ${known.join("、")} と、種類を使わない none です。`,
|
|
95
|
+
profileWhere: (where, files) => (where === "config" ? "chaff.yaml の profile" : `chaff.yaml の by_path、files: ${files.join(", ")}`),
|
|
91
96
|
unknownRule: (id) => `${id} というルールはありません。npx chaff rules --json で一覧が出ます。`,
|
|
92
97
|
unknownRuleWithList: (id, list) => `${id} というルールはありません。\n一覧:\n${list}`,
|
|
93
98
|
unnamed: "(名前なし)",
|
|
94
99
|
sarifWritten: (path, count) => `\n SARIF を書きました: ${path}(${count} 件)`,
|
|
95
100
|
unchanged: "変わりませんでした",
|
|
96
|
-
findingsUnit: " 件",
|
|
101
|
+
findingsUnit: () => " 件",
|
|
97
102
|
watching: (files, findings) => `\n ${files} ファイルを見ています。いまの指摘は ${findings} 件です。`,
|
|
98
103
|
watchHint: " 保存するたびに、変わったところだけ出します。止めるには Ctrl-C。\n",
|
|
99
104
|
baselineDone: (files, entries, file) => [
|
|
@@ -106,7 +111,6 @@ export const CLI_TEXT = {
|
|
|
106
111
|
` ${file} を commit してください。`,
|
|
107
112
|
"",
|
|
108
113
|
],
|
|
109
|
-
genres: (list) => ["", " 使えるジャンル:", ...list.map((genre) => ` ${genre}`), "", " chaff.yaml の genre に書くか、--genre で指定します。", ""].join("\n"),
|
|
110
114
|
unit: (ruleId, language) => {
|
|
111
115
|
if (ruleId === "bold-density")
|
|
112
116
|
return "1000 字あたりの箇所数";
|
|
@@ -128,6 +132,8 @@ export const CLI_TEXT = {
|
|
|
128
132
|
content: "the content",
|
|
129
133
|
},
|
|
130
134
|
header: (path, genre, language, from, shelved, hushed) => [`${path} ${genre} · ${language} genre from ${from}`, shelved > 0 ? ` ${shelved} shelved` : "", hushed > 0 ? ` ${hushed} stet` : ""].join(""),
|
|
135
|
+
suggested: (name, genre) => ` Looks like: ${name}. Try --genre ${genre}`,
|
|
136
|
+
suggestedNote: (name, genre, used) => ` No genre was set, so this was checked as ${used}. If it is ${name}, --genre ${genre} checks it the way that kind is written (npx chaffjs genres lists them).`,
|
|
131
137
|
noMarkdown: (targets) => `No Markdown files found: ${targets}`,
|
|
132
138
|
noMarkdownHere: "No Markdown files found.",
|
|
133
139
|
noAdapter: (language) => `No language package for "${language}".`,
|
|
@@ -138,25 +144,26 @@ export const CLI_TEXT = {
|
|
|
138
144
|
return where === "by_path" ? `by_path in chaff.yaml, files: ${files.join(", ")}` : "--genre";
|
|
139
145
|
},
|
|
140
146
|
unreadFrontMatterGenre: (path, genre, known) => `${path}: the front matter's genre "${genre}" is not a genre, so it was not used. The genres are ${known.join(", ")}.`,
|
|
147
|
+
unknownProfile: (profile, where, known) => `There is no document profile "${profile}" (${where}). The profiles are ${known.join(", ")}; none uses no profile.`,
|
|
148
|
+
profileWhere: (where, files) => (where === "config" ? "profile in chaff.yaml" : `by_path in chaff.yaml, files: ${files.join(", ")}`),
|
|
141
149
|
unknownRule: (id) => `There is no rule named ${id}. npx chaff rules --json lists them.`,
|
|
142
150
|
unknownRuleWithList: (id, list) => `There is no rule named ${id}.\nRules:\n${list}`,
|
|
143
151
|
unnamed: "(no name)",
|
|
144
|
-
sarifWritten: (path, count) => `\n Wrote SARIF: ${path} (${count
|
|
152
|
+
sarifWritten: (path, count) => `\n Wrote SARIF: ${path} (${counted(count, "finding")})`,
|
|
145
153
|
unchanged: "no change",
|
|
146
|
-
findingsUnit: " findings"
|
|
147
|
-
watching: (files, findings) => `\n Watching ${files
|
|
154
|
+
findingsUnit: (count) => ` ${formFor(count, "finding", "findings")}`,
|
|
155
|
+
watching: (files, findings) => `\n Watching ${counted(files, "file")}. ${counted(findings, "finding")} now.`,
|
|
148
156
|
watchHint: " Each save prints only what changed. Ctrl-C to stop.\n",
|
|
149
157
|
baselineDone: (files, entries, file) => [
|
|
150
158
|
"",
|
|
151
|
-
` Checked ${files
|
|
159
|
+
` Checked ${counted(files, "file")}.`,
|
|
152
160
|
"",
|
|
153
|
-
` Recorded ${entries
|
|
161
|
+
` Recorded ${counted(entries, "finding")} in ${file}.`,
|
|
154
162
|
" They will not be reported again; only new ones will.",
|
|
155
163
|
"",
|
|
156
164
|
` Commit ${file}.`,
|
|
157
165
|
"",
|
|
158
166
|
],
|
|
159
|
-
genres: (list) => ["", " Genres:", ...list.map((genre) => ` ${genre}`), "", " Set one with genre in chaff.yaml, or with --genre.", ""].join("\n"),
|
|
160
167
|
unit: (ruleId, language) => {
|
|
161
168
|
if (ruleId === "bold-density")
|
|
162
169
|
return "places per 1000 characters";
|
package/dist/cli-text.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli-text.js","sourceRoot":"","sources":["../src/cli-text.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"cli-text.js","sourceRoot":"","sources":["../src/cli-text.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAqUA,8EAA8E;AAC9E,eAAO,MAAM,QAAQ,EAAE,SAAS,MAAM,EAA0B,CAAC;AAEjE,eAAO,MAAM,IAAI,GAAU,MAAM,SAAS,MAAM,EAAE,KAAG,OAAO,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAqUA,8EAA8E;AAC9E,eAAO,MAAM,QAAQ,EAAE,SAAS,MAAM,EAA0B,CAAC;AAEjE,eAAO,MAAM,IAAI,GAAU,MAAM,SAAS,MAAM,EAAE,KAAG,OAAO,CAAC,MAAM,CAmBlE,CAAC"}
|