chaffjs 0.34.0 → 0.35.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 (390) hide show
  1. package/dist/capitals-passage.d.ts +3 -0
  2. package/dist/capitals-passage.d.ts.map +1 -0
  3. package/dist/capitals-passage.js +26 -0
  4. package/dist/capitals-passage.js.map +1 -0
  5. package/dist/coined-hyphen-name.d.ts +13 -0
  6. package/dist/coined-hyphen-name.d.ts.map +1 -0
  7. package/dist/coined-hyphen-name.js +21 -0
  8. package/dist/coined-hyphen-name.js.map +1 -0
  9. package/dist/company-names.d.ts +6 -1
  10. package/dist/company-names.d.ts.map +1 -1
  11. package/dist/company-names.js +22 -3
  12. package/dist/company-names.js.map +1 -1
  13. package/dist/detectors/acronym-context.d.ts +1 -1
  14. package/dist/detectors/acronym-context.d.ts.map +1 -1
  15. package/dist/detectors/acronym-context.js +4 -4
  16. package/dist/detectors/acronym-context.js.map +1 -1
  17. package/dist/detectors/acronym-definition.d.ts +13 -0
  18. package/dist/detectors/acronym-definition.d.ts.map +1 -0
  19. package/dist/detectors/acronym-definition.js +90 -0
  20. package/dist/detectors/acronym-definition.js.map +1 -0
  21. package/dist/detectors/acronym-lone.d.ts +13 -0
  22. package/dist/detectors/acronym-lone.d.ts.map +1 -0
  23. package/dist/detectors/acronym-lone.js +22 -0
  24. package/dist/detectors/acronym-lone.js.map +1 -0
  25. package/dist/detectors/acronym-name.d.ts +55 -0
  26. package/dist/detectors/acronym-name.d.ts.map +1 -0
  27. package/dist/detectors/acronym-name.js +75 -0
  28. package/dist/detectors/acronym-name.js.map +1 -0
  29. package/dist/detectors/capitalised-term.d.ts +14 -2
  30. package/dist/detectors/capitalised-term.d.ts.map +1 -1
  31. package/dist/detectors/capitalised-term.js +115 -4
  32. package/dist/detectors/capitalised-term.js.map +1 -1
  33. package/dist/detectors/caps-caption.d.ts +11 -0
  34. package/dist/detectors/caps-caption.d.ts.map +1 -0
  35. package/dist/detectors/caps-caption.js +51 -0
  36. package/dist/detectors/caps-caption.js.map +1 -0
  37. package/dist/detectors/char-shape.d.ts.map +1 -1
  38. package/dist/detectors/char-shape.js +47 -18
  39. package/dist/detectors/char-shape.js.map +1 -1
  40. package/dist/detectors/clause-shape.d.ts +1 -1
  41. package/dist/detectors/clause-shape.d.ts.map +1 -1
  42. package/dist/detectors/clause-shape.js +9 -4
  43. package/dist/detectors/clause-shape.js.map +1 -1
  44. package/dist/detectors/concrete-evidence.d.ts +13 -1
  45. package/dist/detectors/concrete-evidence.d.ts.map +1 -1
  46. package/dist/detectors/concrete-evidence.js +59 -0
  47. package/dist/detectors/concrete-evidence.js.map +1 -1
  48. package/dist/detectors/contraction-minority.d.ts +11 -0
  49. package/dist/detectors/contraction-minority.d.ts.map +1 -0
  50. package/dist/detectors/contraction-minority.js +10 -0
  51. package/dist/detectors/contraction-minority.js.map +1 -0
  52. package/dist/detectors/counter-edge.d.ts +5 -0
  53. package/dist/detectors/counter-edge.d.ts.map +1 -1
  54. package/dist/detectors/counter-edge.js +23 -0
  55. package/dist/detectors/counter-edge.js.map +1 -1
  56. package/dist/detectors/date-any-year.d.ts +6 -3
  57. package/dist/detectors/date-any-year.d.ts.map +1 -1
  58. package/dist/detectors/date-any-year.js +47 -10
  59. package/dist/detectors/date-any-year.js.map +1 -1
  60. package/dist/detectors/date-heading-year.d.ts +18 -0
  61. package/dist/detectors/date-heading-year.d.ts.map +1 -0
  62. package/dist/detectors/date-heading-year.js +38 -0
  63. package/dist/detectors/date-heading-year.js.map +1 -0
  64. package/dist/detectors/date-year.d.ts +12 -2
  65. package/dist/detectors/date-year.d.ts.map +1 -1
  66. package/dist/detectors/date-year.js +31 -6
  67. package/dist/detectors/date-year.js.map +1 -1
  68. package/dist/detectors/defined-term-form.d.ts.map +1 -1
  69. package/dist/detectors/defined-term-form.js +26 -5
  70. package/dist/detectors/defined-term-form.js.map +1 -1
  71. package/dist/detectors/due-date.d.ts.map +1 -1
  72. package/dist/detectors/due-date.js +6 -0
  73. package/dist/detectors/due-date.js.map +1 -1
  74. package/dist/detectors/en-shape.d.ts.map +1 -1
  75. package/dist/detectors/en-shape.js +5 -1
  76. package/dist/detectors/en-shape.js.map +1 -1
  77. package/dist/detectors/fact-consistency.d.ts.map +1 -1
  78. package/dist/detectors/fact-consistency.js +3 -2
  79. package/dist/detectors/fact-consistency.js.map +1 -1
  80. package/dist/detectors/gram-passages.d.ts +11 -0
  81. package/dist/detectors/gram-passages.d.ts.map +1 -0
  82. package/dist/detectors/gram-passages.js +26 -0
  83. package/dist/detectors/gram-passages.js.map +1 -0
  84. package/dist/detectors/heading-end-mark.d.ts +8 -3
  85. package/dist/detectors/heading-end-mark.d.ts.map +1 -1
  86. package/dist/detectors/heading-end-mark.js +18 -8
  87. package/dist/detectors/heading-end-mark.js.map +1 -1
  88. package/dist/detectors/heading-names.d.ts +7 -0
  89. package/dist/detectors/heading-names.d.ts.map +1 -0
  90. package/dist/detectors/heading-names.js +24 -0
  91. package/dist/detectors/heading-names.js.map +1 -0
  92. package/dist/detectors/heading-numbering.d.ts.map +1 -1
  93. package/dist/detectors/heading-numbering.js +7 -2
  94. package/dist/detectors/heading-numbering.js.map +1 -1
  95. package/dist/detectors/inch-mark.d.ts +10 -0
  96. package/dist/detectors/inch-mark.d.ts.map +1 -0
  97. package/dist/detectors/inch-mark.js +48 -0
  98. package/dist/detectors/inch-mark.js.map +1 -0
  99. package/dist/detectors/lexicon.d.ts +0 -1
  100. package/dist/detectors/lexicon.d.ts.map +1 -1
  101. package/dist/detectors/lexicon.js +29 -23
  102. package/dist/detectors/lexicon.js.map +1 -1
  103. package/dist/detectors/mark-shape.d.ts +6 -3
  104. package/dist/detectors/mark-shape.d.ts.map +1 -1
  105. package/dist/detectors/mark-shape.js +12 -6
  106. package/dist/detectors/mark-shape.js.map +1 -1
  107. package/dist/detectors/name-variant-apart.d.ts +27 -0
  108. package/dist/detectors/name-variant-apart.d.ts.map +1 -0
  109. package/dist/detectors/name-variant-apart.js +51 -0
  110. package/dist/detectors/name-variant-apart.js.map +1 -0
  111. package/dist/detectors/name-variant.d.ts.map +1 -1
  112. package/dist/detectors/name-variant.js +18 -11
  113. package/dist/detectors/name-variant.js.map +1 -1
  114. package/dist/detectors/numeral-word.d.ts +15 -0
  115. package/dist/detectors/numeral-word.d.ts.map +1 -0
  116. package/dist/detectors/numeral-word.js +26 -0
  117. package/dist/detectors/numeral-word.js.map +1 -0
  118. package/dist/detectors/organisation-run.d.ts +14 -0
  119. package/dist/detectors/organisation-run.d.ts.map +1 -0
  120. package/dist/detectors/organisation-run.js +73 -0
  121. package/dist/detectors/organisation-run.js.map +1 -0
  122. package/dist/detectors/orthographic-variant.d.ts.map +1 -1
  123. package/dist/detectors/orthographic-variant.js +13 -5
  124. package/dist/detectors/orthographic-variant.js.map +1 -1
  125. package/dist/detectors/outline-label.d.ts +14 -0
  126. package/dist/detectors/outline-label.d.ts.map +1 -0
  127. package/dist/detectors/outline-label.js +32 -0
  128. package/dist/detectors/outline-label.js.map +1 -0
  129. package/dist/detectors/page-marker.d.ts +6 -0
  130. package/dist/detectors/page-marker.d.ts.map +1 -0
  131. package/dist/detectors/page-marker.js +19 -0
  132. package/dist/detectors/page-marker.js.map +1 -0
  133. package/dist/detectors/parallel-definition.d.ts +16 -0
  134. package/dist/detectors/parallel-definition.d.ts.map +1 -0
  135. package/dist/detectors/parallel-definition.js +51 -0
  136. package/dist/detectors/parallel-definition.js.map +1 -0
  137. package/dist/detectors/reference-text.d.ts.map +1 -1
  138. package/dist/detectors/reference-text.js +1 -0
  139. package/dist/detectors/reference-text.js.map +1 -1
  140. package/dist/detectors/registry/unfilled-placeholder.d.ts.map +1 -1
  141. package/dist/detectors/registry/unfilled-placeholder.js +2 -2
  142. package/dist/detectors/registry/unfilled-placeholder.js.map +1 -1
  143. package/dist/detectors/registry/vague-density.js +1 -1
  144. package/dist/detectors/registry/vague-density.js.map +1 -1
  145. package/dist/detectors/request-owner.d.ts +6 -2
  146. package/dist/detectors/request-owner.d.ts.map +1 -1
  147. package/dist/detectors/request-owner.js +57 -7
  148. package/dist/detectors/request-owner.js.map +1 -1
  149. package/dist/detectors/requirement-smell.d.ts.map +1 -1
  150. package/dist/detectors/requirement-smell.js +10 -2
  151. package/dist/detectors/requirement-smell.js.map +1 -1
  152. package/dist/detectors/sentence-length.d.ts.map +1 -1
  153. package/dist/detectors/sentence-length.js +24 -16
  154. package/dist/detectors/sentence-length.js.map +1 -1
  155. package/dist/detectors/sentence-rhythm.d.ts.map +1 -1
  156. package/dist/detectors/sentence-rhythm.js +6 -3
  157. package/dist/detectors/sentence-rhythm.js.map +1 -1
  158. package/dist/detectors/series-label.d.ts +2 -1
  159. package/dist/detectors/series-label.d.ts.map +1 -1
  160. package/dist/detectors/series-label.js +10 -4
  161. package/dist/detectors/series-label.js.map +1 -1
  162. package/dist/detectors/signals.d.ts +4 -0
  163. package/dist/detectors/signals.d.ts.map +1 -1
  164. package/dist/detectors/signals.js +95 -36
  165. package/dist/detectors/signals.js.map +1 -1
  166. package/dist/detectors/structure-tree.d.ts.map +1 -1
  167. package/dist/detectors/structure-tree.js +8 -7
  168. package/dist/detectors/structure-tree.js.map +1 -1
  169. package/dist/detectors/template-sections.d.ts +14 -0
  170. package/dist/detectors/template-sections.d.ts.map +1 -0
  171. package/dist/detectors/template-sections.js +25 -0
  172. package/dist/detectors/template-sections.js.map +1 -0
  173. package/dist/detectors/titled-run.d.ts +22 -0
  174. package/dist/detectors/titled-run.d.ts.map +1 -0
  175. package/dist/detectors/titled-run.js +34 -0
  176. package/dist/detectors/titled-run.js.map +1 -0
  177. package/dist/detectors/unbalanced-bracket.d.ts.map +1 -1
  178. package/dist/detectors/unbalanced-bracket.js +4 -0
  179. package/dist/detectors/unbalanced-bracket.js.map +1 -1
  180. package/dist/detectors/undefined-term.d.ts.map +1 -1
  181. package/dist/detectors/undefined-term.js +8 -0
  182. package/dist/detectors/undefined-term.js.map +1 -1
  183. package/dist/detectors/unfilled-placeholder.d.ts +4 -0
  184. package/dist/detectors/unfilled-placeholder.d.ts.map +1 -0
  185. package/dist/detectors/unfilled-placeholder.js +9 -0
  186. package/dist/detectors/unfilled-placeholder.js.map +1 -0
  187. package/dist/detectors/vague-density.d.ts +5 -0
  188. package/dist/detectors/vague-density.d.ts.map +1 -0
  189. package/dist/detectors/vague-density.js +52 -0
  190. package/dist/detectors/vague-density.js.map +1 -0
  191. package/dist/facts/fact-scope.d.ts +10 -1
  192. package/dist/facts/fact-scope.d.ts.map +1 -1
  193. package/dist/facts/fact-scope.js +34 -3
  194. package/dist/facts/fact-scope.js.map +1 -1
  195. package/dist/facts/table-facts.d.ts +12 -2
  196. package/dist/facts/table-facts.d.ts.map +1 -1
  197. package/dist/facts/table-facts.js +22 -4
  198. package/dist/facts/table-facts.js.map +1 -1
  199. package/dist/grade-api.d.ts +9 -2
  200. package/dist/grade-api.d.ts.map +1 -1
  201. package/dist/grade-api.js +31 -15
  202. package/dist/grade-api.js.map +1 -1
  203. package/dist/heading-numbering.d.ts +5 -2
  204. package/dist/heading-numbering.d.ts.map +1 -1
  205. package/dist/heading-numbering.js +27 -6
  206. package/dist/heading-numbering.js.map +1 -1
  207. package/dist/name-end-letter.d.ts +5 -0
  208. package/dist/name-end-letter.d.ts.map +1 -1
  209. package/dist/name-end-letter.js +8 -0
  210. package/dist/name-end-letter.js.map +1 -1
  211. package/dist/name-given-before.d.ts +15 -0
  212. package/dist/name-given-before.d.ts.map +1 -0
  213. package/dist/name-given-before.js +30 -0
  214. package/dist/name-given-before.js.map +1 -0
  215. package/dist/name-separator.d.ts +2 -2
  216. package/dist/name-separator.d.ts.map +1 -1
  217. package/dist/name-separator.js +56 -5
  218. package/dist/name-separator.js.map +1 -1
  219. package/dist/name-variants.d.ts +3 -1
  220. package/dist/name-variants.d.ts.map +1 -1
  221. package/dist/name-variants.js +8 -7
  222. package/dist/name-variants.js.map +1 -1
  223. package/dist/name-word-order.d.ts +9 -5
  224. package/dist/name-word-order.d.ts.map +1 -1
  225. package/dist/name-word-order.js +47 -15
  226. package/dist/name-word-order.js.map +1 -1
  227. package/dist/nominal-stem.d.ts +13 -0
  228. package/dist/nominal-stem.d.ts.map +1 -0
  229. package/dist/nominal-stem.js +32 -0
  230. package/dist/nominal-stem.js.map +1 -0
  231. package/dist/sentence-load.d.ts +2 -1
  232. package/dist/sentence-load.d.ts.map +1 -1
  233. package/dist/sentence-load.js +6 -2
  234. package/dist/sentence-load.js.map +1 -1
  235. package/dist/structure/cited-document-section.d.ts +7 -0
  236. package/dist/structure/cited-document-section.d.ts.map +1 -0
  237. package/dist/structure/cited-document-section.js +33 -0
  238. package/dist/structure/cited-document-section.js.map +1 -0
  239. package/dist/structure/html-text-blocks.d.ts +8 -0
  240. package/dist/structure/html-text-blocks.d.ts.map +1 -0
  241. package/dist/structure/html-text-blocks.js +47 -0
  242. package/dist/structure/html-text-blocks.js.map +1 -0
  243. package/dist/structure/issues.d.ts +1 -1
  244. package/dist/structure/issues.d.ts.map +1 -1
  245. package/dist/structure/issues.js +19 -4
  246. package/dist/structure/issues.js.map +1 -1
  247. package/dist/structure/labelled-date-order.d.ts +4 -1
  248. package/dist/structure/labelled-date-order.d.ts.map +1 -1
  249. package/dist/structure/labelled-date-order.js +2 -2
  250. package/dist/structure/labelled-date-order.js.map +1 -1
  251. package/dist/structure/labelled-order.d.ts +3 -0
  252. package/dist/structure/labelled-order.d.ts.map +1 -1
  253. package/dist/structure/labelled-order.js +8 -3
  254. package/dist/structure/labelled-order.js.map +1 -1
  255. package/dist/structure/list-numbering.d.ts +20 -4
  256. package/dist/structure/list-numbering.d.ts.map +1 -1
  257. package/dist/structure/list-numbering.js +65 -9
  258. package/dist/structure/list-numbering.js.map +1 -1
  259. package/dist/structure/listed-paragraph.d.ts +16 -0
  260. package/dist/structure/listed-paragraph.d.ts.map +1 -0
  261. package/dist/structure/listed-paragraph.js +37 -0
  262. package/dist/structure/listed-paragraph.js.map +1 -0
  263. package/dist/structure/numbering.d.ts +3 -2
  264. package/dist/structure/numbering.d.ts.map +1 -1
  265. package/dist/structure/numbering.js +31 -6
  266. package/dist/structure/numbering.js.map +1 -1
  267. package/dist/structure/reference-text.d.ts +9 -1
  268. package/dist/structure/reference-text.d.ts.map +1 -1
  269. package/dist/structure/reference-text.js +21 -3
  270. package/dist/structure/reference-text.js.map +1 -1
  271. package/dist/structure/section-names.d.ts +12 -0
  272. package/dist/structure/section-names.d.ts.map +1 -0
  273. package/dist/structure/section-names.js +26 -0
  274. package/dist/structure/section-names.js.map +1 -0
  275. package/dist/structure/versioned-label.d.ts +16 -0
  276. package/dist/structure/versioned-label.d.ts.map +1 -0
  277. package/dist/structure/versioned-label.js +48 -0
  278. package/dist/structure/versioned-label.js.map +1 -0
  279. package/dist/structure/written-headings.d.ts +31 -0
  280. package/dist/structure/written-headings.d.ts.map +1 -0
  281. package/dist/structure/written-headings.js +119 -0
  282. package/dist/structure/written-headings.js.map +1 -0
  283. package/dist/structure/written-resolve.d.ts +12 -0
  284. package/dist/structure/written-resolve.d.ts.map +1 -0
  285. package/dist/structure/written-resolve.js +49 -0
  286. package/dist/structure/written-resolve.js.map +1 -0
  287. package/package.json +3 -3
  288. package/rules/all-caps-shouting.yaml +2 -2
  289. package/rules/concrete-evidence-density.yaml +2 -2
  290. package/rules/contraction-consistency.yaml +13 -13
  291. package/rules/dangling-reference.yaml +2 -2
  292. package/rules/date-without-year.yaml +2 -2
  293. package/rules/defined-name-repeated.yaml +2 -2
  294. package/rules/fact-conflict.yaml +2 -2
  295. package/rules/heading-end-punctuation-mix.yaml +2 -2
  296. package/rules/heading-numbering-mix.yaml +2 -2
  297. package/rules/latin-spacing.yaml +2 -2
  298. package/rules/max-kanji-continuous.yaml +5 -3
  299. package/rules/max-sentence-length.yaml +3 -2
  300. package/rules/name-variant.yaml +2 -2
  301. package/rules/ngram-repetition.yaml +2 -2
  302. package/rules/numbering-gap.yaml +2 -2
  303. package/rules/orthographic-variant.yaml +2 -2
  304. package/rules/reference-title-mismatch.yaml +2 -2
  305. package/rules/repeated-sentence-ending.yaml +3 -2
  306. package/rules/request-without-deadline.yaml +2 -2
  307. package/rules/requirement-smell.yaml +2 -2
  308. package/rules/sentence-rhythm.yaml +2 -2
  309. package/rules/title-case-consistency.yaml +2 -2
  310. package/rules/unbalanced-bracket.yaml +2 -2
  311. package/rules/undefined-acronym.yaml +11 -2
  312. package/rules/undefined-term.yaml +2 -2
  313. package/rules/unfilled-placeholder.yaml +2 -2
  314. package/rules/vague-word-density.yaml +2 -2
  315. package/src/capitals-passage.ts +31 -0
  316. package/src/coined-hyphen-name.ts +27 -0
  317. package/src/company-names.ts +24 -3
  318. package/src/detectors/acronym-context.ts +5 -6
  319. package/src/detectors/acronym-definition.ts +123 -0
  320. package/src/detectors/acronym-lone.ts +26 -0
  321. package/src/detectors/acronym-name.ts +117 -0
  322. package/src/detectors/capitalised-term.ts +154 -4
  323. package/src/detectors/caps-caption.ts +61 -0
  324. package/src/detectors/char-shape.ts +74 -22
  325. package/src/detectors/clause-shape.ts +14 -4
  326. package/src/detectors/concrete-evidence.ts +77 -1
  327. package/src/detectors/contraction-minority.ts +11 -0
  328. package/src/detectors/counter-edge.ts +23 -0
  329. package/src/detectors/date-any-year.ts +56 -10
  330. package/src/detectors/date-heading-year.ts +55 -0
  331. package/src/detectors/date-year.ts +54 -9
  332. package/src/detectors/defined-term-form.ts +26 -5
  333. package/src/detectors/due-date.ts +10 -1
  334. package/src/detectors/en-shape.ts +5 -1
  335. package/src/detectors/fact-consistency.ts +3 -2
  336. package/src/detectors/gram-passages.ts +36 -0
  337. package/src/detectors/heading-end-mark.ts +23 -10
  338. package/src/detectors/heading-names.ts +31 -0
  339. package/src/detectors/heading-numbering.ts +7 -2
  340. package/src/detectors/inch-mark.ts +49 -0
  341. package/src/detectors/lexicon.ts +32 -21
  342. package/src/detectors/mark-shape.ts +12 -6
  343. package/src/detectors/name-variant-apart.ts +63 -0
  344. package/src/detectors/name-variant.ts +30 -12
  345. package/src/detectors/numeral-word.ts +33 -0
  346. package/src/detectors/organisation-run.ts +86 -0
  347. package/src/detectors/orthographic-variant.ts +22 -6
  348. package/src/detectors/outline-label.ts +48 -0
  349. package/src/detectors/page-marker.ts +26 -0
  350. package/src/detectors/parallel-definition.ts +64 -0
  351. package/src/detectors/reference-text.ts +1 -0
  352. package/src/detectors/registry/unfilled-placeholder.ts +2 -2
  353. package/src/detectors/registry/vague-density.ts +1 -1
  354. package/src/detectors/request-owner.ts +71 -8
  355. package/src/detectors/requirement-smell.ts +15 -2
  356. package/src/detectors/sentence-length.ts +14 -6
  357. package/src/detectors/sentence-rhythm.ts +8 -4
  358. package/src/detectors/series-label.ts +13 -4
  359. package/src/detectors/signals.ts +94 -26
  360. package/src/detectors/structure-tree.ts +10 -8
  361. package/src/detectors/template-sections.ts +37 -0
  362. package/src/detectors/titled-run.ts +43 -0
  363. package/src/detectors/unbalanced-bracket.ts +3 -0
  364. package/src/detectors/undefined-term.ts +8 -0
  365. package/src/detectors/unfilled-placeholder.ts +10 -0
  366. package/src/detectors/vague-density.ts +68 -0
  367. package/src/facts/fact-scope.ts +53 -4
  368. package/src/facts/table-facts.ts +43 -6
  369. package/src/grade-api.ts +38 -16
  370. package/src/heading-numbering.ts +35 -8
  371. package/src/name-end-letter.ts +9 -0
  372. package/src/name-given-before.ts +40 -0
  373. package/src/name-separator.ts +66 -5
  374. package/src/name-variants.ts +21 -11
  375. package/src/name-word-order.ts +62 -17
  376. package/src/nominal-stem.ts +36 -0
  377. package/src/sentence-load.ts +7 -2
  378. package/src/structure/cited-document-section.ts +42 -0
  379. package/src/structure/html-text-blocks.ts +45 -0
  380. package/src/structure/issues.ts +19 -4
  381. package/src/structure/labelled-date-order.ts +5 -2
  382. package/src/structure/labelled-order.ts +12 -3
  383. package/src/structure/list-numbering.ts +100 -11
  384. package/src/structure/listed-paragraph.ts +45 -0
  385. package/src/structure/numbering.ts +48 -19
  386. package/src/structure/reference-text.ts +25 -3
  387. package/src/structure/section-names.ts +32 -0
  388. package/src/structure/versioned-label.ts +52 -0
  389. package/src/structure/written-headings.ts +137 -0
  390. package/src/structure/written-resolve.ts +57 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"titled-run.js","sourceRoot":"","sources":["../../src/detectors/titled-run.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKhD,qCAAqC;AACrC,MAAM,WAAW,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AACrD,yDAAyD;AACzD,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC,CAAC;AAC9C,2CAA2C;AAC3C,MAAM,eAAe,GAAG,CAAC,CAAC;AAC1B,MAAM,KAAK,GAAG,QAAQ,CAAC;AAEvB,MAAM,SAAS,GAAG,CAAC,MAAwB,EAAU,EAAE,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AAEtG;;;GAGG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,GAAqB,EAAE,KAAiB,EAAW,EAAE,CAC/E,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,EAAE,EAAE;IACjB,MAAM,IAAI,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,CAAC;IACtC,OAAO,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,MAAM,IAAI,eAAe,CAAC;AACpG,CAAC,CAAC,CAAC;AAEL;;;;GAIG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,IAAY,EAAE,KAAa,EAAE,GAAW,EAAW,EAAE;IACnF,MAAM,aAAa,GAAG,WAAW,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,GAAG,KAAK,GAAG,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,CAAC;IAC7G,MAAM,SAAS,GAAG,iBAAiB,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC;IAC1D,MAAM,KAAK,GAAG,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,KAAK,CAAC,CAAC,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC;IAC9E,OAAO,aAAa,IAAI,SAAS,IAAI,KAAK,CAAC;AAC7C,CAAC,CAAC;AAEF;;;GAGG;AACH,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,IAAY,EAAE,MAAyB,EAAW,EAAE,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"unbalanced-bracket.d.ts","sourceRoot":"","sources":["../../src/detectors/unbalanced-bracket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAW,IAAI,EAAE,MAAM,cAAc,CAAC;AAuC5D,MAAM,MAAM,cAAc,GAAG;IAC3B,yEAAyE;IACzE,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;IACpD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,6BAA6B;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAyCF;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,KAAG,cAAc,EAU5D,CAAC;AAsBF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,MAAM,EAAE,QAAQ,MAAM,EAAE,OAAO,SAAS,IAAI,EAAE,KAAG,MAazF,CAAC;AAYF,qCAAqC;AACrC,eAAO,MAAM,iBAAiB,EAAE,QAO/B,CAAC"}
1
+ {"version":3,"file":"unbalanced-bracket.d.ts","sourceRoot":"","sources":["../../src/detectors/unbalanced-bracket.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAW,IAAI,EAAE,MAAM,cAAc,CAAC;AAwC5D,MAAM,MAAM,cAAc,GAAG;IAC3B,yEAAyE;IACzE,QAAQ,CAAC,IAAI,EAAE,UAAU,GAAG,UAAU,GAAG,UAAU,CAAC;IACpD,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,6BAA6B;IAC7B,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;CAC3B,CAAC;AAyCF;;;GAGG;AACH,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,KAAG,cAAc,EAY5D,CAAC;AAsBF;;;GAGG;AACH,eAAO,MAAM,iBAAiB,GAAI,OAAO,MAAM,EAAE,QAAQ,MAAM,EAAE,OAAO,SAAS,IAAI,EAAE,KAAG,MAazF,CAAC;AAYF,qCAAqC;AACrC,eAAO,MAAM,iBAAiB,EAAE,QAO/B,CAAC"}
@@ -4,6 +4,7 @@ import { quoteAround } from "./quote-around.js";
4
4
  import { mergeSpans } from "../span-merge.js";
5
5
  import { firstEndingAfter } from "../soft-break.js";
6
6
  import { isLabelClose, isLabelInAside } from "./bracket-label.js";
7
+ import { isInchMark } from "./inch-mark.js";
7
8
  const BRACKETS = [
8
9
  { open: "「", close: "」", family: "kagi" },
9
10
  { open: "『", close: "』", family: "double-kagi" },
@@ -65,6 +66,9 @@ export const bracketProblems = (text) => {
65
66
  const scan = { open: [], problems: [] };
66
67
  const heads = paragraphHeads(text);
67
68
  [...text.matchAll(MARKS)].forEach((match) => {
69
+ const quoteOpen = scan.open.some((entry) => entry.bracket.family === "quote");
70
+ if (isInchMark(text, match.index, quoteOpen))
71
+ return;
68
72
  const opening = BY_OPEN.get(match[0]);
69
73
  const closing = BY_CLOSE.get(match[0]);
70
74
  if (opening !== undefined)
@@ -1 +1 @@
1
- {"version":3,"file":"unbalanced-bracket.js","sourceRoot":"","sources":["../../src/detectors/unbalanced-bracket.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"unbalanced-bracket.js","sourceRoot":"","sources":["../../src/detectors/unbalanced-bracket.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"undefined-term.d.ts","sourceRoot":"","sources":["../../src/detectors/undefined-term.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAA0B,KAAK,EAAE,MAAM,cAAc,CAAC;AAE5E,MAAM,MAAM,aAAa,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AA4B/E,oEAAoE;AACpE,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC;IACtD,4GAA4G;IAC5G,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,sHAAsH;IACtH,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;CAC9C,CAAC;AAQF;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,EAAE,WAAW,SAAS,CAAC,SAAS,KAAK,EAAE,CAAC,EAAE,EAAE,SAAS,SAAS,MAAM,EAAE,EAAE,OAAO,SAAS,KAAG,aAAa,EAmBpJ,CAAC;AA2BF,eAAO,MAAM,aAAa,EAAE,QAa3B,CAAC"}
1
+ {"version":3,"file":"undefined-term.d.ts","sourceRoot":"","sources":["../../src/detectors/undefined-term.ts"],"names":[],"mappings":"AASA,OAAO,KAAK,EAAE,QAAQ,EAA0B,KAAK,EAAE,MAAM,cAAc,CAAC;AAE5E,MAAM,MAAM,aAAa,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AA4B/E,oEAAoE;AACpE,MAAM,MAAM,SAAS,GAAG;IACtB,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;IACrC,QAAQ,CAAC,YAAY,EAAE,SAAS,CAAC,SAAS,MAAM,EAAE,CAAC,EAAE,CAAC;IACtD,4GAA4G;IAC5G,QAAQ,CAAC,SAAS,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,sHAAsH;IACtH,QAAQ,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC;CAC9C,CAAC;AAQF;;;;GAIG;AACH,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,EAAE,WAAW,SAAS,CAAC,SAAS,KAAK,EAAE,CAAC,EAAE,EAAE,SAAS,SAAS,MAAM,EAAE,EAAE,OAAO,SAAS,KAAG,aAAa,EAmBpJ,CAAC;AAmCF,eAAO,MAAM,aAAa,EAAE,QAa3B,CAAC"}
@@ -71,6 +71,8 @@ const findingOf = (doc, use) => ({
71
71
  values: { term: use.term, offset: use.offset },
72
72
  });
73
73
  const NAME_LISTS = ["proper-name-word", "place-region", "calendar-name", "month-name", "company-form", "party-role"];
74
+ /** The lists whose words end a name right after a comma (Post Holdings, Inc.; Canton, Ohio). */
75
+ const FORM_ENDS = ["company-form", "place-region"];
74
76
  /** Capitalised terms, for a language whose package lists the words that join one name (name-joiner); Japanese has none. */
75
77
  const capitalisedUses = (doc, sentences, defined) => {
76
78
  if (doc.lexicons["name-joiner"] === undefined)
@@ -79,6 +81,12 @@ const capitalisedUses = (doc, sentences, defined) => {
79
81
  names: NAME_LISTS.flatMap((id) => patternsOf(doc, id)),
80
82
  divisions: patternsOf(doc, "numbered-division"),
81
83
  joiners: patternsOf(doc, "name-joiner"),
84
+ nameEnds: patternsOf(doc, "proper-name-word"),
85
+ formEnds: FORM_ENDS.flatMap((id) => patternsOf(doc, id)),
86
+ definitionMarkers: patternsOf(doc, "definition-marker"),
87
+ definedElsewhere: patternsOf(doc, "defined-elsewhere"),
88
+ capacityMarkers: patternsOf(doc, "capacity-marker"),
89
+ articles: patternsOf(doc, "article"),
82
90
  };
83
91
  const marked = [...(doc.markup?.headings ?? []), ...doc.links, ...setApartSpans(doc.source)];
84
92
  return capitalisedTerms({ source: doc.source, readable: readableText(doc.source), sentences, defined, named: namedWords(doc.source), marked, words });
@@ -1 +1 @@
1
- {"version":3,"file":"undefined-term.js","sourceRoot":"","sources":["../../src/detectors/undefined-term.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"undefined-term.js","sourceRoot":"","sources":["../../src/detectors/undefined-term.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import type { Detector } from "../plugin.ts";
2
+ /** A blank under a heading that names a template (Template, 雛形) is what the template is for, so it is not reported. */
3
+ export declare const unfilledPlaceholderOutsideTemplates: Detector;
4
+ //# sourceMappingURL=unfilled-placeholder.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unfilled-placeholder.d.ts","sourceRoot":"","sources":["../../src/detectors/unfilled-placeholder.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAI7C,uHAAuH;AACvH,eAAO,MAAM,mCAAmC,EAAE,QAIjD,CAAC"}
@@ -0,0 +1,9 @@
1
+ import { unfilledPlaceholder } from "./ai-phrasing.js";
2
+ import { TEMPLATE, isInside, templateSections } from "./template-sections.js";
3
+ /** A blank under a heading that names a template (Template, 雛形) is what the template is for, so it is not reported. */
4
+ export const unfilledPlaceholderOutsideTemplates = (doc, options) => {
5
+ const words = (options.lexicon ?? []).filter((word) => word.group === TEMPLATE);
6
+ const templates = templateSections(doc.markup?.headings ?? [], doc.source.length, words);
7
+ return unfilledPlaceholder(doc, options).filter((finding) => !isInside(templates, Number(finding.values["offset"])));
8
+ };
9
+ //# sourceMappingURL=unfilled-placeholder.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"unfilled-placeholder.js","sourceRoot":"","sources":["../../src/detectors/unfilled-placeholder.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,QAAQ,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AAE9E,uHAAuH;AACvH,MAAM,CAAC,MAAM,mCAAmC,GAAa,CAAC,GAAG,EAAE,OAAO,EAAE,EAAE;IAC5E,MAAM,KAAK,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,KAAK,KAAK,QAAQ,CAAC,CAAC;IAChF,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,IAAI,EAAE,EAAE,GAAG,CAAC,MAAM,CAAC,MAAM,EAAE,KAAK,CAAC,CAAC;IACzF,OAAO,mBAAmB,CAAC,GAAG,EAAE,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC;AACvH,CAAC,CAAC"}
@@ -0,0 +1,5 @@
1
+ import type { Detector, Lexicon, Sentence } from "../plugin.ts";
2
+ /** The vague words of one sentence, in the order written, each once: none inside a longer vague word or a term of art. */
3
+ export declare const vagueWordsIn: (sentence: Sentence, vague: Lexicon, termsOfArt: Lexicon) => string[];
4
+ export declare const vagueDensity: Detector;
5
+ //# sourceMappingURL=vague-density.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vague-density.d.ts","sourceRoot":"","sources":["../../src/detectors/vague-density.ts"],"names":[],"mappings":"AAOA,OAAO,KAAK,EAAE,QAAQ,EAAW,OAAO,EAAgB,QAAQ,EAAE,MAAM,cAAc,CAAC;AA+BvF,0HAA0H;AAC1H,eAAO,MAAM,YAAY,GAAI,UAAU,QAAQ,EAAE,OAAO,OAAO,EAAE,YAAY,OAAO,KAAG,MAAM,EAQ5F,CAAC;AAIF,eAAO,MAAM,YAAY,EAAE,QAgB1B,CAAC"}
@@ -0,0 +1,52 @@
1
+ // Vague words dense for the document's length (vague-word-density). Each sentence counts the vague words it holds once:
2
+ // a word inside a longer one ("timely" in "in a timely manner") is that longer word, and a word inside a term of art of the
3
+ // document's genre ("reasonably" in a contract, "adequately compensate" as the test for an injunction) is not vague
4
+ // there. The rule speaks once per sentence, about the document's density. Pure: the words come from the language's
5
+ // lexicons vague-word and vague-word-term-of-art, the genre from the options.
6
+ import { entriesForGenre } from "../lexicon-genres.js";
7
+ import { escapeRegExp } from "../orthography.js";
8
+ import { comparableText, comparableWords, entryRanges } from "./lexicon-match.js";
9
+ import { rateOver } from "./lexicon.js";
10
+ const TERMS_OF_ART = "vague-word-term-of-art";
11
+ /** Token spans are places in the document and text places are in the sentence, so one sentence uses one kind for every entry. */
12
+ const readsTokens = (sentence, entries) => sentence.tokens !== undefined && entries.every((entry) => (entry.tokens?.length ?? 0) > 0);
13
+ /** Where an entry stands in the sentence, as character spans: its tokens, or the comparable text. */
14
+ const placesOf = (sentence, entry, byTokens) => {
15
+ const tokens = sentence.tokens;
16
+ if (byTokens && tokens !== undefined)
17
+ return entryRanges(sentence, entry).map((range) => ({ start: tokens[range.start]?.span.start ?? 0, end: tokens[range.end - 1]?.span.end ?? 0 }));
18
+ const word = comparableWords(entry.pattern);
19
+ if (word === "")
20
+ return [];
21
+ return [...comparableText(sentence).matchAll(new RegExp(escapeRegExp(word), "gu"))].map((found) => ({ start: found.index, end: found.index + word.length }));
22
+ };
23
+ const matchesOf = (sentence, lexicon, byTokens) => lexicon.flatMap((entry) => placesOf(sentence, entry, byTokens).map((place) => ({ pattern: entry.pattern, place })));
24
+ const covers = (outer, inner) => outer.start <= inner.start && inner.end <= outer.end;
25
+ const isLonger = (outer, inner) => outer.place.end - outer.place.start > inner.place.end - inner.place.start;
26
+ /** The vague words of one sentence, in the order written, each once: none inside a longer vague word or a term of art. */
27
+ export const vagueWordsIn = (sentence, vague, termsOfArt) => {
28
+ const byTokens = readsTokens(sentence, [...vague, ...termsOfArt]);
29
+ const matches = matchesOf(sentence, vague, byTokens);
30
+ const terms = matchesOf(sentence, termsOfArt, byTokens);
31
+ const kept = matches.filter((match) => !matches.some((other) => isLonger(other, match) && covers(other.place, match.place)) && !terms.some((term) => covers(term.place, match.place)));
32
+ return [...new Set(kept.toSorted((left, right) => left.place.start - right.place.start).map((match) => match.pattern))];
33
+ };
34
+ export const vagueDensity = (doc, options) => {
35
+ const termsOfArt = entriesForGenre(doc.lexicons[TERMS_OF_ART] ?? [], options.genre);
36
+ const hits = doc.sentences
37
+ .map((sentence) => ({ sentence, words: vagueWordsIn(sentence, options.lexicon ?? [], termsOfArt) }))
38
+ .filter((hit) => hit.words.length > 0);
39
+ const count = hits.reduce((sum, hit) => sum + hit.words.length, 0);
40
+ const density = rateOver(doc, count, options.limit);
41
+ if (density === undefined)
42
+ return [];
43
+ return hits.map(({ sentence, words }) => ({
44
+ rule: "vague-word-density",
45
+ severity: "warning",
46
+ line: 0,
47
+ column: 0,
48
+ quote: sentence.text.trim(),
49
+ values: { matched: words[0] ?? "", count, density, limit: options.limit, offset: sentence.span.start },
50
+ }));
51
+ };
52
+ //# sourceMappingURL=vague-density.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vague-density.js","sourceRoot":"","sources":["../../src/detectors/vague-density.ts"],"names":[],"mappings":"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"}
@@ -12,8 +12,17 @@ export type ScopedFact = Fact & {
12
12
  readonly part: FactPart;
13
13
  readonly record: boolean;
14
14
  };
15
+ /** 表の、見出しを繰り返した何番目の並びの升か(table-facts の columnGroup)。並びごとに別の範囲。 */
16
+ type PlacedFact = Fact & {
17
+ readonly columnGroup?: number;
18
+ };
19
+ /** paragraphHeads: 段落の頭の名前だけの行(Example、例)でも範囲を分ける。 */
20
+ export type ScopeReading = {
21
+ readonly paragraphHeads?: boolean;
22
+ };
15
23
  /** 事実ごとに、比べてよい範囲と、文書のどの部分かを付ける。 */
16
- export declare const scopedFacts: (facts: readonly Fact[], tree: StructureNode, source: string, summaryWords: readonly string[]) => ScopedFact[];
24
+ export declare const scopedFacts: (facts: readonly PlacedFact[], tree: StructureNode, source: string, summaryWords: readonly string[], reading?: ScopeReading) => ScopedFact[];
17
25
  /** 文書のその位置が、冒頭、要約の節、本文のどれか。 */
18
26
  export declare const partsAt: (offsets: readonly number[], tree: StructureNode, summaryWords: readonly string[]) => FactPart[];
27
+ export {};
19
28
  //# sourceMappingURL=fact-scope.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"fact-scope.d.ts","sourceRoot":"","sources":["../../src/facts/fact-scope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGlD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAGhD;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;AAEtD,gEAAgE;AAChE,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;AAkH9G,mCAAmC;AACnC,eAAO,MAAM,WAAW,GAAI,OAAO,SAAS,IAAI,EAAE,EAAE,MAAM,aAAa,EAAE,QAAQ,MAAM,EAAE,cAAc,SAAS,MAAM,EAAE,KAAG,UAAU,EAWpI,CAAC;AAEF,+BAA+B;AAC/B,eAAO,MAAM,OAAO,GAAI,SAAS,SAAS,MAAM,EAAE,EAAE,MAAM,aAAa,EAAE,cAAc,SAAS,MAAM,EAAE,KAAG,QAAQ,EAGlH,CAAC"}
1
+ {"version":3,"file":"fact-scope.d.ts","sourceRoot":"","sources":["../../src/facts/fact-scope.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAGlD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAGhD;;;;GAIG;AACH,MAAM,MAAM,QAAQ,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;AAEtD,gEAAgE;AAChE,MAAM,MAAM,UAAU,GAAG,IAAI,GAAG;IAAE,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IAAC,QAAQ,CAAC,IAAI,EAAE,QAAQ,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,OAAO,CAAA;CAAE,CAAC;AA0G9G,kEAAkE;AAClE,KAAK,UAAU,GAAG,IAAI,GAAG;IAAE,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AA8C3D,sDAAsD;AACtD,MAAM,MAAM,YAAY,GAAG;IAAE,QAAQ,CAAC,cAAc,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAEjE,mCAAmC;AACnC,eAAO,MAAM,WAAW,GACtB,OAAO,SAAS,UAAU,EAAE,EAC5B,MAAM,aAAa,EACnB,QAAQ,MAAM,EACd,cAAc,SAAS,MAAM,EAAE,EAC/B,UAAS,YAAiB,KACzB,UAAU,EAYZ,CAAC;AAEF,+BAA+B;AAC/B,eAAO,MAAM,OAAO,GAAI,SAAS,SAAS,MAAM,EAAE,EAAE,MAAM,aAAa,EAAE,cAAc,SAAS,MAAM,EAAE,KAAG,QAAQ,EAGlH,CAAC"}
@@ -92,16 +92,47 @@ const scopeOf = (fact, innermost, at) => {
92
92
  const index = lineIndexAt(at.lines, fact.value.start);
93
93
  const from = innermost === undefined ? 0 : lineIndexAt(at.lines, innermost.span.start);
94
94
  const to = innermost === undefined ? at.lines.length : lineIndexAt(at.lines, innermost.span.end - 1) + 1;
95
- const scope = [innermost?.address ?? "doc", (at.breakers[index] ?? 0) - (at.breakers[from] ?? 0), parentItem(at.lines, index)].join("#");
95
+ const place = [innermost?.address ?? "doc", (at.breakers[index] ?? 0) - (at.breakers[from] ?? 0), parentItem(at.lines, index)];
96
+ const scope = [...place, ...(fact.columnGroup === undefined ? [] : [`g${fact.columnGroup}`])].join("#");
96
97
  return { scope, record: headCount(at.heads, from, to, fact.key) >= RECORD_REPEATS };
97
98
  };
99
+ const MAX_PARAGRAPH_HEAD = 40;
100
+ /** 文の終わりか続きの印。これで終わる行は小見出しではない。 */
101
+ const SENTENCE_END = /[.!?。.!?::;;,、,]$/u;
102
+ const NOT_PLAIN_LINE = /^[ \t]*(?:[#>|]|```|~~~)/u;
103
+ /** setext の見出しの下線。上の行は見出しで、節として木が分ける。 */
104
+ const SETEXT_UNDERLINE = /^[ \t]*(?:=+|-+)[ \t]*$/u;
105
+ /**
106
+ * 段落の頭の、短い名前だけの行(「Example」「Element 1 (standard rated portion)」「例」)。文の終わりの印も値も無く、項目や表の行でもない。
107
+ * 例や場合ごとに名前を付けた段落の頭で、続く値はその例の値。
108
+ */
109
+ const isNameOnly = (line) => {
110
+ const text = line.trim();
111
+ if (text === "" || text.length > MAX_PARAGRAPH_HEAD)
112
+ return false;
113
+ return /\p{L}/u.test(text) && !SENTENCE_END.test(text) && !LIST_ITEM.test(line) && !NOT_PLAIN_LINE.test(line);
114
+ };
115
+ const isParagraphHead = (lines, index, valueLines) => {
116
+ const startsParagraph = (lines[index - 1]?.text.trim() ?? "") === "";
117
+ const isSetextHeading = SETEXT_UNDERLINE.test(lines[index + 1]?.text ?? "");
118
+ return startsParagraph && !isSetextHeading && !valueLines.has(index) && isNameOnly(lines[index]?.text ?? "");
119
+ };
120
+ /** 小見出しの代わりの行の数に、段落の頭の名前だけの行も数える。 */
121
+ const withParagraphHeads = (lines, facts) => {
122
+ const valueLines = new Set(facts.map((fact) => lineIndexAt(lines, fact.value.start)));
123
+ return lines.reduce((counts, line, index) => {
124
+ counts.push((counts[index] ?? 0) + (isBreaker(line) || isParagraphHead(lines, index, valueLines) ? 1 : 0));
125
+ return counts;
126
+ }, [0]);
127
+ };
98
128
  /** 事実ごとに、比べてよい範囲と、文書のどの部分かを付ける。 */
99
- export const scopedFacts = (facts, tree, source, summaryWords) => {
129
+ export const scopedFacts = (facts, tree, source, summaryWords, reading = {}) => {
100
130
  if (facts.length === 0)
101
131
  return [];
102
132
  const nodes = inDocumentOrder(tree).filter((node) => CONTAINERS.has(node.kind));
103
133
  const lines = linesOf(source);
104
- const at = { lines, breakers: breakerCounts(lines), heads: headLines(lines) };
134
+ const breakers = reading.paragraphHeads === true ? withParagraphHeads(lines, facts) : breakerCounts(lines);
135
+ const at = { lines, breakers, heads: headLines(lines) };
105
136
  return facts
106
137
  .toSorted((left, right) => left.value.start - right.value.start)
107
138
  .map((fact) => {
@@ -1 +1 @@
1
- {"version":3,"file":"fact-scope.js","sourceRoot":"","sources":["../../src/facts/fact-scope.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fact-scope.js","sourceRoot":"","sources":["../../src/facts/fact-scope.ts"],"names":[],"mappings":"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"}
@@ -25,15 +25,25 @@ export type TotalColumns = {
25
25
  readonly labels: readonly string[];
26
26
  readonly isTerm: (heading: string) => boolean;
27
27
  };
28
- /** 列が三つ以上の表の升は、行の見出し(row)と列の見出し(column)の二つで名前になる。 */
28
+ /**
29
+ * 列が三つ以上の表の升は、行の見出し(row)と列の見出し(column)の二つで名前になる。
30
+ * columnGroup: 見出しの並びを繰り返す表(Day | Hours | Day | Hours の、第1週と第2週を横に並べた表)の、何番目の並びの升か。
31
+ */
29
32
  export type TableFact = Fact & {
30
33
  readonly cell?: {
31
34
  readonly row: string;
32
35
  readonly column: string;
33
36
  };
37
+ readonly columnGroup?: number;
38
+ };
39
+ /** 見出しが同じ並びを二度以上繰り返すなら、その並びの幅。並びごとに別の表として読む。 */
40
+ export declare const columnGroupWidth: (headings: readonly string[]) => number | undefined;
41
+ /** columnGroups: 見出しを繰り返す表を、並びごとに読む(並びの升には columnGroup が付く)。 */
42
+ export type TableReading = {
43
+ readonly columnGroups?: boolean;
34
44
  };
35
45
  /** 文書の表すべての升の値。 */
36
- export declare const tableFacts: (source: string, values: readonly FactValue[], totals?: TotalColumns, counts?: CountLabelWords) => TableFact[];
46
+ export declare const tableFacts: (source: string, values: readonly FactValue[], totals?: TotalColumns, counts?: CountLabelWords, reading?: TableReading) => TableFact[];
37
47
  /** 文書の表すべての、本体の行の升(見出しの行を除く)。text は書いたまま。 */
38
48
  export declare const tableBodyCells: (source: string) => Cell[];
39
49
  //# sourceMappingURL=table-facts.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"table-facts.d.ts","sourceRoot":"","sources":["../../src/facts/table-facts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAW,KAAK,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAI3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAE3E;;;;GAIG;AACH,MAAM,MAAM,IAAI,GAAG,IAAI,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAKpD,eAAO,MAAM,OAAO,GAAI,MAAM,IAAI,KAAG,IAAI,EAQxC,CAAC;AAIF,8DAA8D;AAC9D,eAAO,MAAM,QAAQ,GAAI,OAAO,SAAS,IAAI,EAAE,KAAG;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,IAAI,EAAE,CAAA;CAAE,EAS/E,CAAC;AAaF;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAA;CAAE,CAAC;AAUjH,qDAAqD;AACrD,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG;IAAE,QAAQ,CAAC,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAA;CAAE,CAAC;AA0BrG,mBAAmB;AACnB,eAAO,MAAM,UAAU,GAAI,QAAQ,MAAM,EAAE,QAAQ,SAAS,SAAS,EAAE,EAAE,SAAS,YAAY,EAAE,SAAS,eAAe,KAAG,SAAS,EAIhI,CAAC;AAEL,6CAA6C;AAC7C,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,IAAI,EAA+E,CAAC"}
1
+ {"version":3,"file":"table-facts.d.ts","sourceRoot":"","sources":["../../src/facts/table-facts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,cAAc,CAAC;AACzC,OAAO,EAAW,KAAK,IAAI,EAAE,MAAM,uBAAuB,CAAC;AAI3D,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAClD,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,qBAAqB,CAAC;AAEhD,OAAO,EAAoB,KAAK,eAAe,EAAE,MAAM,mBAAmB,CAAC;AAE3E;;;;GAIG;AACH,MAAM,MAAM,IAAI,GAAG,IAAI,GAAG;IAAE,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC;AAKpD,eAAO,MAAM,OAAO,GAAI,MAAM,IAAI,KAAG,IAAI,EAQxC,CAAC;AAIF,8DAA8D;AAC9D,eAAO,MAAM,QAAQ,GAAI,OAAO,SAAS,IAAI,EAAE,KAAG;IAAE,MAAM,EAAE,IAAI,CAAC;IAAC,IAAI,EAAE,IAAI,EAAE,CAAA;CAAE,EAS/E,CAAC;AAaF;;;GAGG;AACH,MAAM,MAAM,YAAY,GAAG;IAAE,QAAQ,CAAC,MAAM,EAAE,SAAS,MAAM,EAAE,CAAC;IAAC,QAAQ,CAAC,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAA;CAAE,CAAC;AAUjH;;;GAGG;AACH,MAAM,MAAM,SAAS,GAAG,IAAI,GAAG;IAAE,QAAQ,CAAC,IAAI,CAAC,EAAE;QAAE,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAAC,QAAQ,CAAC,WAAW,CAAC,EAAE,MAAM,CAAA;CAAE,CAAC;AA4BpI,gDAAgD;AAChD,eAAO,MAAM,gBAAgB,GAAI,UAAU,SAAS,MAAM,EAAE,KAAG,MAAM,GAAG,SAIvE,CAAC;AAKF,gEAAgE;AAChE,MAAM,MAAM,YAAY,GAAG;IAAE,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAA;CAAE,CAAC;AAa/D,mBAAmB;AACnB,eAAO,MAAM,UAAU,GACrB,QAAQ,MAAM,EACd,QAAQ,SAAS,SAAS,EAAE,EAC5B,SAAS,YAAY,EACrB,SAAS,eAAe,EACxB,UAAS,YAAiB,KACzB,SAAS,EAMR,CAAC;AAEL,6CAA6C;AAC7C,eAAO,MAAM,cAAc,GAAI,QAAQ,MAAM,KAAG,IAAI,EAA+E,CAAC"}
@@ -42,8 +42,8 @@ const cellLabel = (rowLabel, column, headings, total, totals) => {
42
42
  return column;
43
43
  return headings.length > TWO_COLUMNS ? `${rowLabel} ${column}` : rowLabel;
44
44
  };
45
- const rowFacts = (row, headings, values, source, totals, counts) => {
46
- const [first, ...rest] = cellsOf(row);
45
+ const rowFacts = (cells, headings, values, source, totals, counts) => {
46
+ const [first, ...rest] = cells;
47
47
  if (first === undefined)
48
48
  return [];
49
49
  const rowLabel = plain(first.text);
@@ -61,10 +61,28 @@ const rowFacts = (row, headings, values, source, totals, counts) => {
61
61
  return [{ label, key: keyOf(label), value, table: true, ...parts }];
62
62
  });
63
63
  };
64
+ const MIN_GROUPS = 2;
65
+ /** 見出しが同じ並びを二度以上繰り返すなら、その並びの幅。並びごとに別の表として読む。 */
66
+ export const columnGroupWidth = (headings) => {
67
+ const keys = headings.map(keyOf);
68
+ const widths = Array.from({ length: Math.floor(keys.length / MIN_GROUPS) - 1 }, (_, index) => index + TWO_COLUMNS);
69
+ return widths.find((width) => keys.length % width === 0 && keys[0] !== "" && keys.every((key, index) => key === keys[index % width]));
70
+ };
71
+ const groupsOf = (items, width) => width === undefined ? [[...items]] : Array.from({ length: Math.ceil(items.length / width) }, (_, index) => items.slice(index * width, (index + 1) * width));
72
+ /** 一つの行の升の値。見出しを繰り返す表(width がある)は、並びごとに読んで columnGroup を付ける。 */
73
+ const groupedRowFacts = (row, headings, width, at) => {
74
+ const headingGroups = groupsOf(headings, width);
75
+ return groupsOf(cellsOf(row), width).flatMap((cells, group) => {
76
+ const facts = rowFacts(cells, headingGroups[group] ?? [], at.values, at.source, at.totals, at.counts);
77
+ return width === undefined ? facts : facts.map((fact) => ({ ...fact, columnGroup: group }));
78
+ });
79
+ };
64
80
  /** 文書の表すべての升の値。 */
65
- export const tableFacts = (source, values, totals, counts) => tablesOf(linesOf(source)).flatMap((table) => {
81
+ export const tableFacts = (source, values, totals, counts, reading = {}) => tablesOf(linesOf(source)).flatMap((table) => {
66
82
  const headings = cellsOf(table.header).map((cell) => plain(cell.text));
67
- return table.rows.flatMap((row) => rowFacts(row, headings, values, source, totals, counts));
83
+ const width = reading.columnGroups === true ? columnGroupWidth(headings) : undefined;
84
+ const at = { values, source, ...(totals === undefined ? {} : { totals }), ...(counts === undefined ? {} : { counts }) };
85
+ return table.rows.flatMap((row) => groupedRowFacts(row, headings, width, at));
68
86
  });
69
87
  /** 文書の表すべての、本体の行の升(見出しの行を除く)。text は書いたまま。 */
70
88
  export const tableBodyCells = (source) => tablesOf(linesOf(source)).flatMap((table) => table.rows.flatMap(cellsOf));
@@ -1 +1 @@
1
- {"version":3,"file":"table-facts.js","sourceRoot":"","sources":["../../src/facts/table-facts.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"table-facts.js","sourceRoot":"","sources":["../../src/facts/table-facts.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
1
  import { type Config } from "./config/load.ts";
2
+ import type { GradeExpect } from "./grade/expect.ts";
2
3
  import type { GradeResult } from "./grade/result.ts";
3
4
  import { type VariantComparison } from "./grade/variants.ts";
4
5
  import { type VariantInput } from "./grade/variants-input.ts";
5
6
  export type { FailedCitation, GradeCitations, GradeContexts, GradeFact, GradeFacts, GradeFinding, GradeResult, GradeScore, NotRunEntry, ScoreItem, Stamp, SupportedFact, } from "./grade/result.ts";
6
7
  export type { OutputSize } from "./grade/rates.ts";
8
+ export type { GradeExpect } from "./grade/expect.ts";
7
9
  export type { AiLevelCounts, GradeAiScore } from "./grade/ai-score.ts";
8
10
  export { toScorer, type ChaffScore } from "./grade/scorer.ts";
9
11
  export type { Disagreement, VariantColumn, VariantComparison, VariantRates } from "./grade/variants.ts";
@@ -27,6 +29,10 @@ export type GradeOptions = {
27
29
  readonly genre?: string;
28
30
  /** The prompt, model or setting that produced the output, kept on the result for compareVariants(). */
29
31
  readonly variant?: string;
32
+ /** The rubric task to grade under: one of chaff.yaml's `grade.tasks`. The top-level rubric when left out. */
33
+ readonly task?: string;
34
+ /** Facts the output must state (`facts`) and must not (`absent`), each one fact as `chaff compare` reads it. */
35
+ readonly expect?: Partial<GradeExpect>;
30
36
  /** Run the experimental rules too, as --experimental does. chaff.yaml's `experimental` when left out. */
31
37
  readonly experimental?: boolean;
32
38
  /** chaff.yaml's path, or settings already read. Without it chaff's defaults apply and no file is read. */
@@ -39,8 +45,9 @@ export declare class GradeInputError extends Error {
39
45
  }
40
46
  /**
41
47
  * Grades one output (spec §29.6): its findings and rates, its facts against `reference`, its `citations` against
42
- * `sources`, and pass or fail by chaff.yaml's `grade:` or the default. Reads a file only when `config` is a path, and
43
- * never writes one. Throws GradeInputError for an input or a chaff.yaml `chaff grade` would refuse with exit 2.
48
+ * `sources`, its `expect` facts, and pass or fail by chaff.yaml's `grade:` (its `task`'s rubric when named) or the
49
+ * default. Reads a file only when `config` is a path, and never writes one. Throws GradeInputError for an input or a
50
+ * chaff.yaml `chaff grade` would refuse with exit 2, an unknown `task` or an `expect` entry that is not one fact among them.
44
51
  */
45
52
  export declare const grade: (output: string, options?: GradeOptions) => Promise<GradeResult>;
46
53
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"grade-api.d.ts","sourceRoot":"","sources":["../src/grade-api.ts"],"names":[],"mappings":"AAOA,OAAO,EAAS,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAOtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAIrD,OAAO,EAAwB,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAI/E,YAAY,EACV,cAAc,EACd,cAAc,EACd,aAAa,EACb,SAAS,EACT,UAAU,EACV,YAAY,EACZ,WAAW,EACX,UAAU,EACV,WAAW,EACX,SAAS,EACT,KAAK,EACL,aAAa,GACd,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC9D,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxG,YAAY,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,MAAM,MAAM,YAAY,GAAG;IACzB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,oGAAoG;IACpG,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,mCAAmC;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,iFAAiF;IACjF,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS;QAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/G,6GAA6G;IAC7G,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,uGAAuG;IACvG,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,yGAAyG;IACzG,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,0GAA0G;IAC1G,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACnC,CAAC;AAEF,iGAAiG;AACjG,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;gBAEzB,QAAQ,EAAE,SAAS,MAAM,EAAE;CAKxC;AA6ED;;;;GAIG;AACH,eAAO,MAAM,KAAK,GAAU,QAAQ,MAAM,EAAE,UAAS,YAAiB,KAAG,OAAO,CAAC,WAAW,CAiB3F,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAAI,SAAS,YAAY,KAAG,iBAIvD,CAAC"}
1
+ {"version":3,"file":"grade-api.d.ts","sourceRoot":"","sources":["../src/grade-api.ts"],"names":[],"mappings":"AAOA,OAAO,EAAS,KAAK,MAAM,EAAE,MAAM,kBAAkB,CAAC;AAOtD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAErD,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAKrD,OAAO,EAAwB,KAAK,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AACnF,OAAO,EAAmB,KAAK,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAI/E,YAAY,EACV,cAAc,EACd,cAAc,EACd,aAAa,EACb,SAAS,EACT,UAAU,EACV,YAAY,EACZ,WAAW,EACX,UAAU,EACV,WAAW,EACX,SAAS,EACT,KAAK,EACL,aAAa,GACd,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,UAAU,EAAE,MAAM,kBAAkB,CAAC;AACnD,YAAY,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AACrD,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACvE,OAAO,EAAE,QAAQ,EAAE,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC9D,YAAY,EAAE,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACxG,YAAY,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D,MAAM,MAAM,YAAY,GAAG;IACzB,+CAA+C;IAC/C,QAAQ,CAAC,EAAE,CAAC,EAAE,MAAM,CAAC;IACrB,oGAAoG;IACpG,QAAQ,CAAC,SAAS,CAAC,EAAE,MAAM,CAAC;IAC5B,mCAAmC;IACnC,QAAQ,CAAC,OAAO,CAAC,EAAE,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;IACpD,iFAAiF;IACjF,QAAQ,CAAC,SAAS,CAAC,EAAE,SAAS;QAAE,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAA;KAAE,EAAE,CAAC;IAC/G,6GAA6G;IAC7G,QAAQ,CAAC,QAAQ,CAAC,EAAE,SAAS,MAAM,EAAE,CAAC;IACtC,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAC3B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,uGAAuG;IACvG,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,6GAA6G;IAC7G,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,gHAAgH;IAChH,QAAQ,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,CAAC;IACvC,yGAAyG;IACzG,QAAQ,CAAC,YAAY,CAAC,EAAE,OAAO,CAAC;IAChC,0GAA0G;IAC1G,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;CACnC,CAAC;AAEF,iGAAiG;AACjG,qBAAa,eAAgB,SAAQ,KAAK;IACxC,QAAQ,CAAC,QAAQ,EAAE,SAAS,MAAM,EAAE,CAAC;gBAEzB,QAAQ,EAAE,SAAS,MAAM,EAAE;CAKxC;AAkGD;;;;;GAKG;AACH,eAAO,MAAM,KAAK,GAAU,QAAQ,MAAM,EAAE,UAAS,YAAiB,KAAG,OAAO,CAAC,WAAW,CAS3F,CAAC;AAEF;;;;;;GAMG;AACH,eAAO,MAAM,eAAe,GAAI,SAAS,YAAY,KAAG,iBAIvD,CAAC"}