@jasonbelmonti/markdown-engine 1.0.0 → 3.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/CHANGELOG.md +48 -0
- package/README.md +113 -56
- package/SECURITY.md +5 -3
- package/dist/api/annotation-source-range.d.ts +7 -0
- package/dist/api/annotation-source-range.d.ts.map +1 -0
- package/dist/api/annotation-source-range.js +103 -0
- package/dist/api/annotation-source-range.js.map +1 -0
- package/dist/api/annotation-target-candidate.d.ts +10 -0
- package/dist/api/annotation-target-candidate.d.ts.map +1 -0
- package/dist/api/annotation-target-candidate.js +14 -0
- package/dist/api/annotation-target-candidate.js.map +1 -0
- package/dist/api/annotation-target-cloning.d.ts +5 -0
- package/dist/api/annotation-target-cloning.d.ts.map +1 -0
- package/dist/api/annotation-target-cloning.js +122 -0
- package/dist/api/annotation-target-cloning.js.map +1 -0
- package/dist/api/annotation-target-diagnostics.d.ts +8 -0
- package/dist/api/annotation-target-diagnostics.d.ts.map +1 -0
- package/dist/api/annotation-target-diagnostics.js +57 -0
- package/dist/api/annotation-target-diagnostics.js.map +1 -0
- package/dist/api/annotation-target-validation.d.ts +2 -2
- package/dist/api/annotation-target-validation.d.ts.map +1 -1
- package/dist/api/annotation-target-validation.js +5 -272
- package/dist/api/annotation-target-validation.js.map +1 -1
- package/dist/api/contracts.d.ts +2 -1
- package/dist/api/contracts.d.ts.map +1 -1
- package/dist/api/contracts.js +1 -0
- package/dist/api/contracts.js.map +1 -1
- package/dist/api/declarative-validation.d.ts +13 -0
- package/dist/api/declarative-validation.d.ts.map +1 -0
- package/dist/api/declarative-validation.js +85 -0
- package/dist/api/declarative-validation.js.map +1 -0
- package/dist/api/document-queries.d.ts.map +1 -1
- package/dist/api/document-queries.js +74 -3
- package/dist/api/document-queries.js.map +1 -1
- package/dist/api/document.d.ts +44 -0
- package/dist/api/document.d.ts.map +1 -1
- package/dist/api/engine-node-attributes.d.ts +15 -0
- package/dist/api/engine-node-attributes.d.ts.map +1 -0
- package/dist/api/engine-node-attributes.js +99 -0
- package/dist/api/engine-node-attributes.js.map +1 -0
- package/dist/api/normalize.d.ts.map +1 -1
- package/dist/api/normalize.js +22 -1
- package/dist/api/normalize.js.map +1 -1
- package/dist/api/serialize.js +2 -14
- package/dist/api/serialize.js.map +1 -1
- package/dist/cli/args.d.ts +6 -2
- package/dist/cli/args.d.ts.map +1 -1
- package/dist/cli/args.js +33 -25
- package/dist/cli/args.js.map +1 -1
- package/dist/cli/declarative-validation.d.ts +18 -0
- package/dist/cli/declarative-validation.d.ts.map +1 -0
- package/dist/cli/declarative-validation.js +126 -0
- package/dist/cli/declarative-validation.js.map +1 -0
- package/dist/cli/files.d.ts +1 -0
- package/dist/cli/files.d.ts.map +1 -1
- package/dist/cli/files.js +3 -0
- package/dist/cli/files.js.map +1 -1
- package/dist/cli/run.d.ts.map +1 -1
- package/dist/cli/run.js +18 -3
- package/dist/cli/run.js.map +1 -1
- package/dist/cli/validate-args.d.ts +18 -0
- package/dist/cli/validate-args.d.ts.map +1 -0
- package/dist/cli/validate-args.js +131 -0
- package/dist/cli/validate-args.js.map +1 -0
- package/dist/declarative-validation/applicability/classifier.d.ts +18 -0
- package/dist/declarative-validation/applicability/classifier.d.ts.map +1 -0
- package/dist/declarative-validation/applicability/classifier.js +37 -0
- package/dist/declarative-validation/applicability/classifier.js.map +1 -0
- package/dist/declarative-validation/applicability/index.d.ts +2 -0
- package/dist/declarative-validation/applicability/index.d.ts.map +1 -0
- package/dist/declarative-validation/applicability/index.js +2 -0
- package/dist/declarative-validation/applicability/index.js.map +1 -0
- package/dist/declarative-validation/assertions/context.d.ts +8 -0
- package/dist/declarative-validation/assertions/context.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/context.js +2 -0
- package/dist/declarative-validation/assertions/context.js.map +1 -0
- package/dist/declarative-validation/assertions/diagnostics.d.ts +25 -0
- package/dist/declarative-validation/assertions/diagnostics.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/diagnostics.js +96 -0
- package/dist/declarative-validation/assertions/diagnostics.js.map +1 -0
- package/dist/declarative-validation/assertions/document-text-offsets.d.ts +3 -0
- package/dist/declarative-validation/assertions/document-text-offsets.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/document-text-offsets.js +32 -0
- package/dist/declarative-validation/assertions/document-text-offsets.js.map +1 -0
- package/dist/declarative-validation/assertions/evaluator.d.ts +5 -0
- package/dist/declarative-validation/assertions/evaluator.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/evaluator.js +49 -0
- package/dist/declarative-validation/assertions/evaluator.js.map +1 -0
- package/dist/declarative-validation/assertions/exists.d.ts +4 -0
- package/dist/declarative-validation/assertions/exists.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/exists.js +8 -0
- package/dist/declarative-validation/assertions/exists.js.map +1 -0
- package/dist/declarative-validation/assertions/frontmatter-required.d.ts +9 -0
- package/dist/declarative-validation/assertions/frontmatter-required.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/frontmatter-required.js +15 -0
- package/dist/declarative-validation/assertions/frontmatter-required.js.map +1 -0
- package/dist/declarative-validation/assertions/group-evaluator.d.ts +6 -0
- package/dist/declarative-validation/assertions/group-evaluator.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/group-evaluator.js +57 -0
- package/dist/declarative-validation/assertions/group-evaluator.js.map +1 -0
- package/dist/declarative-validation/assertions/id-targets.d.ts +44 -0
- package/dist/declarative-validation/assertions/id-targets.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/id-targets.js +391 -0
- package/dist/declarative-validation/assertions/id-targets.js.map +1 -0
- package/dist/declarative-validation/assertions/id-tokens.d.ts +15 -0
- package/dist/declarative-validation/assertions/id-tokens.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/id-tokens.js +27 -0
- package/dist/declarative-validation/assertions/id-tokens.js.map +1 -0
- package/dist/declarative-validation/assertions/ids.d.ts +9 -0
- package/dist/declarative-validation/assertions/ids.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/ids.js +128 -0
- package/dist/declarative-validation/assertions/ids.js.map +1 -0
- package/dist/declarative-validation/assertions/index.d.ts +4 -0
- package/dist/declarative-validation/assertions/index.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/index.js +4 -0
- package/dist/declarative-validation/assertions/index.js.map +1 -0
- package/dist/declarative-validation/assertions/literal-text.d.ts +2 -0
- package/dist/declarative-validation/assertions/literal-text.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/literal-text.js +14 -0
- package/dist/declarative-validation/assertions/literal-text.js.map +1 -0
- package/dist/declarative-validation/assertions/normalized-source-ranges.d.ts +3 -0
- package/dist/declarative-validation/assertions/normalized-source-ranges.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/normalized-source-ranges.js +105 -0
- package/dist/declarative-validation/assertions/normalized-source-ranges.js.map +1 -0
- package/dist/declarative-validation/assertions/ordering.d.ts +6 -0
- package/dist/declarative-validation/assertions/ordering.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/ordering.js +71 -0
- package/dist/declarative-validation/assertions/ordering.js.map +1 -0
- package/dist/declarative-validation/assertions/references.d.ts +9 -0
- package/dist/declarative-validation/assertions/references.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/references.js +354 -0
- package/dist/declarative-validation/assertions/references.js.map +1 -0
- package/dist/declarative-validation/assertions/sections-required.d.ts +9 -0
- package/dist/declarative-validation/assertions/sections-required.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/sections-required.js +49 -0
- package/dist/declarative-validation/assertions/sections-required.js.map +1 -0
- package/dist/declarative-validation/assertions/table-column-coverage.d.ts +9 -0
- package/dist/declarative-validation/assertions/table-column-coverage.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/table-column-coverage.js +108 -0
- package/dist/declarative-validation/assertions/table-column-coverage.js.map +1 -0
- package/dist/declarative-validation/assertions/table-columns-required.d.ts +9 -0
- package/dist/declarative-validation/assertions/table-columns-required.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/table-columns-required.js +31 -0
- package/dist/declarative-validation/assertions/table-columns-required.js.map +1 -0
- package/dist/declarative-validation/assertions/text-length.d.ts +9 -0
- package/dist/declarative-validation/assertions/text-length.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/text-length.js +40 -0
- package/dist/declarative-validation/assertions/text-length.js.map +1 -0
- package/dist/declarative-validation/assertions/text-occurrence-count.d.ts +9 -0
- package/dist/declarative-validation/assertions/text-occurrence-count.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/text-occurrence-count.js +22 -0
- package/dist/declarative-validation/assertions/text-occurrence-count.js.map +1 -0
- package/dist/declarative-validation/assertions/text.d.ts +9 -0
- package/dist/declarative-validation/assertions/text.d.ts.map +1 -0
- package/dist/declarative-validation/assertions/text.js +32 -0
- package/dist/declarative-validation/assertions/text.js.map +1 -0
- package/dist/declarative-validation/compiler/applicability-plan.d.ts +5 -0
- package/dist/declarative-validation/compiler/applicability-plan.d.ts.map +1 -0
- package/dist/declarative-validation/compiler/applicability-plan.js +22 -0
- package/dist/declarative-validation/compiler/applicability-plan.js.map +1 -0
- package/dist/declarative-validation/compiler/assertion-builders.d.ts +7 -0
- package/dist/declarative-validation/compiler/assertion-builders.d.ts.map +1 -0
- package/dist/declarative-validation/compiler/assertion-builders.js +237 -0
- package/dist/declarative-validation/compiler/assertion-builders.js.map +1 -0
- package/dist/declarative-validation/compiler/assertion-shapes.d.ts +20 -0
- package/dist/declarative-validation/compiler/assertion-shapes.d.ts.map +1 -0
- package/dist/declarative-validation/compiler/assertion-shapes.js +219 -0
- package/dist/declarative-validation/compiler/assertion-shapes.js.map +1 -0
- package/dist/declarative-validation/compiler/assertions.d.ts +6 -0
- package/dist/declarative-validation/compiler/assertions.d.ts.map +1 -0
- package/dist/declarative-validation/compiler/assertions.js +35 -0
- package/dist/declarative-validation/compiler/assertions.js.map +1 -0
- package/dist/declarative-validation/compiler/compatibility.d.ts +4 -0
- package/dist/declarative-validation/compiler/compatibility.d.ts.map +1 -0
- package/dist/declarative-validation/compiler/compatibility.js +29 -0
- package/dist/declarative-validation/compiler/compatibility.js.map +1 -0
- package/dist/declarative-validation/compiler/diagnostics.d.ts +3 -0
- package/dist/declarative-validation/compiler/diagnostics.d.ts.map +1 -0
- package/dist/declarative-validation/compiler/diagnostics.js +9 -0
- package/dist/declarative-validation/compiler/diagnostics.js.map +1 -0
- package/dist/declarative-validation/compiler/group-plans.d.ts +6 -0
- package/dist/declarative-validation/compiler/group-plans.d.ts.map +1 -0
- package/dist/declarative-validation/compiler/group-plans.js +67 -0
- package/dist/declarative-validation/compiler/group-plans.js.map +1 -0
- package/dist/declarative-validation/compiler/index.d.ts +5 -0
- package/dist/declarative-validation/compiler/index.d.ts.map +1 -0
- package/dist/declarative-validation/compiler/index.js +199 -0
- package/dist/declarative-validation/compiler/index.js.map +1 -0
- package/dist/declarative-validation/compiler/plan.d.ts +126 -0
- package/dist/declarative-validation/compiler/plan.d.ts.map +1 -0
- package/dist/declarative-validation/compiler/plan.js +2 -0
- package/dist/declarative-validation/compiler/plan.js.map +1 -0
- package/dist/declarative-validation/compiler/rule-fields.d.ts +6 -0
- package/dist/declarative-validation/compiler/rule-fields.d.ts.map +1 -0
- package/dist/declarative-validation/compiler/rule-fields.js +40 -0
- package/dist/declarative-validation/compiler/rule-fields.js.map +1 -0
- package/dist/declarative-validation/diagnostics/index.d.ts +7 -0
- package/dist/declarative-validation/diagnostics/index.d.ts.map +1 -0
- package/dist/declarative-validation/diagnostics/index.js +2 -0
- package/dist/declarative-validation/diagnostics/index.js.map +1 -0
- package/dist/declarative-validation/diagnostics/profile-config-diagnostics.d.ts +10 -0
- package/dist/declarative-validation/diagnostics/profile-config-diagnostics.d.ts.map +1 -0
- package/dist/declarative-validation/diagnostics/profile-config-diagnostics.js +51 -0
- package/dist/declarative-validation/diagnostics/profile-config-diagnostics.js.map +1 -0
- package/dist/declarative-validation/evidence/index.d.ts +14 -0
- package/dist/declarative-validation/evidence/index.d.ts.map +1 -0
- package/dist/declarative-validation/evidence/index.js +38 -0
- package/dist/declarative-validation/evidence/index.js.map +1 -0
- package/dist/declarative-validation/profile/applicability-schema.d.ts +4 -0
- package/dist/declarative-validation/profile/applicability-schema.d.ts.map +1 -0
- package/dist/declarative-validation/profile/applicability-schema.js +24 -0
- package/dist/declarative-validation/profile/applicability-schema.js.map +1 -0
- package/dist/declarative-validation/profile/assertion-schema.d.ts +5 -0
- package/dist/declarative-validation/profile/assertion-schema.d.ts.map +1 -0
- package/dist/declarative-validation/profile/assertion-schema.js +420 -0
- package/dist/declarative-validation/profile/assertion-schema.js.map +1 -0
- package/dist/declarative-validation/profile/data-closure.d.ts +6 -0
- package/dist/declarative-validation/profile/data-closure.d.ts.map +1 -0
- package/dist/declarative-validation/profile/data-closure.js +167 -0
- package/dist/declarative-validation/profile/data-closure.js.map +1 -0
- package/dist/declarative-validation/profile/direct-profile-diagnostics.d.ts +7 -0
- package/dist/declarative-validation/profile/direct-profile-diagnostics.d.ts.map +1 -0
- package/dist/declarative-validation/profile/direct-profile-diagnostics.js +81 -0
- package/dist/declarative-validation/profile/direct-profile-diagnostics.js.map +1 -0
- package/dist/declarative-validation/profile/group-schema.d.ts +5 -0
- package/dist/declarative-validation/profile/group-schema.d.ts.map +1 -0
- package/dist/declarative-validation/profile/group-schema.js +55 -0
- package/dist/declarative-validation/profile/group-schema.js.map +1 -0
- package/dist/declarative-validation/profile/ids-assertion-contract.d.ts +12 -0
- package/dist/declarative-validation/profile/ids-assertion-contract.d.ts.map +1 -0
- package/dist/declarative-validation/profile/ids-assertion-contract.js +32 -0
- package/dist/declarative-validation/profile/ids-assertion-contract.js.map +1 -0
- package/dist/declarative-validation/profile/index.d.ts +153 -0
- package/dist/declarative-validation/profile/index.d.ts.map +1 -0
- package/dist/declarative-validation/profile/index.js +2 -0
- package/dist/declarative-validation/profile/index.js.map +1 -0
- package/dist/declarative-validation/profile/materialization.d.ts +9 -0
- package/dist/declarative-validation/profile/materialization.d.ts.map +1 -0
- package/dist/declarative-validation/profile/materialization.js +112 -0
- package/dist/declarative-validation/profile/materialization.js.map +1 -0
- package/dist/declarative-validation/profile/parse.d.ts +3 -0
- package/dist/declarative-validation/profile/parse.d.ts.map +1 -0
- package/dist/declarative-validation/profile/parse.js +89 -0
- package/dist/declarative-validation/profile/parse.js.map +1 -0
- package/dist/declarative-validation/profile/schema-values.d.ts +14 -0
- package/dist/declarative-validation/profile/schema-values.d.ts.map +1 -0
- package/dist/declarative-validation/profile/schema-values.js +81 -0
- package/dist/declarative-validation/profile/schema-values.js.map +1 -0
- package/dist/declarative-validation/profile/schema.d.ts +9 -0
- package/dist/declarative-validation/profile/schema.d.ts.map +1 -0
- package/dist/declarative-validation/profile/schema.js +159 -0
- package/dist/declarative-validation/profile/schema.js.map +1 -0
- package/dist/declarative-validation/profile/selector-schema.d.ts +4 -0
- package/dist/declarative-validation/profile/selector-schema.d.ts.map +1 -0
- package/dist/declarative-validation/profile/selector-schema.js +145 -0
- package/dist/declarative-validation/profile/selector-schema.js.map +1 -0
- package/dist/declarative-validation/profile/syntax-version.d.ts +7 -0
- package/dist/declarative-validation/profile/syntax-version.d.ts.map +1 -0
- package/dist/declarative-validation/profile/syntax-version.js +11 -0
- package/dist/declarative-validation/profile/syntax-version.js.map +1 -0
- package/dist/declarative-validation/results/clone-rule-result.d.ts +6 -0
- package/dist/declarative-validation/results/clone-rule-result.d.ts.map +1 -0
- package/dist/declarative-validation/results/clone-rule-result.js +125 -0
- package/dist/declarative-validation/results/clone-rule-result.js.map +1 -0
- package/dist/declarative-validation/results/create-result.d.ts +15 -0
- package/dist/declarative-validation/results/create-result.d.ts.map +1 -0
- package/dist/declarative-validation/results/create-result.js +58 -0
- package/dist/declarative-validation/results/create-result.js.map +1 -0
- package/dist/declarative-validation/results/index.d.ts +4 -0
- package/dist/declarative-validation/results/index.d.ts.map +1 -0
- package/dist/declarative-validation/results/index.js +3 -0
- package/dist/declarative-validation/results/index.js.map +1 -0
- package/dist/declarative-validation/results/skipped-rule-result.d.ts +10 -0
- package/dist/declarative-validation/results/skipped-rule-result.d.ts.map +1 -0
- package/dist/declarative-validation/results/skipped-rule-result.js +18 -0
- package/dist/declarative-validation/results/skipped-rule-result.js.map +1 -0
- package/dist/declarative-validation/results/types.d.ts +77 -0
- package/dist/declarative-validation/results/types.d.ts.map +1 -0
- package/dist/declarative-validation/results/types.js +2 -0
- package/dist/declarative-validation/results/types.js.map +1 -0
- package/dist/declarative-validation/selectors/index.d.ts +57 -0
- package/dist/declarative-validation/selectors/index.d.ts.map +1 -0
- package/dist/declarative-validation/selectors/index.js +149 -0
- package/dist/declarative-validation/selectors/index.js.map +1 -0
- package/dist/declarative-validation/selectors/source.d.ts +8 -0
- package/dist/declarative-validation/selectors/source.d.ts.map +1 -0
- package/dist/declarative-validation/selectors/source.js +57 -0
- package/dist/declarative-validation/selectors/source.js.map +1 -0
- package/dist/declarative-validation/selectors/table-targets.d.ts +36 -0
- package/dist/declarative-validation/selectors/table-targets.d.ts.map +1 -0
- package/dist/declarative-validation/selectors/table-targets.js +149 -0
- package/dist/declarative-validation/selectors/table-targets.js.map +1 -0
- package/dist/declarative-validation/selectors/table-text.d.ts +4 -0
- package/dist/declarative-validation/selectors/table-text.d.ts.map +1 -0
- package/dist/declarative-validation/selectors/table-text.js +16 -0
- package/dist/declarative-validation/selectors/table-text.js.map +1 -0
- package/dist/{ir → internal}/document-node-walk.d.ts +5 -0
- package/dist/internal/document-node-walk.d.ts.map +1 -0
- package/dist/internal/document-node-walk.js +36 -0
- package/dist/internal/document-node-walk.js.map +1 -0
- package/dist/internal/stable-json.d.ts +3 -0
- package/dist/internal/stable-json.d.ts.map +1 -0
- package/dist/internal/stable-json.js +17 -0
- package/dist/internal/stable-json.js.map +1 -0
- package/dist/ir/document-derived-views.d.ts.map +1 -1
- package/dist/ir/document-derived-views.js +2 -0
- package/dist/ir/document-derived-views.js.map +1 -1
- package/dist/ir/document-link-reference-views.d.ts +3 -0
- package/dist/ir/document-link-reference-views.d.ts.map +1 -0
- package/dist/ir/document-link-reference-views.js +150 -0
- package/dist/ir/document-link-reference-views.js.map +1 -0
- package/dist/ir/document-link-views.d.ts.map +1 -1
- package/dist/ir/document-link-views.js +7 -8
- package/dist/ir/document-link-views.js.map +1 -1
- package/dist/ir/document-list-views.d.ts.map +1 -1
- package/dist/ir/document-list-views.js +14 -13
- package/dist/ir/document-list-views.js.map +1 -1
- package/dist/ir/document-sections.d.ts.map +1 -1
- package/dist/ir/document-sections.js +2 -4
- package/dist/ir/document-sections.js.map +1 -1
- package/dist/ir/document-table-views.js +1 -1
- package/dist/ir/document-table-views.js.map +1 -1
- package/dist/ir/document-text-spans.js +1 -1
- package/dist/ir/document-text-spans.js.map +1 -1
- package/dist/ir/document.d.ts +2 -3
- package/dist/ir/document.d.ts.map +1 -1
- package/dist/ir/document.js +1 -1
- package/dist/ir/document.js.map +1 -1
- package/dist/ir/index.d.ts +1 -0
- package/dist/ir/index.d.ts.map +1 -1
- package/dist/ir/normalization-input.d.ts +12 -0
- package/dist/ir/normalization-input.d.ts.map +1 -0
- package/dist/ir/normalization-input.js +2 -0
- package/dist/ir/normalization-input.js.map +1 -0
- package/dist/rules/code-fence-languages.d.ts.map +1 -1
- package/dist/rules/code-fence-languages.js +4 -6
- package/dist/rules/code-fence-languages.js.map +1 -1
- package/dist/rules/document-query.d.ts +0 -2
- package/dist/rules/document-query.d.ts.map +1 -1
- package/dist/rules/document-query.js +1 -17
- package/dist/rules/document-query.js.map +1 -1
- package/dist/rules/index.d.ts +2 -6
- package/dist/rules/index.d.ts.map +1 -1
- package/dist/rules/index.js +3 -37
- package/dist/rules/index.js.map +1 -1
- package/dist/rules/links-allowed-schemes.d.ts.map +1 -1
- package/dist/rules/links-allowed-schemes.js +3 -2
- package/dist/rules/links-allowed-schemes.js.map +1 -1
- package/dist/rules/registry.d.ts +12 -0
- package/dist/rules/registry.d.ts.map +1 -0
- package/dist/rules/registry.js +61 -0
- package/dist/rules/registry.js.map +1 -0
- package/dist-bundled/markdown-engine-cli.mjs +26826 -0
- package/docs/contracts/api.md +665 -0
- package/docs/contracts/declarative-validation.md +842 -0
- package/docs/contracts/frontmatter.md +122 -0
- package/fixtures/declarative-validation/examples/operational-spec/fail.md +32 -0
- package/fixtures/declarative-validation/examples/operational-spec/pass.md +34 -0
- package/fixtures/declarative-validation/examples/operational-spec/profile.yaml +131 -0
- package/fixtures/declarative-validation/examples/release-checklist/fail.md +22 -0
- package/fixtures/declarative-validation/examples/release-checklist/pass.md +22 -0
- package/fixtures/declarative-validation/examples/release-checklist/profile.yaml +96 -0
- package/fixtures/declarative-validation/examples/requirements-traceability/fail.md +27 -0
- package/fixtures/declarative-validation/examples/requirements-traceability/pass.md +27 -0
- package/fixtures/declarative-validation/examples/requirements-traceability/profile.yaml +119 -0
- package/package.json +26 -6
- package/skills/profile-backed-markdown/SKILL.md +54 -0
- package/skills/profile-backed-markdown/assets/profiles/operational-spec.yaml +98 -0
- package/skills/profile-backed-markdown/references/repair-brief.md +14 -0
- package/skills/profile-backed-markdown/scripts/validate-profile-backed-markdown.mjs +590 -0
- package/dist/ir/document-node-walk.d.ts.map +0 -1
- package/dist/ir/document-node-walk.js +0 -16
- package/dist/ir/document-node-walk.js.map +0 -1
package/CHANGELOG.md
CHANGED
|
@@ -4,6 +4,54 @@
|
|
|
4
4
|
|
|
5
5
|
No unreleased changes.
|
|
6
6
|
|
|
7
|
+
## 3.0.0 - 2026-06-05
|
|
8
|
+
|
|
9
|
+
### Added
|
|
10
|
+
|
|
11
|
+
- Added a GitHub Pages consumer site under `docs/` with value proposition,
|
|
12
|
+
workflow examples, and quickstart material for package users.
|
|
13
|
+
- Added Conditional V2 release-readiness notes for MS-4 review, summarizing the
|
|
14
|
+
explicit `markdown-engine.validation@v2` opt-in, retained v1 profile
|
|
15
|
+
compatibility, v2 grouped-rule and `when` behavior, ID count and table-column
|
|
16
|
+
coverage evidence, downstream false-acceptance proof, and BEL-1121 release
|
|
17
|
+
verification handoff. This is documentation readiness only and does not claim
|
|
18
|
+
a tag, npm publication, npm dist-tag mutation, GitHub Release, downstream
|
|
19
|
+
adoption, release completion, or MS-4 approval.
|
|
20
|
+
- Added Conditional V2 public validation support behind explicit
|
|
21
|
+
`markdown-engine.validation@v2` profile opt-in, including ID count bounds,
|
|
22
|
+
table column coverage, non-recursive `anyOf` / `allOf` grouped rules,
|
|
23
|
+
rule-level `when` applicability, skipped-rule result metadata, downstream
|
|
24
|
+
false-acceptance proof, repeatability evidence, and boundary-audit coverage.
|
|
25
|
+
|
|
26
|
+
### Changed
|
|
27
|
+
|
|
28
|
+
- Promoted package metadata to `@jasonbelmonti/markdown-engine@3.0.0` while
|
|
29
|
+
retaining the serialized rich IR document contract at
|
|
30
|
+
`documentVersion: "1.0.0"`.
|
|
31
|
+
- Preserved v1 declarative validation profile behavior and result shape;
|
|
32
|
+
Conditional V2 behavior is selected only by
|
|
33
|
+
`syntaxVersion: markdown-engine.validation@v2`.
|
|
34
|
+
|
|
35
|
+
## 2.0.0 - 2026-05-13
|
|
36
|
+
|
|
37
|
+
### Changed
|
|
38
|
+
|
|
39
|
+
- Promoted package metadata to `@jasonbelmonti/markdown-engine@2.0.0` while
|
|
40
|
+
retaining the serialized rich IR document contract at
|
|
41
|
+
`documentVersion: "1.0.0"`.
|
|
42
|
+
- Changed `normalize(parsed)` to default to the rich IR `1.0.0` document shape.
|
|
43
|
+
Callers that still need the retained `0.1.0`-compatible shape must pass
|
|
44
|
+
`documentVersion: "0.0.0"` explicitly.
|
|
45
|
+
- Added `docs/contracts/**` to the npm package artifact and included the rich
|
|
46
|
+
IR contract documentation gate in `release:verify`.
|
|
47
|
+
|
|
48
|
+
### Fixed
|
|
49
|
+
|
|
50
|
+
- Closed the direct-object `parseValidationProfile(...)` ingestion path before
|
|
51
|
+
schema traversal so unsafe accessors, proxies, cyclic values, sparse arrays,
|
|
52
|
+
functions, non-finite numbers, explicit `undefined`, and `__proto__` payloads
|
|
53
|
+
are rejected as inert profile data instead of being read by schema logic.
|
|
54
|
+
|
|
7
55
|
## 1.0.0 - 2026-05-07
|
|
8
56
|
|
|
9
57
|
### Added
|
package/README.md
CHANGED
|
@@ -3,12 +3,17 @@
|
|
|
3
3
|
Deterministic Markdown parsing and validation engine package for downstream
|
|
4
4
|
profile and runtime work.
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
Package release state:
|
|
7
7
|
|
|
8
8
|
- package name: `@jasonbelmonti/markdown-engine`
|
|
9
|
-
- version: `
|
|
10
|
-
-
|
|
11
|
-
|
|
9
|
+
- package metadata version: `3.0.0`
|
|
10
|
+
- published npm versions before this release: `0.1.0`, `1.0.0`, `2.0.0`
|
|
11
|
+
- npm release target: `3.0.0` on `latest`
|
|
12
|
+
- website: <https://jasonbelmonti.github.io/markdown-engine/>
|
|
13
|
+
- release focus: Conditional V2 explicit validation-profile syntax while
|
|
14
|
+
retaining the existing `documentVersion: "1.0.0"` rich IR contract as the
|
|
15
|
+
default API and CLI document shape
|
|
16
|
+
- maintainer documentation map: [docs/README.md](docs/README.md)
|
|
12
17
|
- design reference:
|
|
13
18
|
[Markdown Engine 1.0 Rich IR design](docs/design/markdown-engine-1.0-rich-ir-operational-design-spec.md)
|
|
14
19
|
|
|
@@ -36,6 +41,8 @@ The package root exports:
|
|
|
36
41
|
- `serialize(result, options?)`
|
|
37
42
|
- `documentQueries`
|
|
38
43
|
- `validateAnnotations(document, annotations)`
|
|
44
|
+
- `parseValidationProfile(input, options?)`
|
|
45
|
+
- `validateWithProfile(document, profile, options?)`
|
|
39
46
|
|
|
40
47
|
Example:
|
|
41
48
|
|
|
@@ -76,8 +83,10 @@ console.log(validationResult.valid);
|
|
|
76
83
|
console.log(serialize(validationResult, { pretty: true }));
|
|
77
84
|
```
|
|
78
85
|
|
|
79
|
-
|
|
80
|
-
`
|
|
86
|
+
Package 3.0 keeps the serialized document contract at
|
|
87
|
+
`documentVersion: "1.0.0"` and makes that rich IR path the default for
|
|
88
|
+
`normalize(parsed)`. Callers may still pass
|
|
89
|
+
`normalize(parsed, { documentVersion: "1.0.0" })` explicitly. That path adds
|
|
81
90
|
deterministic targets, structural views, source slices, query helpers, and
|
|
82
91
|
caller-owned annotation target validation. The retained `0.1.0`-compatible
|
|
83
92
|
document path remains selectable as `documentVersion: "0.0.0"` and
|
|
@@ -86,20 +95,23 @@ serialization gates can require it with `compatibilityMode: "legacy-0.1"`.
|
|
|
86
95
|
## CLI
|
|
87
96
|
|
|
88
97
|
The package includes a minimal local CLI for experimenting with one Markdown
|
|
89
|
-
file at a time.
|
|
90
|
-
result as pretty JSON.
|
|
98
|
+
file at a time. The default command runs parse and normalization, then writes
|
|
99
|
+
the normalized result as pretty JSON. The `validate` subcommand runs one
|
|
100
|
+
declarative validation profile against one Markdown file and writes pretty JSON.
|
|
91
101
|
|
|
92
|
-
|
|
102
|
+
From the repository or package root after building, run:
|
|
93
103
|
|
|
94
104
|
```sh
|
|
95
105
|
npm run build
|
|
96
|
-
node dist/cli/index.js --file fixtures/
|
|
106
|
+
node dist/cli/index.js --file fixtures/declarative-validation/examples/operational-spec/pass.md
|
|
97
107
|
```
|
|
98
108
|
|
|
99
|
-
The package binary accepts `--file` or `--path` as aliases for a single file
|
|
109
|
+
The package binary accepts `--file` or `--path` as aliases for a single file.
|
|
110
|
+
For an npm install in the current project, point at the bundled examples through
|
|
111
|
+
`node_modules/@jasonbelmonti/markdown-engine`:
|
|
100
112
|
|
|
101
113
|
```sh
|
|
102
|
-
markdown-engine --path fixtures/
|
|
114
|
+
markdown-engine --path node_modules/@jasonbelmonti/markdown-engine/fixtures/declarative-validation/examples/operational-spec/pass.md
|
|
103
115
|
```
|
|
104
116
|
|
|
105
117
|
By default, CLI output uses the 1.0 rich IR contract:
|
|
@@ -118,7 +130,7 @@ Use `--document-version 0.0.0` when a caller still needs the legacy
|
|
|
118
130
|
`0.1.0`-compatible document shape without rich derived views:
|
|
119
131
|
|
|
120
132
|
```sh
|
|
121
|
-
markdown-engine --document-version 0.0.0 --file fixtures/
|
|
133
|
+
markdown-engine --document-version 0.0.0 --file node_modules/@jasonbelmonti/markdown-engine/fixtures/declarative-validation/examples/operational-spec/pass.md
|
|
122
134
|
```
|
|
123
135
|
|
|
124
136
|
The selector accepts spaced or assignment-form syntax, such as
|
|
@@ -128,16 +140,82 @@ values are `1.0.0` and `0.0.0`. Missing, invalid, or repeated
|
|
|
128
140
|
assignment-form selector is treated as missing. Directory traversal is not
|
|
129
141
|
supported by this CLI slice.
|
|
130
142
|
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
either consume the rich IR fields (`target`, `sections`, `textSpans`, `tables`,
|
|
134
|
-
`lists`, and `links`) or pin the explicit legacy selector until the downstream
|
|
135
|
-
consumer is ready. This default-output cutover belongs to the 1.0 release lane,
|
|
136
|
-
not a `0.1.x` patch.
|
|
143
|
+
Declarative validation uses the 1.0 document contract and does not accept
|
|
144
|
+
`--document-version`:
|
|
137
145
|
|
|
138
|
-
|
|
146
|
+
```sh
|
|
147
|
+
markdown-engine validate --file node_modules/@jasonbelmonti/markdown-engine/fixtures/declarative-validation/examples/operational-spec/pass.md --profile node_modules/@jasonbelmonti/markdown-engine/fixtures/declarative-validation/examples/operational-spec/profile.yaml
|
|
148
|
+
```
|
|
149
|
+
|
|
150
|
+
`--format json` is accepted for validation, is the default, and is the only
|
|
151
|
+
supported format. The validation command reads and checks the profile before
|
|
152
|
+
reading the Markdown file. Profile parse/config/compile failures exit with code
|
|
153
|
+
`1` and emit JSON with `stage: "profile"`, empty `ruleResults`, no `profile`,
|
|
154
|
+
and no `evidence`. Markdown read errors and usage errors exit with code `2`.
|
|
155
|
+
Successful validation exits with code `0`; validation or normalization error
|
|
156
|
+
diagnostics exit with code `1`. Validation JSON includes `profile`,
|
|
157
|
+
`ruleResults`, `diagnostics`, and `evidence`.
|
|
158
|
+
|
|
159
|
+
Declarative validation compatibility is syntax-versioned. Existing v1 profiles
|
|
160
|
+
remain on the v1 result and evidence shape by keeping:
|
|
161
|
+
|
|
162
|
+
```yaml
|
|
163
|
+
syntaxVersion: markdown-engine.validation@v1
|
|
164
|
+
```
|
|
165
|
+
|
|
166
|
+
Conditional V2 behavior is selected only by an explicit v2 profile:
|
|
167
|
+
|
|
168
|
+
```yaml
|
|
169
|
+
syntaxVersion: markdown-engine.validation@v2
|
|
170
|
+
rules:
|
|
171
|
+
- id: release.docs
|
|
172
|
+
anyOf:
|
|
173
|
+
- label: release-section
|
|
174
|
+
select:
|
|
175
|
+
target: section
|
|
176
|
+
title: Release
|
|
177
|
+
assert:
|
|
178
|
+
exists: true
|
|
179
|
+
- label: changelog-link
|
|
180
|
+
select:
|
|
181
|
+
target: link
|
|
182
|
+
text: changelog
|
|
183
|
+
assert:
|
|
184
|
+
exists: true
|
|
185
|
+
```
|
|
186
|
+
|
|
187
|
+
CLI validation output uses `profile.syntaxVersion` as the v1/v2 discriminator.
|
|
188
|
+
V1 rule results keep the existing flat `ruleId`, `passed`, and `diagnostics`
|
|
189
|
+
fields. V2 rule results add `status` and `evaluation`; v2 profile metadata adds
|
|
190
|
+
`evaluatedRuleCount` and `skippedRuleCount` when the profile explicitly opts into
|
|
191
|
+
`markdown-engine.validation@v2`.
|
|
192
|
+
|
|
193
|
+
Reader-facing declarative validation examples live under
|
|
194
|
+
`fixtures/declarative-validation/examples/**`. From the repository or package
|
|
195
|
+
root after building, run one passing and one intentionally failing example with:
|
|
196
|
+
|
|
197
|
+
```sh
|
|
198
|
+
node dist/cli/index.js validate --file fixtures/declarative-validation/examples/operational-spec/pass.md --profile fixtures/declarative-validation/examples/operational-spec/profile.yaml
|
|
199
|
+
node dist/cli/index.js validate --file fixtures/declarative-validation/examples/operational-spec/fail.md --profile fixtures/declarative-validation/examples/operational-spec/profile.yaml
|
|
200
|
+
```
|
|
201
|
+
|
|
202
|
+
The passing example exits `0`; the failing example exits `1` and prints JSON
|
|
203
|
+
diagnostics for review.
|
|
204
|
+
|
|
205
|
+
Package 3.0 keeps the 2.0 API normalization default: callers that invoke
|
|
206
|
+
`normalize(parsed)` receive the rich IR `1.0.0` document shape. Consumers that
|
|
207
|
+
still need the legacy `0.0.0` shape should consume the rich IR fields
|
|
208
|
+
(`target`, `sections`, `textSpans`, `tables`, `lists`, and `links`) or pin
|
|
209
|
+
`normalize(parsed, { documentVersion: "0.0.0" })` until they are ready. The CLI
|
|
210
|
+
continues to default to the rich IR document contract and keeps
|
|
211
|
+
`--document-version 0.0.0` for explicit legacy output.
|
|
139
212
|
|
|
213
|
+
Package and contract references:
|
|
214
|
+
|
|
215
|
+
- [Consumer website](https://jasonbelmonti.github.io/markdown-engine/)
|
|
216
|
+
- [Maintainer documentation map](docs/README.md)
|
|
140
217
|
- [Public API contract](docs/contracts/api.md)
|
|
218
|
+
- [Declarative validation contract](docs/contracts/declarative-validation.md)
|
|
141
219
|
- [Frontmatter contract](docs/contracts/frontmatter.md)
|
|
142
220
|
- [Markdown Engine 1.0 Rich IR design](docs/design/markdown-engine-1.0-rich-ir-operational-design-spec.md)
|
|
143
221
|
- [Testing and snapshot operations](docs/testing.md)
|
|
@@ -146,52 +224,31 @@ Contract references:
|
|
|
146
224
|
|
|
147
225
|
## Validation
|
|
148
226
|
|
|
149
|
-
Run
|
|
227
|
+
Run focused contract documentation gates from the repository root:
|
|
150
228
|
|
|
151
229
|
```sh
|
|
152
230
|
npm run docs:rich-ir-contract
|
|
231
|
+
npm run docs:declarative-validation-contract
|
|
232
|
+
npm run audit:declarative-validation-boundary
|
|
233
|
+
```
|
|
234
|
+
|
|
235
|
+
Run full release-readiness and publication dry-run gates only when preparing a
|
|
236
|
+
release, tag, package artifact, or publication decision:
|
|
237
|
+
|
|
238
|
+
```sh
|
|
153
239
|
npm run release:verify
|
|
154
240
|
npm pack --dry-run
|
|
155
241
|
npm publish --dry-run --access public
|
|
156
242
|
```
|
|
157
243
|
|
|
158
|
-
|
|
244
|
+
The full maintainer and evidence index lives in
|
|
245
|
+
[docs/README.md](docs/README.md). The focused contract documentation gates
|
|
246
|
+
currently check these evidence records:
|
|
159
247
|
|
|
160
|
-
- [
|
|
161
|
-
- [
|
|
162
|
-
- [
|
|
163
|
-
- [EVD-10 1.0 release readiness](docs/evidence/wp-6-evd-10-release-readiness.md)
|
|
164
|
-
- [EVD-7 release readiness](docs/evidence/wp-6-evd-7-release-readiness.md)
|
|
165
|
-
- [EVD-9 merge readiness](docs/evidence/wp-6-evd-9-merge-readiness.md)
|
|
166
|
-
- [EVD-10 rollback containment](docs/evidence/wp-6-evd-10-rollback-containment.md)
|
|
167
|
-
- [EVD-11 downstream handoff](docs/evidence/wp-6-evd-11-downstream-handoff.md)
|
|
248
|
+
- [Rich IR contract documentation gate](docs/evidence/wp-5-evd-6-rich-ir-contract.md)
|
|
249
|
+
- [Declarative validation contract review](docs/evidence/wp-5-evd-7-declarative-validation-contract-review.md)
|
|
250
|
+
- [Declarative validation boundary audit](docs/evidence/wp-5-evd-8-declarative-validation-boundary-audit.md)
|
|
168
251
|
|
|
169
252
|
Snapshot baseline updates are operational changes, not routine test-output
|
|
170
253
|
cleanup. Use the [testing and snapshot operations](docs/testing.md) guide before
|
|
171
254
|
updating files under `snapshots/**`.
|
|
172
|
-
|
|
173
|
-
## 1.0 Release Gate
|
|
174
|
-
|
|
175
|
-
Do not tag or publish the 1.0 release until approval is recorded with:
|
|
176
|
-
|
|
177
|
-
- semver classification and package version decision
|
|
178
|
-
- release/tag decision
|
|
179
|
-
- rollback and containment notes
|
|
180
|
-
- downstream profile/runtime consumer confirmation
|
|
181
|
-
- complete evidence links from EVD-1 through EVD-11
|
|
182
|
-
|
|
183
|
-
Current release decision: BEL-965 promotes the package metadata and public rich
|
|
184
|
-
IR document contract to `1.0.0` after BEL-956 child audit tracks completed and
|
|
185
|
-
the release gates passed. The `v1.0.0` git tag must point only at a commit that
|
|
186
|
-
passes the validation commands above.
|
|
187
|
-
|
|
188
|
-
When 1.0 is approved, publish the package as:
|
|
189
|
-
|
|
190
|
-
```sh
|
|
191
|
-
npm publish --access public
|
|
192
|
-
```
|
|
193
|
-
|
|
194
|
-
The publish path is guarded by npm lifecycle scripts: `prepublishOnly` and
|
|
195
|
-
`prepack` both run the release verification gate before `npm publish` or
|
|
196
|
-
`npm pack` creates an artifact. The gate rebuilds `dist` and fails if tracked
|
|
197
|
-
files drift from `HEAD`.
|
package/SECURITY.md
CHANGED
|
@@ -2,9 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
## Supported Versions
|
|
4
4
|
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
states otherwise.
|
|
5
|
+
Security fixes target the latest published major version of
|
|
6
|
+
`@jasonbelmonti/markdown-engine`. As of the 2.0 release line, fixes are expected
|
|
7
|
+
to land on the latest `2.x` package unless a release note states otherwise.
|
|
8
|
+
Older `0.x` and `1.x` lines are not maintained unless an explicit backport is
|
|
9
|
+
announced.
|
|
8
10
|
|
|
9
11
|
## Reporting A Vulnerability
|
|
10
12
|
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { SourcePosition, SourceRange } from "./diagnostics.js";
|
|
2
|
+
export declare function cloneSourceRangeCandidate(range: unknown): SourceRange | undefined;
|
|
3
|
+
export declare function cloneSourceRange(sourceRange: SourceRange): SourceRange;
|
|
4
|
+
export declare function sourceRangeIsInvalid(range: SourceRange): boolean;
|
|
5
|
+
export declare function sourceRangeContains(container: SourceRange, target: SourceRange): boolean;
|
|
6
|
+
export declare function compareSourcePositions(left: SourcePosition, right: SourcePosition): number;
|
|
7
|
+
//# sourceMappingURL=annotation-source-range.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"annotation-source-range.d.ts","sourceRoot":"","sources":["../../src/api/annotation-source-range.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAQpE,wBAAgB,yBAAyB,CACvC,KAAK,EAAE,OAAO,GACb,WAAW,GAAG,SAAS,CAazB;AAED,wBAAgB,gBAAgB,CAAC,WAAW,EAAE,WAAW,GAAG,WAAW,CAKtE;AAED,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,WAAW,GAAG,OAAO,CAKhE;AAED,wBAAgB,mBAAmB,CACjC,SAAS,EAAE,WAAW,EACtB,MAAM,EAAE,WAAW,GAClB,OAAO,CAMT;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,cAAc,EACpB,KAAK,EAAE,cAAc,GACpB,MAAM,CAMR"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { isPlainObject, ownDataProperty, ownRuntimeProperty, } from "./annotation-target-runtime.js";
|
|
2
|
+
export function cloneSourceRangeCandidate(range) {
|
|
3
|
+
if (!isPlainObject(range)) {
|
|
4
|
+
return undefined;
|
|
5
|
+
}
|
|
6
|
+
const start = cloneSourcePositionCandidate(ownDataProperty(range, "start"));
|
|
7
|
+
const end = cloneSourcePositionCandidate(ownDataProperty(range, "end"));
|
|
8
|
+
if (start === undefined || end === undefined) {
|
|
9
|
+
return undefined;
|
|
10
|
+
}
|
|
11
|
+
return { start, end };
|
|
12
|
+
}
|
|
13
|
+
export function cloneSourceRange(sourceRange) {
|
|
14
|
+
return {
|
|
15
|
+
start: cloneSourcePosition(sourceRange.start),
|
|
16
|
+
end: cloneSourcePosition(sourceRange.end),
|
|
17
|
+
};
|
|
18
|
+
}
|
|
19
|
+
export function sourceRangeIsInvalid(range) {
|
|
20
|
+
return (compareLineAndColumn(range.end, range.start) < 0 ||
|
|
21
|
+
sourceOffsetsAreInvalid(range));
|
|
22
|
+
}
|
|
23
|
+
export function sourceRangeContains(container, target) {
|
|
24
|
+
return (compareLineAndColumn(container.start, target.start) <= 0 &&
|
|
25
|
+
compareLineAndColumn(target.end, container.end) <= 0 &&
|
|
26
|
+
sourceOffsetsAreContained(container, target));
|
|
27
|
+
}
|
|
28
|
+
export function compareSourcePositions(left, right) {
|
|
29
|
+
return (left.line - right.line ||
|
|
30
|
+
left.column - right.column ||
|
|
31
|
+
compareOptionalOffsets(left.offset, right.offset));
|
|
32
|
+
}
|
|
33
|
+
function cloneSourcePosition(position) {
|
|
34
|
+
return {
|
|
35
|
+
line: position.line,
|
|
36
|
+
column: position.column,
|
|
37
|
+
...(position.offset !== undefined ? { offset: position.offset } : {}),
|
|
38
|
+
};
|
|
39
|
+
}
|
|
40
|
+
function cloneSourcePositionCandidate(position) {
|
|
41
|
+
if (!isPlainObject(position)) {
|
|
42
|
+
return undefined;
|
|
43
|
+
}
|
|
44
|
+
const line = ownDataProperty(position, "line");
|
|
45
|
+
const column = ownDataProperty(position, "column");
|
|
46
|
+
const offsetProperty = ownRuntimeProperty(position, "offset");
|
|
47
|
+
const offset = optionalDataPropertyValue(offsetProperty);
|
|
48
|
+
if (!isPositiveInteger(line) ||
|
|
49
|
+
!isPositiveInteger(column) ||
|
|
50
|
+
optionalDataPropertyIsInvalid(offsetProperty) ||
|
|
51
|
+
(offset !== undefined && !isNonNegativeInteger(offset))) {
|
|
52
|
+
return undefined;
|
|
53
|
+
}
|
|
54
|
+
return {
|
|
55
|
+
line,
|
|
56
|
+
column,
|
|
57
|
+
...(offset !== undefined ? { offset } : {}),
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
function optionalDataPropertyValue(property) {
|
|
61
|
+
return property.kind === "data" ? property.value : undefined;
|
|
62
|
+
}
|
|
63
|
+
function optionalDataPropertyIsInvalid(property) {
|
|
64
|
+
return property.kind === "accessor" || property.kind === "unavailable";
|
|
65
|
+
}
|
|
66
|
+
function isPositiveInteger(value) {
|
|
67
|
+
return typeof value === "number" && Number.isInteger(value) && value >= 1;
|
|
68
|
+
}
|
|
69
|
+
function isNonNegativeInteger(value) {
|
|
70
|
+
return typeof value === "number" && Number.isInteger(value) && value >= 0;
|
|
71
|
+
}
|
|
72
|
+
function compareLineAndColumn(left, right) {
|
|
73
|
+
return left.line - right.line || left.column - right.column;
|
|
74
|
+
}
|
|
75
|
+
function compareOptionalOffsets(left, right) {
|
|
76
|
+
if (left === undefined && right === undefined) {
|
|
77
|
+
return 0;
|
|
78
|
+
}
|
|
79
|
+
if (left === undefined) {
|
|
80
|
+
return 1;
|
|
81
|
+
}
|
|
82
|
+
if (right === undefined) {
|
|
83
|
+
return -1;
|
|
84
|
+
}
|
|
85
|
+
return left - right;
|
|
86
|
+
}
|
|
87
|
+
function sourceOffsetsAreInvalid(range) {
|
|
88
|
+
return (range.start.offset !== undefined &&
|
|
89
|
+
range.end.offset !== undefined &&
|
|
90
|
+
range.end.offset < range.start.offset);
|
|
91
|
+
}
|
|
92
|
+
function sourceOffsetsAreContained(container, target) {
|
|
93
|
+
return (sourceOffsetIsContained(container, target.start.offset) &&
|
|
94
|
+
sourceOffsetIsContained(container, target.end.offset));
|
|
95
|
+
}
|
|
96
|
+
function sourceOffsetIsContained(container, offset) {
|
|
97
|
+
if (offset === undefined) {
|
|
98
|
+
return true;
|
|
99
|
+
}
|
|
100
|
+
return ((container.start.offset === undefined || container.start.offset <= offset) &&
|
|
101
|
+
(container.end.offset === undefined || offset <= container.end.offset));
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=annotation-source-range.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"annotation-source-range.js","sourceRoot":"","sources":["../../src/api/annotation-source-range.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
export type AnnotationTargetCandidate = {
|
|
2
|
+
kind?: unknown;
|
|
3
|
+
nodeTarget?: unknown;
|
|
4
|
+
sourceRange?: unknown;
|
|
5
|
+
};
|
|
6
|
+
export declare function isAnnotationTargetCandidate(target: unknown): target is AnnotationTargetCandidate;
|
|
7
|
+
export declare function annotationTargetKind(target: AnnotationTargetCandidate): unknown;
|
|
8
|
+
export declare function annotationNodeTarget(target: AnnotationTargetCandidate): unknown;
|
|
9
|
+
export declare function annotationSourceRange(target: AnnotationTargetCandidate): unknown;
|
|
10
|
+
//# sourceMappingURL=annotation-target-candidate.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"annotation-target-candidate.d.ts","sourceRoot":"","sources":["../../src/api/annotation-target-candidate.ts"],"names":[],"mappings":"AAEA,MAAM,MAAM,yBAAyB,GAAG;IACtC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,wBAAgB,2BAA2B,CACzC,MAAM,EAAE,OAAO,GACd,MAAM,IAAI,yBAAyB,CAErC;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAET;AAED,wBAAgB,oBAAoB,CAClC,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAET;AAED,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,yBAAyB,GAChC,OAAO,CAET"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { isArray, ownDataProperty } from "./annotation-target-runtime.js";
|
|
2
|
+
export function isAnnotationTargetCandidate(target) {
|
|
3
|
+
return typeof target === "object" && target !== null && !isArray(target);
|
|
4
|
+
}
|
|
5
|
+
export function annotationTargetKind(target) {
|
|
6
|
+
return ownDataProperty(target, "kind");
|
|
7
|
+
}
|
|
8
|
+
export function annotationNodeTarget(target) {
|
|
9
|
+
return ownDataProperty(target, "nodeTarget");
|
|
10
|
+
}
|
|
11
|
+
export function annotationSourceRange(target) {
|
|
12
|
+
return ownDataProperty(target, "sourceRange");
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=annotation-target-candidate.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"annotation-target-candidate.js","sourceRoot":"","sources":["../../src/api/annotation-target-candidate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AAQ1E,MAAM,UAAU,2BAA2B,CACzC,MAAe;IAEf,OAAO,OAAO,MAAM,KAAK,QAAQ,IAAI,MAAM,KAAK,IAAI,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC;AAC3E,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,MAAiC;IAEjC,OAAO,eAAe,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;AACzC,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,MAAiC;IAEjC,OAAO,eAAe,CAAC,MAAM,EAAE,YAAY,CAAC,CAAC;AAC/C,CAAC;AAED,MAAM,UAAU,qBAAqB,CACnC,MAAiC;IAEjC,OAAO,eAAe,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;AAChD,CAAC"}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { EngineAnnotationTarget, EngineNodeTarget } from "./document.js";
|
|
2
|
+
export declare function cloneAnnotationTarget(target: EngineAnnotationTarget): EngineAnnotationTarget;
|
|
3
|
+
export declare function cloneDiagnosticTarget(target: unknown): unknown;
|
|
4
|
+
export declare function cloneEngineTargetCandidate(target: unknown): EngineNodeTarget | undefined;
|
|
5
|
+
//# sourceMappingURL=annotation-target-cloning.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"annotation-target-cloning.d.ts","sourceRoot":"","sources":["../../src/api/annotation-target-cloning.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,sBAAsB,EACtB,gBAAgB,EACjB,MAAM,eAAe,CAAC;AAwBvB,wBAAgB,qBAAqB,CACnC,MAAM,EAAE,sBAAsB,GAC7B,sBAAsB,CAUxB;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAU9D;AAED,wBAAgB,0BAA0B,CACxC,MAAM,EAAE,OAAO,GACd,gBAAgB,GAAG,SAAS,CAwC9B"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import { arrayLength, isArray, isPlainObject, MAX_NORMALIZED_ARRAY_LENGTH, normalizeRuntimeValue, ownRuntimeProperty, } from "./annotation-target-runtime.js";
|
|
2
|
+
import { annotationNodeTarget, annotationSourceRange, annotationTargetKind, isAnnotationTargetCandidate, } from "./annotation-target-candidate.js";
|
|
3
|
+
import { cloneSourceRangeCandidate } from "./annotation-source-range.js";
|
|
4
|
+
export function cloneAnnotationTarget(target) {
|
|
5
|
+
if (isAnnotationTargetCandidate(target)) {
|
|
6
|
+
const clonedTarget = cloneKnownAnnotationTarget(target);
|
|
7
|
+
if (clonedTarget !== undefined) {
|
|
8
|
+
return clonedTarget;
|
|
9
|
+
}
|
|
10
|
+
}
|
|
11
|
+
return serializableTarget(target);
|
|
12
|
+
}
|
|
13
|
+
export function cloneDiagnosticTarget(target) {
|
|
14
|
+
if (isAnnotationTargetCandidate(target)) {
|
|
15
|
+
const clonedTarget = cloneKnownAnnotationTarget(target);
|
|
16
|
+
if (clonedTarget !== undefined) {
|
|
17
|
+
return clonedTarget;
|
|
18
|
+
}
|
|
19
|
+
}
|
|
20
|
+
return serializableTarget(target);
|
|
21
|
+
}
|
|
22
|
+
export function cloneEngineTargetCandidate(target) {
|
|
23
|
+
if (!isPlainObject(target)) {
|
|
24
|
+
return undefined;
|
|
25
|
+
}
|
|
26
|
+
const kind = ownDataProperty(target, "kind");
|
|
27
|
+
const id = ownDataProperty(target, "id");
|
|
28
|
+
const pathProperty = ownRuntimeProperty(target, "path");
|
|
29
|
+
const nodeTypeProperty = ownRuntimeProperty(target, "nodeType");
|
|
30
|
+
const sourceRangeProperty = ownRuntimeProperty(target, "sourceRange");
|
|
31
|
+
const path = optionalDataPropertyValue(pathProperty);
|
|
32
|
+
const nodeType = optionalDataPropertyValue(nodeTypeProperty);
|
|
33
|
+
const sourceRange = optionalDataPropertyValue(sourceRangeProperty);
|
|
34
|
+
if (kind !== "node" || typeof id !== "string") {
|
|
35
|
+
return undefined;
|
|
36
|
+
}
|
|
37
|
+
const pathClone = path !== undefined ? cloneTargetPathCandidate(path) : undefined;
|
|
38
|
+
const clonedSourceRange = sourceRange !== undefined ? cloneSourceRangeCandidate(sourceRange) : undefined;
|
|
39
|
+
if (pathProperty.kind === "accessor" ||
|
|
40
|
+
optionalDataPropertyIsInvalid(nodeTypeProperty) ||
|
|
41
|
+
optionalDataPropertyIsInvalid(sourceRangeProperty) ||
|
|
42
|
+
pathClone?.kind === "invalid" ||
|
|
43
|
+
(nodeType !== undefined && typeof nodeType !== "string") ||
|
|
44
|
+
(sourceRange !== undefined && clonedSourceRange === undefined)) {
|
|
45
|
+
return undefined;
|
|
46
|
+
}
|
|
47
|
+
return {
|
|
48
|
+
kind,
|
|
49
|
+
id,
|
|
50
|
+
...(pathClone?.kind === "cloned" ? { path: pathClone.path } : {}),
|
|
51
|
+
...(typeof nodeType === "string" ? { nodeType } : {}),
|
|
52
|
+
...(clonedSourceRange !== undefined ? { sourceRange: clonedSourceRange } : {}),
|
|
53
|
+
};
|
|
54
|
+
}
|
|
55
|
+
function serializableTarget(target) {
|
|
56
|
+
return normalizeRuntimeValue(target);
|
|
57
|
+
}
|
|
58
|
+
function cloneKnownAnnotationTarget(target) {
|
|
59
|
+
const kind = annotationTargetKind(target);
|
|
60
|
+
if (kind === "node") {
|
|
61
|
+
const nodeTarget = cloneEngineTargetCandidate(annotationNodeTarget(target));
|
|
62
|
+
if (nodeTarget === undefined) {
|
|
63
|
+
return undefined;
|
|
64
|
+
}
|
|
65
|
+
return {
|
|
66
|
+
kind: "node",
|
|
67
|
+
nodeTarget,
|
|
68
|
+
};
|
|
69
|
+
}
|
|
70
|
+
if (kind === "source") {
|
|
71
|
+
const sourceRange = cloneSourceRangeCandidate(annotationSourceRange(target));
|
|
72
|
+
if (sourceRange === undefined) {
|
|
73
|
+
return undefined;
|
|
74
|
+
}
|
|
75
|
+
return {
|
|
76
|
+
kind: "source",
|
|
77
|
+
sourceRange,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
return undefined;
|
|
81
|
+
}
|
|
82
|
+
function cloneTargetPathCandidate(path) {
|
|
83
|
+
if (!isArray(path)) {
|
|
84
|
+
return { kind: "invalid" };
|
|
85
|
+
}
|
|
86
|
+
const length = arrayLength(path);
|
|
87
|
+
if (length === undefined) {
|
|
88
|
+
return { kind: "unavailable" };
|
|
89
|
+
}
|
|
90
|
+
if (length > MAX_NORMALIZED_ARRAY_LENGTH) {
|
|
91
|
+
return { kind: "unavailable" };
|
|
92
|
+
}
|
|
93
|
+
const clonedPath = [];
|
|
94
|
+
for (let index = 0; index < length; index += 1) {
|
|
95
|
+
const segmentProperty = ownRuntimeProperty(path, String(index));
|
|
96
|
+
if (segmentProperty.kind === "unavailable") {
|
|
97
|
+
return { kind: "unavailable" };
|
|
98
|
+
}
|
|
99
|
+
if (segmentProperty.kind !== "data") {
|
|
100
|
+
return { kind: "invalid" };
|
|
101
|
+
}
|
|
102
|
+
if (!isNonNegativeInteger(segmentProperty.value)) {
|
|
103
|
+
return { kind: "invalid" };
|
|
104
|
+
}
|
|
105
|
+
clonedPath.push(segmentProperty.value);
|
|
106
|
+
}
|
|
107
|
+
return { kind: "cloned", path: clonedPath };
|
|
108
|
+
}
|
|
109
|
+
function ownDataProperty(value, key) {
|
|
110
|
+
const property = ownRuntimeProperty(value, key);
|
|
111
|
+
return property.kind === "data" ? property.value : undefined;
|
|
112
|
+
}
|
|
113
|
+
function optionalDataPropertyValue(property) {
|
|
114
|
+
return property.kind === "data" ? property.value : undefined;
|
|
115
|
+
}
|
|
116
|
+
function optionalDataPropertyIsInvalid(property) {
|
|
117
|
+
return property.kind === "accessor" || property.kind === "unavailable";
|
|
118
|
+
}
|
|
119
|
+
function isNonNegativeInteger(value) {
|
|
120
|
+
return typeof value === "number" && Number.isInteger(value) && value >= 0;
|
|
121
|
+
}
|
|
122
|
+
//# sourceMappingURL=annotation-target-cloning.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"annotation-target-cloning.js","sourceRoot":"","sources":["../../src/api/annotation-target-cloning.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { EngineTargetDiagnostic } from "./document.js";
|
|
2
|
+
export interface SortableTargetDiagnostic {
|
|
3
|
+
diagnostic: EngineTargetDiagnostic;
|
|
4
|
+
order: number;
|
|
5
|
+
}
|
|
6
|
+
export declare function sortableDiagnostic(diagnostic: EngineTargetDiagnostic, order: number): SortableTargetDiagnostic;
|
|
7
|
+
export declare function compareSortableDiagnostics(left: SortableTargetDiagnostic, right: SortableTargetDiagnostic): number;
|
|
8
|
+
//# sourceMappingURL=annotation-target-diagnostics.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"annotation-target-diagnostics.d.ts","sourceRoot":"","sources":["../../src/api/annotation-target-diagnostics.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAS5D,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,sBAAsB,CAAC;IACnC,KAAK,EAAE,MAAM,CAAC;CACf;AAED,wBAAgB,kBAAkB,CAChC,UAAU,EAAE,sBAAsB,EAClC,KAAK,EAAE,MAAM,GACZ,wBAAwB,CAQ1B;AAED,wBAAgB,0BAA0B,CACxC,IAAI,EAAE,wBAAwB,EAC9B,KAAK,EAAE,wBAAwB,GAC9B,MAAM,CAcR"}
|