paperlint 3.1.0 → 3.1.1

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 (284) hide show
  1. package/.github/workflows/ci.yml +28 -41
  2. package/.github/workflows/dependabot-automerge.yml +1 -1
  3. package/CLAUDE.md +51 -56
  4. package/CONTRIBUTING.md +30 -18
  5. package/bin/paperlint.test.mjs +45 -0
  6. package/dist/adapters/node/files.io.d.ts +2 -0
  7. package/dist/adapters/node/files.io.d.ts.map +1 -1
  8. package/dist/adapters/node/files.io.js +3 -2
  9. package/dist/adapters/node/files.io.js.map +1 -1
  10. package/dist/adapters/pdfjs/fill.d.ts +15 -4
  11. package/dist/adapters/pdfjs/fill.d.ts.map +1 -1
  12. package/dist/adapters/pdfjs/fill.js +31 -21
  13. package/dist/adapters/pdfjs/fill.js.map +1 -1
  14. package/dist/adapters/references/index.d.ts.map +1 -1
  15. package/dist/adapters/references/index.js +14 -5
  16. package/dist/adapters/references/index.js.map +1 -1
  17. package/dist/adapters/references/pool.d.ts +8 -0
  18. package/dist/adapters/references/pool.d.ts.map +1 -0
  19. package/dist/adapters/references/pool.js +19 -0
  20. package/dist/adapters/references/pool.js.map +1 -0
  21. package/dist/build.d.ts +10 -2
  22. package/dist/build.d.ts.map +1 -1
  23. package/dist/build.js +7 -8
  24. package/dist/build.js.map +1 -1
  25. package/dist/cli.d.ts +27 -1
  26. package/dist/cli.d.ts.map +1 -1
  27. package/dist/cli.js +71 -55
  28. package/dist/cli.js.map +1 -1
  29. package/dist/doctor.d.ts +27 -1
  30. package/dist/doctor.d.ts.map +1 -1
  31. package/dist/doctor.js +4 -3
  32. package/dist/doctor.js.map +1 -1
  33. package/dist/domain/result.d.ts +0 -2
  34. package/dist/domain/result.d.ts.map +1 -1
  35. package/dist/domain/result.js +0 -4
  36. package/dist/domain/result.js.map +1 -1
  37. package/dist/hooks-settings.d.ts +8 -5
  38. package/dist/hooks-settings.d.ts.map +1 -1
  39. package/dist/hooks-settings.js +32 -32
  40. package/dist/hooks-settings.js.map +1 -1
  41. package/dist/init.d.ts +8 -0
  42. package/dist/init.d.ts.map +1 -1
  43. package/dist/init.js +3 -3
  44. package/dist/init.js.map +1 -1
  45. package/dist/latex-log.d.ts +0 -2
  46. package/dist/latex-log.d.ts.map +1 -1
  47. package/dist/latex-log.js +7 -13
  48. package/dist/latex-log.js.map +1 -1
  49. package/dist/link-skills.d.ts +15 -2
  50. package/dist/link-skills.d.ts.map +1 -1
  51. package/dist/link-skills.js +36 -20
  52. package/dist/link-skills.js.map +1 -1
  53. package/dist/paper-files.d.ts.map +1 -1
  54. package/dist/paper-files.js +6 -4
  55. package/dist/paper-files.js.map +1 -1
  56. package/dist/pdf-facts.d.ts +11 -0
  57. package/dist/pdf-facts.d.ts.map +1 -1
  58. package/dist/pdf-facts.js +16 -18
  59. package/dist/pdf-facts.js.map +1 -1
  60. package/dist/pdf-geometry.js +1 -1
  61. package/dist/pdf-geometry.js.map +1 -1
  62. package/dist/presets.d.ts +2 -0
  63. package/dist/presets.d.ts.map +1 -1
  64. package/dist/presets.js +3 -1
  65. package/dist/presets.js.map +1 -1
  66. package/dist/references.js +2 -2
  67. package/dist/references.js.map +1 -1
  68. package/dist/tex-requirements.d.ts +8 -0
  69. package/dist/tex-requirements.d.ts.map +1 -1
  70. package/dist/tex-requirements.js +6 -5
  71. package/dist/tex-requirements.js.map +1 -1
  72. package/dist/toolchain.d.ts +3 -2
  73. package/dist/toolchain.d.ts.map +1 -1
  74. package/dist/toolchain.js +4 -5
  75. package/dist/toolchain.js.map +1 -1
  76. package/dist/venue-rules.d.ts.map +1 -1
  77. package/dist/venue-rules.js +11 -9
  78. package/dist/venue-rules.js.map +1 -1
  79. package/docs/prior-art/README.md +1 -1
  80. package/docs/prior-art/test-tooling.md +7 -30
  81. package/eslint-rules/install-path-literals.harness.mjs +17 -1
  82. package/eslint-rules/latex-language.harness.mjs +3 -3
  83. package/eslint-rules/latex-language.mjs +12 -9
  84. package/eslint-rules/latex-language.test.mjs +200 -0
  85. package/eslint-rules/paper-research-question.harness.mjs +73 -7
  86. package/eslint-rules/paper-stages.harness.mjs +9 -14
  87. package/eslint-rules/paper-stages.test.mjs +135 -0
  88. package/eslint-rules/paper-typography.mjs +9 -2
  89. package/eslint-rules/paper-typography.test.mjs +146 -1
  90. package/eslint-rules/pdf-last-page-balance.harness.mjs +63 -7
  91. package/eslint-rules/review-frontmatter.mjs +2 -1
  92. package/eslint-rules/review-frontmatter.test.mjs +37 -1
  93. package/eslint-rules/temp-root-realpath.harness.mjs +49 -0
  94. package/eslint-rules/tex-build.mjs +13 -13
  95. package/eslint.config.mjs +6 -2
  96. package/hooks/hooks.harness.mjs +6 -11
  97. package/hooks/paper-edit-guard.hook.mjs +2 -2
  98. package/hooks/paper-edit-guard.test.mjs +61 -0
  99. package/hooks/paper-skills-nudge.hook.mjs +2 -2
  100. package/hooks/paper-skills-nudge.test.mjs +38 -0
  101. package/hooks/paper-status-gates.test.mjs +42 -0
  102. package/lib/agent-cli-version.harness.mjs +7 -0
  103. package/lib/check.d.mts +17 -0
  104. package/lib/check.mjs +50 -0
  105. package/lib/check.test.ts +67 -0
  106. package/lib/markdown.mjs +16 -69
  107. package/lib/markdown.test.mjs +246 -0
  108. package/lib/paper-config.harness.mjs +28 -9
  109. package/lib/paper-config.mjs +7 -2
  110. package/lib/skill-checks.mjs +18 -46
  111. package/lib/skill-checks.test.mjs +297 -0
  112. package/lib/skill-corpus.mjs +11 -13
  113. package/lib/skill-corpus.test.mjs +54 -0
  114. package/lib/skill-trigger-cases.harness.mjs +57 -4
  115. package/package.json +6 -5
  116. package/scripts/check.harness.mjs +4 -10
  117. package/scripts/check.mjs +45 -42
  118. package/scripts/check.test.mjs +104 -0
  119. package/scripts/coverage-config.test.ts +406 -0
  120. package/scripts/eslint-report-guard.test.mjs +48 -0
  121. package/scripts/harness-api.frozen.json +0 -2
  122. package/scripts/layer-legacy-frozen.d.mts +9 -1
  123. package/scripts/layer-legacy-frozen.mjs +28 -11
  124. package/scripts/layer-legacy-frozen.test.ts +143 -1
  125. package/scripts/rules-are-content-only.harness.mjs +3 -11
  126. package/scripts/rules-are-content-only.mjs +29 -19
  127. package/scripts/rules-are-content-only.test.mjs +61 -0
  128. package/scripts/rules-see-files.mjs +11 -9
  129. package/scripts/rules-see-files.test.mjs +71 -0
  130. package/scripts/test.mjs +44 -0
  131. package/scripts/test.test.mjs +52 -0
  132. package/skills/grade-paper-writing/__snapshots__/prose-lint.test.mjs.snap +57 -0
  133. package/skills/grade-paper-writing/prose-lint.mjs +31 -12
  134. package/skills/grade-paper-writing/prose-lint.test.mjs +153 -0
  135. package/skills/paper-pipeline/grade-paper-writing-ablation.eval.mjs +3 -3
  136. package/skills/paper-pipeline/scripts/README.md +13 -132
  137. package/skills/paper-pipeline/scripts/announce.test.mjs +102 -0
  138. package/skills/paper-pipeline/scripts/artifact-coverage.test.mjs +86 -0
  139. package/skills/paper-pipeline/scripts/consumer.d.mts +8 -1
  140. package/skills/paper-pipeline/scripts/consumer.harness.mjs +3 -3
  141. package/skills/paper-pipeline/scripts/consumer.mjs +13 -25
  142. package/skills/paper-pipeline/scripts/consumer.test.mjs +113 -0
  143. package/skills/paper-pipeline/scripts/extract-ref-facts.mjs +9 -4
  144. package/skills/paper-pipeline/scripts/extract-ref-facts.test.mjs +380 -0
  145. package/skills/paper-pipeline/scripts/fixtures/scorecard.mjs +71 -0
  146. package/skills/paper-pipeline/scripts/generated-code.harness.mjs +4 -4
  147. package/skills/paper-pipeline/scripts/generated-code.mjs +3 -2
  148. package/skills/paper-pipeline/scripts/generated-code.test.mjs +62 -0
  149. package/skills/paper-pipeline/scripts/ledger.cli.test.mjs +302 -0
  150. package/skills/paper-pipeline/scripts/ledger.mjs +1 -1
  151. package/skills/paper-pipeline/scripts/{ledger.selftest.mjs → ledger.test.mjs} +44 -76
  152. package/skills/paper-pipeline/scripts/pipeline-check.cli.test.mjs +474 -0
  153. package/skills/paper-pipeline/scripts/pipeline-check.harness.mjs +2 -63
  154. package/skills/paper-pipeline/scripts/pipeline-check.mjs +37 -21
  155. package/skills/paper-pipeline/scripts/pipeline-edges.mjs +2 -2
  156. package/skills/paper-pipeline/scripts/pipeline-edges.test.mjs +73 -0
  157. package/skills/paper-pipeline/scripts/population-map.harness.mjs +4 -47
  158. package/skills/paper-pipeline/scripts/population-map.mjs +12 -2
  159. package/skills/paper-pipeline/scripts/population-map.test.mjs +154 -0
  160. package/skills/paper-pipeline/scripts/provenance.harness.mjs +26 -0
  161. package/skills/paper-pipeline/scripts/round-diff.harness.mjs +1 -2
  162. package/skills/paper-pipeline/scripts/round-diff.mjs +13 -6
  163. package/skills/paper-pipeline/scripts/round-diff.test.mjs +159 -0
  164. package/skills/paper-pipeline/scripts/run-mechanical.mjs +30 -6
  165. package/skills/paper-pipeline/scripts/run-mechanical.test.mjs +468 -0
  166. package/skills/paper-pipeline/scripts/status.mjs +2 -2
  167. package/skills/paper-pipeline/scripts/status.test.mjs +232 -0
  168. package/skills/plan-paper-timeline/plan-paper-timeline.effects.harness.mjs +2 -2
  169. package/skills/render-paper/extract-pdf-facts.harness.mjs +56 -7
  170. package/skills/tighten-paper/__snapshots__/structure.test.mjs.snap +133 -0
  171. package/skills/tighten-paper/structure.test.mjs +116 -0
  172. package/skills/verify-citations/SKILL.md +5 -5
  173. package/skills/verify-citations/SKILL.md.spec.ts +4 -4
  174. package/skills/verify-citations/scripts/__snapshots__/verify-cites.net.test.mjs.snap +235 -0
  175. package/skills/verify-citations/scripts/bib-authors.check.test.mjs +274 -0
  176. package/skills/verify-citations/scripts/bib-authors.cli.test.mjs +178 -0
  177. package/skills/verify-citations/scripts/bib-authors.mjs +2 -1
  178. package/skills/verify-citations/scripts/verify-cites.cli.test.mjs +160 -0
  179. package/skills/verify-citations/scripts/verify-cites.mjs +96 -96
  180. package/skills/verify-citations/scripts/verify-cites.net.test.mjs +287 -0
  181. package/skills/verify-citations/scripts/verify-cites.test.mjs +149 -5
  182. package/src/adapters/banal/failure.test.ts +70 -1
  183. package/src/adapters/banal/index.test.ts +16 -0
  184. package/src/adapters/banal/output.test.ts +5 -0
  185. package/src/adapters/curl/download.test.ts +43 -1
  186. package/src/adapters/memory/index.test.ts +25 -0
  187. package/src/adapters/node/files.io.ts +3 -2
  188. package/src/adapters/node/files.test.ts +13 -1
  189. package/src/adapters/node/process.test.ts +38 -0
  190. package/src/adapters/pdfjs/fill.test.ts +34 -0
  191. package/src/adapters/pdfjs/fill.ts +44 -25
  192. package/src/adapters/references/index.test.ts +228 -0
  193. package/src/adapters/references/index.ts +21 -6
  194. package/src/adapters/references/pool.test.ts +31 -0
  195. package/src/adapters/references/pool.ts +24 -0
  196. package/src/build-engine.harness.mjs +3 -7
  197. package/src/build-engine.test.ts +137 -0
  198. package/src/build.harness.mjs +5 -9
  199. package/src/build.test.ts +362 -0
  200. package/src/build.ts +13 -9
  201. package/src/cli.harness.mjs +10 -17
  202. package/src/cli.test.ts +584 -0
  203. package/src/cli.ts +112 -66
  204. package/src/doctor.harness.mjs +3 -8
  205. package/src/doctor.test.ts +64 -0
  206. package/src/doctor.ts +12 -4
  207. package/src/domain/result.test.ts +4 -0
  208. package/src/domain/result.ts +0 -5
  209. package/src/engine.harness.mjs +27 -7
  210. package/src/facts-file.test.ts +110 -0
  211. package/src/hooks-settings.harness.mjs +43 -13
  212. package/src/hooks-settings.ts +41 -35
  213. package/src/init.test.ts +308 -5
  214. package/src/init.ts +3 -3
  215. package/src/latex-log.harness.mjs +32 -7
  216. package/src/latex-log.ts +6 -13
  217. package/src/latex-loop.harness.mjs +8 -7
  218. package/src/link-skills.harness.mjs +3 -8
  219. package/src/link-skills.test.ts +105 -0
  220. package/src/link-skills.ts +75 -21
  221. package/src/new-paper.harness.mjs +3 -7
  222. package/src/new-paper.test.ts +31 -1
  223. package/src/paper-files.test.ts +12 -0
  224. package/src/paper-files.ts +9 -5
  225. package/src/paper-settings.test.ts +20 -0
  226. package/src/pdf-facts.harness.mjs +3 -6
  227. package/src/pdf-facts.test.ts +144 -0
  228. package/src/pdf-facts.ts +17 -19
  229. package/src/pdf-geometry.harness.mjs +3 -7
  230. package/src/pdf-geometry.ts +1 -1
  231. package/src/presets.test.ts +2 -0
  232. package/src/presets.ts +7 -1
  233. package/src/references.test.ts +97 -0
  234. package/src/references.ts +2 -2
  235. package/src/rules-config.harness.mjs +10 -8
  236. package/src/structure.harness.mjs +3 -7
  237. package/src/tex-requirements.harness.mjs +34 -7
  238. package/src/tex-requirements.ts +12 -6
  239. package/src/toolchain.harness.mjs +3 -7
  240. package/src/toolchain.test.ts +280 -0
  241. package/src/toolchain.ts +8 -7
  242. package/src/venue-rules.test.ts +60 -0
  243. package/src/venue-rules.ts +13 -11
  244. package/action.mutations.mjs +0 -162
  245. package/eslint-rules/install-path-literals.mutations.mjs +0 -62
  246. package/eslint-rules/latex-language.mutations.mjs +0 -196
  247. package/eslint-rules/paper-research-question.mutations.mjs +0 -127
  248. package/eslint-rules/paper-stages.mutations.mjs +0 -81
  249. package/eslint-rules/papers.mutations.mjs +0 -186
  250. package/eslint-rules/temp-root-realpath.mutations.mjs +0 -99
  251. package/eslint-rules/tex-build.mutations.mjs +0 -258
  252. package/hooks/hooks.mutations.mjs +0 -337
  253. package/lib/agent-cli-version.mutations.mjs +0 -109
  254. package/lib/mutation-driver.harness.mjs +0 -227
  255. package/lib/mutation-driver.mjs +0 -397
  256. package/lib/mutation-driver.mutations.mjs +0 -68
  257. package/lib/paper-config.mutations.mjs +0 -143
  258. package/lib/skill-trigger-cases.mutations.mjs +0 -65
  259. package/scripts/check.mutations.mjs +0 -110
  260. package/scripts/exclusive.mjs +0 -138
  261. package/scripts/mutation-batteries-frozen.harness.mjs +0 -204
  262. package/scripts/mutation-batteries-frozen.mjs +0 -238
  263. package/scripts/mutation-batteries.frozen.json +0 -108
  264. package/scripts/rules-are-content-only.mutations.mjs +0 -81
  265. package/scripts/rules-see-files.mutations.mjs +0 -131
  266. package/scripts/run-mutations.mjs +0 -100
  267. package/skills/paper-pipeline/scripts/artifact-coverage.mutations.mjs +0 -218
  268. package/skills/paper-pipeline/scripts/consumer.mutations.mjs +0 -190
  269. package/skills/paper-pipeline/scripts/extract-ref-facts.mutations.mjs +0 -54
  270. package/skills/paper-pipeline/scripts/generated-code.mutations.mjs +0 -254
  271. package/skills/paper-pipeline/scripts/pipeline-check.mutations.mjs +0 -54
  272. package/skills/paper-pipeline/scripts/population-map.mutations.mjs +0 -65
  273. package/skills/paper-pipeline/scripts/population-map.selftest.mjs +0 -122
  274. package/skills/paper-pipeline/scripts/provenance.mutations.mjs +0 -59
  275. package/skills/paper-pipeline/scripts/round-diff.mutations.mjs +0 -276
  276. package/skills/plan-paper-timeline/plan-paper-timeline.effects.mutations.mjs +0 -65
  277. package/skills/skill-contract.mutations.mjs +0 -179
  278. package/src/build.mutations.mjs +0 -196
  279. package/src/cli.mutations.mjs +0 -414
  280. package/src/doctor.mutations.mjs +0 -175
  281. package/src/hooks-settings.mutations.mjs +0 -99
  282. package/src/link-skills.mutations.mjs +0 -140
  283. package/src/new-paper.mutations.mjs +0 -65
  284. package/src/structure.mutations.mjs +0 -83
