paperlint 3.1.3 → 4.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.github/workflows/ci.yml +12 -7
- package/CLAUDE.md +5 -5
- package/CONTRIBUTING.md +34 -5
- package/dist/adapters/banal/failure.d.ts +1 -7
- package/dist/adapters/banal/failure.d.ts.map +1 -1
- package/dist/adapters/banal/failure.js +5 -7
- package/dist/adapters/banal/failure.js.map +1 -1
- package/dist/adapters/banal/index.d.ts.map +1 -1
- package/dist/adapters/banal/index.js +4 -3
- package/dist/adapters/banal/index.js.map +1 -1
- package/dist/adapters/banal/install.d.ts.map +1 -1
- package/dist/adapters/banal/install.js +4 -3
- package/dist/adapters/banal/install.js.map +1 -1
- package/dist/adapters/banal/invocation.d.ts +10 -5
- package/dist/adapters/banal/invocation.d.ts.map +1 -1
- package/dist/adapters/banal/invocation.js +13 -1
- package/dist/adapters/banal/invocation.js.map +1 -1
- package/dist/adapters/banal/locate.d.ts +12 -9
- package/dist/adapters/banal/locate.d.ts.map +1 -1
- package/dist/adapters/banal/locate.js +19 -12
- package/dist/adapters/banal/locate.js.map +1 -1
- package/dist/adapters/banal/run.d.ts +10 -1
- package/dist/adapters/banal/run.d.ts.map +1 -1
- package/dist/adapters/banal/run.js +8 -4
- package/dist/adapters/banal/run.js.map +1 -1
- package/dist/adapters/banal/settings.d.ts +1 -1
- package/dist/adapters/banal/settings.d.ts.map +1 -1
- package/dist/adapters/banal/settings.js +2 -1
- package/dist/adapters/banal/settings.js.map +1 -1
- package/dist/adapters/memory/index.d.ts.map +1 -1
- package/dist/adapters/memory/index.js +8 -2
- package/dist/adapters/memory/index.js.map +1 -1
- package/dist/adapters/node/files.io.d.ts.map +1 -1
- package/dist/adapters/node/files.io.js +2 -1
- package/dist/adapters/node/files.io.js.map +1 -1
- package/dist/adapters/node/process.io.d.ts +5 -7
- package/dist/adapters/node/process.io.d.ts.map +1 -1
- package/dist/adapters/node/process.io.js +4 -3
- package/dist/adapters/node/process.io.js.map +1 -1
- package/dist/adapters/node/workspace.io.d.ts.map +1 -1
- package/dist/adapters/node/workspace.io.js +4 -2
- package/dist/adapters/node/workspace.io.js.map +1 -1
- package/dist/adapters/pdfjs/fill.d.ts.map +1 -1
- package/dist/adapters/pdfjs/fill.js +13 -7
- package/dist/adapters/pdfjs/fill.js.map +1 -1
- package/dist/adapters/references/index.d.ts.map +1 -1
- package/dist/adapters/references/index.js +8 -7
- package/dist/adapters/references/index.js.map +1 -1
- package/dist/adapters/references/pool.d.ts.map +1 -1
- package/dist/adapters/references/pool.js +4 -5
- package/dist/adapters/references/pool.js.map +1 -1
- package/dist/adapters/references/reach.io.d.ts.map +1 -1
- package/dist/adapters/references/reach.io.js +2 -1
- package/dist/adapters/references/reach.io.js.map +1 -1
- package/dist/build-engine.d.ts +1 -1
- package/dist/build-engine.d.ts.map +1 -1
- package/dist/build-engine.js +10 -3
- package/dist/build-engine.js.map +1 -1
- package/dist/build.d.ts +2 -3
- package/dist/build.d.ts.map +1 -1
- package/dist/build.js +19 -17
- package/dist/build.js.map +1 -1
- package/dist/caller-path.d.ts +3 -0
- package/dist/caller-path.d.ts.map +1 -0
- package/dist/caller-path.js +13 -0
- package/dist/caller-path.js.map +1 -0
- package/dist/cli.d.ts +10 -17
- package/dist/cli.d.ts.map +1 -1
- package/dist/cli.js +93 -46
- package/dist/cli.js.map +1 -1
- package/dist/doctor.d.ts +12 -3
- package/dist/doctor.d.ts.map +1 -1
- package/dist/doctor.js +5 -3
- package/dist/doctor.js.map +1 -1
- package/dist/domain/lookup-cache.d.ts.map +1 -1
- package/dist/domain/lookup-cache.js +10 -8
- package/dist/domain/lookup-cache.js.map +1 -1
- package/dist/domain/paths.d.ts +8 -2
- package/dist/domain/paths.d.ts.map +1 -1
- package/dist/domain/paths.js +12 -1
- package/dist/domain/paths.js.map +1 -1
- package/dist/domain/ready.d.ts +24 -0
- package/dist/domain/ready.d.ts.map +1 -0
- package/dist/domain/ready.js +11 -0
- package/dist/domain/ready.js.map +1 -0
- package/dist/domain/record.d.ts +8 -0
- package/dist/domain/record.d.ts.map +1 -0
- package/dist/domain/record.js +8 -0
- package/dist/domain/record.js.map +1 -0
- package/dist/domain/sha256.d.ts.map +1 -1
- package/dist/domain/sha256.js +4 -2
- package/dist/domain/sha256.js.map +1 -1
- package/dist/domain/text.d.ts +12 -0
- package/dist/domain/text.d.ts.map +1 -1
- package/dist/domain/text.js +17 -0
- package/dist/domain/text.js.map +1 -1
- package/dist/engine.d.ts +23 -22
- package/dist/engine.d.ts.map +1 -1
- package/dist/engine.js +4 -3
- package/dist/engine.js.map +1 -1
- package/dist/eslint-rules/bib-reachable-entry.d.ts +22 -0
- package/dist/eslint-rules/bib-reachable-entry.d.ts.map +1 -0
- package/dist/eslint-rules/bib-reachable-entry.js +75 -0
- package/dist/eslint-rules/bib-reachable-entry.js.map +1 -0
- package/dist/eslint-rules/install-path-literals.d.ts +80 -0
- package/dist/eslint-rules/install-path-literals.d.ts.map +1 -0
- package/dist/eslint-rules/install-path-literals.js +105 -0
- package/dist/eslint-rules/install-path-literals.js.map +1 -0
- package/dist/eslint-rules/latex-language.d.ts +136 -0
- package/dist/eslint-rules/latex-language.d.ts.map +1 -0
- package/dist/eslint-rules/latex-language.js +639 -0
- package/dist/eslint-rules/latex-language.js.map +1 -0
- package/dist/eslint-rules/paper-research-question.d.ts +31 -0
- package/dist/eslint-rules/paper-research-question.d.ts.map +1 -0
- package/dist/eslint-rules/paper-research-question.js +188 -0
- package/dist/eslint-rules/paper-research-question.js.map +1 -0
- package/dist/eslint-rules/paper-stages.d.ts +83 -0
- package/dist/eslint-rules/paper-stages.d.ts.map +1 -0
- package/dist/eslint-rules/paper-stages.js +358 -0
- package/dist/eslint-rules/paper-stages.js.map +1 -0
- package/dist/eslint-rules/paper-typography.d.ts +74 -0
- package/dist/eslint-rules/paper-typography.d.ts.map +1 -0
- package/dist/eslint-rules/paper-typography.js +404 -0
- package/dist/eslint-rules/paper-typography.js.map +1 -0
- package/dist/eslint-rules/papers.d.ts +42 -0
- package/dist/eslint-rules/papers.d.ts.map +1 -0
- package/dist/eslint-rules/papers.js +145 -0
- package/dist/eslint-rules/papers.js.map +1 -0
- package/dist/eslint-rules/pdf-last-page-balance.d.ts +72 -0
- package/dist/eslint-rules/pdf-last-page-balance.d.ts.map +1 -0
- package/dist/eslint-rules/pdf-last-page-balance.js +237 -0
- package/dist/eslint-rules/pdf-last-page-balance.js.map +1 -0
- package/dist/eslint-rules/review-frontmatter.d.ts +57 -0
- package/dist/eslint-rules/review-frontmatter.d.ts.map +1 -0
- package/dist/eslint-rules/review-frontmatter.js +126 -0
- package/dist/eslint-rules/review-frontmatter.js.map +1 -0
- package/dist/eslint-rules/review-frontmatter.schema.json +36 -0
- package/dist/eslint-rules/rule-context.d.ts +55 -0
- package/dist/eslint-rules/rule-context.d.ts.map +1 -0
- package/dist/eslint-rules/rule-context.js +9 -0
- package/dist/eslint-rules/rule-context.js.map +1 -0
- package/dist/eslint-rules/sibling-frontmatter.d.ts +25 -0
- package/dist/eslint-rules/sibling-frontmatter.d.ts.map +1 -0
- package/dist/eslint-rules/sibling-frontmatter.js +16 -0
- package/dist/eslint-rules/sibling-frontmatter.js.map +1 -0
- package/dist/eslint-rules/sibling-frontmatter.schema.json +14 -0
- package/dist/eslint-rules/temp-root-realpath.d.ts +71 -0
- package/dist/eslint-rules/temp-root-realpath.d.ts.map +1 -0
- package/dist/eslint-rules/temp-root-realpath.js +139 -0
- package/dist/eslint-rules/temp-root-realpath.js.map +1 -0
- package/dist/eslint-rules/tex-build.d.ts +35 -0
- package/dist/eslint-rules/tex-build.d.ts.map +1 -0
- package/dist/eslint-rules/tex-build.js +313 -0
- package/dist/eslint-rules/tex-build.js.map +1 -0
- package/dist/facts-file.d.ts.map +1 -1
- package/dist/facts-file.js +31 -27
- package/dist/facts-file.js.map +1 -1
- package/dist/hooks-settings.d.ts +1 -1
- package/dist/hooks-settings.d.ts.map +1 -1
- package/dist/hooks-settings.js +31 -11
- package/dist/hooks-settings.js.map +1 -1
- package/dist/init.d.ts +8 -9
- package/dist/init.d.ts.map +1 -1
- package/dist/init.js +33 -15
- package/dist/init.js.map +1 -1
- package/dist/latex-loop.d.ts +2 -2
- package/dist/latex-loop.d.ts.map +1 -1
- package/dist/latex-loop.js +2 -2
- package/dist/latex-loop.js.map +1 -1
- package/dist/lib/agent-cli-version.d.ts +65 -0
- package/dist/lib/agent-cli-version.d.ts.map +1 -0
- package/dist/lib/agent-cli-version.js +77 -0
- package/dist/lib/agent-cli-version.js.map +1 -0
- package/dist/lib/check.d.ts +19 -0
- package/dist/lib/check.d.ts.map +1 -0
- package/dist/lib/check.js +52 -0
- package/dist/lib/check.js.map +1 -0
- package/dist/lib/markdown.d.ts +180 -0
- package/dist/lib/markdown.d.ts.map +1 -0
- package/dist/lib/markdown.js +302 -0
- package/dist/lib/markdown.js.map +1 -0
- package/dist/lib/paper-config.d.ts +84 -0
- package/dist/lib/paper-config.d.ts.map +1 -0
- package/dist/lib/paper-config.js +138 -0
- package/dist/lib/paper-config.js.map +1 -0
- package/dist/lib/skill-eval-fixture.d.ts +29 -0
- package/dist/lib/skill-eval-fixture.d.ts.map +1 -0
- package/dist/lib/skill-eval-fixture.js +62 -0
- package/dist/lib/skill-eval-fixture.js.map +1 -0
- package/dist/link-skills.d.ts.map +1 -1
- package/dist/link-skills.js +5 -4
- package/dist/link-skills.js.map +1 -1
- package/dist/new-paper.d.ts.map +1 -1
- package/dist/new-paper.js +7 -3
- package/dist/new-paper.js.map +1 -1
- package/dist/paper-files.d.ts +4 -4
- package/dist/paper-files.d.ts.map +1 -1
- package/dist/paper-files.js +6 -6
- package/dist/paper-files.js.map +1 -1
- package/dist/paper-settings.d.ts.map +1 -1
- package/dist/paper-settings.js +8 -7
- package/dist/paper-settings.js.map +1 -1
- package/dist/pdf-facts.d.ts +51 -1
- package/dist/pdf-facts.d.ts.map +1 -1
- package/dist/pdf-facts.js +25 -16
- package/dist/pdf-facts.js.map +1 -1
- package/dist/pdf-geometry.d.ts.map +1 -1
- package/dist/pdf-geometry.js +3 -4
- package/dist/pdf-geometry.js.map +1 -1
- package/dist/ports/tool-installer.d.ts +2 -14
- package/dist/ports/tool-installer.d.ts.map +1 -1
- package/dist/presets.d.ts.map +1 -1
- package/dist/presets.js +19 -6
- package/dist/presets.js.map +1 -1
- package/dist/references.d.ts.map +1 -1
- package/dist/references.js +15 -10
- package/dist/references.js.map +1 -1
- package/dist/rules-config.d.ts +26 -1
- package/dist/rules-config.d.ts.map +1 -1
- package/dist/rules-config.js +15 -12
- package/dist/rules-config.js.map +1 -1
- package/dist/structure.js +1 -1
- package/dist/structure.js.map +1 -1
- package/dist/tex-requirements.d.ts +4 -0
- package/dist/tex-requirements.d.ts.map +1 -1
- package/dist/tex-requirements.js +22 -5
- package/dist/tex-requirements.js.map +1 -1
- package/dist/toolchain.d.ts.map +1 -1
- package/dist/toolchain.js +21 -16
- package/dist/toolchain.js.map +1 -1
- package/dist/types.d.ts +5 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/venue-rules.d.ts.map +1 -1
- package/dist/venue-rules.js +21 -8
- package/dist/venue-rules.js.map +1 -1
- package/docs/configuration.md +2 -2
- package/docs/e2e.md +7 -7
- package/docs/install.md +1 -1
- package/docs/prior-art/README.md +1 -1
- package/docs/prior-art/package-location.md +5 -5
- package/docs/prior-art/repro/README.md +1 -1
- package/docs/prior-art/test-tooling.md +2 -2
- package/docs/testing.md +11 -8
- package/docs/toolchain.md +1 -1
- package/eslint-rules/{bib-reachable-entry.mjs → bib-reachable-entry.ts} +5 -4
- package/eslint-rules/install-path-literals.harness.mjs +1 -1
- package/eslint-rules/{install-path-literals.mjs → install-path-literals.ts} +18 -10
- package/eslint-rules/latex-language.harness.mjs +2 -2
- package/eslint-rules/latex-language.test.mjs +7 -1
- package/eslint-rules/{latex-language.mjs → latex-language.ts} +297 -109
- package/eslint-rules/paper-research-question.harness.mjs +3 -3
- package/eslint-rules/{paper-research-question.mjs → paper-research-question.ts} +35 -16
- package/eslint-rules/paper-stages.harness.mjs +2 -2
- package/eslint-rules/paper-stages.test.mjs +8 -2
- package/eslint-rules/{paper-stages.mjs → paper-stages.ts} +76 -31
- package/eslint-rules/paper-typography.test.mjs +3 -3
- package/eslint-rules/{paper-typography.mjs → paper-typography.ts} +134 -56
- package/eslint-rules/papers.harness.mjs +2 -2
- package/eslint-rules/{papers.mjs → papers.ts} +7 -4
- package/eslint-rules/pdf-last-page-balance.harness.mjs +3 -3
- package/eslint-rules/{pdf-last-page-balance.mjs → pdf-last-page-balance.ts} +89 -32
- package/eslint-rules/review-frontmatter.test.mjs +2 -2
- package/eslint-rules/{review-frontmatter.mjs → review-frontmatter.ts} +38 -16
- package/eslint-rules/rule-context.ts +62 -0
- package/eslint-rules/{sibling-frontmatter.mjs → sibling-frontmatter.ts} +1 -1
- package/eslint-rules/temp-root-realpath.harness.mjs +1 -1
- package/eslint-rules/{temp-root-realpath.mjs → temp-root-realpath.ts} +20 -7
- package/eslint-rules/tex-build.harness.mjs +2 -2
- package/eslint-rules/{tex-build.mjs → tex-build.ts} +6 -5
- package/eslint.config.mjs +146 -30
- package/fixtures/install-path-literals/clean.fixture.mjs +1 -1
- package/fixtures/install-path-literals/clean.md +2 -2
- package/fixtures/install-path-literals/defect.fixture.mjs +1 -1
- package/fixtures/install-path-literals/defect.md +2 -2
- package/fixtures/pdf-facts/README.md +2 -2
- package/fixtures/real-markdown-paper/{baseline.mjs → baseline.ts} +31 -10
- package/hooks/{hooks.harness.mjs → hooks.harness.ts} +51 -34
- package/hooks/paper-edit-guard.hook.mjs +1 -1
- package/hooks/{paper-edit-guard.test.mjs → paper-edit-guard.test.ts} +3 -7
- package/hooks/paper-skills-nudge.hook.mjs +1 -1
- package/hooks/{paper-skills-nudge.test.mjs → paper-skills-nudge.test.ts} +2 -6
- package/hooks/paper-status-gates.sh +9 -19
- package/hooks/{paper-status-gates.test.mjs → paper-status-gates.test.ts} +2 -6
- package/lib/agent-cli-version.harness.mjs +1 -1
- package/lib/{agent-cli-version.mjs → agent-cli-version.ts} +32 -18
- package/lib/check.test.ts +14 -9
- package/lib/{check.mjs → check.ts} +22 -9
- package/lib/markdown.test.mjs +7 -7
- package/lib/{markdown.mjs → markdown.ts} +68 -29
- package/lib/paper-config.harness.mjs +9 -9
- package/lib/{paper-config.mjs → paper-config.ts} +20 -19
- package/lib/skill-checks.mjs +24 -381
- package/lib/skill-checks.test.mjs +64 -116
- package/lib/skill-corpus.mjs +10 -251
- package/lib/skill-corpus.test.mjs +2 -13
- package/lib/skill-eval-kit.mjs +1 -1
- package/lib/skill-trigger-cases.mjs +1 -1
- package/package.json +42 -10
- package/scripts/{check.harness.mjs → check.harness.ts} +111 -10
- package/scripts/{check.test.mjs → check.test.ts} +13 -10
- package/scripts/{check.mjs → check.ts} +116 -42
- package/scripts/coverage-config.test.ts +80 -38
- package/scripts/eslint-report-guard.test.mjs +1 -1
- package/scripts/harness-api.frozen.json +14 -16
- package/scripts/harness-api.test.ts +8 -5
- package/scripts/layer-legacy-frozen.test.ts +17 -13
- package/scripts/{layer-legacy-frozen.mjs → layer-legacy-frozen.ts} +128 -39
- package/scripts/release-config.test.ts +12 -4
- package/scripts/rules-see-files.test.mjs +1 -1
- package/scripts/test.test.ts +78 -0
- package/scripts/test.ts +87 -0
- package/skills/analyze-sibling-paper/SKILL.md +1 -39
- package/skills/analyze-sibling-paper/SKILL.md.spec.ts +0 -38
- package/skills/argument-arc/SKILL.md +2 -36
- package/skills/argument-arc/SKILL.md.spec.ts +1 -43
- package/skills/build-benchmark/SKILL.md +1 -41
- package/skills/build-benchmark/SKILL.md.spec.ts +0 -40
- package/skills/camera-ready/SKILL.md +1 -34
- package/skills/camera-ready/SKILL.md.spec.ts +0 -33
- package/skills/cold-read-diff/SKILL.md +1 -35
- package/skills/cold-read-diff/SKILL.md.spec.ts +0 -34
- package/skills/draft-paper/SKILL.md +2 -41
- package/skills/draft-paper/SKILL.md.spec.ts +1 -50
- package/skills/extend-paper/SKILL.md +2 -33
- package/skills/extend-paper/SKILL.md.spec.ts +1 -42
- package/skills/find-venue/SKILL.md +2 -38
- package/skills/find-venue/SKILL.md.spec.ts +1 -47
- package/skills/grade-paper-writing/SKILL.md +3 -38
- package/skills/grade-paper-writing/SKILL.md.spec.ts +2 -47
- package/skills/grade-paper-writing/prose-lint.mjs +3 -4
- package/skills/grade-paper-writing/{prose-lint.test.mjs → prose-lint.test.ts} +3 -3
- package/skills/harden-paper/SKILL.md +1 -39
- package/skills/harden-paper/SKILL.md.spec.ts +0 -38
- package/skills/map-prior-work/SKILL.md +1 -35
- package/skills/map-prior-work/SKILL.md.spec.ts +0 -34
- package/skills/osf-artifact-upload/{osf-artifact-upload.harness.mjs → osf-artifact-upload.harness.ts} +3 -4
- package/skills/paper-adversarial-review/SKILL.md +2 -35
- package/skills/paper-adversarial-review/SKILL.md.spec.ts +1 -43
- package/skills/paper-pipeline/SKILL.md +2 -28
- package/skills/paper-pipeline/SKILL.md.spec.ts +1 -27
- package/skills/paper-pipeline/description-language.eval.mjs +1 -1
- package/skills/paper-pipeline/framing-vs-vocabulary.eval.mjs +1 -1
- package/skills/paper-pipeline/grade-paper-writing-ablation.eval.mjs +2 -2
- package/skills/paper-pipeline/paper-pipeline.harness.mjs +25 -40
- package/skills/paper-pipeline/pipeline-firing.eval.mjs +1 -1
- package/skills/paper-pipeline/pipeline-language.eval.mjs +1 -1
- package/skills/paper-pipeline/references/acceptance-gate.md +1 -6
- package/skills/paper-pipeline/references/pipeline-status-template.md +8 -35
- package/skills/paper-pipeline/scripts/README.md +30 -225
- package/skills/paper-pipeline/scripts/artifact-coverage.harness.mjs +4 -8
- package/skills/paper-pipeline/scripts/artifact-coverage.mjs +1 -1
- package/skills/paper-pipeline/scripts/{artifact-coverage.test.mjs → artifact-coverage.test.ts} +2 -2
- package/skills/paper-pipeline/scripts/consumer.harness.mjs +6 -104
- package/skills/paper-pipeline/scripts/consumer.mjs +24 -109
- package/skills/paper-pipeline/scripts/consumer.test.mjs +1 -1
- package/skills/paper-pipeline/scripts/extract-ref-facts.harness.mjs +1 -1
- package/skills/paper-pipeline/scripts/extract-ref-facts.mjs +1 -4
- package/skills/paper-pipeline/scripts/extract-ref-facts.test.mjs +1 -1
- package/skills/paper-pipeline/scripts/generated-code.harness.mjs +2 -3
- package/skills/paper-pipeline/scripts/{generated-code.test.mjs → generated-code.test.ts} +3 -3
- package/skills/paper-pipeline/scripts/population-map.harness.mjs +3 -3
- package/skills/paper-pipeline/scripts/population-map.mjs +1 -4
- package/skills/paper-pipeline/scripts/population-map.test.mjs +1 -1
- package/skills/paper-pipeline/scripts/{round-diff.harness.mjs → round-diff.harness.ts} +45 -18
- package/skills/paper-pipeline/scripts/round-diff.mjs +1 -1
- package/skills/paper-pipeline/scripts/round-diff.test.mjs +1 -1
- package/skills/paper-status/SKILL.md +2 -42
- package/skills/paper-status/SKILL.md.spec.ts +1 -41
- package/skills/pc-panel-review/SKILL.md +2 -46
- package/skills/pc-panel-review/SKILL.md.spec.ts +1 -45
- package/skills/plan-paper-timeline/SKILL.md +2 -36
- package/skills/plan-paper-timeline/SKILL.md.spec.ts +0 -36
- package/skills/plan-paper-timeline/fixtures/{fake-google-calendar.mjs → fake-google-calendar.ts} +101 -70
- package/skills/plan-paper-timeline/plan-paper-timeline.effects.harness.mjs +3 -3
- package/skills/render-paper/SKILL.md +1 -37
- package/skills/render-paper/SKILL.md.spec.ts +0 -36
- package/skills/render-paper/{extract-pdf-facts.harness.mjs → extract-pdf-facts.harness.ts} +34 -9
- package/skills/render-paper/render-paper.harness.mjs +2 -2
- package/skills/research-ideate/SKILL.md +2 -39
- package/skills/research-ideate/SKILL.md.spec.ts +1 -47
- package/skills/study-accepted-papers/SKILL.md +1 -34
- package/skills/study-accepted-papers/SKILL.md.spec.ts +0 -33
- package/skills/submit-paper/SKILL.md +1 -33
- package/skills/submit-paper/SKILL.md.spec.ts +0 -32
- package/skills/sweep-design-space/SKILL.md +1 -38
- package/skills/sweep-design-space/SKILL.md.spec.ts +0 -37
- package/skills/tighten-paper/SKILL.md +2 -39
- package/skills/tighten-paper/SKILL.md.spec.ts +1 -47
- package/skills/tighten-paper/structure.mjs +5 -12
- package/skills/tighten-paper/{structure.test.mjs → structure.test.ts} +4 -3
- package/skills/verify-citations/SKILL.md +2 -38
- package/skills/verify-citations/SKILL.md.spec.ts +1 -37
- package/skills/verify-citations/scripts/{bib-authors.cli.test.mjs → bib-authors.cli.test.ts} +14 -4
- package/skills/verify-citations/scripts/bib-authors.d.mts +63 -0
- package/skills/verify-citations/scripts/bib-authors.mjs +1 -4
- package/skills/verify-citations/scripts/{verify-cites.cli.test.mjs → verify-cites.cli.test.ts} +32 -9
- package/skills/verify-citations/scripts/verify-cites.d.mts +58 -0
- package/src/CLAUDE.md +1 -1
- package/src/adapters/banal/failure.ts +9 -10
- package/src/adapters/banal/index.test.ts +5 -8
- package/src/adapters/banal/index.ts +8 -7
- package/src/adapters/banal/install.ts +9 -4
- package/src/adapters/banal/invocation.test.ts +23 -9
- package/src/adapters/banal/invocation.ts +24 -9
- package/src/adapters/banal/locate.test.ts +2 -2
- package/src/adapters/banal/locate.ts +27 -21
- package/src/adapters/banal/output.test.ts +1 -1
- package/src/adapters/banal/run.test.ts +5 -5
- package/src/adapters/banal/run.ts +16 -10
- package/src/adapters/banal/settings.ts +2 -2
- package/src/adapters/banal/xml.test.ts +1 -1
- package/src/adapters/curl/download.test.ts +8 -6
- package/src/adapters/memory/index.ts +4 -3
- package/src/adapters/node/files.io.ts +2 -2
- package/src/adapters/node/files.test.ts +8 -4
- package/src/adapters/node/process.io.ts +13 -5
- package/src/adapters/node/process.test.ts +5 -5
- package/src/adapters/node/workspace.io.ts +9 -4
- package/src/adapters/node/workspace.test.ts +3 -1
- package/src/adapters/pdfjs/fill.test.ts +2 -2
- package/src/adapters/pdfjs/fill.ts +14 -7
- package/src/adapters/references/index.test.ts +31 -38
- package/src/adapters/references/index.ts +33 -60
- package/src/adapters/references/pool.ts +3 -5
- package/src/adapters/references/reach.io.ts +2 -1
- package/src/build-engine.harness.mjs +1 -1
- package/src/build-engine.test.ts +13 -8
- package/src/build-engine.ts +12 -7
- package/src/build.harness.mjs +2 -2
- package/src/build.test.ts +24 -24
- package/src/build.ts +34 -26
- package/src/caller-path.ts +13 -0
- package/src/cli.harness.mjs +6 -8
- package/src/cli.test.ts +31 -13
- package/src/cli.ts +117 -58
- package/src/doctor.harness.mjs +3 -3
- package/src/doctor.test.ts +1 -1
- package/src/doctor.ts +17 -7
- package/src/domain/lookup-cache.ts +21 -11
- package/src/domain/paths.test.ts +15 -0
- package/src/domain/paths.ts +20 -1
- package/src/domain/ready.ts +31 -0
- package/src/domain/record.test.ts +20 -0
- package/src/domain/record.ts +12 -0
- package/src/domain/result.test.ts +2 -2
- package/src/domain/sha256.ts +5 -3
- package/src/domain/text.test.ts +32 -0
- package/src/domain/text.ts +23 -0
- package/src/engine.harness.mjs +2 -2
- package/src/engine.ts +34 -5
- package/src/facts-file.test.ts +9 -7
- package/src/facts-file.ts +45 -29
- package/src/{hooks-settings.harness.mjs → hooks-settings.harness.ts} +56 -20
- package/src/hooks-settings.ts +48 -13
- package/src/init.test.ts +37 -14
- package/src/init.ts +48 -24
- package/src/{latex-log.harness.mjs → latex-log.harness.ts} +14 -14
- package/src/{latex-loop.harness.mjs → latex-loop.harness.ts} +64 -36
- package/src/latex-loop.ts +3 -3
- package/src/{link-skills.harness.mjs → link-skills.harness.ts} +19 -19
- package/src/link-skills.test.ts +3 -3
- package/src/link-skills.ts +5 -4
- package/src/lint-fix.test.ts +4 -6
- package/src/linted-set.test.ts +2 -2
- package/src/new-paper.harness.mjs +9 -25
- package/src/new-paper.test.ts +8 -10
- package/src/new-paper.ts +9 -5
- package/src/paper-files.test.ts +25 -24
- package/src/paper-files.ts +16 -27
- package/src/paper-settings-commands.test.ts +5 -4
- package/src/paper-settings.test.ts +7 -7
- package/src/paper-settings.ts +13 -14
- package/src/{pdf-facts.harness.mjs → pdf-facts.harness.ts} +9 -8
- package/src/pdf-facts.test.ts +25 -15
- package/src/pdf-facts.ts +81 -23
- package/src/{pdf-geometry.harness.mjs → pdf-geometry.harness.ts} +19 -12
- package/src/pdf-geometry.ts +8 -4
- package/src/ports/tool-installer.ts +2 -17
- package/src/presets.ts +31 -16
- package/src/references.test.ts +76 -62
- package/src/references.ts +18 -12
- package/src/{rules-config.harness.mjs → rules-config.harness.ts} +7 -13
- package/src/rules-config.ts +46 -14
- package/src/rules-off.test.ts +6 -4
- package/src/{structure.harness.mjs → structure.harness.ts} +26 -15
- package/src/structure.ts +1 -1
- package/src/{tex-requirements.harness.mjs → tex-requirements.harness.ts} +50 -22
- package/src/tex-requirements.test.ts +21 -0
- package/src/tex-requirements.ts +37 -11
- package/src/toolchain.harness.mjs +2 -2
- package/src/toolchain.test.ts +10 -6
- package/src/toolchain.ts +31 -17
- package/src/types.ts +5 -3
- package/src/venue-rules.test.ts +70 -68
- package/src/venue-rules.ts +22 -12
- package/tsconfig.json +6 -3
- package/tsconfig.pkg.json +10 -0
- package/lib/check.d.mts +0 -17
- package/lib/paper-config.d.mts +0 -31
- package/scripts/layer-legacy-frozen.d.mts +0 -36
- package/scripts/rules-are-content-only.harness.mjs +0 -105
- package/scripts/rules-are-content-only.mjs +0 -148
- package/scripts/rules-are-content-only.test.mjs +0 -61
- package/scripts/test.mjs +0 -44
- package/scripts/test.test.mjs +0 -52
- package/skills/paper-pipeline/scripts/announce.mjs +0 -67
- package/skills/paper-pipeline/scripts/announce.test.mjs +0 -102
- package/skills/paper-pipeline/scripts/fixtures/clean/PIPELINE-STATUS.md +0 -51
- package/skills/paper-pipeline/scripts/fixtures/dirty/PIPELINE-STATUS.md +0 -52
- package/skills/paper-pipeline/scripts/fixtures/dirty/paper.md +0 -6
- package/skills/paper-pipeline/scripts/fixtures/scorecard.mjs +0 -71
- package/skills/paper-pipeline/scripts/ledger.cli.test.mjs +0 -302
- package/skills/paper-pipeline/scripts/ledger.mjs +0 -623
- package/skills/paper-pipeline/scripts/ledger.test.mjs +0 -254
- package/skills/paper-pipeline/scripts/pipeline-check.cli.test.mjs +0 -474
- package/skills/paper-pipeline/scripts/pipeline-check.harness.mjs +0 -328
- package/skills/paper-pipeline/scripts/pipeline-check.mjs +0 -753
- package/skills/paper-pipeline/scripts/pipeline-edges.mjs +0 -169
- package/skills/paper-pipeline/scripts/pipeline-edges.test.mjs +0 -73
- package/skills/paper-pipeline/scripts/run-mechanical.mjs +0 -648
- package/skills/paper-pipeline/scripts/run-mechanical.test.mjs +0 -468
- package/skills/paper-pipeline/scripts/status.mjs +0 -295
- package/skills/paper-pipeline/scripts/status.test.mjs +0 -232
- /package/bin/{paperlint.test.mjs → paperlint.test.ts} +0 -0
- /package/lib/{skill-eval-fixture.mjs → skill-eval-fixture.ts} +0 -0
- /package/skills/grade-paper-writing/__snapshots__/{prose-lint.test.mjs.snap → prose-lint.test.ts.snap} +0 -0
- /package/skills/tighten-paper/__snapshots__/{structure.test.mjs.snap → structure.test.ts.snap} +0 -0
package/dist/init.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"init.js","sourceRoot":"","sources":["../src/init.ts"],"names":[],"mappings":"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"}
|
package/dist/latex-loop.d.ts
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* PURE. No disk, no process, no clock. The shell in `build.ts` runs a step, records what it saw
|
|
5
5
|
* as an `Observation`, appends it to the history and asks `nextStep(summarize(history))` again.
|
|
6
|
-
* Both halves are table tests (`latex-loop.harness.
|
|
6
|
+
* Both halves are table tests (`latex-loop.harness.ts`), not scenarios that need TeX.
|
|
7
7
|
*
|
|
8
8
|
* ── THE LOOP: `summarize` reduces the history to a `State`, and `nextStep` asks four questions ──
|
|
9
9
|
* 1. did the last program fail? → fail, with its error lines
|
|
@@ -104,7 +104,7 @@ export type Step = {
|
|
|
104
104
|
readonly lines: readonly string[];
|
|
105
105
|
};
|
|
106
106
|
/** Non-final pdflatex passes allowed before the build is declared non-converging. */
|
|
107
|
-
export declare const MAX_PASSES
|
|
107
|
+
export declare const MAX_PASSES: number;
|
|
108
108
|
/** The history, reduced to the four questions `nextStep` asks. */
|
|
109
109
|
export type State = {
|
|
110
110
|
readonly failed: {
|
package/dist/latex-loop.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"latex-loop.d.ts","sourceRoot":"","sources":["../src/latex-loop.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"latex-loop.d.ts","sourceRoot":"","sources":["../src/latex-loop.ts"],"names":[],"mappings":"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"}
|
package/dist/latex-loop.js
CHANGED
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
*
|
|
4
4
|
* PURE. No disk, no process, no clock. The shell in `build.ts` runs a step, records what it saw
|
|
5
5
|
* as an `Observation`, appends it to the history and asks `nextStep(summarize(history))` again.
|
|
6
|
-
* Both halves are table tests (`latex-loop.harness.
|
|
6
|
+
* Both halves are table tests (`latex-loop.harness.ts`), not scenarios that need TeX.
|
|
7
7
|
*
|
|
8
8
|
* ── THE LOOP: `summarize` reduces the history to a `State`, and `nextStep` asks four questions ──
|
|
9
9
|
* 1. did the last program fail? → fail, with its error lines
|
|
@@ -60,7 +60,7 @@ const noConvergence = (unsettled) => ({
|
|
|
60
60
|
step: "latex",
|
|
61
61
|
cause: { kind: "no-convergence", unsettled },
|
|
62
62
|
lines: [
|
|
63
|
-
`the build does not converge: after ${MAX_PASSES} pdflatex passes, the last one still changed or asked to rerun: ${unsettled.join(", ")}.`,
|
|
63
|
+
`the build does not converge: after ${String(MAX_PASSES)} pdflatex passes, the last one still changed or asked to rerun: ${unsettled.join(", ")}.`,
|
|
64
64
|
`A document whose aux keeps changing on every pass never settles; stopping here instead of`,
|
|
65
65
|
`shipping a PDF with stale cross-references.`,
|
|
66
66
|
],
|
package/dist/latex-loop.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"latex-loop.js","sourceRoot":"","sources":["../src/latex-loop.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAmCG;AAIH,MAAM,CAAC,MAAM,OAAO,GAAuB,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;AAaxE,MAAM,KAAK,GAAyB;IAClC,iBAAiB;IACjB,gBAAgB;IAChB,gBAAgB;CACjB,CAAC;AA+DF,qFAAqF;AACrF,MAAM,CAAC,MAAM,UAAU,
|
|
1
|
+
{"version":3,"file":"latex-loop.js","sourceRoot":"","sources":["../src/latex-loop.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OBSERVE the `claude` CLI version instead of merely probing for the binary.
|
|
3
|
+
*
|
|
4
|
+
* ── THE DEFECT THIS EXISTS FOR (issue #7, measured) ─────────────────────────────
|
|
5
|
+
* `plan-paper-timeline.effects.harness.mjs` is a CHARACTERIZATION test: its job is to go red
|
|
6
|
+
* when the upstream CLI changes under it. It named the version it characterized — 2.1.227 —
|
|
7
|
+
* in prose, and then threw away the version it actually saw:
|
|
8
|
+
*
|
|
9
|
+
* spawnSync("claude", ["--version"], { stdio: "ignore" }) // ← only `status` was read
|
|
10
|
+
*
|
|
11
|
+
* `stdio: "ignore"` discards the output, so `claude --version` ran as a PRESENCE probe. The
|
|
12
|
+
* string it printed was never read, never reported and never compared with the prose. Measured
|
|
13
|
+
* on this machine: the binary is **2.1.273**, the docblock says **2.1.227** — forty-six patch
|
|
14
|
+
* releases of drift, invisible to a reader of a green log.
|
|
15
|
+
*
|
|
16
|
+
* 🔴 WHY NOT PIN THE VERSION. A pin defeats the test: it is SUPPOSED to see upstream move. The
|
|
17
|
+
* repair is not to stop the drift but to stop the SILENCE about it — observe what is already
|
|
18
|
+
* spawned, carry the characterized number as a VALUE beside it, and let a reader see the two
|
|
19
|
+
* diverge instead of inferring it. CI installs `@anthropic-ai/claude-code` unpinned on purpose.
|
|
20
|
+
*
|
|
21
|
+
* ── WHY A MODULE AND NOT THREE LINES IN THE HARNESS ─────────────────────────────
|
|
22
|
+
* The three lines the issue suggests are correct and untestable where they were proposed. The
|
|
23
|
+
* harness that would exercise them spawns the real CLI, so its assertions about the observation
|
|
24
|
+
* depend on which version the machine happens to carry — and the one case that matters most,
|
|
25
|
+
* "the probe discards its output", cannot be staged at all when the spawn is hard-wired. With
|
|
26
|
+
* the spawner INJECTED, every case becomes deterministic: absent binary, drifted version,
|
|
27
|
+
* matching version, and the discarding probe itself.
|
|
28
|
+
*/
|
|
29
|
+
/**
|
|
30
|
+
* The version the effects harness's characterization was written against.
|
|
31
|
+
*
|
|
32
|
+
* 🔴 A VALUE, NOT A SENTENCE, and that is the whole point of this constant. The number lived in
|
|
33
|
+
* a docblock, where nothing could compare it with anything. Here it is compared on every run.
|
|
34
|
+
* Moving it means deliberately re-characterizing — which is the edit that should be conscious.
|
|
35
|
+
*/
|
|
36
|
+
export declare const CHARACTERIZED_CLI = "2.1.227";
|
|
37
|
+
/** What one `--version` probe of the agent CLI observed. */
|
|
38
|
+
export interface CliObservation {
|
|
39
|
+
/** The binary answered `--version` with status 0. */
|
|
40
|
+
present: boolean;
|
|
41
|
+
/** The full line it printed, trimmed. */
|
|
42
|
+
raw: string;
|
|
43
|
+
/** The dotted version parsed out of it. */
|
|
44
|
+
version: string;
|
|
45
|
+
/** The version the assertions were written against. */
|
|
46
|
+
characterized: string;
|
|
47
|
+
/** Observed and characterized differ. */
|
|
48
|
+
drifted: boolean;
|
|
49
|
+
/** One line naming BOTH numbers, for the report and for failures. */
|
|
50
|
+
note: string;
|
|
51
|
+
}
|
|
52
|
+
/** The one process call the probe makes — injected, so every case is stageable. */
|
|
53
|
+
export type SpawnVersion = (program: string, args: readonly string[], options: {
|
|
54
|
+
encoding: "utf8";
|
|
55
|
+
}) => {
|
|
56
|
+
readonly status: number | null;
|
|
57
|
+
readonly stdout?: string | null;
|
|
58
|
+
readonly stderr?: string | null;
|
|
59
|
+
};
|
|
60
|
+
export declare function observeAgentCli({ spawnSync, program, characterized, }: {
|
|
61
|
+
spawnSync: SpawnVersion;
|
|
62
|
+
program?: string;
|
|
63
|
+
characterized?: string;
|
|
64
|
+
}): CliObservation;
|
|
65
|
+
//# sourceMappingURL=agent-cli-version.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-cli-version.d.ts","sourceRoot":"","sources":["../../lib/agent-cli-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH;;;;;;GAMG;AACH,eAAO,MAAM,iBAAiB,YAAY,CAAC;AAK3C,4DAA4D;AAC5D,MAAM,WAAW,cAAc;IAC7B,qDAAqD;IACrD,OAAO,EAAE,OAAO,CAAC;IACjB,yCAAyC;IACzC,GAAG,EAAE,MAAM,CAAC;IACZ,2CAA2C;IAC3C,OAAO,EAAE,MAAM,CAAC;IAChB,uDAAuD;IACvD,aAAa,EAAE,MAAM,CAAC;IACtB,yCAAyC;IACzC,OAAO,EAAE,OAAO,CAAC;IACjB,qEAAqE;IACrE,IAAI,EAAE,MAAM,CAAC;CACd;AAED,mFAAmF;AACnF,MAAM,MAAM,YAAY,GAAG,CACzB,OAAO,EAAE,MAAM,EACf,IAAI,EAAE,SAAS,MAAM,EAAE,EACvB,OAAO,EAAE;IAAE,QAAQ,EAAE,MAAM,CAAA;CAAE,KAC1B;IACH,QAAQ,CAAC,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACjC,CAAC;AAEF,wBAAgB,eAAe,CAAC,EAC9B,SAAS,EACT,OAAkB,EAClB,aAAiC,GAClC,EAAE;IACD,SAAS,EAAE,YAAY,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB,GAAG,cAAc,CA2CjB"}
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* OBSERVE the `claude` CLI version instead of merely probing for the binary.
|
|
3
|
+
*
|
|
4
|
+
* ── THE DEFECT THIS EXISTS FOR (issue #7, measured) ─────────────────────────────
|
|
5
|
+
* `plan-paper-timeline.effects.harness.mjs` is a CHARACTERIZATION test: its job is to go red
|
|
6
|
+
* when the upstream CLI changes under it. It named the version it characterized — 2.1.227 —
|
|
7
|
+
* in prose, and then threw away the version it actually saw:
|
|
8
|
+
*
|
|
9
|
+
* spawnSync("claude", ["--version"], { stdio: "ignore" }) // ← only `status` was read
|
|
10
|
+
*
|
|
11
|
+
* `stdio: "ignore"` discards the output, so `claude --version` ran as a PRESENCE probe. The
|
|
12
|
+
* string it printed was never read, never reported and never compared with the prose. Measured
|
|
13
|
+
* on this machine: the binary is **2.1.273**, the docblock says **2.1.227** — forty-six patch
|
|
14
|
+
* releases of drift, invisible to a reader of a green log.
|
|
15
|
+
*
|
|
16
|
+
* 🔴 WHY NOT PIN THE VERSION. A pin defeats the test: it is SUPPOSED to see upstream move. The
|
|
17
|
+
* repair is not to stop the drift but to stop the SILENCE about it — observe what is already
|
|
18
|
+
* spawned, carry the characterized number as a VALUE beside it, and let a reader see the two
|
|
19
|
+
* diverge instead of inferring it. CI installs `@anthropic-ai/claude-code` unpinned on purpose.
|
|
20
|
+
*
|
|
21
|
+
* ── WHY A MODULE AND NOT THREE LINES IN THE HARNESS ─────────────────────────────
|
|
22
|
+
* The three lines the issue suggests are correct and untestable where they were proposed. The
|
|
23
|
+
* harness that would exercise them spawns the real CLI, so its assertions about the observation
|
|
24
|
+
* depend on which version the machine happens to carry — and the one case that matters most,
|
|
25
|
+
* "the probe discards its output", cannot be staged at all when the spawn is hard-wired. With
|
|
26
|
+
* the spawner INJECTED, every case becomes deterministic: absent binary, drifted version,
|
|
27
|
+
* matching version, and the discarding probe itself.
|
|
28
|
+
*/
|
|
29
|
+
/**
|
|
30
|
+
* The version the effects harness's characterization was written against.
|
|
31
|
+
*
|
|
32
|
+
* 🔴 A VALUE, NOT A SENTENCE, and that is the whole point of this constant. The number lived in
|
|
33
|
+
* a docblock, where nothing could compare it with anything. Here it is compared on every run.
|
|
34
|
+
* Moving it means deliberately re-characterizing — which is the edit that should be conscious.
|
|
35
|
+
*/
|
|
36
|
+
export const CHARACTERIZED_CLI = "2.1.227";
|
|
37
|
+
/** What `claude --version` prints: `2.1.273 (Claude Code)`. */
|
|
38
|
+
const VERSION_IN = /\b(\d+\.\d+\.\d+)\b/;
|
|
39
|
+
export function observeAgentCli({ spawnSync, program = "claude", characterized = CHARACTERIZED_CLI, }) {
|
|
40
|
+
// 🔴 `encoding: "utf8"` IS THE FIX. With `stdio: "ignore"` — the shape this replaces — the
|
|
41
|
+
// child's output goes nowhere and `probe.stdout` comes back null, so everything downstream
|
|
42
|
+
// would be describing a string that was never read.
|
|
43
|
+
const probe = spawnSync(program, ["--version"], { encoding: "utf8" });
|
|
44
|
+
if (probe.status !== 0)
|
|
45
|
+
return {
|
|
46
|
+
present: false,
|
|
47
|
+
raw: "",
|
|
48
|
+
version: "",
|
|
49
|
+
characterized,
|
|
50
|
+
drifted: false,
|
|
51
|
+
note: `the \`${program}\` CLI is not installed, so no run can be observed`,
|
|
52
|
+
};
|
|
53
|
+
const raw = (probe.stdout ?? "").trim();
|
|
54
|
+
const version = VERSION_IN.exec(raw)?.[1] ?? "";
|
|
55
|
+
// ⚠️ EXIT 0 AND NOTHING ON STDOUT IS NOT A CLEAN OBSERVATION — it is exactly what the discarded
|
|
56
|
+
// probe looked like, and reporting `characterized against ""` would be the same lie in a new
|
|
57
|
+
// place. This is rule 4 of CLAUDE.md applied to the check that enforces it.
|
|
58
|
+
if (version === "")
|
|
59
|
+
throw new Error(`\`${program} --version\` exited 0 but printed no version on stdout (got ${JSON.stringify(raw)}` +
|
|
60
|
+
`${probe.stderr ? `, stderr ${JSON.stringify(probe.stderr.trim().slice(0, 200))}` : ""}). ` +
|
|
61
|
+
`A presence probe is not an observation: this is the \`stdio: "ignore"\` shape that issue #7 ` +
|
|
62
|
+
`is about, and a version nobody read must not be reported as one.`);
|
|
63
|
+
const drifted = version !== characterized;
|
|
64
|
+
return {
|
|
65
|
+
present: true,
|
|
66
|
+
raw,
|
|
67
|
+
version,
|
|
68
|
+
characterized,
|
|
69
|
+
drifted,
|
|
70
|
+
note: drifted
|
|
71
|
+
? `observed \`${program}\` ${version} — the assertions here were characterized against ` +
|
|
72
|
+
`${characterized}. They still hold, which is itself the result: a characterization test that ` +
|
|
73
|
+
`silently still holds is indistinguishable from one nobody re-checked.`
|
|
74
|
+
: `observed \`${program}\` ${version} — the version these assertions were characterized against.`,
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
//# sourceMappingURL=agent-cli-version.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"agent-cli-version.js","sourceRoot":"","sources":["../../lib/agent-cli-version.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;GA2BG;AAEH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,SAAS,CAAC;AAE3C,+DAA+D;AAC/D,MAAM,UAAU,GAAG,qBAAqB,CAAC;AA6BzC,MAAM,UAAU,eAAe,CAAC,EAC9B,SAAS,EACT,OAAO,GAAG,QAAQ,EAClB,aAAa,GAAG,iBAAiB,GAKlC;IACC,2FAA2F;IAC3F,2FAA2F;IAC3F,oDAAoD;IACpD,MAAM,KAAK,GAAG,SAAS,CAAC,OAAO,EAAE,CAAC,WAAW,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;IAEtE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC;QACpB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,GAAG,EAAE,EAAE;YACP,OAAO,EAAE,EAAE;YACX,aAAa;YACb,OAAO,EAAE,KAAK;YACd,IAAI,EAAE,SAAS,OAAO,oDAAoD;SAC3E,CAAC;IAEJ,MAAM,GAAG,GAAG,CAAC,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;IACxC,MAAM,OAAO,GAAG,UAAU,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;IAEhD,gGAAgG;IAChG,6FAA6F;IAC7F,4EAA4E;IAC5E,IAAI,OAAO,KAAK,EAAE;QAChB,MAAM,IAAI,KAAK,CACb,KAAK,OAAO,+DAA+D,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,EAAE;YAC9F,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,YAAY,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC,KAAK,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK;YAC3F,8FAA8F;YAC9F,kEAAkE,CACrE,CAAC;IAEJ,MAAM,OAAO,GAAG,OAAO,KAAK,aAAa,CAAC;IAC1C,OAAO;QACL,OAAO,EAAE,IAAI;QACb,GAAG;QACH,OAAO;QACP,aAAa;QACb,OAAO;QACP,IAAI,EAAE,OAAO;YACX,CAAC,CAAC,cAAc,OAAO,MAAM,OAAO,oDAAoD;gBACtF,GAAG,aAAa,8EAA8E;gBAC9F,uEAAuE;YACzE,CAAC,CAAC,cAAc,OAAO,MAAM,OAAO,6DAA6D;KACpG,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/** A failure detail: text, any value (rendered with `util.inspect`), or a thunk producing one. */
|
|
2
|
+
export type Detail = unknown;
|
|
3
|
+
/** `check(label, cond, detail?)`, and how many times it has been called. */
|
|
4
|
+
export interface Check {
|
|
5
|
+
(label: string, cond: unknown, detail?: Detail): void;
|
|
6
|
+
readonly count: number;
|
|
7
|
+
}
|
|
8
|
+
/** A failure detail as text: strings verbatim, other values through `util.inspect`, a thunk called. */
|
|
9
|
+
export declare function renderDetail(detail: Detail): string;
|
|
10
|
+
/** The label, then the detail: on the same line when it is one line, below it when it is many. */
|
|
11
|
+
export declare function failureMessage(label: string, detail: Detail): string;
|
|
12
|
+
/**
|
|
13
|
+
* A fresh `check(label, cond, detail?)`. `check.count` is how many times it has been called.
|
|
14
|
+
* `log` is where a failure is printed — stderr unless this module's own test injects one.
|
|
15
|
+
*/
|
|
16
|
+
export declare function createChecker({ log, }?: {
|
|
17
|
+
log?: (line: string) => void;
|
|
18
|
+
}): Check;
|
|
19
|
+
//# sourceMappingURL=check.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check.d.ts","sourceRoot":"","sources":["../../lib/check.ts"],"names":[],"mappings":"AAmBA,kGAAkG;AAClG,MAAM,MAAM,MAAM,GAAG,OAAO,CAAC;AAE7B,4EAA4E;AAC5E,MAAM,WAAW,KAAK;IACpB,CAAC,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtD,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;CACxB;AAKD,uGAAuG;AACvG,wBAAgB,YAAY,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,CAInD;AAED,kGAAkG;AAClG,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAIpE;AAED;;;GAGG;AACH,wBAAgB,aAAa,CAAC,EAC5B,GAAmB,GACpB,GAAE;IAAE,GAAG,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;CAAO,GAAG,KAAK,CAW/C"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* The one assertion helper every harness uses.
|
|
3
|
+
*
|
|
4
|
+
* Until #52 each harness defined its own `check()`, and the copies had drifted: some printed a
|
|
5
|
+
* detail on failure and some dropped it, some joined it with " — " and some with a newline, and two
|
|
6
|
+
* passed the LABEL to vigiles' `recordCheck(n)`, which adds its argument to a number — so the
|
|
7
|
+
* recorded count became a string. One helper removes the drift instead of documenting it.
|
|
8
|
+
*
|
|
9
|
+
* What it guarantees:
|
|
10
|
+
* - a failure names the label AND the detail, on stderr and in the thrown assertion — the detail
|
|
11
|
+
* is what makes a red run diagnosable without re-running it;
|
|
12
|
+
* - `detail` may be a function, so an expensive rendering is paid only on failure;
|
|
13
|
+
* - every call is counted (`check.count`) and reported to the vigiles runner (`recordCheck`), so
|
|
14
|
+
* a harness's summary line and the runner's check count come from the same place.
|
|
15
|
+
*/
|
|
16
|
+
import assert from "node:assert/strict";
|
|
17
|
+
import { inspect } from "node:util";
|
|
18
|
+
import { recordCheck } from "vigiles";
|
|
19
|
+
/** A detail given as a function, so it is only built on failure. */
|
|
20
|
+
const isThunk = (d) => typeof d === "function";
|
|
21
|
+
/** A failure detail as text: strings verbatim, other values through `util.inspect`, a thunk called. */
|
|
22
|
+
export function renderDetail(detail) {
|
|
23
|
+
const value = isThunk(detail) ? detail() : detail;
|
|
24
|
+
if (value === undefined || value === null || value === "")
|
|
25
|
+
return "";
|
|
26
|
+
return typeof value === "string" ? value : inspect(value, { depth: 6 });
|
|
27
|
+
}
|
|
28
|
+
/** The label, then the detail: on the same line when it is one line, below it when it is many. */
|
|
29
|
+
export function failureMessage(label, detail) {
|
|
30
|
+
const shown = renderDetail(detail);
|
|
31
|
+
if (!shown)
|
|
32
|
+
return label;
|
|
33
|
+
return shown.includes("\n") ? `${label}\n${shown}` : `${label} — ${shown}`;
|
|
34
|
+
}
|
|
35
|
+
/**
|
|
36
|
+
* A fresh `check(label, cond, detail?)`. `check.count` is how many times it has been called.
|
|
37
|
+
* `log` is where a failure is printed — stderr unless this module's own test injects one.
|
|
38
|
+
*/
|
|
39
|
+
export function createChecker({ log = console.error, } = {}) {
|
|
40
|
+
const check = (label, cond, detail) => {
|
|
41
|
+
check.count++;
|
|
42
|
+
recordCheck();
|
|
43
|
+
if (cond)
|
|
44
|
+
return;
|
|
45
|
+
const message = failureMessage(label, detail);
|
|
46
|
+
log(`✗ ${message}`);
|
|
47
|
+
assert.fail(message);
|
|
48
|
+
};
|
|
49
|
+
check.count = 0;
|
|
50
|
+
return check;
|
|
51
|
+
}
|
|
52
|
+
//# sourceMappingURL=check.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"check.js","sourceRoot":"","sources":["../../lib/check.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AACH,OAAO,MAAM,MAAM,oBAAoB,CAAC;AACxC,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAWtC,oEAAoE;AACpE,MAAM,OAAO,GAAG,CAAC,CAAS,EAAsB,EAAE,CAAC,OAAO,CAAC,KAAK,UAAU,CAAC;AAE3E,uGAAuG;AACvG,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,MAAM,KAAK,GAAY,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;IAC3D,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI,IAAI,KAAK,KAAK,EAAE;QAAE,OAAO,EAAE,CAAC;IACrE,OAAO,OAAO,KAAK,KAAK,QAAQ,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,KAAK,EAAE,CAAC,EAAE,CAAC,CAAC;AAC1E,CAAC;AAED,kGAAkG;AAClG,MAAM,UAAU,cAAc,CAAC,KAAa,EAAE,MAAc;IAC1D,MAAM,KAAK,GAAG,YAAY,CAAC,MAAM,CAAC,CAAC;IACnC,IAAI,CAAC,KAAK;QAAE,OAAO,KAAK,CAAC;IACzB,OAAO,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,GAAG,KAAK,KAAK,KAAK,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,MAAM,KAAK,EAAE,CAAC;AAC7E,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,aAAa,CAAC,EAC5B,GAAG,GAAG,OAAO,CAAC,KAAK,MACiB,EAAE;IACtC,MAAM,KAAK,GAAG,CAAC,KAAa,EAAE,IAAa,EAAE,MAAe,EAAQ,EAAE;QACpE,KAAK,CAAC,KAAK,EAAE,CAAC;QACd,WAAW,EAAE,CAAC;QACd,IAAI,IAAI;YAAE,OAAO;QACjB,MAAM,OAAO,GAAG,cAAc,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;QAC9C,GAAG,CAAC,KAAK,OAAO,EAAE,CAAC,CAAC;QACpB,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;IACvB,CAAC,CAAC;IACF,KAAK,CAAC,KAAK,GAAG,CAAC,CAAC;IAChB,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1,180 @@
|
|
|
1
|
+
import type { Token } from "markdown-it";
|
|
2
|
+
/** One ATX heading: its level, its text without the hashes, its 0-based line and line offset. */
|
|
3
|
+
export interface Heading {
|
|
4
|
+
readonly depth: number;
|
|
5
|
+
readonly text: string;
|
|
6
|
+
readonly line: number;
|
|
7
|
+
readonly offset: number;
|
|
8
|
+
}
|
|
9
|
+
/** A chunk of the document: the heading it starts with (`null` for the preamble), with and without it. */
|
|
10
|
+
export interface Section {
|
|
11
|
+
readonly heading: Heading | null;
|
|
12
|
+
readonly raw: string;
|
|
13
|
+
readonly body: string;
|
|
14
|
+
}
|
|
15
|
+
/** A block tokenizer with markdown-it's shape — the default, or one a test passes. */
|
|
16
|
+
export type Parse = (text: string) => readonly Token[];
|
|
17
|
+
/**
|
|
18
|
+
* Whether the parser resolved. A linter must check this ITSELF and say out loud that
|
|
19
|
+
* its heading checks are off: with no parser `headings()` returns an empty list, and
|
|
20
|
+
* silent emptiness reads as "the document has no headings", that is, as a clean
|
|
21
|
+
* document. The nudge lives in the linters, because by contract (see the header) this
|
|
22
|
+
* file has no right to produce a single finding.
|
|
23
|
+
*/
|
|
24
|
+
export declare const MD_AVAILABLE: () => boolean;
|
|
25
|
+
export declare function blankFrontmatter(text: string): string;
|
|
26
|
+
/**
|
|
27
|
+
* The frontmatter body (between the fences), or `null` — if the file opens without one.
|
|
28
|
+
*
|
|
29
|
+
* Added 2026-08-20, when eight places in `.claude/**` cut the frontmatter with eight
|
|
30
|
+
* slightly different regexes: some knew about `\r\n`, some did not; some required a
|
|
31
|
+
* newline after the closing fence, some did not. The difference between them is not
|
|
32
|
+
* style, it is a different answer on one and the same file.
|
|
33
|
+
*
|
|
34
|
+
* ⚠️ This is NOT a parser and does not claim to be: `---` frontmatter is not markdown,
|
|
35
|
+
* no markdown parser models it (the analysis is in the root `CLAUDE.md`, "Considered
|
|
36
|
+
* and rejected: gray-matter"). The value here is one fence instead of eight, and the
|
|
37
|
+
* parsing of VALUES is done by `js-yaml` at the caller.
|
|
38
|
+
*/
|
|
39
|
+
export declare function frontmatterBlock(text: string): string | null;
|
|
40
|
+
/**
|
|
41
|
+
* The document WITHOUT the frontmatter — the block is cut out together with the
|
|
42
|
+
* newline after it.
|
|
43
|
+
*
|
|
44
|
+
* Differs from {@link blankFrontmatter} in that the offsets SHIFT. Both forms are
|
|
45
|
+
* needed and both have been used already: blanking — where character positions are
|
|
46
|
+
* later shown to the user; cutting — where the text is merely counted. Choose by what
|
|
47
|
+
* the caller does, not by taste.
|
|
48
|
+
*/
|
|
49
|
+
export declare function stripFrontmatter(text: string): string;
|
|
50
|
+
/**
|
|
51
|
+
* All the document's headings: `[{ depth, text, line, offset }]`, in order of occurrence.
|
|
52
|
+
*
|
|
53
|
+
* `offset` — the index of the start of the heading's line IN THE SAME text that was
|
|
54
|
+
* passed in, in `slice`/`indexOf` units (UTF-16), because those are exactly what the
|
|
55
|
+
* checks cut the document with. `line` — 0-based line number. `text` — without the
|
|
56
|
+
* hashes, trimmed at the edges.
|
|
57
|
+
*
|
|
58
|
+
* ⚠️ ATX ONLY (`## Heading`). Setext (`Heading\n---`) is deliberately NOT counted as a
|
|
59
|
+
* heading: in this knowledge base `---` is a prose separator, and a paragraph it stands
|
|
60
|
+
* under without a blank line would become a level-2 heading per CommonMark. The former
|
|
61
|
+
* regexps knew only ATX, so this preserves the contract rather than narrowing it.
|
|
62
|
+
*/
|
|
63
|
+
export declare function headings(text: string, { parse }?: {
|
|
64
|
+
parse?: Parse | null;
|
|
65
|
+
}): Heading[];
|
|
66
|
+
/**
|
|
67
|
+
* Slicing the document into chunks "a heading + everything up to the next heading FROM
|
|
68
|
+
* THE SAME RANGE of levels". → `[{ heading, raw, body }]`.
|
|
69
|
+
*
|
|
70
|
+
* This is exactly what four scripts did as `split(/^(?=## )/m)` and
|
|
71
|
+
* `split(/^(?=#{2,3} )/m)`. The shape of the expression lied about the intent: "two or
|
|
72
|
+
* three hashes" is about CHARACTERS, while what is needed is the LEVEL, and `#{2,3}`
|
|
73
|
+
* also caught a hash inside a ```-block, that is, it cut a quotation from someone
|
|
74
|
+
* else's paper as a section of its own.
|
|
75
|
+
*
|
|
76
|
+
* `heading` — `null` on the zeroth element (the preamble before the first heading). It
|
|
77
|
+
* is ALWAYS there, including empty: the former `split` also always returned the chunk
|
|
78
|
+
* before the first separator as its zeroth element, and callers rely on that
|
|
79
|
+
* (`sub === chunk` in `artifact-coverage` meant "there are no subsections").
|
|
80
|
+
*
|
|
81
|
+
* `raw` — WITH the heading line (it is used to count `§` references and bold numbers,
|
|
82
|
+
* which occur in the heading itself too), `body` — without it (it is used to count words).
|
|
83
|
+
*
|
|
84
|
+
* 2026-08-11: moved here rather than copied into every script, because the chunk
|
|
85
|
+
* boundary is the one place where an off-by-one is easy, and such a mistake has already
|
|
86
|
+
* happened (`recordBlock` in `skill-corpus.mjs` returned a single "#" character for all
|
|
87
|
+
* 21 skills).
|
|
88
|
+
*/
|
|
89
|
+
export declare function splitSections(text: string, { min, max }?: {
|
|
90
|
+
min?: number;
|
|
91
|
+
max?: number;
|
|
92
|
+
}): Section[];
|
|
93
|
+
/**
|
|
94
|
+
* The text without the contents of ```-blocks (the fence lines themselves go too).
|
|
95
|
+
*
|
|
96
|
+
* Through the parser, not `/```[\s\S]*?```/g`: that pattern glues the end of one block
|
|
97
|
+
* to the start of the next when the number of fences is odd, knows nothing about `~~~`
|
|
98
|
+
* fences or indented fences, and silently eats the prose between blocks.
|
|
99
|
+
*
|
|
100
|
+
* `blank: true` — the block's lines are NOT deleted but REPLACED with empty ones. The
|
|
101
|
+
* difference is not cosmetic: deleting the lines GLUES the paragraph before the block to
|
|
102
|
+
* the paragraph after it, and a code block is a block boundary — on the other side a
|
|
103
|
+
* different paragraph starts. Measured 2026-08-11 on `<papers-root>/<paper>/README.md`:
|
|
104
|
+
* `prose-lint` counted 82 sentences there, and after the lines were deleted it counted
|
|
105
|
+
* 81 — the lead paragraph "**Reproduction commands:**" merged with the text AFTER the
|
|
106
|
+
* block into one sentence. That is exactly the failure against which `prose-lint` itself
|
|
107
|
+
* says "Paragraph and heading boundaries END a sentence", and it inflates the
|
|
108
|
+
* claims-per-sentence counter — the threshold at which the file emits findings. The
|
|
109
|
+
* former regex preserved the boundary (it left one newline on each side), so `blank` is
|
|
110
|
+
* also a preservation of the former behaviour where that behaviour was right.
|
|
111
|
+
*/
|
|
112
|
+
/**
|
|
113
|
+
* The CONTENTS of fenced blocks — the other side of `stripFences`.
|
|
114
|
+
*
|
|
115
|
+
* Added 2026-09-08 for the check "a path as a command argument inside a ```-block"
|
|
116
|
+
* (the sixth form of a reference). A private regex for the fence there would have been
|
|
117
|
+
* the seventh instance of the class this knowledge base has already paid for:
|
|
118
|
+
* `/^```[\s\S]*?^```/gm` knows nothing about nested fences or about `~~~`, and the
|
|
119
|
+
* parser does — the `fence` token has a `content`.
|
|
120
|
+
*
|
|
121
|
+
* No parser — returns an empty list, and the caller must survive that: for hooks
|
|
122
|
+
* degradation is acceptable (see the module comment), while a silent fallback to a
|
|
123
|
+
* regex would mean a working degraded version that nobody notices.
|
|
124
|
+
*/
|
|
125
|
+
export declare function fences(text: string): string[];
|
|
126
|
+
export declare function stripFences(text: string, { blank }?: {
|
|
127
|
+
blank?: boolean;
|
|
128
|
+
}): string;
|
|
129
|
+
/**
|
|
130
|
+
* For SCRIPTS, not for hooks: fails if there is no parser.
|
|
131
|
+
*
|
|
132
|
+
* For a linter degradation is acceptable — it is advisory and can say so out loud. A
|
|
133
|
+
* skill script hands numbers to a pipeline gate, and an empty list of headings there is
|
|
134
|
+
* indistinguishable from "the paper has no sections". A confident zero has already been
|
|
135
|
+
* read as a finding four times in this repo; here it is inexpressible.
|
|
136
|
+
*/
|
|
137
|
+
export declare function requireMarkdown({ from, }?: {
|
|
138
|
+
from?: string;
|
|
139
|
+
}): void;
|
|
140
|
+
/**
|
|
141
|
+
* GFM tables — rows, cells and the line range, WITH THE PARSER.
|
|
142
|
+
*
|
|
143
|
+
* The only consumer as of 2026-08-20 is `crosspost-article`, which needs to re-lay a
|
|
144
|
+
* table into a monospace block for a platform without tables (Medium). It lives here
|
|
145
|
+
* and not in the skill, by the rule "markup is parsed with a parser, and in one place":
|
|
146
|
+
* with a regex a table is told apart from a line of text with pipes only by its
|
|
147
|
+
* neighbours, and that is exactly the class that has already cost this repo 27 places.
|
|
148
|
+
*
|
|
149
|
+
* Returns `{ line, endLine, rows }`, where `rows[0]` is the header; the alignment row
|
|
150
|
+
* (`| --- |`) is thrown away, because in monospace output it has nothing to express.
|
|
151
|
+
*/
|
|
152
|
+
/**
|
|
153
|
+
* The document's paragraphs — `paragraph_open` line ranges, WITH THE PARSER.
|
|
154
|
+
* `[{ line, endLine }]`.
|
|
155
|
+
*
|
|
156
|
+
* The only consumer as of 2026-08-21 is `crosspost-article`: the blog's sources are
|
|
157
|
+
* hard-wrapped at a column (an editorial habit, not markdown), and the platforms render
|
|
158
|
+
* a single `\n` inside a paragraph DIFFERENTLY — dev.to (Redcarpet) keeps it as a
|
|
159
|
+
* literal line break, and the paragraph arrives torn into short lines exactly at the
|
|
160
|
+
* source file's boundaries. Medium has no such defect not because the platform is more
|
|
161
|
+
* honest, but because the paste goes through "Import a story" — the importer takes the
|
|
162
|
+
* ALREADY RENDERED page of the site (where the breaks were collapsed by the browser long
|
|
163
|
+
* ago), not the raw markdown.
|
|
164
|
+
*
|
|
165
|
+
* The range is EXACTLY the one `t.map` gives on `paragraph_open` — that is, a code
|
|
166
|
+
* fence, a heading, a table, a list (in a TIGHT list the item is not wrapped in a
|
|
167
|
+
* `paragraph_open` at all, it has no paragraph of its own) fall outside this function
|
|
168
|
+
* automatically, by the construction of the parser, and not by a separate line-type
|
|
169
|
+
* check.
|
|
170
|
+
*/
|
|
171
|
+
export declare function paragraphs(text: string): {
|
|
172
|
+
line: number;
|
|
173
|
+
endLine: number;
|
|
174
|
+
}[];
|
|
175
|
+
export declare function tables(text: string): {
|
|
176
|
+
line: number;
|
|
177
|
+
endLine: number;
|
|
178
|
+
rows: string[][];
|
|
179
|
+
}[];
|
|
180
|
+
//# sourceMappingURL=markdown.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"markdown.d.ts","sourceRoot":"","sources":["../../lib/markdown.ts"],"names":[],"mappings":"AAmCA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,iGAAiG;AACjG,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAC;CACzB;AAED,0GAA0G;AAC1G,MAAM,WAAW,OAAO;IACtB,QAAQ,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACjC,QAAQ,CAAC,GAAG,EAAE,MAAM,CAAC;IACrB,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;CACvB;AAED,sFAAsF;AACtF,MAAM,MAAM,KAAK,GAAG,CAAC,IAAI,EAAE,MAAM,KAAK,SAAS,KAAK,EAAE,CAAC;AAUvD;;;;;;GAMG;AACH,eAAO,MAAM,YAAY,eAAoB,CAAC;AAgB9C,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGrD;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAO5D;AAED;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAGrD;AASD;;;;;;;;;;;;GAYG;AACH,wBAAgB,QAAQ,CACtB,IAAI,EAAE,MAAM,EACZ,EAAE,KAAsB,EAAE,GAAE;IAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI,CAAA;CAAO,GACxD,OAAO,EAAE,CAmBX;AAED;;;;;;;;;;;;;;;;;;;;;;GAsBG;AACH,wBAAgB,aAAa,CAC3B,IAAI,EAAE,MAAM,EACZ,EAAE,GAAO,EAAE,GAAO,EAAE,GAAE;IAAE,GAAG,CAAC,EAAE,MAAM,CAAC;IAAC,GAAG,CAAC,EAAE,MAAM,CAAA;CAAO,GACxD,OAAO,EAAE,CAsBX;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH;;;;;;;;;;;;GAYG;AACH,wBAAgB,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE,CAM7C;AAED,wBAAgB,WAAW,CACzB,IAAI,EAAE,MAAM,EACZ,EAAE,KAAa,EAAE,GAAE;IAAE,KAAK,CAAC,EAAE,OAAO,CAAA;CAAO,GAC1C,MAAM,CAUR;AAED;;;;;;;GAOG;AACH,wBAAgB,eAAe,CAAC,EAC9B,IAAsB,GACvB,GAAE;IAAE,IAAI,CAAC,EAAE,MAAM,CAAA;CAAO,GAAG,IAAI,CAmB/B;AAED;;;;;;;;;;;GAWG;AACH;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAgB,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,CAS5E;AAED,wBAAgB,MAAM,CACpB,IAAI,EAAE,MAAM,GACX;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,EAAE,EAAE,CAAA;CAAE,EAAE,CAoBvD"}
|