@latysh-development/monolith 0.0.0-stage → 0.1.0-alpha.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.
- package/LICENSE +21 -0
- package/README.md +179 -2
- package/dist/brief/cli.d.ts +30 -0
- package/dist/brief/cli.d.ts.map +1 -0
- package/dist/brief/cli.js +85 -0
- package/dist/brief/collect.d.ts +17 -0
- package/dist/brief/collect.d.ts.map +1 -0
- package/dist/brief/collect.js +342 -0
- package/dist/brief/config.d.ts +40 -0
- package/dist/brief/config.d.ts.map +1 -0
- package/dist/brief/config.js +85 -0
- package/dist/brief/constants.d.ts +12 -0
- package/dist/brief/constants.d.ts.map +1 -0
- package/dist/brief/constants.js +11 -0
- package/dist/brief/docs.d.ts +53 -0
- package/dist/brief/docs.d.ts.map +1 -0
- package/dist/brief/docs.js +229 -0
- package/dist/brief/freshness.d.ts +104 -0
- package/dist/brief/freshness.d.ts.map +1 -0
- package/dist/brief/freshness.js +263 -0
- package/dist/brief/git-signals.d.ts +17 -0
- package/dist/brief/git-signals.d.ts.map +1 -0
- package/dist/brief/git-signals.js +101 -0
- package/dist/brief/index.d.ts +11 -0
- package/dist/brief/index.d.ts.map +1 -0
- package/dist/brief/index.js +5 -0
- package/dist/brief/reconcile.d.ts +75 -0
- package/dist/brief/reconcile.d.ts.map +1 -0
- package/dist/brief/reconcile.js +259 -0
- package/dist/brief/render.d.ts +67 -0
- package/dist/brief/render.d.ts.map +1 -0
- package/dist/brief/render.js +458 -0
- package/dist/brief/sanitize.d.ts +38 -0
- package/dist/brief/sanitize.d.ts.map +1 -0
- package/dist/brief/sanitize.js +48 -0
- package/dist/brief/selectors.d.ts +36 -0
- package/dist/brief/selectors.d.ts.map +1 -0
- package/dist/brief/selectors.js +75 -0
- package/dist/brief/story.d.ts +18 -0
- package/dist/brief/story.d.ts.map +1 -0
- package/dist/brief/story.js +59 -0
- package/dist/brief/types.d.ts +126 -0
- package/dist/brief/types.d.ts.map +1 -0
- package/dist/brief/types.js +11 -0
- package/dist/cli/index.d.ts +3 -0
- package/dist/cli/index.d.ts.map +1 -0
- package/dist/cli/index.js +199 -0
- package/dist/cli/init-args.d.ts +16 -0
- package/dist/cli/init-args.d.ts.map +1 -0
- package/dist/cli/init-args.js +24 -0
- package/dist/cli/ui-args.d.ts +23 -0
- package/dist/cli/ui-args.d.ts.map +1 -0
- package/dist/cli/ui-args.js +66 -0
- package/dist/cli/ui.d.ts +40 -0
- package/dist/cli/ui.d.ts.map +1 -0
- package/dist/cli/ui.js +180 -0
- package/dist/coordinatorium/checkpoint.d.ts +44 -0
- package/dist/coordinatorium/checkpoint.d.ts.map +1 -0
- package/dist/coordinatorium/checkpoint.js +124 -0
- package/dist/coordinatorium/cli.d.ts +39 -0
- package/dist/coordinatorium/cli.d.ts.map +1 -0
- package/dist/coordinatorium/cli.js +203 -0
- package/dist/coordinatorium/errors.d.ts +112 -0
- package/dist/coordinatorium/errors.d.ts.map +1 -0
- package/dist/coordinatorium/errors.js +145 -0
- package/dist/coordinatorium/index.d.ts +11 -0
- package/dist/coordinatorium/index.d.ts.map +1 -0
- package/dist/coordinatorium/index.js +5 -0
- package/dist/coordinatorium/lock.d.ts +187 -0
- package/dist/coordinatorium/lock.d.ts.map +1 -0
- package/dist/coordinatorium/lock.js +659 -0
- package/dist/coordinatorium/mission.d.ts +32 -0
- package/dist/coordinatorium/mission.d.ts.map +1 -0
- package/dist/coordinatorium/mission.js +87 -0
- package/dist/coordinatorium/state-keeper.d.ts +115 -0
- package/dist/coordinatorium/state-keeper.d.ts.map +1 -0
- package/dist/coordinatorium/state-keeper.js +396 -0
- package/dist/coordinatorium/types.d.ts +69 -0
- package/dist/coordinatorium/types.d.ts.map +1 -0
- package/dist/coordinatorium/types.js +27 -0
- package/dist/discovery/compose.d.ts +28 -0
- package/dist/discovery/compose.d.ts.map +1 -0
- package/dist/discovery/compose.js +159 -0
- package/dist/discovery/contracts.d.ts +211 -0
- package/dist/discovery/contracts.d.ts.map +1 -0
- package/dist/discovery/contracts.js +555 -0
- package/dist/discovery/docs.d.ts +278 -0
- package/dist/discovery/docs.d.ts.map +1 -0
- package/dist/discovery/docs.js +1182 -0
- package/dist/discovery/facts.d.ts +49 -0
- package/dist/discovery/facts.d.ts.map +1 -0
- package/dist/discovery/facts.js +541 -0
- package/dist/discovery/index.d.ts +8 -0
- package/dist/discovery/index.d.ts.map +1 -0
- package/dist/discovery/index.js +9 -0
- package/dist/discovery/orchestrate.d.ts +35 -0
- package/dist/discovery/orchestrate.d.ts.map +1 -0
- package/dist/discovery/orchestrate.js +32 -0
- package/dist/discovery/render.d.ts +36 -0
- package/dist/discovery/render.d.ts.map +1 -0
- package/dist/discovery/render.js +278 -0
- package/dist/discovery/traverse.d.ts +197 -0
- package/dist/discovery/traverse.d.ts.map +1 -0
- package/dist/discovery/traverse.js +510 -0
- package/dist/durable/assess.d.ts +105 -0
- package/dist/durable/assess.d.ts.map +1 -0
- package/dist/durable/assess.js +239 -0
- package/dist/durable/canonical.d.ts +25 -0
- package/dist/durable/canonical.d.ts.map +1 -0
- package/dist/durable/canonical.js +78 -0
- package/dist/durable/cli.d.ts +37 -0
- package/dist/durable/cli.d.ts.map +1 -0
- package/dist/durable/cli.js +141 -0
- package/dist/durable/errors.d.ts +192 -0
- package/dist/durable/errors.d.ts.map +1 -0
- package/dist/durable/errors.js +323 -0
- package/dist/durable/fs-store.d.ts +254 -0
- package/dist/durable/fs-store.d.ts.map +1 -0
- package/dist/durable/fs-store.js +1493 -0
- package/dist/durable/index.d.ts +20 -0
- package/dist/durable/index.d.ts.map +1 -0
- package/dist/durable/index.js +13 -0
- package/dist/durable/log.d.ts +33 -0
- package/dist/durable/log.d.ts.map +1 -0
- package/dist/durable/log.js +157 -0
- package/dist/durable/memory-store.d.ts +51 -0
- package/dist/durable/memory-store.d.ts.map +1 -0
- package/dist/durable/memory-store.js +302 -0
- package/dist/durable/projection.d.ts +35 -0
- package/dist/durable/projection.d.ts.map +1 -0
- package/dist/durable/projection.js +328 -0
- package/dist/durable/prune-check.d.ts +34 -0
- package/dist/durable/prune-check.d.ts.map +1 -0
- package/dist/durable/prune-check.js +72 -0
- package/dist/durable/register.d.ts +100 -0
- package/dist/durable/register.d.ts.map +1 -0
- package/dist/durable/register.js +532 -0
- package/dist/durable/retention.d.ts +49 -0
- package/dist/durable/retention.d.ts.map +1 -0
- package/dist/durable/retention.js +59 -0
- package/dist/durable/runtime.d.ts +499 -0
- package/dist/durable/runtime.d.ts.map +1 -0
- package/dist/durable/runtime.js +1288 -0
- package/dist/durable/seams.d.ts +44 -0
- package/dist/durable/seams.d.ts.map +1 -0
- package/dist/durable/seams.js +21 -0
- package/dist/durable/testing.d.ts +11 -0
- package/dist/durable/testing.d.ts.map +1 -0
- package/dist/durable/testing.js +25 -0
- package/dist/durable/types.d.ts +442 -0
- package/dist/durable/types.d.ts.map +1 -0
- package/dist/durable/types.js +75 -0
- package/dist/graph/builder.d.ts +11 -0
- package/dist/graph/builder.d.ts.map +1 -0
- package/dist/graph/builder.js +153 -0
- package/dist/graph/identity.d.ts +37 -0
- package/dist/graph/identity.d.ts.map +1 -0
- package/dist/graph/identity.js +46 -0
- package/dist/graph/index.d.ts +7 -0
- package/dist/graph/index.d.ts.map +1 -0
- package/dist/graph/index.js +3 -0
- package/dist/graph/resolver.d.ts +41 -0
- package/dist/graph/resolver.d.ts.map +1 -0
- package/dist/graph/resolver.js +36 -0
- package/dist/graph/types.d.ts +42 -0
- package/dist/graph/types.d.ts.map +1 -0
- package/dist/graph/types.js +1 -0
- package/dist/http/index.d.ts +5 -0
- package/dist/http/index.d.ts.map +1 -0
- package/dist/http/index.js +2 -0
- package/dist/http/server.d.ts +76 -0
- package/dist/http/server.d.ts.map +1 -0
- package/dist/http/server.js +195 -0
- package/dist/http/ui-assets.d.ts +22 -0
- package/dist/http/ui-assets.d.ts.map +1 -0
- package/dist/http/ui-assets.js +100 -0
- package/dist/ideas/cli.d.ts +33 -0
- package/dist/ideas/cli.d.ts.map +1 -0
- package/dist/ideas/cli.js +158 -0
- package/dist/ideas/format.d.ts +38 -0
- package/dist/ideas/format.d.ts.map +1 -0
- package/dist/ideas/format.js +194 -0
- package/dist/ideas/index.d.ts +6 -0
- package/dist/ideas/index.d.ts.map +1 -0
- package/dist/ideas/index.js +3 -0
- package/dist/ideas/store.d.ts +55 -0
- package/dist/ideas/store.d.ts.map +1 -0
- package/dist/ideas/store.js +262 -0
- package/dist/ideas/types.d.ts +54 -0
- package/dist/ideas/types.d.ts.map +1 -0
- package/dist/ideas/types.js +26 -0
- package/dist/index.d.ts +32 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +28 -0
- package/dist/init/index.d.ts +12 -0
- package/dist/init/index.d.ts.map +1 -0
- package/dist/init/index.js +90 -0
- package/dist/init/prompts.d.ts +3 -0
- package/dist/init/prompts.d.ts.map +1 -0
- package/dist/init/prompts.js +47 -0
- package/dist/init/scaffold.d.ts +29 -0
- package/dist/init/scaffold.d.ts.map +1 -0
- package/dist/init/scaffold.js +208 -0
- package/dist/init/types.d.ts +14 -0
- package/dist/init/types.d.ts.map +1 -0
- package/dist/init/types.js +1 -0
- package/dist/managed/index.d.ts +73 -0
- package/dist/managed/index.d.ts.map +1 -0
- package/dist/managed/index.js +222 -0
- package/dist/readmodel/dashboard.d.ts +40 -0
- package/dist/readmodel/dashboard.d.ts.map +1 -0
- package/dist/readmodel/dashboard.js +236 -0
- package/dist/readmodel/index.d.ts +3 -0
- package/dist/readmodel/index.d.ts.map +1 -0
- package/dist/readmodel/index.js +1 -0
- package/dist/readmodel/types.d.ts +104 -0
- package/dist/readmodel/types.d.ts.map +1 -0
- package/dist/readmodel/types.js +15 -0
- package/dist/root/index.d.ts +186 -0
- package/dist/root/index.d.ts.map +1 -0
- package/dist/root/index.js +430 -0
- package/dist/root/safe-write.d.ts +268 -0
- package/dist/root/safe-write.d.ts.map +1 -0
- package/dist/root/safe-write.js +966 -0
- package/dist/root/write-artifacts.d.ts +20 -0
- package/dist/root/write-artifacts.d.ts.map +1 -0
- package/dist/root/write-artifacts.js +42 -0
- package/dist/scriptorium/compile.d.ts +4 -0
- package/dist/scriptorium/compile.d.ts.map +1 -0
- package/dist/scriptorium/compile.js +185 -0
- package/dist/scriptorium/frontmatter.d.ts +13 -0
- package/dist/scriptorium/frontmatter.d.ts.map +1 -0
- package/dist/scriptorium/frontmatter.js +90 -0
- package/dist/scriptorium/index.d.ts +3 -0
- package/dist/scriptorium/index.d.ts.map +1 -0
- package/dist/scriptorium/index.js +1 -0
- package/dist/scriptorium/markdown.d.ts +31 -0
- package/dist/scriptorium/markdown.d.ts.map +1 -0
- package/dist/scriptorium/markdown.js +88 -0
- package/dist/scriptorium/types.d.ts +78 -0
- package/dist/scriptorium/types.d.ts.map +1 -0
- package/dist/scriptorium/types.js +1 -0
- package/dist/types/enforcement.d.ts +11 -0
- package/dist/types/enforcement.d.ts.map +1 -0
- package/dist/types/enforcement.js +1 -0
- package/dist/types/integrity.d.ts +33 -0
- package/dist/types/integrity.d.ts.map +1 -0
- package/dist/types/integrity.js +1 -0
- package/dist/types/project-definition.d.ts +30 -0
- package/dist/types/project-definition.d.ts.map +1 -0
- package/dist/types/project-definition.js +1 -0
- package/dist/ui/assets/cosmic-glass-bg-Dwx47zPu.webp +0 -0
- package/dist/ui/assets/index-C4NhMaq7.js +28 -0
- package/dist/ui/assets/index-DMZ7ZvZY.css +1 -0
- package/dist/ui/index.html +13 -0
- package/dist/update/cli.d.ts +8 -0
- package/dist/update/cli.d.ts.map +1 -0
- package/dist/update/cli.js +115 -0
- package/dist/update/index.d.ts +78 -0
- package/dist/update/index.d.ts.map +1 -0
- package/dist/update/index.js +285 -0
- package/dist/validate/index.d.ts +6 -0
- package/dist/validate/index.d.ts.map +1 -0
- package/dist/validate/index.js +214 -0
- package/dist/version.d.ts +2 -0
- package/dist/version.d.ts.map +1 -0
- package/dist/version.js +1 -0
- package/package.json +67 -4
- package/templates/.gitkeep +0 -0
- package/templates/default-instance/instruction/.cursorrules +59 -0
- package/templates/default-instance/instruction/.windsurfrules +59 -0
- package/templates/default-instance/instruction/CLAUDE.md +57 -0
- package/templates/default-instance/managed/agent.md +20 -0
- package/templates/default-instance/managed/bootstrap.md +7 -0
- package/templates/default-instance/managed/index-idea.md +5 -0
- package/templates/default-instance/managed/routing-idea.md +14 -0
- package/templates/default-instance/monolith/AGENT.md +1 -0
- package/templates/default-instance/monolith/context/boot/HANDOFF.md +49 -0
- package/templates/default-instance/monolith/context/boot/WORK_SESSION.md +30 -0
- package/templates/default-instance/monolith/context/execution/current-state.md +30 -0
- package/templates/default-instance/monolith/context/maps/dependency-map.md +38 -0
- package/templates/default-instance/monolith/context/maps/project-map.md +85 -0
- package/templates/default-instance/monolith/context/maps/roadmap-index.md +41 -0
- package/templates/default-instance/monolith/context/maps/routing-map.md +151 -0
- package/templates/default-instance/monolith/context/maps/semantic-map.md +75 -0
- package/templates/default-instance/monolith/context/models/model-registry.md +37 -0
- package/templates/default-instance/monolith/context/models/privacy-classification.md +35 -0
- package/templates/default-instance/monolith/context/templates/plan-template.md +56 -0
- package/templates/default-instance/monolith/governance/README.md +29 -0
- package/templates/default-instance/monolith/governance/RULE_SCHEMA.md +58 -0
- package/templates/default-instance/monolith/learning/INDEX.md +48 -0
- package/templates/default-instance/monolith/learning/injection-map.md +49 -0
- package/templates/default-instance/monolith/learning/taxonomy.md +30 -0
- package/templates/default-instance/monolith/memory/errors/README.md +26 -0
- package/templates/default-instance/monolith/memory/errors/SCHEMA.md +47 -0
- package/templates/default-instance/monolith/memory/errors/TAXONOMY.md +27 -0
- package/templates/default-instance/monolith/memory/long-term/architecture-principles.md +31 -0
- package/templates/default-instance/monolith/memory/long-term/decisions.md +36 -0
- package/templates/default-instance/monolith/memory/long-term/execution-history.md +20 -0
- package/templates/default-instance/monolith/memory/long-term/tech-debt.md +25 -0
- package/templates/default-instance/monolith/memory/working/active.md +41 -0
- package/templates/default-instance/monolith/memory/working/governance-result.md +0 -0
- package/templates/default-instance/monolith/memory/working/integrity-result.md +0 -0
- package/templates/default-instance/monolith/memory/working/story-index.md +28 -0
- package/templates/default-instance/monolith/protocols/boot/boot-sequence.md +59 -0
- package/templates/default-instance/monolith/protocols/cognition/cognitive-modes.md +90 -0
- package/templates/default-instance/monolith/protocols/cognition/dry-run.md +56 -0
- package/templates/default-instance/monolith/protocols/cognition/execution-trace-format.md +52 -0
- package/templates/default-instance/monolith/protocols/cognition/semantic-planning.md +51 -0
- package/templates/default-instance/monolith/protocols/execution/hybrid-execution.md +37 -0
- package/templates/default-instance/monolith/protocols/execution/local-llm-governance.md +42 -0
- package/templates/default-instance/monolith/protocols/governance/command-policy.md +51 -0
- package/templates/default-instance/monolith/protocols/governance/core-invariants.md +40 -0
- package/templates/default-instance/monolith/protocols/governance/memory-governance.md +54 -0
- package/templates/default-instance/monolith/protocols/governance/metadata-schema.md +62 -0
- package/templates/default-instance/monolith/protocols/governance/skills.md +53 -0
- package/templates/default-instance/monolith/protocols/governance/work-session.md +46 -0
- package/templates/default-instance/monolith/skills/INDEX.md +32 -0
- package/templates/default-instance/monolith/skills/current-status/SKILL.md +47 -0
- package/templates/default-instance/monolith/skills/finalize-story/SKILL.md +86 -0
- package/templates/default-instance/monolith/skills/global-status/SKILL.md +56 -0
- package/templates/default-instance/monolith/skills/idea-capture/SKILL.md +157 -0
- package/templates/default-instance/monolith/skills/self-improvement/SKILL.md +77 -0
- package/templates/default-instance/monolith/state.json +11 -0
- package/templates/default-instance/monolith/tests/INDEX.md +57 -0
- package/templates/default-instance/monolith/tests/scenarios/architecture-review.md +32 -0
- package/templates/default-instance/monolith/tests/scenarios/debug-failure.md +32 -0
- package/templates/default-instance/monolith/tests/scenarios/dry-run-activation.md +33 -0
- package/templates/default-instance/monolith/tests/scenarios/execution-trace-verification.md +31 -0
- package/templates/default-instance/monolith/tests/scenarios/finalize-story.md +35 -0
- package/templates/default-instance/monolith/tests/scenarios/implement-feature.md +36 -0
- package/templates/default-instance/monolith/tests/scenarios/local-llm-delegation.md +31 -0
- package/templates/default-instance/monolith/tests/scenarios/planning-request.md +32 -0
- package/templates/default-instance/monolith/tests/scenarios/sensitive-context-task.md +30 -0
- package/templates/default-instance/monolith/tests/scenarios/validator-verification.md +33 -0
- package/templates/default-instance/monolith/tests/validation/expected-behavior.md +70 -0
- package/templates/default-instance/monolith/tests/validators/INDEX.md +17 -0
- package/templates/default-instance/monolith/tests/validators/delegation-semantics.md +22 -0
- package/templates/default-instance/monolith/tests/validators/mode-consistency.md +25 -0
- package/templates/default-instance/monolith/tests/validators/privacy-routing.md +23 -0
- package/templates/default-instance/monolith/tests/validators/protocol-references.md +27 -0
- package/templates/default-instance/monolith/tests/validators/routing-integrity.md +30 -0
- package/templates/default-instance/projectroot/AGENTS.md +111 -0
- package/templates/default-instance/projectroot/monolith.config.json +32 -0
- package/templates/default-instance/projectroot/project.definition.mjs.template +41 -0
|
@@ -0,0 +1,278 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Deterministic Markdown documentation analyzer (DISCOVERY-001B-2D, ADR-021). Internal.
|
|
3
|
+
*
|
|
4
|
+
* Principle: a document is a source of CLAIMS, never proof that the implementation matches them.
|
|
5
|
+
* This module records what a document's text STRUCTURALLY contains (it exists, it has an ATX
|
|
6
|
+
* heading of level N with this raw text on line L, it has an inline link with this raw target) and
|
|
7
|
+
* nothing about what the project is. It never extracts a technology, a component, a dependency, a
|
|
8
|
+
* decision or a runtime statement from prose, and it never checks anything against the code.
|
|
9
|
+
* Every result carries `assertion: 'DOCUMENT_CONTENT_NOT_VERIFIED'`; observations of the kinds
|
|
10
|
+
* HEADING, LINK and SECTION have `evidence: 'DOCUMENT_TEXT'` (what the author wrote), only
|
|
11
|
+
* DOCUMENT_PRESENT has `evidence: 'OBSERVED_FILE'` (the traversal saw the file).
|
|
12
|
+
*
|
|
13
|
+
* Contract: `DiscoveryResult` (schema 1) is closed and has no place for line positions, so it is NOT
|
|
14
|
+
* changed. This module returns its own `DocumentationResult` and reuses the diagnostic shape, the
|
|
15
|
+
* fact-id function, the path and name predicates, the UTF-16 order and the traversal result.
|
|
16
|
+
*
|
|
17
|
+
* Scope: `README.md` at the project root and `*.md` below `docs/`, and only those that the given
|
|
18
|
+
* `TraversalResult` lists as regular files. Nothing is searched for: a document the traversal did
|
|
19
|
+
* not list does not exist for this module.
|
|
20
|
+
*
|
|
21
|
+
* Reading: each document is read through `readProjectFile` (ADR-011/014: every component below the
|
|
22
|
+
* root is `lstat`-checked and none may be a symlink; `O_NOFOLLOW|O_NONBLOCK`; regular single-link
|
|
23
|
+
* file; bounded read), with a per-document and a total byte cap. That the traversal listed a path
|
|
24
|
+
* proves nothing about the next read, so every read is made on its own terms. NOT defended
|
|
25
|
+
* (ADR-013, SEC-001B.3 open; TM-C unsupported): a process that swaps a directory or file between the
|
|
26
|
+
* check and the open. Do not run it on a tree an untrusted process is modifying.
|
|
27
|
+
* The content is only ever split into lines and matched; it is never evaluated, run, fetched, or
|
|
28
|
+
* resolved: no subprocess, no network, no file access through a link target, no model.
|
|
29
|
+
*
|
|
30
|
+
* Supported Markdown subset (everything else is skipped, never guessed):
|
|
31
|
+
* - ATX headings (`#`..`######`, up to 3 spaces of indentation, optional closing `#` sequence);
|
|
32
|
+
* - inline links `[text](target)` and `[text](target "title")` on ONE line, text without nested
|
|
33
|
+
* brackets, target without whitespace (or `<...>`);
|
|
34
|
+
* - fenced code blocks (``` and ~~~) are skipped whole; so are YAML front matter, HTML comment
|
|
35
|
+
* lines, indented (4+) lines and over-long lines; inline code spans hide what they contain.
|
|
36
|
+
* NOT supported (no observation is made for them): setext headings, reference-style links,
|
|
37
|
+
* autolinks and bare URLs, images, raw HTML, headings/links split over lines, headings inside
|
|
38
|
+
* block quotes or list items, entity and escape decoding. Heading and link text is the RAW source
|
|
39
|
+
* text (inline markup is not rendered); a link target is never resolved, normalised or fetched.
|
|
40
|
+
*
|
|
41
|
+
* Invalid UTF-8: the reader decodes leniently (U+FFFD for invalid bytes); the two cannot be told
|
|
42
|
+
* apart, so a document containing U+FFFD or NUL is not analysed at all.
|
|
43
|
+
*/
|
|
44
|
+
import { type ProjectFileRead } from '../root/index.js';
|
|
45
|
+
import type { TraversalResult } from './traverse.js';
|
|
46
|
+
import { type DiscoveryDiagnostic } from './contracts.js';
|
|
47
|
+
export declare const DOCUMENTATION_SCHEMA_VERSION = 1;
|
|
48
|
+
export type DocumentationObservationKind = 'DOCUMENT_PRESENT' | 'HEADING' | 'SECTION' | 'LINK';
|
|
49
|
+
/** How an observation was obtained; a function of the kind, never chosen per observation. */
|
|
50
|
+
export declare const DOCUMENTATION_EVIDENCE_BY_KIND: {
|
|
51
|
+
/** The traversal listed a regular file with a supported name. Says nothing about its content being right. */
|
|
52
|
+
readonly DOCUMENT_PRESENT: "OBSERVED_FILE";
|
|
53
|
+
/** The author wrote an ATX heading here. Says nothing about the project. */
|
|
54
|
+
readonly HEADING: "DOCUMENT_TEXT";
|
|
55
|
+
/** Lines between a heading and the next heading of the same or a higher level. A text range, not a component. */
|
|
56
|
+
readonly SECTION: "DOCUMENT_TEXT";
|
|
57
|
+
/** The author wrote an inline link here. Never resolved, never followed, never checked. */
|
|
58
|
+
readonly LINK: "DOCUMENT_TEXT";
|
|
59
|
+
};
|
|
60
|
+
export type DocumentationEvidence = (typeof DOCUMENTATION_EVIDENCE_BY_KIND)[DocumentationObservationKind];
|
|
61
|
+
export type DocumentationSourceKind = 'markdown-file' | 'markdown-atx-heading' | 'markdown-section' | 'markdown-inline-link';
|
|
62
|
+
export interface DocumentationSource {
|
|
63
|
+
/** Project-relative, `/`-separated; never absolute, never contains `..`. */
|
|
64
|
+
path: string;
|
|
65
|
+
observation: DocumentationSourceKind;
|
|
66
|
+
/** 1-based, inclusive. Absent for a whole-file source. */
|
|
67
|
+
startLine?: number;
|
|
68
|
+
endLine?: number;
|
|
69
|
+
}
|
|
70
|
+
/** `FULL`: the raw text as written. `TRUNCATED`: cut to the limit. `WITHHELD`: contains unsafe characters; `text` is empty. */
|
|
71
|
+
export type TextStatus = 'FULL' | 'TRUNCATED' | 'WITHHELD';
|
|
72
|
+
/**
|
|
73
|
+
* `relative`: no scheme, not `/`-rooted, not `#`. `anchor`: starts with `#`. `external`: `http(s)://` or `//`.
|
|
74
|
+
* `other`: any other scheme (`mailto:`, `javascript:`, `C:`...) or a `/`-rooted path. Nothing is resolved.
|
|
75
|
+
*/
|
|
76
|
+
export type LinkType = 'relative' | 'anchor' | 'external' | 'other';
|
|
77
|
+
interface ObservationBase {
|
|
78
|
+
/** 16 hex of sha256 over (kind, path, position, content); see `observationId`. */
|
|
79
|
+
id: string;
|
|
80
|
+
evidence: DocumentationEvidence;
|
|
81
|
+
source: DocumentationSource;
|
|
82
|
+
/** 0 for a document; otherwise the 1-based order of appearance within the document. */
|
|
83
|
+
ordinal: number;
|
|
84
|
+
}
|
|
85
|
+
export interface DocumentPresentObservation extends ObservationBase {
|
|
86
|
+
kind: 'DOCUMENT_PRESENT';
|
|
87
|
+
format: 'markdown';
|
|
88
|
+
/** `NOT_ANALYZED`: the file is there but its content was not (or could not be) analysed; see the diagnostics. */
|
|
89
|
+
analysis: 'ANALYZED' | 'NOT_ANALYZED';
|
|
90
|
+
bytes?: number;
|
|
91
|
+
lines?: number;
|
|
92
|
+
}
|
|
93
|
+
export interface HeadingObservation extends ObservationBase {
|
|
94
|
+
kind: 'HEADING';
|
|
95
|
+
level: 1 | 2 | 3 | 4 | 5 | 6;
|
|
96
|
+
/** Raw source text of the heading content, whitespace-trimmed, tabs as spaces. */
|
|
97
|
+
text: string;
|
|
98
|
+
textStatus: TextStatus;
|
|
99
|
+
}
|
|
100
|
+
export interface SectionObservation extends ObservationBase {
|
|
101
|
+
kind: 'SECTION';
|
|
102
|
+
/** Ordinal of the HEADING that opens the section. */
|
|
103
|
+
headingOrdinal: number;
|
|
104
|
+
/** Ordinal of the nearest earlier heading of a lower level, if any. */
|
|
105
|
+
parentHeadingOrdinal?: number;
|
|
106
|
+
/**
|
|
107
|
+
* Groups of consecutive non-blank lines (outside fenced code, comments and front matter) between the
|
|
108
|
+
* heading and the next heading of ANY level. A mechanical count of text blocks: lists, tables and
|
|
109
|
+
* quotes are groups too; it says nothing about content.
|
|
110
|
+
*/
|
|
111
|
+
ownTextLineGroups: number;
|
|
112
|
+
}
|
|
113
|
+
export interface LinkObservation extends ObservationBase {
|
|
114
|
+
kind: 'LINK';
|
|
115
|
+
text: string;
|
|
116
|
+
textStatus: TextStatus;
|
|
117
|
+
/** Raw target as written (no entity or escape decoding, no resolution). */
|
|
118
|
+
target: string;
|
|
119
|
+
linkType: LinkType;
|
|
120
|
+
}
|
|
121
|
+
export type DocumentationObservation = DocumentPresentObservation | HeadingObservation | SectionObservation | LinkObservation;
|
|
122
|
+
export interface DocumentationLimits {
|
|
123
|
+
/** Documents analysed; README.md first, then `docs/` by depth and path. */
|
|
124
|
+
maxDocuments: number;
|
|
125
|
+
/** Size cap of one document, bytes (same figure as `maxManifestBytes`). */
|
|
126
|
+
maxDocumentBytes: number;
|
|
127
|
+
/** Bytes read over all documents. */
|
|
128
|
+
maxTotalBytes: number;
|
|
129
|
+
maxHeadingsPerDocument: number;
|
|
130
|
+
maxLinksPerDocument: number;
|
|
131
|
+
/** Longest heading or link text that is kept whole (UTF-16 units); longer is `TRUNCATED`. */
|
|
132
|
+
maxTextLength: number;
|
|
133
|
+
/**
|
|
134
|
+
* Longest link target that is kept. A longer one is not recorded (a cut URL would be a false
|
|
135
|
+
* observation) and is counted as `DOC_LINK_REJECTED`; it also bounds the work of one link scan.
|
|
136
|
+
*/
|
|
137
|
+
maxTargetLength: number;
|
|
138
|
+
/** Lines longer than this are not analysed: bounds the work of the inline scan. */
|
|
139
|
+
maxLineLength: number;
|
|
140
|
+
/** Cap on the whole `observations` array. */
|
|
141
|
+
maxObservations: number;
|
|
142
|
+
maxDiagnostics: number;
|
|
143
|
+
}
|
|
144
|
+
export declare const DEFAULT_DOCUMENTATION_LIMITS: Readonly<DocumentationLimits>;
|
|
145
|
+
/** Closed list. `true`: something inside the declared scope was not extracted, so the result is `PARTIAL`. */
|
|
146
|
+
export declare const DOCUMENTATION_DIAGNOSTIC_AFFECTS_COMPLETENESS: {
|
|
147
|
+
readonly DOC_INPUT_PATH_REJECTED: true;
|
|
148
|
+
readonly DOC_LIMIT_DOCUMENTS: true;
|
|
149
|
+
readonly DOC_LIMIT_TOTAL_BYTES: true;
|
|
150
|
+
readonly DOC_LIMIT_HEADINGS: true;
|
|
151
|
+
readonly DOC_LIMIT_LINKS: true;
|
|
152
|
+
readonly DOC_LIMIT_OBSERVATIONS: true;
|
|
153
|
+
readonly DOC_LIMIT_DIAGNOSTICS: true;
|
|
154
|
+
readonly DOC_READ_FAILED: true;
|
|
155
|
+
readonly DOC_TOO_LARGE: true;
|
|
156
|
+
readonly DOC_INVALID_ENCODING: true;
|
|
157
|
+
readonly DOC_LINE_TOO_LONG: true;
|
|
158
|
+
readonly DOC_TEXT_ADJUSTED: true;
|
|
159
|
+
readonly DOC_LINK_REJECTED: true;
|
|
160
|
+
readonly DOC_EMPTY: false;
|
|
161
|
+
readonly DOC_NOT_REGULAR_FILE: false;
|
|
162
|
+
readonly DOC_FRONT_MATTER_SKIPPED: false;
|
|
163
|
+
readonly DOC_UNCLOSED_FENCE: true;
|
|
164
|
+
readonly DOC_SETEXT_HEADING_UNSUPPORTED: false;
|
|
165
|
+
readonly DOC_SECTIONS_NOT_RECORDED: false;
|
|
166
|
+
readonly DOC_HTML_COMMENT_SKIPPED: false;
|
|
167
|
+
readonly DOC_INDENTED_LINES_SKIPPED: false;
|
|
168
|
+
};
|
|
169
|
+
export type DocumentationDiagnosticCode = keyof typeof DOCUMENTATION_DIAGNOSTIC_AFFECTS_COMPLETENESS;
|
|
170
|
+
export interface DocumentationStats {
|
|
171
|
+
inputEntries: number;
|
|
172
|
+
/** Regular files the traversal listed under a supported name (before `maxDocuments`). */
|
|
173
|
+
candidateDocuments: number;
|
|
174
|
+
documentsAnalyzed: number;
|
|
175
|
+
/** Listed as present, content not analysed. */
|
|
176
|
+
documentsNotAnalyzed: number;
|
|
177
|
+
/** Bytes actually read, including documents later found not analysable. */
|
|
178
|
+
bytesRead: number;
|
|
179
|
+
observations: number;
|
|
180
|
+
}
|
|
181
|
+
export interface DocumentationResult {
|
|
182
|
+
schemaVersion: typeof DOCUMENTATION_SCHEMA_VERSION;
|
|
183
|
+
/** Constant: nothing in this result has been compared with the implementation. */
|
|
184
|
+
assertion: 'DOCUMENT_CONTENT_NOT_VERIFIED';
|
|
185
|
+
limits: DocumentationLimits;
|
|
186
|
+
/** `PARTIAL` when the traversal was `PARTIAL` or any completeness-affecting diagnostic exists. */
|
|
187
|
+
completeness: 'COMPLETE' | 'PARTIAL';
|
|
188
|
+
reproducible: boolean;
|
|
189
|
+
traversal: {
|
|
190
|
+
completeness: 'COMPLETE' | 'PARTIAL';
|
|
191
|
+
reproducible: boolean;
|
|
192
|
+
};
|
|
193
|
+
stats: DocumentationStats;
|
|
194
|
+
/** Canonical order: see `compareObservations`. */
|
|
195
|
+
observations: DocumentationObservation[];
|
|
196
|
+
/** Sorted by `compareDocDiagnostics`; a `DOC_LIMIT_DIAGNOSTICS` summary, when present, is first. */
|
|
197
|
+
diagnostics: DiscoveryDiagnostic[];
|
|
198
|
+
}
|
|
199
|
+
export type DocumentReader = (projectRoot: string, relPath: string, opts: {
|
|
200
|
+
maxBytes: number;
|
|
201
|
+
allowEmpty: boolean;
|
|
202
|
+
}) => ProjectFileRead;
|
|
203
|
+
export interface AnalyzeDocumentationOptions {
|
|
204
|
+
limits?: Partial<DocumentationLimits>;
|
|
205
|
+
/** @internal Test seam; production uses `readProjectFile`. */
|
|
206
|
+
readDocument?: DocumentReader;
|
|
207
|
+
}
|
|
208
|
+
export declare function classifyLinkTarget(target: string): LinkType;
|
|
209
|
+
export interface ParseLimits {
|
|
210
|
+
maxHeadings: number;
|
|
211
|
+
maxLinks: number;
|
|
212
|
+
maxTextLength: number;
|
|
213
|
+
maxTargetLength: number;
|
|
214
|
+
maxLineLength: number;
|
|
215
|
+
}
|
|
216
|
+
export interface ParsedHeading {
|
|
217
|
+
ordinal: number;
|
|
218
|
+
level: 1 | 2 | 3 | 4 | 5 | 6;
|
|
219
|
+
line: number;
|
|
220
|
+
text: string;
|
|
221
|
+
textStatus: TextStatus;
|
|
222
|
+
}
|
|
223
|
+
export interface ParsedLink {
|
|
224
|
+
ordinal: number;
|
|
225
|
+
line: number;
|
|
226
|
+
text: string;
|
|
227
|
+
textStatus: TextStatus;
|
|
228
|
+
target: string;
|
|
229
|
+
linkType: LinkType;
|
|
230
|
+
}
|
|
231
|
+
export interface ParsedSection {
|
|
232
|
+
headingOrdinal: number;
|
|
233
|
+
startLine: number;
|
|
234
|
+
endLine: number;
|
|
235
|
+
parentHeadingOrdinal?: number;
|
|
236
|
+
ownTextLineGroups: number;
|
|
237
|
+
}
|
|
238
|
+
/** Counts of what was not extracted, so that omissions are visible. */
|
|
239
|
+
export interface ParseNotes {
|
|
240
|
+
frontMatterLines: number;
|
|
241
|
+
htmlCommentLines: number;
|
|
242
|
+
indentedLines: number;
|
|
243
|
+
longLines: number;
|
|
244
|
+
setextLines: number;
|
|
245
|
+
/** Line of a fence that never closed (everything after it is code, as in CommonMark). */
|
|
246
|
+
unclosedFenceLine?: number;
|
|
247
|
+
textAdjusted: number;
|
|
248
|
+
linksRejected: number;
|
|
249
|
+
headingsDropped: number;
|
|
250
|
+
linksDropped: number;
|
|
251
|
+
}
|
|
252
|
+
export interface ParsedMarkdown {
|
|
253
|
+
lines: number;
|
|
254
|
+
headings: ParsedHeading[];
|
|
255
|
+
links: ParsedLink[];
|
|
256
|
+
/** Empty when `notes.setextLines > 0`: with an unrecognised heading the boundaries would be wrong. */
|
|
257
|
+
sections: ParsedSection[];
|
|
258
|
+
notes: ParseNotes;
|
|
259
|
+
}
|
|
260
|
+
/** Pure: no I/O. Total over any string. */
|
|
261
|
+
export declare function parseMarkdownStructure(content: string, limits: ParseLimits): ParsedMarkdown;
|
|
262
|
+
export declare function observationId(o: Omit<DocumentationObservation, 'id'> & {
|
|
263
|
+
id?: string;
|
|
264
|
+
}): string;
|
|
265
|
+
/** (path, first line, kind rank, ordinal) in UTF-16 / numeric order. */
|
|
266
|
+
export declare function compareObservations(a: DocumentationObservation, b: DocumentationObservation): number;
|
|
267
|
+
/** Completeness-affecting codes (0), traversal codes (1), the others (2); then code, path, message, count. */
|
|
268
|
+
export declare function compareDocDiagnostics(a: DiscoveryDiagnostic, b: DiscoveryDiagnostic): number;
|
|
269
|
+
export declare function analyzeDocumentation(projectRoot: string, traversal: TraversalResult, options?: AnalyzeDocumentationOptions): DocumentationResult;
|
|
270
|
+
/**
|
|
271
|
+
* Check of a `DocumentationResult` against the schema-1 contract. Returns the violations (empty = valid).
|
|
272
|
+
* Input is `unknown`: a malformed value yields violations, never a `TypeError`. A violation names a
|
|
273
|
+
* location and a rule and never repeats a value from the input. At most 100 are returned. Plain
|
|
274
|
+
* JSON-like data only (no accessors that throw, no `Proxy`).
|
|
275
|
+
*/
|
|
276
|
+
export declare function validateDocumentationResult(result: unknown): string[];
|
|
277
|
+
export {};
|
|
278
|
+
//# sourceMappingURL=docs.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"docs.d.ts","sourceRoot":"","sources":["../../src/discovery/docs.ts"],"names":[],"mappings":"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"}
|