package/dist/cli.js CHANGED
@@ -45,10 +45,10 @@ import { paperRules, stringFields, } from "./paper-settings.js";
45
45
  import { referenceRules, REFERENCE_RULE_LEVELS } from "./reference-rules.js";
46
46
  import { onlineReferences } from "./adapters/references/index.js";
47
47
  import { narrowToOwners, ownedPatterns, ruleOwners, scopeToOwned, } from "./paper-files.js";
48
- import { paperPreset, paperPresetProblem, presetProblemText, resolvePreset, shippedPresets, SHIPPED_PREFIX, } from "./presets.js";
48
+ import { paperPreset, settingsProblemLine, presetProblemText, resolvePreset, shippedPresets, SHIPPED_PREFIX, } from "./presets.js";
49
49
  import { mergeRequirements, declaredUnion, requirementsFor, NO_REQUIREMENTS, } from "./tex-requirements.js";
50
50
  import { doctor } from "./doctor.js";
51
- import { init, processInteractivity, askOnTerminal } from "./init.js";
51
+ import { askOnTerminal, askOrDefault, init, processInteractivity, } from "./init.js";
52
52
  import { DEFAULT_FORMAT, FORMATS, isFormat, newPaper, reportNewPaper, } from "./new-paper.js";
53
53
  // The one source for the consumer's config key lives in the .mjs half of the package (the ESLint
