chaffjs 0.5.1 → 0.7.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.
Files changed (133) hide show
  1. package/dist/adapter-load.d.ts.map +1 -1
  2. package/dist/adapter-load.js +18 -2
  3. package/dist/adapter-load.js.map +1 -1
  4. package/dist/cli.d.ts.map +1 -1
  5. package/dist/cli.js +15 -1
  6. package/dist/cli.js.map +1 -1
  7. package/dist/commands/cite.d.ts +16 -0
  8. package/dist/commands/cite.d.ts.map +1 -0
  9. package/dist/commands/cite.js +69 -0
  10. package/dist/commands/cite.js.map +1 -0
  11. package/dist/commands/eval.d.ts.map +1 -1
  12. package/dist/commands/eval.js +1 -1
  13. package/dist/commands/eval.js.map +1 -1
  14. package/dist/commands/tree.d.ts +33 -0
  15. package/dist/commands/tree.d.ts.map +1 -0
  16. package/dist/commands/tree.js +76 -0
  17. package/dist/commands/tree.js.map +1 -0
  18. package/dist/config/load.d.ts +9 -0
  19. package/dist/config/load.d.ts.map +1 -1
  20. package/dist/config/load.js +27 -1
  21. package/dist/config/load.js.map +1 -1
  22. package/dist/config/rule-problems.d.ts +10 -0
  23. package/dist/config/rule-problems.d.ts.map +1 -0
  24. package/dist/config/rule-problems.js +20 -0
  25. package/dist/config/rule-problems.js.map +1 -0
  26. package/dist/detectors/index.d.ts.map +1 -1
  27. package/dist/detectors/index.js +7 -0
  28. package/dist/detectors/index.js.map +1 -1
  29. package/dist/detectors/orthography.d.ts +9 -0
  30. package/dist/detectors/orthography.d.ts.map +1 -0
  31. package/dist/detectors/orthography.js +51 -0
  32. package/dist/detectors/orthography.js.map +1 -0
  33. package/dist/detectors/structure-tree.d.ts +5 -0
  34. package/dist/detectors/structure-tree.d.ts.map +1 -0
  35. package/dist/detectors/structure-tree.js +25 -0
  36. package/dist/detectors/structure-tree.js.map +1 -0
  37. package/dist/document.d.ts +12 -0
  38. package/dist/document.d.ts.map +1 -1
  39. package/dist/document.js +34 -3
  40. package/dist/document.js.map +1 -1
  41. package/dist/eval.d.ts +5 -1
  42. package/dist/eval.d.ts.map +1 -1
  43. package/dist/eval.js +23 -7
  44. package/dist/eval.js.map +1 -1
  45. package/dist/heading-text.d.ts +14 -0
  46. package/dist/heading-text.d.ts.map +1 -0
  47. package/dist/heading-text.js +28 -0
  48. package/dist/heading-text.js.map +1 -0
  49. package/dist/orthography.d.ts +21 -0
  50. package/dist/orthography.d.ts.map +1 -0
  51. package/dist/orthography.js +110 -0
  52. package/dist/orthography.js.map +1 -0
  53. package/dist/plugin.d.ts +71 -0
  54. package/dist/plugin.d.ts.map +1 -1
  55. package/dist/position.d.ts.map +1 -1
  56. package/dist/position.js +21 -1
  57. package/dist/position.js.map +1 -1
  58. package/dist/render/rules-json.d.ts.map +1 -1
  59. package/dist/render/rules-json.js +11 -1
  60. package/dist/render/rules-json.js.map +1 -1
  61. package/dist/run.d.ts +3 -1
  62. package/dist/run.d.ts.map +1 -1
  63. package/dist/run.js +11 -5
  64. package/dist/run.js.map +1 -1
  65. package/dist/structure/build.d.ts +20 -0
  66. package/dist/structure/build.d.ts.map +1 -0
  67. package/dist/structure/build.js +165 -0
  68. package/dist/structure/build.js.map +1 -0
  69. package/dist/structure/cite.d.ts +21 -0
  70. package/dist/structure/cite.d.ts.map +1 -0
  71. package/dist/structure/cite.js +91 -0
  72. package/dist/structure/cite.js.map +1 -0
  73. package/dist/structure/issues.d.ts +15 -0
  74. package/dist/structure/issues.d.ts.map +1 -0
  75. package/dist/structure/issues.js +53 -0
  76. package/dist/structure/issues.js.map +1 -0
  77. package/dist/structure/lines.d.ts +15 -0
  78. package/dist/structure/lines.d.ts.map +1 -0
  79. package/dist/structure/lines.js +33 -0
  80. package/dist/structure/lines.js.map +1 -0
  81. package/dist/structure/markdown-path.d.ts +3 -0
  82. package/dist/structure/markdown-path.d.ts.map +1 -0
  83. package/dist/structure/markdown-path.js +5 -0
  84. package/dist/structure/markdown-path.js.map +1 -0
  85. package/dist/structure/numbering.d.ts +9 -0
  86. package/dist/structure/numbering.d.ts.map +1 -0
  87. package/dist/structure/numbering.js +38 -0
  88. package/dist/structure/numbering.js.map +1 -0
  89. package/dist/structure/of.d.ts +13 -0
  90. package/dist/structure/of.d.ts.map +1 -0
  91. package/dist/structure/of.js +8 -0
  92. package/dist/structure/of.js.map +1 -0
  93. package/dist/structure/sexp.d.ts +7 -0
  94. package/dist/structure/sexp.d.ts.map +1 -0
  95. package/dist/structure/sexp.js +25 -0
  96. package/dist/structure/sexp.js.map +1 -0
  97. package/dist/structure/universal.d.ts +7 -0
  98. package/dist/structure/universal.d.ts.map +1 -0
  99. package/dist/structure/universal.js +21 -0
  100. package/dist/structure/universal.js.map +1 -0
  101. package/package.json +3 -3
  102. package/rules/dangling-reference.yaml +27 -0
  103. package/rules/duplicate-definition.yaml +26 -0
  104. package/rules/latin-spacing.yaml +27 -0
  105. package/rules/numbering-gap.yaml +26 -0
  106. package/rules/preferred-term.yaml +27 -0
  107. package/src/adapter-load.ts +19 -2
  108. package/src/cli.ts +16 -1
  109. package/src/commands/cite.ts +74 -0
  110. package/src/commands/eval.ts +1 -0
  111. package/src/commands/tree.ts +94 -0
  112. package/src/config/load.ts +43 -1
  113. package/src/config/rule-problems.ts +24 -0
  114. package/src/detectors/index.ts +7 -0
  115. package/src/detectors/orthography.ts +55 -0
  116. package/src/detectors/structure-tree.ts +32 -0
  117. package/src/document.ts +49 -6
  118. package/src/eval.ts +27 -7
  119. package/src/heading-text.ts +26 -0
  120. package/src/orthography.ts +115 -0
  121. package/src/plugin.ts +75 -0
  122. package/src/position.ts +21 -1
  123. package/src/render/rules-json.ts +10 -1
  124. package/src/run.ts +22 -5
  125. package/src/structure/build.ts +205 -0
  126. package/src/structure/cite.ts +115 -0
  127. package/src/structure/issues.ts +63 -0
  128. package/src/structure/lines.ts +32 -0
  129. package/src/structure/markdown-path.ts +6 -0
  130. package/src/structure/numbering.ts +44 -0
  131. package/src/structure/of.ts +15 -0
  132. package/src/structure/sexp.ts +28 -0
  133. package/src/structure/universal.ts +21 -0