54
54
  // rules and the skill scripts import it too); its types are in lib/paper-config.d.mts.
@@ -368,8 +368,8 @@ export function paperRuleBlocks(paths) {
368
368
  const out = { preset: [], own: [] };
369
369
  for (const dir of papers) {
370
370
  const p = paperPreset(dir, PRESET_DEPS);
371
- if (p.kind === "settings-problem" && p.problem.kind === "broken")
372
- return { ok: false, error: paperPresetProblem(dir, p) ?? dir };
371
+ if (p.kind === "settings-problem")
372
+ return { ok: false, error: settingsProblemLine(dir, p.problem) };
373
373
  const blocks = rulesOfPaper(dir, p);
374
374
  if (!blocks.ok)
375
375
  return blocks;
@@ -384,7 +384,7 @@ export function paperRuleBlocks(paths) {
384
384
  * contributes nothing here; `pdf/profile` reports it on the paper.
385
385
  */
386
386
  function rulesOfPaper(dir, p) {
387
- const settings = "settings" in p ? p.settings : null;
387
+ const { settings } = p;
388
388
  const fromPreset = p.kind === "resolved"
389
389
  ? parseRuleEntries(p.preset.rules, `the venue preset ${p.preset.chain.join(" → ")} → "rules"`, SHIPPED_RULES)
390
390
  : { ok: true, value: {} };
@@ -452,6 +452,8 @@ export function parseSettings(json, where, baseDir) {
452
452
  * papers inside the config's directory, that is the config's directory itself.
453
453
  */
454
454
  const lintRoot = (home, paths) => commonDir([home, ...paths]);
455
+ /** A path as the reader typed it: relative to where the command runs, or whole when it IS there. */
456
+ const shown = (cwd, p) => relative(cwd, p) || p;
455
457
  /** The longest shared leading run of path segments. */
456
458
  const commonDir = (paths) => {
457
459
  const [first = [], ...rest] = paths.map((p) => p.split(sep));
@@ -481,25 +483,26 @@ export function parseArgs(argv) {
481
483
  // gate that fails on advice gets muted entirely.
482
484
  maxWarnings: -1,
483
485
  };
486
+ // Consumed from the front: a value flag takes the next argument by shifting it off.
484
487
  const rest = [...argv];
485
- if (rest[0] && !rest[0].startsWith("-"))
486
- out.cmd = rest.shift() ?? null;
488
+ const first = rest[0];
489
+ if (first && !first.startsWith("-")) {
490
+ out.cmd = first;
491
+ rest.shift();
492
+ }
487
493
  // 🔴 A FLAG WHOSE VALUE WAS TAKEN AWAY IS A REFUSAL, NOT A DEFAULT. The compiler found this
488
- // during the move to TypeScript: `rest[++i]` past the last argument gives `undefined`, and
494
+ // during the move to TypeScript: the value past the last argument is `undefined`, and
489
495
  // `paperlint lint --config` (the value forgotten, or eaten by a substitution in CI) silently turned
490
496
  // into "no config given" — that is, it went to auto-discovery and linted against SOMEONE ELSE'S
491
497
  // file, saying nothing. The failure is one-sided and toward silence, so it is cured by
492
498
  // behaviour, not by a type cast.
493
- const valueFor = (flag, i) => {
494
- const v = rest[i];
499
+ const valueFor = (flag) => {
500
+ const v = rest.shift();
495
501
  if (v === undefined)
496
502
  out.missingValue = flag;
497
503
  return v;
498
504
  };
499
- for (let i = 0; i < rest.length; i++) {
500
- const arg = rest[i];
501
- if (arg === undefined)
502
- continue;
505
+ for (let arg = rest.shift(); arg !== undefined; arg = rest.shift()) {
503
506
  // `--flag=value` is `--flag value` for every flag that takes a value: the CI action writes
504
507
  // `--max-warnings="$N"`, and that form used to fall through to the list of paths.
505
508
  const eq = arg.indexOf("=");
@@ -509,7 +512,7 @@ export function parseArgs(argv) {
509
512
  const a = inline === undefined ? arg : arg.slice(0, eq);
510
513
  const take = () => {
511
514
  if (inline === undefined)
512
- return valueFor(a, ++i);
515
+ return valueFor(a);
513
516
  if (inline === "")
514
517
  out.missingValue = a;
515
518
  return inline === "" ? undefined : inline;
@@ -573,9 +576,9 @@ const VALUE_FLAGS = new Set([
573
576
  * the CI action to its release tag; an unreadable manifest yields `undefined`, and init then keeps
574
577
  * the placeholder instead of guessing.
575
578
  */
576
- function ownVersion() {
579
+ export function ownVersion(readManifest = () => readFileSync(new URL("../package.json", import.meta.url), "utf8")) {
577
580
  try {
578
- const v = JSON.parse(readFileSync(new URL("../package.json", import.meta.url), "utf8"))?.version;
581
+ const v = JSON.parse(readManifest())?.version;
579
582
  return typeof v === "string" ? v : undefined;
580
583
  }
581
584
  catch {
@@ -619,8 +622,9 @@ export function readConfig(a, { log = console.log, err = console.error, cwd = pr
619
622
  //
620
623
  // 🔴 IN `--json` MODE — TO stderr. Machine output must be ONE parsable document: a line before
621
624
  // the array breaks any `| jq`, and it breaks it for the consumer, not for us.
622
- (a.json ? err : log)(`config: ${relative(cwd, configPath) || CONFIG_FILE}`);
623
- const settings = parseSettings(parsed, relative(cwd, configPath) || CONFIG_FILE, root);
625
+ const shownPath = shown(cwd, configPath);
626
+ (a.json ? err : log)(`config: ${shownPath}`);
627
+ const settings = parseSettings(parsed, shownPath, root);
624
628
  if (!settings.ok) {
625
629
  err(settings.error);
626
630
  return { code: 2 };
@@ -714,7 +718,7 @@ resolve = (spec) => createRequire(import.meta.url).resolve(spec), } = {}) {
714
718
  */
715
719
  export async function createPaperAt(papersRoot, name, format, { log, err, cwd, venue = null, }) {
716
720
  const result = newPaper(papersRoot, name, format, { venue });
717
- const here = (p) => relative(cwd, p) || p;
721
+ const here = (p) => shown(cwd, p);
718
722
  for (const line of reportNewPaper(result, here))
719
723
  log(line);
720
724
  if (!result.ok)
@@ -741,7 +745,7 @@ export async function chooseVenue(flags, { paperDir, cwd, interactive, ask, }) {
741
745
  const shipped = SHIPPED_VENUES();
742
746
  if (flags.kind !== null && flags.venue === null)
743
747
  return bad(`--kind needs --venue: a kind is a page limit of one venue preset — \`paperlint new <name> --venue <preset> --kind ${flags.kind}\``);
744
- const asked = async (q) => (await ask(q).catch(() => "")).trim();
748
+ const asked = async (q) => (await askOrDefault(ask, q))?.trim() ?? "";
745
749
  const venue = flags.venue ??
746
750
  (interactive
747
751
  ? await asked(`venue: ${[...shipped, "none"].join(" / ")} [none] `)
@@ -815,9 +819,9 @@ async function runNew(a, { log, err, cwd, ask = askOnTerminal, }) {
815
819
  format = a.format;
816
820
  }
817
821
  else if (processInteractivity(a.yes).interactive) {
818
- const f = await ask(`format: tex / md [${DEFAULT_FORMAT}] `).catch(() => "");
819
- if (isFormat(f.trim()))
820
- format = f.trim();
822
+ const f = (await askOrDefault(ask, `format: tex / md [${DEFAULT_FORMAT}] `))?.trim();
823
+ if (isFormat(f))
824
+ format = f;
821
825
  }
822
826
  const cfg = readConfig({ ...a, json: false }, { log: () => { }, err, cwd });
823
827
  if (cfg.code !== undefined)
@@ -829,7 +833,7 @@ async function runNew(a, { log, err, cwd, ask = askOnTerminal, }) {
829
833
  return 2;
830
834
  }
831
835
  if (roots.length > 1)
832
- log(`several papers directories are declared — using the first: ${relative(cwd, papersRoot) || papersRoot}`);
836
+ log(`several papers directories are declared — using the first: ${shown(cwd, papersRoot)}`);
833
837
  const paperDir = join(papersRoot, name);
834
838
  // An existing paperlint.json is never overwritten, so a venue for it is refused, not dropped.
835
839
  const hasConfig = existsSync(join(paperDir, CONFIG_FILE));
@@ -861,7 +865,7 @@ async function runNew(a, { log, err, cwd, ask = askOnTerminal, }) {
861
865
  * everything" on a corpus of five papers is twenty pdflatex runs instead of one, and almost never
862
866
  * what was wanted.
863
867
  */
864
- async function runBuild(a, { log, err, cwd, }) {
868
+ async function runBuild(a, { log, err, cwd, checkReferences, }) {
865
869
  const cfg = readConfig(a, { log, err, cwd });
866
870
  if (cfg.code !== undefined)
867
871
  return cfg.code;
@@ -889,7 +893,7 @@ async function runBuild(a, { log, err, cwd, }) {
889
893
  cwd,
890
894
  dryRun: a.dryRun,
891
895
  log,
892
- checkReferences: onlineReferences,
896
+ checkReferences,
893
897
  engine: () => engineEnv(targets, a, { log, err }),
894
898
  });
895
899
  if (out.kind === "no-engine")
@@ -973,6 +977,33 @@ function hostBanalInstaller() {
973
977
  });
974
978
  return banalInstaller({ ...ports, download }, s);
975
979
  }
980
+ /**
981
+ * init's TeX Live step: whether paperlint's own tree is installed, and how to install it —
982
+ * `runToolchain` over what this project's papers need. `toolchain` is the seam a test replaces:
983
+ * the real one downloads ~270 MB.
984
+ */
985
+ export function initTexLive(a, { log, err, cwd, }, toolchain = runToolchain) {
986
+ return {
987
+ installed: () => cachedTree(cacheRoot(process.env)) !== null,
988
+ install: () => toolchain({
989
+ check: false,
990
+ log,
991
+ err,
992
+ banal: hostBanalInstaller(),
993
+ tex: toolchainTex(resolve(cwd, a.paths[0] ?? ".")),
994
+ }),
995
+ };
996
+ }
997
+ /**
998
+ * The first papers directory the CLI would lint from `cwd`, or null when the config does not read
999
+ * or names none — what `doctor` (and `init`, through it) compares the hooks' directory against.
1000
+ */
1001
+ function cliPapers(a, cwd) {
1002
+ const read = readConfig(a, { log: () => { }, err: () => { }, cwd });
1003
+ return read.code === undefined
1004
+ ? (toPaths(papersDirOf(read.opts))[0] ?? null)
1005
+ : null;
1006
+ }
976
1007
  /** `paperlint init`: its flags checked here, the install itself in `init.ts`. */
977
1008
  async function runInit(a, { log, err, cwd, }) {
978
1009
  // Deferred, not implemented: named and refused, rather than read as the directory argument.
@@ -995,25 +1026,11 @@ async function runInit(a, { log, err, cwd, }) {
995
1026
  paper: a.paper,
996
1027
  format: isFormat(a.format) ? a.format : null,
997
1028
  createPaper: (papersRoot, name, format) => createPaperAt(papersRoot, name, format, { log, err, cwd }),
998
- tex: {
999
- installed: () => cachedTree(cacheRoot(process.env)) !== null,
1000
- install: () => runToolchain({
1001
- check: false,
1002
- log,
1003
- err,
1004
- banal: hostBanalInstaller(),
1005
- tex: toolchainTex(resolve(cwd, a.paths[0] ?? ".")),
1006
- }),
1007
- },
1008
- resolveCliPapers: (root) => {
1009
- const read = readConfig({ ...a, config: null }, { log: () => { }, err: () => { }, cwd: root });
1010
- return read.code === undefined
1011
- ? (toPaths(papersDirOf(read.opts))[0] ?? null)
1012
- : null;
1013
- },
1029
+ tex: initTexLive(a, { log, err, cwd }),
1030
+ resolveCliPapers: (root) => cliPapers({ ...a, config: null }, root),
1014
1031
  });
1015
1032
  }
1016
- export async function run(argv, { log = console.log, err = console.error, cwd = process.cwd(), } = {}) {
1033
+ export async function run(argv, { log = console.log, err = console.error, cwd = process.cwd(), checkReferences = onlineReferences, } = {}) {
1017
1034
  const a = parseArgs(argv);
1018
1035
  // The refusal must come FIRST: behind a flag without a value there is usually a typo, or a
1019
1036
  // substitution in CI that collapsed into nothing, and any continuation works on something other
@@ -1041,10 +1058,7 @@ export async function run(argv, { log = console.log, err = console.error, cwd =
1041
1058
  // broken is precisely its job. So a failed read becomes "the CLI would lint nothing", which is
1042
1059
  // what it prints, rather than an early exit that tells the reader nothing about the hooks.
1043
1060
  if (a.cmd === "doctor") {
1044
- const read = readConfig(a, { log: () => { }, err: () => { }, cwd });
1045
- const papers = read.code === undefined
1046
- ? (toPaths(papersDirOf(read.opts))[0] ?? null)
1047
- : null;
1061
+ const papers = cliPapers(a, cwd);
1048
1062
  return doctor({
1049
1063
  log,
1050
1064
  cwd,
@@ -1054,7 +1068,7 @@ export async function run(argv, { log = console.log, err = console.error, cwd =
1054
1068
  }
1055
1069
  const simple = SIMPLE[a.cmd];
1056
1070
  if (simple)
1057
- return await simple(a, { log, err, cwd });
1071
+ return await simple(a, { log, err, cwd, checkReferences });
1058
1072
  if (a.cmd === "check")
1059
1073
  err(`\`check\` is now \`lint\` — running it anyway. Update the call to \`paperlint lint\`.`);
1060
1074
  if (a.cmd !== "lint" && a.cmd !== "check") {
@@ -1103,14 +1117,16 @@ export async function run(argv, { log = console.log, err = console.error, cwd =
1103
1117
  ...opts,
1104
1118
  rules: [...papers.value.preset, ...(opts.rules ?? []), ...papers.value.own],
1105
1119
  };
1120
+ // Loaded lazily because only `lint` needs it. If the module cannot be loaded (a broken install:
1121
+ // the file missing from the package), lint still runs over the markdown papers rather than
1122
+ // failing outright — the LaTeX rules simply have no language to run in.
1106
1123
  let texLanguage = null;
1107
1124
  try {
1108
- // @ts-expect-error — the module is .mjs and has no types; a missing LaTeX parser is a normal
1109
- // case here, it is caught by the catch below.
1125
+ // @ts-expect-error — the module is .mjs and has no types
1110
1126
  ({ texLanguage } = await import("../eslint-rules/latex-language.mjs"));
1111
1127
  }
1112
1128
  catch {
1113
- /* without a LaTeX parser we work over markdown */
1129
+ texLanguage = null;
1114
1130
  }
1115
1131
  const eslint = new ESLint({
1116
1132
  cwd: lintRoot(root, paths),
@@ -1120,7 +1136,7 @@ export async function run(argv, { log = console.log, err = console.error, cwd =
1120
1136
  });
1121
1137
  const unowned = await firstUnownedFile(eslint, paths);
1122
1138
  if (unowned !== null) {
1123
- err(`${relative(cwd, unowned) || unowned} is not a file paperlint lints — it lints ${PAPER_FILE_PATTERNS.join(", ")}`);
1139
+ err(`${shown(cwd, unowned)} is not a file paperlint lints — it lints ${PAPER_FILE_PATTERNS.join(", ")}`);
1124
1140
  return 2;
1125
1141
  }
1126
1142
  // 🔴 ESLint THROWS on an empty set (`NoFilesFoundError`) — the guard below simply never got
@@ -1146,7 +1162,7 @@ export async function run(argv, { log = console.log, err = console.error, cwd =
1146
1162
  // indistinguishable from "not a single rule got a single file". A rule whose glob did not match
1147
1163
  // is not invoked — and, not being invoked, it physically cannot report that.
1148
1164
  if (results.length === 0) {
1149
- err(`nothing was linted under ${paths.map((x) => relative(cwd, x) || x).join(", ")} — no PIPELINE-STATUS.md, paper.md/tex or reviews/ found there. A clean report over zero files is not a clean report.`);
1165
+ err(`nothing was linted under ${paths.map((x) => shown(cwd, x)).join(", ")} — no PIPELINE-STATUS.md, paper.md/tex or reviews/ found there. A clean report over zero files is not a clean report.`);
1150
1166
  return 1;
1151
1167
  }
1152
1168
  return await reportLint(eslint, results, structure, {
@@ -1185,7 +1201,7 @@ const isEmptySet = (e) => {
1185
1201
  const fail = e;
1186
1202
  return (fail?.messageTemplate === "file-not-found" ||
1187
1203
  fail?.messageTemplate === "all-matched-files-ignored" ||
1188
- /No files matching/i.test(fail?.message ?? ""));
1204
+ /No files matching/i.test(String(fail?.message)));
1189
1205
  };
1190
1206
  /**
1191
1207
  * The end of `paperlint lint`: refuse an optional rule that reached no paper, print the findings, and
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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"}
package/dist/doctor.d.ts CHANGED
@@ -1,3 +1,26 @@
1
+ /**
2
+ * `paperlint doctor` — the command that makes SILENCE VISIBLE.
3
+ *
4
+ * 🔴 WHY THIS EXISTS AT ALL, when none of the eight tools surveyed for `docs/install.md` ships a
5
+ * `doctor`. None of them needs one: a formatter that is misconfigured formats nothing and you see
6
+ * it immediately. This package has `paper-edit-guard`, whose success state IS silence — it reports
7
+ * nothing while guarding correctly and reports nothing while guarding a directory that does not
8
+ * exist. From outside, "installed" and "protecting you" are the same picture.
9
+ *
10
+ * Measured 2026-09-18, and this is the failure the command was written for: a consumer who follows
11
+ * the documented install exactly — `paperlint init`, then point the config at their papers — gets a guard
12
+ * that allows every Bash write to their paper sources. It only appears to work when the directory
13
+ * path happens to contain the segment `papers`, because that is the default the hook falls back to.
14
+ * (Issue #33.)
15
+ *
16
+ * 🔴 THE ROOT THE HOOK WOULD USE IS ASKED OF THE HOOK, NOT RE-DERIVED. `papersRoot` is imported
17
+ * from `paper-edit-guard.hook.mjs` itself. A second implementation here would be a second source of
18
+ * truth, which is the very defect this command reports — and it would drift silently, because a
19
+ * copy that disagrees with the original still prints a confident answer.
20
+ *
21
+ * Prior art for the shape: `brew doctor`, `flutter doctor`, `npm doctor`, `expo-doctor`.
22
+ */
23
+ import { type Dirent } from "node:fs";
1
24
  import { spawnSync } from "node:child_process";
2
25
  import { type LinkReport } from "./link-skills.ts";
3
26
  export interface Program {
@@ -19,8 +42,10 @@ export interface Program {
19
42
  export declare const TEX_INSTALL = "npx paperlint toolchain (paperlint build uses its TeX Live without PATH; the skills need its bin on PATH)";
20
43
  export declare const PROGRAMS: readonly Program[];
21
44
  export declare const found: (bin: string, run?: typeof spawnSync) => boolean;
45
+ /** Lists a directory's entries; the disk by default, a test stages an unreadable child. */
46
+ type ReadDir = (dir: string) => Dirent[];
22
47
  /** Directories that look like papers, used to REPLACE a guessed default with a measurement. */
23
- export declare function detectPapers(cwd: string, depth?: number): string[];
48
+ export declare function detectPapers(cwd: string, depth?: number, readdir?: ReadDir): string[];
24
49
  export interface DoctorOptions {
25
50
  log?: typeof console.log;
26
51
  cwd?: string;
@@ -39,4 +64,5 @@ export interface DoctorOptions {
39
64
  * which skills you use. A doctor that exits non-zero on an advisory line gets piped to /dev/null.
40
65
  */
41
66
  export declare function doctor({ log, cwd, projectDir, run, cliPapers, skillLinks, }?: DoctorOptions): number;
67
+ export {};
42
68
  //# sourceMappingURL=doctor.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AA0BA,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAU/C,OAAO,EAA2B,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG5E,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH;;;;GAIG;AACH,eAAO,MAAM,WAAW,gHACuF,CAAC;AAEhH,eAAO,MAAM,QAAQ,EAAE,SAAS,OAAO,EAuCtC,CAAC;AAEF,eAAO,MAAM,KAAK,GAAI,KAAK,MAAM,EAAE,sBAAe,KAAG,OACuB,CAAC;AAE7E,+FAA+F;AAC/F,wBAAgB,YAAY,CAAC,GAAG,EAAE,MAAM,EAAE,KAAK,SAAI,GAAG,MAAM,EAAE,CAmC7D;AAmFD,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,OAAO,OAAO,CAAC,GAAG,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+FAA+F;IAC/F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,OAAO,SAAS,CAAC;IACvB,yFAAyF;IACzF,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,+FAA+F;IAC/F,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,UAAU,CAAC;CAC3C;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,EACrB,GAAiB,EAEjB,GAAmB,EACnB,UAAU,EACV,GAAe,EACf,SAAgB,EAChB,UAA2D,GAC5D,GAAE,aAAkB,GAAG,MAAM,CAqF7B"}
1
+ {"version":3,"file":"doctor.d.ts","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;GAqBG;AAEH,OAAO,EAAE,KAAK,MAAM,EAAyC,MAAM,SAAS,CAAC;AAG7E,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAU/C,OAAO,EAA2B,KAAK,UAAU,EAAE,MAAM,kBAAkB,CAAC;AAG5E,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;IACzB,QAAQ,CAAC,OAAO,EAAE,MAAM,CAAC;CAC1B;AAED;;;;GAIG;AACH;;;;GAIG;AACH,eAAO,MAAM,WAAW,gHACuF,CAAC;AAEhH,eAAO,MAAM,QAAQ,EAAE,SAAS,OAAO,EAuCtC,CAAC;AAEF,eAAO,MAAM,KAAK,GAAI,KAAK,MAAM,EAAE,sBAAe,KAAG,OACuB,CAAC;AAE7E,2FAA2F;AAC3F,KAAK,OAAO,GAAG,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,EAAE,CAAC;AAGzC,+FAA+F;AAC/F,wBAAgB,YAAY,CAC1B,GAAG,EAAE,MAAM,EACX,KAAK,SAAI,EACT,OAAO,GAAE,OAAiB,GACzB,MAAM,EAAE,CAmCV;AAmFD,MAAM,WAAW,aAAa;IAC5B,GAAG,CAAC,EAAE,OAAO,OAAO,CAAC,GAAG,CAAC;IACzB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,+FAA+F;IAC/F,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,GAAG,CAAC,EAAE,OAAO,SAAS,CAAC;IACvB,yFAAyF;IACzF,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,+FAA+F;IAC/F,UAAU,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,UAAU,CAAC;CAC3C;AAED;;;;;GAKG;AACH,wBAAgB,MAAM,CAAC,EACrB,GAAiB,EAEjB,GAAmB,EACnB,UAAU,EACV,GAAe,EACf,SAAgB,EAChB,UAA2D,GAC5D,GAAE,aAAkB,GAAG,MAAM,CAqF7B"}
package/dist/doctor.js CHANGED
@@ -81,14 +81,15 @@ export const PROGRAMS = [
81
81
  },
82
82
  ];
83
83
  export const found = (bin, run = spawnSync) => run("command", ["-v", bin], { shell: true, stdio: "ignore" }).status === 0;
84
+ const readDir = (dir) => readdirSync(dir, { withFileTypes: true });
84
85
  /** Directories that look like papers, used to REPLACE a guessed default with a measurement. */
85
- export function detectPapers(cwd, depth = 2) {
86
+ export function detectPapers(cwd, depth = 2, readdir = readDir) {
86
87
  const hits = [];
87
88
  const skip = new Set(["node_modules", ".git", "dist", "_build", ".claude"]);
88
89
  const walk = (dir, left) => {
89
90
  let entries;
90
91
  try {
91
- entries = readdirSync(dir, { withFileTypes: true });
92
+ entries = readdir(dir);
92
93
  }
93
94
  catch {
94
95
  return;
@@ -100,7 +101,7 @@ export function detectPapers(cwd, depth = 2) {
100
101
  // A directory whose CHILDREN look like papers is the papers root — not the paper itself.
101
102
  let children;
102
103
  try {
103
- children = readdirSync(here, { withFileTypes: true });
104
+ children = readdir(here);
104
105
  }
105
106
  catch {
106
107
  continue;
@@ -1 +1 @@
1
- {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"doctor.js","sourceRoot":"","sources":["../src/doctor.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,4 @@ export declare const match: <T, E, R>(r: Result<T, E>, on: {
18
18
  readonly ok: (t: T) => R;
19
19
  readonly err: (e: E) => R;
20
20
  }) => R;
21
- /** The `default` of an exhaustive `switch`: a new variant is a compile error, not a silent fall-through. */
22
- export declare function assertNever(x: never): never;
23
21
  //# sourceMappingURL=result.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../src/domain/result.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,IACnB;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GACxC;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC;AAE9C,eAAO,MAAM,EAAE,GAAI,CAAC,EAAE,OAAO,CAAC,KAAG,MAAM,CAAC,CAAC,EAAE,KAAK,CAA0B,CAAC;AAC3E,eAAO,MAAM,GAAG,GAAI,CAAC,EAAE,OAAO,CAAC,KAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAA2B,CAAC;AAE7E,eAAO,MAAM,GAAG,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAC/C,CAAC;AAE5B,eAAO,MAAM,OAAO,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAChC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACf,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KACxB,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAA4B,CAAC;AAE/C,eAAO,MAAM,KAAK,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAC3B,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACf,IAAI;IAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;CAAE,KAC1D,CAA8C,CAAC;AAElD,4GAA4G;AAC5G,wBAAgB,WAAW,CAAC,CAAC,EAAE,KAAK,GAAG,KAAK,CAE3C"}
1
+ {"version":3,"file":"result.d.ts","sourceRoot":"","sources":["../../src/domain/result.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AACH,MAAM,MAAM,MAAM,CAAC,CAAC,EAAE,CAAC,IACnB;IAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,GACxC;IAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC;IAAC,QAAQ,CAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC;AAE9C,eAAO,MAAM,EAAE,GAAI,CAAC,EAAE,OAAO,CAAC,KAAG,MAAM,CAAC,CAAC,EAAE,KAAK,CAA0B,CAAC;AAC3E,eAAO,MAAM,GAAG,GAAI,CAAC,EAAE,OAAO,CAAC,KAAG,MAAM,CAAC,KAAK,EAAE,CAAC,CAA2B,CAAC;AAE7E,eAAO,MAAM,GAAG,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,KAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAC/C,CAAC;AAE5B,eAAO,MAAM,OAAO,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAChC,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACf,GAAG,CAAC,CAAC,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,KACxB,MAAM,CAAC,CAAC,EAAE,CAAC,GAAG,CAAC,CAA4B,CAAC;AAE/C,eAAO,MAAM,KAAK,GAAI,CAAC,EAAE,CAAC,EAAE,CAAC,EAC3B,GAAG,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,EACf,IAAI;IAAE,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAC;IAAC,QAAQ,CAAC,GAAG,EAAE,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,CAAA;CAAE,KAC1D,CAA8C,CAAC"}
@@ -3,8 +3,4 @@ export const err = (error) => ({ ok: false, error });
3
3
  export const map = (r, f) => r.ok ? ok(f(r.value)) : r;
4
4
  export const andThen = (r, f) => (r.ok ? f(r.value) : r);
5
5
  export const match = (r, on) => (r.ok ? on.ok(r.value) : on.err(r.error));
6
- /** The `default` of an exhaustive `switch`: a new variant is a compile error, not a silent fall-through. */
7
- export function assertNever(x) {
8
- throw new Error(`unhandled variant: ${JSON.stringify(x)}`);
9
- }
10
6
  //# sourceMappingURL=result.js.map