@@ -1 +1 @@
1
- {"version":3,"file":"adapter-load.d.ts","sourceRoot":"","sources":["../src/adapter-load.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAkCnD;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,KAAG,MAAM,GAAG,SAOtD,CAAC;AAOF,eAAO,MAAM,UAAU,GAAI,UAAU,MAAM,KAAG,MAAM,GAAG,SAAsC,CAAC;AAE9F;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,eAAe,CAS3E,CAAC"}
1
+ {"version":3,"file":"adapter-load.d.ts","sourceRoot":"","sources":["../src/adapter-load.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAkCnD;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,OAAO,OAAO,KAAG,MAAM,GAAG,SAOtD,CAAC;AAaF,eAAO,MAAM,UAAU,GAAI,UAAU,MAAM,KAAG,MAAM,GAAG,SAC8C,CAAC;AAYtG;;;;GAIG;AACH,eAAO,MAAM,WAAW,GAAU,UAAU,MAAM,KAAG,OAAO,CAAC,eAAe,CAS3E,CAAC"}
@@ -52,7 +52,23 @@ const pickExport = (module) => {
52
52
  const record = { ...module };
53
53
  return isAdapter(record["adapter"]) ? record["adapter"] : record["default"];
54
54
  };
55
- export const packageFor = (language) => ADAPTER_PACKAGE[language];
55
+ /**
56
+ * 同梱の言語は表から、それ以外は `@chaffjs/lang-<言語>` を探す。
57
+ * 利用者が lang-zh のようなパッケージを書いて入れれば、core を変えずにその言語で動く。
58
+ */
59
+ const LANGUAGE_ID = /^[a-z]{2,3}$/u;
60
+ export const packageFor = (language) => ADAPTER_PACKAGE[language] ?? (LANGUAGE_ID.test(language) ? `@chaffjs/lang-${language}` : undefined);
61
+ const importAdapter = async (specifier, language) => {
62
+ try {
63
+ return await import(__rewriteRelativeImportExtension(specifier));
64
+ }
65
+ catch (err) {
66
+ const missing = err instanceof Error && "code" in err && err.code === "ERR_MODULE_NOT_FOUND";
67
+ if (missing)
68
+ throw new Error(`言語 ${language} のパッケージ ${specifier} が入っていません(npm i -D ${specifier})`, { cause: err });
69
+ throw err;
70
+ }
71
+ };
56
72
  /**
57
73
  * アダプタは「必要になったものだけ」を実行時に解決する。spec §17.2。
58
74
  * core だけで起動し、文字種で言語を当ててから、その言語のアダプタを読む。
@@ -62,7 +78,7 @@ export const loadAdapter = async (language) => {
62
78
  const specifier = packageFor(language);
63
79
  if (specifier === undefined)
64
80
  throw new Error(`no adapter for language "${language}"`);
65
- const module = await import(__rewriteRelativeImportExtension(specifier));
81
+ const module = await importAdapter(specifier, language);
66
82
  if (typeof module !== "object" || module === null)
67
83
  throw new Error(`${specifier} did not export a module`);
68
84
  const candidate = pickExport(module);
@@ -1 +1 @@
1
- {"version":3,"file":"adapter-load.js","sourceRoot":"","sources":["../src/adapter-load.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"adapter-load.js","sourceRoot":"","sources":["../src/adapter-load.ts"],"names":[],"mappings":";;;;;;;;AAEA,MAAM,eAAe,GAAqC,EAAE,EAAE,EAAE,kBAAkB,EAAE,EAAE,EAAE,kBAAkB,EAAE,CAAC;AAE7G,+CAA+C;AAC/C,MAAM,WAAW,GAAG,CAAC,CAAC;AAEtB,MAAM,cAAc,GAAG,CAAC,KAAc,EAAW,EAAE;IACjD,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,MAAM,GAA4B,EAAE,GAAG,KAAK,EAAE,CAAC;IACrD,MAAM,IAAI,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;IAClC,OAAO,CACL,MAAM,CAAC,eAAe,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,KAAK,MAAM,IAAI,IAAI,KAAK,MAAM,CAAC,IAAI,CAAC,WAAW,EAAE,KAAK,EAAE,OAAO,CAAC,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,SAAS,CAAC,CAC7J,CAAC;AACJ,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,SAAS,GAAG,CAAC,KAAc,EAA4B,EAAE;IAC7D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,KAAK,CAAC;IAC9D,MAAM,MAAM,GAA4B,EAAE,GAAG,KAAK,EAAE,CAAC;IACrD,OAAO,CACL,MAAM,CAAC,MAAM,CAAC,KAAK,UAAU;QAC7B,OAAO,MAAM,CAAC,IAAI,CAAC,KAAK,QAAQ;QAChC,MAAM,CAAC,IAAI,CAAC,KAAK,EAAE;QACnB,MAAM,CAAC,YAAY,CAAC,KAAK,WAAW;QACpC,OAAO,MAAM,CAAC,SAAS,CAAC,KAAK,UAAU;QACvC,OAAO,MAAM,CAAC,QAAQ,CAAC,KAAK,UAAU;QACtC,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC,CACvC,CAAC;AACJ,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,KAAc,EAAsB,EAAE;IACjE,IAAI,SAAS,CAAC,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IACvC,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,gBAAgB,CAAC;IACzE,MAAM,MAAM,GAA4B,EAAE,GAAG,KAAK,EAAE,CAAC;IACrD,IAAI,MAAM,CAAC,YAAY,CAAC,KAAK,WAAW;QAAE,OAAO,gBAAgB,MAAM,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,cAAc,MAAM,CAAC,WAAW,CAAC,GAAG,CAAC;IAClI,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAAE,OAAO,sBAAsB,CAAC;IAC3E,OAAO,yCAAyC,CAAC;AACnD,CAAC,CAAC;AAEF,MAAM,UAAU,GAAG,CAAC,MAAc,EAAW,EAAE;IAC7C,MAAM,MAAM,GAA4B,EAAE,GAAG,MAAM,EAAE,CAAC;IACtD,OAAO,SAAS,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;AAC9E,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,WAAW,GAAG,eAAe,CAAC;AAEpC,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,QAAgB,EAAsB,EAAE,CACjE,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,iBAAiB,QAAQ,EAAE,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;AAEtG,MAAM,aAAa,GAAG,KAAK,EAAE,SAAiB,EAAE,QAAgB,EAAoB,EAAE;IACpF,IAAI,CAAC;QACH,OAAO,MAAM,MAAM,kCAAC,SAAS,EAAC,CAAC;IACjC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,OAAO,GAAG,GAAG,YAAY,KAAK,IAAI,MAAM,IAAI,GAAG,IAAI,GAAG,CAAC,IAAI,KAAK,sBAAsB,CAAC;QAC7F,IAAI,OAAO;YAAE,MAAM,IAAI,KAAK,CAAC,MAAM,QAAQ,WAAW,SAAS,sBAAsB,SAAS,GAAG,EAAE,EAAE,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC;QACnH,MAAM,GAAG,CAAC;IACZ,CAAC;AACH,CAAC,CAAC;AAEF;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,KAAK,EAAE,QAAgB,EAA4B,EAAE;IAC9E,MAAM,SAAS,GAAG,UAAU,CAAC,QAAQ,CAAC,CAAC;IACvC,IAAI,SAAS,KAAK,SAAS;QAAE,MAAM,IAAI,KAAK,CAAC,4BAA4B,QAAQ,GAAG,CAAC,CAAC;IACtF,MAAM,MAAM,GAAG,MAAM,aAAa,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAC;IACxD,IAAI,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,0BAA0B,CAAC,CAAC;IAC3G,MAAM,SAAS,GAAG,UAAU,CAAC,MAAM,CAAC,CAAC;IACrC,MAAM,MAAM,GAAG,YAAY,CAAC,SAAS,CAAC,CAAC;IACvC,IAAI,MAAM,KAAK,SAAS,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC;QAAE,MAAM,IAAI,KAAK,CAAC,GAAG,SAAS,uCAAuC,MAAM,IAAI,EAAE,EAAE,CAAC,CAAC;IACtI,OAAO,SAAS,CAAC;AACnB,CAAC,CAAC"}
package/dist/cli.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAqSA,eAAO,MAAM,IAAI,GAAU,MAAM,SAAS,MAAM,EAAE,KAAG,OAAO,CAAC,MAAM,CAUlE,CAAC"}
1
+ {"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"AAoTA,eAAO,MAAM,IAAI,GAAU,MAAM,SAAS,MAAM,EAAE,KAAG,OAAO,CAAC,MAAM,CAUlE,CAAC"}
package/dist/cli.js CHANGED
@@ -23,6 +23,9 @@ import { renderFriendly } from "./render/friendly.js";
23
23
  import { rulesJson } from "./render/rules-json.js";
24
24
  import { renderSarif } from "./render/sarif.js";
25
25
  import { VERSION } from "./version.js";
26
+ import { runTree, treeTargets } from "./commands/tree.js";
27
+ import { citeTargets, runCite } from "./commands/cite.js";
28
+ import { ruleProblems } from "./config/rule-problems.js";
26
29
  import { renderSummary } from "./render/summary.js";
27
30
  import { neededBy, runRules } from "./run.js";
28
31
  const USAGE = `chaff — 文章の読みにくいところを見つけます。文章は書き換えません。
@@ -35,6 +38,8 @@ const USAGE = `chaff — 文章の読みにくいところを見つけます。
35
38
  chaff eval <dir> 手元の文書で閾値を測り直す
36
39
  chaff explain <rule> そのルールの意図と根拠を読む
37
40
  chaff genres ジャンルの一覧
41
+ chaff tree <file> [--format sexp|json] 文書を番地の付いた木にする(条・項・定義・参照)
42
+ chaff cite <原文> <引用.json> 回答の引用(番地と引用文)が原文にあるかを確かめる
38
43
  chaff rules --json いまの設定を JSON で出す(AI に渡す用)
39
44
  chaff baseline <dir> いまある指摘を棚上げする(既存の repo に入れるとき)
40
45
  chaff suppressions <dir> stet で黙らせている指摘を数える
@@ -92,7 +97,7 @@ const inspect = async (path, config, argv) => {
92
97
  const experimental = config.experimental || argv.includes("--experimental");
93
98
  await adapter.prepare?.(neededBy(rules, config.rules, experimental, genre, language));
94
99
  const doc = buildDocument(path, source, adapter, teamRules(config));
95
- const raw = runRules(doc, rules, config.rules, experimental, genre);
100
+ const raw = runRules(doc, rules, config.rules, experimental, genre, config.limits);
96
101
  // 応答は 3 つ。stet で黙らせたものは、ここで落とす。
97
102
  const applied = applySuppressions(source, raw.findings, doc.sections.map((section) => section.span));
98
103
  const baseline = argv.includes("--show-baseline") ? undefined : readBaseline(join(process.cwd(), BASELINE_FILE));
@@ -123,6 +128,10 @@ const writeSarif = (results, argv) => {
123
128
  writeFileSync(path, renderSarif(located, VERSION), "utf8");
124
129
  console.log(`\n SARIF を書きました: ${path}(${located.length} 件)`);
125
130
  };
131
+ /** 効いていない設定は、結果の前に一度だけ言う。標準エラーに出すので、JSON や SARIF の出力は汚さない。 */
132
+ const warnRuleProblems = (config, language) => {
133
+ ruleProblems(config, loadRules(language)).forEach((problem) => console.error(`chaff: ${problem}`));
134
+ };
126
135
  const lint = async (targets, argv) => {
127
136
  const paths = collectTargets(targets);
128
137
  if (paths.length === 0) {
@@ -136,6 +145,7 @@ const lint = async (targets, argv) => {
136
145
  console.error(`言語 "${language}" のアダプタがありません。`);
137
146
  return 1;
138
147
  }
148
+ warnRuleProblems(config, language);
139
149
  const results = await Promise.all(paths.map((path) => inspect(path, config, argv)));
140
150
  writeSarif(results, argv);
141
151
  results.filter((result) => result.outcome.findings.length > 0 || paths.length === 1).forEach((result) => console.log(result.text));
@@ -153,6 +163,7 @@ const runWatch = async (targets, argv) => {
153
163
  return 1;
154
164
  }
155
165
  const config = readConfig();
166
+ warnRuleProblems(config, config.language ?? "ja");
156
167
  const seen = new Map();
157
168
  const once = async (path, first) => {
158
169
  const result = await inspect(path, config, argv);
@@ -232,6 +243,7 @@ const positional = (argv) => argv.slice(1).filter((arg) => !arg.startsWith("--")
232
243
  const showRules = () => {
233
244
  const config = readConfig();
234
245
  const language = config.language ?? "ja";
246
+ warnRuleProblems(config, language);
235
247
  console.log(rulesJson(loadRules(language), config, language, config.genre ?? "blog/tech"));
236
248
  return 0;
237
249
  };
@@ -249,6 +261,8 @@ const HANDLERS = {
249
261
  rules: showRules,
250
262
  explain: (argv) => explain(argv[1]),
251
263
  eval: (argv) => runEval(positional(argv), argv, { config: readConfig(), resolveGenre, flag }),
264
+ tree: (argv) => runTree(treeTargets(argv), argv, { config: readConfig(), flag }),
265
+ cite: (argv) => runCite(citeTargets(argv), argv, { config: readConfig(), flag }),
252
266
  test: (argv) => runTest(positional(argv), argv, { config: readConfig(), resolveGenre, inspect }),
253
267
  baseline: (argv) => runBaseline(positional(argv), argv),
254
268
  suppressions: (argv) => runSuppressions(positional(argv), argv),
package/dist/cli.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,16 @@
1
+ import { type Citation } from "../structure/cite.ts";
2
+ import { type TreeContext } from "./tree.ts";
3
+ export declare const citeTargets: (argv: readonly string[]) => string[];
4
+ export type ParsedCitations = {
5
+ readonly citations: readonly Citation[];
6
+ } | {
7
+ readonly error: string;
8
+ };
9
+ /** 引用の一覧。[{ address, quote }] の配列だけを受け取る。形が違えば理由を返す。 */
10
+ export declare const parseCitations: (text: string) => ParsedCitations;
11
+ /**
12
+ * 回答の引用が原文にあるかを確かめる。書き換えはしない。
13
+ * 一つでも外れていれば 1 で終わるので、AI の回答を単体試験のように検査できる。
14
+ */
15
+ export declare const runCite: (targets: readonly string[], argv: readonly string[], context: TreeContext) => Promise<number>;
16
+ //# sourceMappingURL=cite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cite.d.ts","sourceRoot":"","sources":["../../src/commands/cite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAkB,KAAK,QAAQ,EAAuB,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EAAwB,KAAK,WAAW,EAAE,MAAM,WAAW,CAAC;AAOnE,eAAO,MAAM,WAAW,GAAI,MAAM,SAAS,MAAM,EAAE,KAAG,MAAM,EACgD,CAAC;AAM7G,MAAM,MAAM,eAAe,GAAG;IAAE,QAAQ,CAAC,SAAS,EAAE,SAAS,QAAQ,EAAE,CAAA;CAAE,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAAC;AAUvG,wDAAwD;AACxD,eAAO,MAAM,cAAc,GAAI,MAAM,MAAM,KAAG,eAQ7C,CAAC;AAgBF;;;GAGG;AACH,eAAO,MAAM,OAAO,GAAU,SAAS,SAAS,MAAM,EAAE,EAAE,MAAM,SAAS,MAAM,EAAE,EAAE,SAAS,WAAW,KAAG,OAAO,CAAC,MAAM,CAmBvH,CAAC"}
@@ -0,0 +1,69 @@
1
+ import { checkCitations } from "../structure/cite.js";
2
+ import { readSource, readTree } from "./tree.js";
3
+ const USAGE = "使い方: chaff cite <原文> <引用.json> [--format text|json] [--language ja|en|…]";
4
+ const FORMATS = ["text", "json"];
5
+ const QUOTE_WIDTH = 40;
6
+ const VALUED = ["--format", "--language"];
7
+ export const citeTargets = (argv) => argv.slice(1).filter((arg, index, all) => !arg.startsWith("--") && !VALUED.includes(all[index - 1] ?? ""));
8
+ const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
9
+ const isCitation = (value) => isRecord(value) && typeof value["address"] === "string" && typeof value["quote"] === "string";
10
+ const parseJson = (text) => {
11
+ try {
12
+ return { value: JSON.parse(text) };
13
+ }
14
+ catch (err) {
15
+ return { error: `JSON として読めません: ${err instanceof Error ? err.message : String(err)}` };
16
+ }
17
+ };
18
+ /** 引用の一覧。[{ address, quote }] の配列だけを受け取る。形が違えば理由を返す。 */
19
+ export const parseCitations = (text) => {
20
+ const parsed = parseJson(text);
21
+ if ("error" in parsed)
22
+ return parsed;
23
+ if (!Array.isArray(parsed.value))
24
+ return { error: '引用は配列で渡してください: [{ "address": "3.2", "quote": "…" }]' };
25
+ const entries = parsed.value;
26
+ const bad = entries.findIndex((entry) => !isCitation(entry));
27
+ if (bad !== -1)
28
+ return { error: `${String(bad + 1)} 件目に address(文字列)と quote(文字列)がありません` };
29
+ return { citations: entries.filter(isCitation).map((entry) => ({ address: entry.address, quote: entry.quote })) };
30
+ };
31
+ const MESSAGES = {
32
+ ok: () => "一致",
33
+ "missing-address": (result) => `番地 ${result.citation.address} は原文にありません`,
34
+ "quote-elsewhere": (result) => `引用文は ${result.citation.address} ではなく ${result.foundAt ?? "番地の外"}(${String(result.line ?? "?")} 行目)にあります`,
35
+ "quote-not-found": () => "引用文が原文のどこにもありません",
36
+ };
37
+ const describe = (result) => {
38
+ const mark = result.status === "ok" ? "✓" : "✗";
39
+ const oneLine = result.citation.quote.replace(/\s+/gu, " ").trim();
40
+ const quote = oneLine.length > QUOTE_WIDTH ? `${oneLine.slice(0, QUOTE_WIDTH)}…` : oneLine;
41
+ return `${mark} ${result.citation.address}「${quote}」: ${MESSAGES[result.status](result)}`;
42
+ };
43
+ /**
44
+ * 回答の引用が原文にあるかを確かめる。書き換えはしない。
45
+ * 一つでも外れていれば 1 で終わるので、AI の回答を単体試験のように検査できる。
46
+ */
47
+ export const runCite = async (targets, argv, context) => {
48
+ const [sourcePath, citationsPath] = targets;
49
+ const format = context.flag(argv, "--format") ?? "text";
50
+ if (sourcePath === undefined || citationsPath === undefined || targets.length !== 2 || !FORMATS.includes(format)) {
51
+ console.error(USAGE);
52
+ return 1;
53
+ }
54
+ const citationsText = await readSource(citationsPath);
55
+ if (citationsText === undefined)
56
+ return 1;
57
+ const parsed = parseCitations(citationsText);
58
+ if ("error" in parsed) {
59
+ console.error(`${citationsPath}: ${parsed.error}`);
60
+ return 1;
61
+ }
62
+ const read = await readTree(sourcePath, argv, context);
63
+ if (read === undefined)
64
+ return 1;
65
+ const results = checkCitations(read.source, read.tree, parsed.citations);
66
+ console.log(format === "json" ? JSON.stringify(results, null, 2) : results.map(describe).join("\n"));
67
+ return results.every((result) => result.status === "ok") ? 0 : 1;
68
+ };
69
+ //# sourceMappingURL=cite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"cite.js","sourceRoot":"","sources":["../../src/commands/cite.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAsC,MAAM,sBAAsB,CAAC;AAC1F,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAoB,MAAM,WAAW,CAAC;AAEnE,MAAM,KAAK,GAAG,0EAA0E,CAAC;AACzF,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACjC,MAAM,WAAW,GAAG,EAAE,CAAC;AACvB,MAAM,MAAM,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AAE1C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAuB,EAAY,EAAE,CAC/D,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAE7G,MAAM,QAAQ,GAAG,CAAC,KAAc,EAAoC,EAAE,CAAC,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,KAAK,IAAI,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;AAE5I,MAAM,UAAU,GAAG,CAAC,KAAc,EAAqB,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,OAAO,KAAK,CAAC,SAAS,CAAC,KAAK,QAAQ,IAAI,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,QAAQ,CAAC;AAIxJ,MAAM,SAAS,GAAG,CAAC,IAAY,EAA4D,EAAE;IAC3F,IAAI,CAAC;QACH,OAAO,EAAE,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;IACrC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,EAAE,KAAK,EAAE,kBAAkB,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,EAAE,CAAC;IACzF,CAAC;AACH,CAAC,CAAC;AAEF,wDAAwD;AACxD,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,IAAY,EAAmB,EAAE;IAC9D,MAAM,MAAM,GAAG,SAAS,CAAC,IAAI,CAAC,CAAC;IAC/B,IAAI,OAAO,IAAI,MAAM;QAAE,OAAO,MAAM,CAAC;IACrC,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,qDAAqD,EAAE,CAAC;IAC1G,MAAM,OAAO,GAAuB,MAAM,CAAC,KAAK,CAAC;IACjD,MAAM,GAAG,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC;IAC7D,IAAI,GAAG,KAAK,CAAC,CAAC;QAAE,OAAO,EAAE,KAAK,EAAE,GAAG,MAAM,CAAC,GAAG,GAAG,CAAC,CAAC,qCAAqC,EAAE,CAAC;IAC1F,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC,EAAE,OAAO,EAAE,KAAK,CAAC,OAAO,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,EAAE,CAAC;AACpH,CAAC,CAAC;AAEF,MAAM,QAAQ,GAAmF;IAC/F,EAAE,EAAE,GAAG,EAAE,CAAC,IAAI;IACd,iBAAiB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,MAAM,CAAC,QAAQ,CAAC,OAAO,YAAY;IACxE,iBAAiB,EAAE,CAAC,MAAM,EAAE,EAAE,CAAC,QAAQ,MAAM,CAAC,QAAQ,CAAC,OAAO,SAAS,MAAM,CAAC,OAAO,IAAI,MAAM,IAAI,MAAM,CAAC,MAAM,CAAC,IAAI,IAAI,GAAG,CAAC,WAAW;IACxI,iBAAiB,EAAE,GAAG,EAAE,CAAC,kBAAkB;CAC5C,CAAC;AAEF,MAAM,QAAQ,GAAG,CAAC,MAAsB,EAAU,EAAE;IAClD,MAAM,IAAI,GAAG,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,GAAG,CAAC;IAChD,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC;IACnE,MAAM,KAAK,GAAG,OAAO,CAAC,MAAM,GAAG,WAAW,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,OAAO,CAAC;IAC3F,OAAO,GAAG,IAAI,IAAI,MAAM,CAAC,QAAQ,CAAC,OAAO,IAAI,KAAK,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC,MAAM,CAAC,EAAE,CAAC;AAC5F,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,OAA0B,EAAE,IAAuB,EAAE,OAAoB,EAAmB,EAAE;IAC1H,MAAM,CAAC,UAAU,EAAE,aAAa,CAAC,GAAG,OAAO,CAAC;IAC5C,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC;IACxD,IAAI,UAAU,KAAK,SAAS,IAAI,aAAa,KAAK,SAAS,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACjH,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,aAAa,GAAG,MAAM,UAAU,CAAC,aAAa,CAAC,CAAC;IACtD,IAAI,aAAa,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC;IAC1C,MAAM,MAAM,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;IAC7C,IAAI,OAAO,IAAI,MAAM,EAAE,CAAC;QACtB,OAAO,CAAC,KAAK,CAAC,GAAG,aAAa,KAAK,MAAM,CAAC,KAAK,EAAE,CAAC,CAAC;QACnD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACvD,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,CAAC,CAAC;IACjC,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC,SAAS,CAAC,CAAC;IACzE,OAAO,CAAC,GAAG,CAAC,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IACrG,OAAO,OAAO,CAAC,KAAK,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,MAAM,KAAK,IAAI,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACnE,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"eval.d.ts","sourceRoot":"","sources":["../../src/commands/eval.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACzG,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CAC9E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,OAAO,GAAU,SAAS,SAAS,MAAM,EAAE,EAAE,MAAM,SAAS,MAAM,EAAE,EAAE,SAAS,OAAO,KAAG,OAAO,CAAC,MAAM,CA4CnH,CAAC"}
1
+ {"version":3,"file":"eval.d.ts","sourceRoot":"","sources":["../../src/commands/eval.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAEhD,MAAM,MAAM,OAAO,GAAG;IACpB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,YAAY,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IACzG,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CAC9E,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,OAAO,GAAU,SAAS,SAAS,MAAM,EAAE,EAAE,MAAM,SAAS,MAAM,EAAE,EAAE,SAAS,OAAO,KAAG,OAAO,CAAC,MAAM,CA6CnH,CAAC"}
@@ -41,7 +41,7 @@ export const runEval = async (targets, argv, context) => {
41
41
  console.error(`${only ?? "(名前なし)"} という rule はありません。`);
42
42
  return 1;
43
43
  }
44
- console.log(renderEval(evaluate(docs.map((entry) => entry.doc), rules, genre, language), docs.length, paths.length));
44
+ console.log(renderEval(evaluate(docs.map((entry) => entry.doc), rules, genre, language, config.limits), docs.length, paths.length));
45
45
  return 0;
46
46
  };
47
47
  //# sourceMappingURL=eval.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"eval.js","sourceRoot":"","sources":["../../src/commands/eval.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,gBAAgB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAC7C,OAAO,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AAC5C,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,QAAQ,EAAE,MAAM,WAAW,CAAC;AASrC;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,OAA0B,EAAE,IAAuB,EAAE,OAAgB,EAAmB,EAAE;IACtH,MAAM,KAAK,GAAG,cAAc,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC;IACnE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,CAAC,8BAA8B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClE,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC;IAC/C,MAAM,IAAI,GAAG,IAAI,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;IAClC,MAAM,IAAI,GAAG,MAAM,OAAO,CAAC,GAAG,CAC5B,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;QACvB,MAAM,MAAM,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;QAC5C,MAAM,QAAQ,GAAG,WAAW,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,QAAQ,IAAI,MAAM,CAAC,QAAQ,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC;QAChI,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;QAC5C,MAAM,EAAE,KAAK,EAAE,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QACrD,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,YAAY,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC;QAC3G,OAAO,EAAE,GAAG,EAAE,aAAa,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,SAAS,CAAC,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC;IAC3F,CAAC,CAAC,CACH,CAAC;IACF,MAAM,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,QAAQ,IAAI,IAAI,CAAC;IAC3C,MAAM,KAAK,GAAG,IAAI,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,WAAW,CAAC;IAC5C,wCAAwC;IACxC,MAAM,KAAK,GAAG,IAAI,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,QAAQ,IAAI,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;IAC/E,IAAI,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;QACnB,OAAO,CAAC,KAAK,CAAC,oBAAoB,CAAC,GAAG,KAAK,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,wDAAwD,CAAC,CAAC;QACjH,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,KAAK,GAAG,SAAS,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,KAAK,SAAS,IAAI,IAAI,CAAC,EAAE,KAAK,IAAI,CAAC,CAAC;IAC3F,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,IAAI,QAAQ,mBAAmB,CAAC,CAAC;QACtD,OAAO,CAAC,CAAC;IACX,CAAC;IACD,OAAO,CAAC,GAAG,CACT,UAAU,CACR,QAAQ,CACN,IAAI,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,EAC9B,KAAK,EACL,KAAK,EACL,QAAQ,CACT,EACD,IAAI,CAAC,MAAM,EACX,KAAK,CAAC,MAAM,CACb,CACF,CAAC;IACF,OAAO,CAAC,CAAC;AACX,CAAC,CAAC"}
1
+ {"version":3,"file":"eval.js","sourceRoot":"","sources":["../../src/commands/eval.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,33 @@
1
+ import type { Config } from "../config/load.ts";
2
+ import type { StructureNode } from "../plugin.ts";
3
+ export type TreeContext = {
4
+ readonly config: Config;
5
+ readonly flag: (argv: readonly string[], name: string) => string | undefined;
6
+ };
7
+ export declare const treeTargets: (argv: readonly string[]) => string[];
8
+ export declare const readSource: (path: string) => Promise<string | undefined>;
9
+ /**
10
+ * 言語の決め方は lint / test / eval と同じ。そのファイルの by_path、全体の language、中身からの推定の順で、
11
+ * その前に --language を置く。混在するリポジトリで、英語の契約書を日本語として読まないため。
12
+ */
13
+ export declare const treeLanguage: (path: string, source: string, argv: readonly string[], context: TreeContext) => string;
14
+ export type SourceTree = {
15
+ readonly source: string;
16
+ readonly tree: StructureNode;
17
+ };
18
+ /**
19
+ * 1 ファイルを読んで木にする。読めない・言語パッケージが構造を読めないときは、黙らずに言って undefined を返す。
20
+ * chaff tree と chaff cite が同じ木を見るように、ここを一つにしておく。
21
+ */
22
+ export declare const readTree: (path: string, argv: readonly string[], context: TreeContext) => Promise<SourceTree | undefined>;
23
+ /**
24
+ * 1 つずつ、渡された順に処理する。前のファイルが終わってから次を始めるので、出力の順が入れ替わらない。
25
+ * 失敗したファイルがあっても残りは処理し、1 つでも失敗していれば false を返す。
26
+ */
27
+ export declare const inOrder: (paths: readonly string[], each: (path: string) => Promise<boolean>) => Promise<boolean>;
28
+ /**
29
+ * 文書を番地の付いた木にして出す。S 式は人と AI が読むため、JSON は機械が読むため。
30
+ * 書き換えはしない。Markdown でない .txt(見出しの無い契約書)も、行頭の番号で木にする。
31
+ */
32
+ export declare const runTree: (paths: readonly string[], argv: readonly string[], context: TreeContext) => Promise<number>;
33
+ //# sourceMappingURL=tree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.d.ts","sourceRoot":"","sources":["../../src/commands/tree.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAElD,MAAM,MAAM,WAAW,GAAG;IACxB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,CAAC,IAAI,EAAE,SAAS,MAAM,EAAE,EAAE,IAAI,EAAE,MAAM,KAAK,MAAM,GAAG,SAAS,CAAC;CAC9E,CAAC;AASF,eAAO,MAAM,WAAW,GAAI,MAAM,SAAS,MAAM,EAAE,KAAG,MAAM,EACgD,CAAC;AAE7G,eAAO,MAAM,UAAU,GAAU,MAAM,MAAM,KAAG,OAAO,CAAC,MAAM,GAAG,SAAS,CAOzE,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,MAAM,EAAE,QAAQ,MAAM,EAAE,MAAM,SAAS,MAAM,EAAE,EAAE,SAAS,WAAW,KAAG,MAI3E,CAAC;AAEjC,MAAM,MAAM,UAAU,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,aAAa,CAAA;CAAE,CAAC;AAEnF;;;GAGG;AACH,eAAO,MAAM,QAAQ,GAAU,MAAM,MAAM,EAAE,MAAM,SAAS,MAAM,EAAE,EAAE,SAAS,WAAW,KAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAY1H,CAAC;AASF;;;GAGG;AACH,eAAO,MAAM,OAAO,GAAU,OAAO,SAAS,MAAM,EAAE,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,OAAO,CAAC,KAAG,OAAO,CAAC,OAAO,CAIvF,CAAC;AAE5B;;;GAGG;AACH,eAAO,MAAM,OAAO,GAAU,OAAO,SAAS,MAAM,EAAE,EAAE,MAAM,SAAS,MAAM,EAAE,EAAE,SAAS,WAAW,KAAG,OAAO,CAAC,MAAM,CAQrH,CAAC"}
@@ -0,0 +1,76 @@
1
+ import { readFile } from "node:fs/promises";
2
+ import { loadAdapter } from "../adapter-load.js";
3
+ import { applyByPath } from "../config/by-path.js";
4
+ import { guessLanguage } from "../detect.js";
5
+ import { isMarkdownPath } from "../structure/markdown-path.js";
6
+ import { buildStructure } from "../structure/of.js";
7
+ import { toSexp } from "../structure/sexp.js";
8
+ const FORMATS = ["sexp", "json"];
9
+ const USAGE = "使い方: chaff tree <file>... [--format sexp|json] [--language ja|en|…]";
10
+ /** 値を取るフラグ。その次の引数は値で、対象のファイルではない。 */
11
+ const VALUED = ["--format", "--language"];
12
+ export const treeTargets = (argv) => argv.slice(1).filter((arg, index, all) => !arg.startsWith("--") && !VALUED.includes(all[index - 1] ?? ""));
13
+ export const readSource = async (path) => {
14
+ try {
15
+ return await readFile(path, "utf8");
16
+ }
17
+ catch (err) {
18
+ console.error(`${path} を読めませんでした: ${err instanceof Error ? err.message : String(err)}`);
19
+ return undefined;
20
+ }
21
+ };
22
+ /**
23
+ * 言語の決め方は lint / test / eval と同じ。そのファイルの by_path、全体の language、中身からの推定の順で、
24
+ * その前に --language を置く。混在するリポジトリで、英語の契約書を日本語として読まないため。
25
+ */
26
+ export const treeLanguage = (path, source, argv, context) => context.flag(argv, "--language") ??
27
+ applyByPath(context.config.byPath, context.config.baseDir, path).language ??
28
+ context.config.language ??
29
+ guessLanguage(source).language;
30
+ /**
31
+ * 1 ファイルを読んで木にする。読めない・言語パッケージが構造を読めないときは、黙らずに言って undefined を返す。
32
+ * chaff tree と chaff cite が同じ木を見るように、ここを一つにしておく。
33
+ */
34
+ export const readTree = async (path, argv, context) => {
35
+ const source = await readSource(path);
36
+ if (source === undefined)
37
+ return undefined;
38
+ const language = treeLanguage(path, source, argv, context);
39
+ const adapter = await loadAdapter(language);
40
+ if (adapter.structure === undefined) {
41
+ console.error(`${path}: 言語 ${language} のパッケージは文書の構造を読めません(structure がありません)`);
42
+ return undefined;
43
+ }
44
+ // 日本語は形態素で数量と日付を読む。解析器が無ければ単位の表で読むので、木は作れる。
45
+ await adapter.prepare?.({ pos: true });
46
+ return { source, tree: buildStructure({ path, source, language, markdown: isMarkdownPath(path) }, adapter.structure) };
47
+ };
48
+ const printTree = async (path, argv, context) => {
49
+ const read = await readTree(path, argv, context);
50
+ if (read === undefined)
51
+ return false;
52
+ console.log(context.flag(argv, "--format") === "json" ? JSON.stringify(read.tree, null, 2) : toSexp(read.tree));
53
+ return true;
54
+ };
55
+ /**
56
+ * 1 つずつ、渡された順に処理する。前のファイルが終わってから次を始めるので、出力の順が入れ替わらない。
57
+ * 失敗したファイルがあっても残りは処理し、1 つでも失敗していれば false を返す。
58
+ */
59
+ export const inOrder = async (paths, each) => paths.reduce(async (previous, path) => {
60
+ const earlier = await previous;
61
+ return (await each(path)) && earlier;
62
+ }, Promise.resolve(true));
63
+ /**
64
+ * 文書を番地の付いた木にして出す。S 式は人と AI が読むため、JSON は機械が読むため。
65
+ * 書き換えはしない。Markdown でない .txt(見出しの無い契約書)も、行頭の番号で木にする。
66
+ */
67
+ export const runTree = async (paths, argv, context) => {
68
+ const format = context.flag(argv, "--format") ?? "sexp";
69
+ if (paths.length === 0 || !FORMATS.includes(format)) {
70
+ console.error(USAGE);
71
+ return 1;
72
+ }
73
+ const printed = await inOrder(paths, (path) => printTree(path, argv, context));
74
+ return printed ? 0 : 1;
75
+ };
76
+ //# sourceMappingURL=tree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"tree.js","sourceRoot":"","sources":["../../src/commands/tree.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,kBAAkB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AACjD,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC7C,OAAO,EAAE,cAAc,EAAE,MAAM,+BAA+B,CAAC;AAC/D,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,sBAAsB,CAAC;AAS9C,MAAM,OAAO,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AAEjC,MAAM,KAAK,GAAG,qEAAqE,CAAC;AAEpF,qCAAqC;AACrC,MAAM,MAAM,GAAG,CAAC,UAAU,EAAE,YAAY,CAAC,CAAC;AAE1C,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,IAAuB,EAAY,EAAE,CAC/D,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,GAAG,CAAC,KAAK,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC,CAAC;AAE7G,MAAM,CAAC,MAAM,UAAU,GAAG,KAAK,EAAE,IAAY,EAA+B,EAAE;IAC5E,IAAI,CAAC;QACH,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IACtC,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,eAAe,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QACxF,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,MAAc,EAAE,IAAuB,EAAE,OAAoB,EAAU,EAAE,CAClH,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,YAAY,CAAC;IAChC,WAAW,CAAC,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,MAAM,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,QAAQ;IACzE,OAAO,CAAC,MAAM,CAAC,QAAQ;IACvB,aAAa,CAAC,MAAM,CAAC,CAAC,QAAQ,CAAC;AAIjC;;;GAGG;AACH,MAAM,CAAC,MAAM,QAAQ,GAAG,KAAK,EAAE,IAAY,EAAE,IAAuB,EAAE,OAAoB,EAAmC,EAAE;IAC7H,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC,IAAI,CAAC,CAAC;IACtC,IAAI,MAAM,KAAK,SAAS;QAAE,OAAO,SAAS,CAAC;IAC3C,MAAM,QAAQ,GAAG,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC3D,MAAM,OAAO,GAAG,MAAM,WAAW,CAAC,QAAQ,CAAC,CAAC;IAC5C,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;QACpC,OAAO,CAAC,KAAK,CAAC,GAAG,IAAI,QAAQ,QAAQ,uCAAuC,CAAC,CAAC;QAC9E,OAAO,SAAS,CAAC;IACnB,CAAC;IACD,4CAA4C;IAC5C,MAAM,OAAO,CAAC,OAAO,EAAE,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC;IACvC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,cAAc,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,cAAc,CAAC,IAAI,CAAC,EAAE,EAAE,OAAO,CAAC,SAAS,CAAC,EAAE,CAAC;AACzH,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,KAAK,EAAE,IAAY,EAAE,IAAuB,EAAE,OAAoB,EAAoB,EAAE;IACxG,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACjD,IAAI,IAAI,KAAK,SAAS;QAAE,OAAO,KAAK,CAAC;IACrC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,KAAK,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAChH,OAAO,IAAI,CAAC;AACd,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,KAAwB,EAAE,IAAwC,EAAoB,EAAE,CACpH,KAAK,CAAC,MAAM,CAAmB,KAAK,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE;IACtD,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC;IAC/B,OAAO,CAAC,MAAM,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,OAAO,CAAC;AACvC,CAAC,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;AAE5B;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,KAAK,EAAE,KAAwB,EAAE,IAAuB,EAAE,OAAoB,EAAmB,EAAE;IACxH,MAAM,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE,UAAU,CAAC,IAAI,MAAM,CAAC;IACxD,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAC,EAAE,CAAC;QACpD,OAAO,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;QACrB,OAAO,CAAC,CAAC;IACX,CAAC;IACD,MAAM,OAAO,GAAG,MAAM,OAAO,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,EAAE,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC,CAAC;IAC/E,OAAO,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACzB,CAAC,CAAC"}
@@ -7,12 +7,21 @@ export type Config = {
7
7
  readonly aiBackend: BackendName;
8
8
  readonly language: string | undefined;
9
9
  readonly rules: Readonly<Record<string, Level>>;
10
+ /** rules に数値で書いた上限。段階の 4 語では足りないときに、その rule の数値を直接決める。段階は normal として扱う。 */
11
+ readonly limits: Readonly<Record<string, number>>;
12
+ /** rules に書かれていたが読めなかった値。黙って捨てると、書いた設定が効いていないことに気づけない。 */
13
+ readonly unreadableRules: readonly {
14
+ readonly id: string;
15
+ readonly value: string;
16
+ }[];
10
17
  readonly experimental: boolean;
11
18
  readonly path: string | undefined;
12
19
  readonly aiModel: string;
13
20
  readonly confidenceThreshold: number;
14
21
  /** チームの言葉。社内でしか通じない語を、チームが自分で並べる。 */
15
22
  readonly jargon: readonly string[];
23
+ /** チームの表記。{ 使わない書き方: 使う書き方 }。「サーバー」ではなく「サーバ」、のように。 */
24
+ readonly prefer: Readonly<Record<string, string>>;
16
25
  /** この種類の文書に無いと困る見出し。チームが自分で決める。 */
17
26
  readonly requiredSections: readonly string[];
18
27
  /** パスごとの上書き。設定ファイルのある場所からの相対で照合する。 */
@@ -1 +1 @@
1
- {"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"AAKA,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,eAAO,MAAM,WAAW,eAAe,CAAC;AAExC,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IAChD,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,qCAAqC;IACrC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,mCAAmC;IACnC,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,sCAAsC;IACtC,QAAQ,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;AAMF,eAAO,MAAM,KAAK,EAAE,MAanB,CAAC;AA8BF,sDAAsD;AACtD,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,MAmBzC,CAAC"}
1
+ {"version":3,"file":"load.d.ts","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"AAKA,OAAO,EAAa,KAAK,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,cAAc,CAAC;AAC1C,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAE7C,eAAO,MAAM,WAAW,eAAe,CAAC;AAExC,MAAM,MAAM,MAAM,GAAG;IACnB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,SAAS,CAAC;IACnC,QAAQ,CAAC,SAAS,EAAE,WAAW,CAAC;IAChC,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,KAAK,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC,CAAC;IAChD,2EAA2E;IAC3E,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,0DAA0D;IAC1D,QAAQ,CAAC,eAAe,EAAE,SAAS;QAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IACrF,QAAQ,CAAC,YAAY,EAAE,OAAO,CAAC;IAC/B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,SAAS,CAAC;IAClC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,mBAAmB,EAAE,MAAM,CAAC;IACrC,qCAAqC;IACrC,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IACnC,sDAAsD;IACtD,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IAClD,mCAAmC;IACnC,QAAQ,CAAC,gBAAgB,EAAE,SAAS,MAAM,EAAE,CAAC;IAC7C,sCAAsC;IACtC,QAAQ,CAAC,MAAM,EAAE,SAAS,QAAQ,EAAE,CAAC;IACrC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B,CAAC;AAMF,eAAO,MAAM,KAAK,EAAE,MAgBnB,CAAC;AA4DF,sDAAsD;AACtD,eAAO,MAAM,UAAU,GAAI,MAAM,MAAM,KAAG,MAsBzC,CAAC"}
@@ -12,22 +12,37 @@ export const EMPTY = {
12
12
  genre: undefined,
13
13
  language: undefined,
14
14
  rules: {},
15
+ limits: {},
16
+ unreadableRules: [],
15
17
  experimental: false,
16
18
  path: undefined,
17
19
  aiBackend: DEFAULT_BACKEND,
18
20
  aiModel: defaultModel(DEFAULT_BACKEND),
19
21
  confidenceThreshold: 0.7,
20
22
  jargon: [],
23
+ prefer: {},
21
24
  requiredSections: [],
22
25
  byPath: [],
23
26
  baseDir: process.cwd(),
24
27
  };
25
28
  const isRecord = (value) => typeof value === "object" && value !== null && !Array.isArray(value);
29
+ const isLimit = (value) => typeof value === "number" && Number.isFinite(value) && value > 0;
30
+ /** 段階の 4 語はそのまま、数値の上限は normal として読む。上限そのものは limitsOf が持つ。 */
26
31
  const rulesOf = (raw) => {
27
32
  if (!isRecord(raw))
28
33
  return {};
29
- return Object.entries(raw).reduce((acc, [id, value]) => (isLevel(value) ? { ...acc, [id]: value } : acc), {});
34
+ return Object.fromEntries(Object.entries(raw).flatMap(([id, value]) => {
35
+ if (isLevel(value))
36
+ return [[id, value]];
37
+ return isLimit(value) ? [[id, "normal"]] : [];
38
+ }));
30
39
  };
40
+ const limitsOf = (raw) => isRecord(raw) ? Object.fromEntries(Object.entries(raw).flatMap(([id, value]) => (isLimit(value) ? [[id, value]] : []))) : {};
41
+ const unreadableOf = (raw) => isRecord(raw)
42
+ ? Object.entries(raw)
43
+ .filter(([, value]) => !isLevel(value) && !isLimit(value))
44
+ .map(([id, value]) => ({ id, value: JSON.stringify(value) ?? String(value) }))
45
+ : [];
31
46
  const str = (value) => (typeof value === "string" ? value : undefined);
32
47
  /** files は 1 つの文字列でも配列でも書ける。 */
33
48
  const globsOf = (value) => {
@@ -46,6 +61,14 @@ const toPathRule = (raw) => {
46
61
  };
47
62
  /** 利用者が書く語の並び。空白だけのものは落とす。 */
48
63
  const wordsOf = (raw) => (Array.isArray(raw) ? raw.map((entry) => String(entry).trim()).filter((entry) => entry.length > 0) : []);
64
+ /** 両側とも空でない文字列の対だけを読む。同じ語どうし(「サーバ: サーバ」)は何も言えないので捨てる。 */
65
+ const preferOf = (raw) => isRecord(raw)
66
+ ? Object.fromEntries(Object.entries(raw).flatMap(([avoid, use]) => {
67
+ const from = avoid.trim();
68
+ const to = typeof use === "string" ? use.trim() : "";
69
+ return from !== "" && to !== "" && from !== to ? [[from, to]] : [];
70
+ }))
71
+ : {};
49
72
  const byPathOf = (raw) => (Array.isArray(raw) ? raw.map(toPathRule).filter((rule) => rule !== undefined) : []);
50
73
  /** 設定ファイルが無くても動く。あっても、既定から変えたものだけが書かれている。spec §18。 */
51
74
  export const loadConfig = (path) => {
@@ -58,12 +81,15 @@ export const loadConfig = (path) => {
58
81
  genre: str(raw["genre"]),
59
82
  language: str(raw["language"]),
60
83
  rules: rulesOf(raw["rules"]),
84
+ limits: limitsOf(raw["rules"]),
85
+ unreadableRules: unreadableOf(raw["rules"]),
61
86
  experimental: raw["experimental"] === true,
62
87
  path,
63
88
  aiBackend: backend,
64
89
  aiModel: str(raw["ai_model"]) ?? defaultModel(backend),
65
90
  confidenceThreshold: typeof raw["confidence_threshold"] === "number" ? raw["confidence_threshold"] : 0.7,
66
91
  jargon: wordsOf(raw["jargon"]),
92
+ prefer: preferOf(raw["prefer"]),
67
93
  requiredSections: wordsOf(raw["required_sections"]),
68
94
  byPath: byPathOf(raw["by_path"]),
69
95
  baseDir: dirname(path),
@@ -1 +1 @@
1
- {"version":3,"file":"load.js","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"load.js","sourceRoot":"","sources":["../../src/config/load.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,10 @@
1
+ import type { Config } from "./load.ts";
2
+ /**
3
+ * chaff.yaml の rules のうち、効いていないもの。知らない rule 名と、読めない値。
4
+ * どちらも黙って捨てると、書いた人は設定したつもりで何も変わっていない。打ち間違いがいちばん多い。
5
+ */
6
+ export declare const ruleProblems: (config: Pick<Config, "rules" | "limits" | "unreadableRules" | "path">, known: readonly {
7
+ readonly id: string;
8
+ readonly layer: string;
9
+ }[]) => string[];
10
+ //# sourceMappingURL=rule-problems.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rule-problems.d.ts","sourceRoot":"","sources":["../../src/config/rule-problems.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,WAAW,CAAC;AAExC;;;GAGG;AACH,eAAO,MAAM,YAAY,GACvB,QAAQ,IAAI,CAAC,MAAM,EAAE,OAAO,GAAG,QAAQ,GAAG,iBAAiB,GAAG,MAAM,CAAC,EACrE,OAAO,SAAS;IAAE,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;CAAE,EAAE,KAChE,MAAM,EAcR,CAAC"}