@zxyycom/vibe-check 0.0.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 +154 -0
- package/dist/esm/check/check.mjs +5 -0
- package/dist/esm/check/check.mjs.map +1 -0
- package/dist/esm/check/descriptor-validation.mjs +37 -0
- package/dist/esm/check/descriptor-validation.mjs.map +1 -0
- package/dist/esm/check/descriptor.mjs +2 -0
- package/dist/esm/check/descriptor.mjs.map +1 -0
- package/dist/esm/check/inherited-collection.mjs +62 -0
- package/dist/esm/check/inherited-collection.mjs.map +1 -0
- package/dist/esm/check/options-snapshot.mjs +75 -0
- package/dist/esm/check/options-snapshot.mjs.map +1 -0
- package/dist/esm/check-settlement/fact-validation.mjs +216 -0
- package/dist/esm/check-settlement/fact-validation.mjs.map +1 -0
- package/dist/esm/check-settlement/facts.mjs +2 -0
- package/dist/esm/check-settlement/facts.mjs.map +1 -0
- package/dist/esm/check-settlement/outcome-normalization.mjs +80 -0
- package/dist/esm/check-settlement/outcome-normalization.mjs.map +1 -0
- package/dist/esm/check-settlement/record-store.mjs +59 -0
- package/dist/esm/check-settlement/record-store.mjs.map +1 -0
- package/dist/esm/check-settlement/session.mjs +179 -0
- package/dist/esm/check-settlement/session.mjs.map +1 -0
- package/dist/esm/data-boundary/canonical-data.mjs +159 -0
- package/dist/esm/data-boundary/canonical-data.mjs.map +1 -0
- package/dist/esm/data-boundary/canonical-json.mjs +2 -0
- package/dist/esm/data-boundary/canonical-json.mjs.map +1 -0
- package/dist/esm/data-boundary/closed-values.mjs +98 -0
- package/dist/esm/data-boundary/closed-values.mjs.map +1 -0
- package/dist/esm/data-boundary/value-shapes.mjs +13 -0
- package/dist/esm/data-boundary/value-shapes.mjs.map +1 -0
- package/dist/esm/finding-waivers/reconciliation.mjs +84 -0
- package/dist/esm/finding-waivers/reconciliation.mjs.map +1 -0
- package/dist/esm/index.mjs +26 -0
- package/dist/esm/index.mjs.map +1 -0
- package/dist/esm/machine-output/v4/atomic-publication.mjs +102 -0
- package/dist/esm/machine-output/v4/atomic-publication.mjs.map +1 -0
- package/dist/esm/machine-output/v4/freeze-publication-value.mjs +14 -0
- package/dist/esm/machine-output/v4/freeze-publication-value.mjs.map +1 -0
- package/dist/esm/machine-output/v4/projection.mjs +23 -0
- package/dist/esm/machine-output/v4/projection.mjs.map +1 -0
- package/dist/esm/machine-output/v4/publication-invariants.mjs +59 -0
- package/dist/esm/machine-output/v4/publication-invariants.mjs.map +1 -0
- package/dist/esm/machine-output/v4/publication-model.mjs +19 -0
- package/dist/esm/machine-output/v4/publication-model.mjs.map +1 -0
- package/dist/esm/machine-output/v4/publish.mjs +20 -0
- package/dist/esm/machine-output/v4/publish.mjs.map +1 -0
- package/dist/esm/machine-output/v4/records-fingerprint.mjs +9 -0
- package/dist/esm/machine-output/v4/records-fingerprint.mjs.map +1 -0
- package/dist/esm/machine-output/v4/schema-identities.mjs +8 -0
- package/dist/esm/machine-output/v4/schema-identities.mjs.map +1 -0
- package/dist/esm/machine-output/v4/schema.mjs +50 -0
- package/dist/esm/machine-output/v4/schema.mjs.map +1 -0
- package/dist/esm/machine-output/v4/serializers.mjs +9 -0
- package/dist/esm/machine-output/v4/serializers.mjs.map +1 -0
- package/dist/esm/machine-output/v4/validation-result.mjs +16 -0
- package/dist/esm/machine-output/v4/validation-result.mjs.map +1 -0
- package/dist/esm/machine-output/v4/validation.mjs +131 -0
- package/dist/esm/machine-output/v4/validation.mjs.map +1 -0
- package/dist/esm/package-checks/code-quality-findings/policy.mjs +49 -0
- package/dist/esm/package-checks/code-quality-findings/policy.mjs.map +1 -0
- package/dist/esm/package-checks/duplicate-detection/area-policy.mjs +71 -0
- package/dist/esm/package-checks/duplicate-detection/area-policy.mjs.map +1 -0
- package/dist/esm/package-checks/duplicate-detection/cache/cache-contract.mjs +2 -0
- package/dist/esm/package-checks/duplicate-detection/cache/cache-contract.mjs.map +1 -0
- package/dist/esm/package-checks/duplicate-detection/cache/identity.mjs +37 -0
- package/dist/esm/package-checks/duplicate-detection/cache/identity.mjs.map +1 -0
- package/dist/esm/package-checks/duplicate-detection/cache/key.mjs +38 -0
- package/dist/esm/package-checks/duplicate-detection/cache/key.mjs.map +1 -0
- package/dist/esm/package-checks/duplicate-detection/cache/payload.mjs +47 -0
- package/dist/esm/package-checks/duplicate-detection/cache/payload.mjs.map +1 -0
- package/dist/esm/package-checks/duplicate-detection/cache/store.mjs +44 -0
- package/dist/esm/package-checks/duplicate-detection/cache/store.mjs.map +1 -0
- package/dist/esm/package-checks/duplicate-detection/default-check.mjs +39 -0
- package/dist/esm/package-checks/duplicate-detection/default-check.mjs.map +1 -0
- package/dist/esm/package-checks/duplicate-detection/execution.mjs +124 -0
- package/dist/esm/package-checks/duplicate-detection/execution.mjs.map +1 -0
- package/dist/esm/package-checks/duplicate-detection/final-data.mjs +6 -0
- package/dist/esm/package-checks/duplicate-detection/final-data.mjs.map +1 -0
- package/dist/esm/package-checks/duplicate-detection/jscpd/availability.mjs +77 -0
- package/dist/esm/package-checks/duplicate-detection/jscpd/availability.mjs.map +1 -0
- package/dist/esm/package-checks/duplicate-detection/jscpd/command-path.mjs +6 -0
- package/dist/esm/package-checks/duplicate-detection/jscpd/command-path.mjs.map +1 -0
- package/dist/esm/package-checks/duplicate-detection/jscpd/command-resolution.mjs +87 -0
- package/dist/esm/package-checks/duplicate-detection/jscpd/command-resolution.mjs.map +1 -0
- package/dist/esm/package-checks/duplicate-detection/jscpd/json-report.mjs +94 -0
- package/dist/esm/package-checks/duplicate-detection/jscpd/json-report.mjs.map +1 -0
- package/dist/esm/package-checks/duplicate-detection/jscpd/scanner-contract.mjs +2 -0
- package/dist/esm/package-checks/duplicate-detection/jscpd/scanner-contract.mjs.map +1 -0
- package/dist/esm/package-checks/duplicate-detection/jscpd/scanner.mjs +180 -0
- package/dist/esm/package-checks/duplicate-detection/jscpd/scanner.mjs.map +1 -0
- package/dist/esm/package-checks/duplicate-detection/jscpd/scoped-fragments.mjs +10 -0
- package/dist/esm/package-checks/duplicate-detection/jscpd/scoped-fragments.mjs.map +1 -0
- package/dist/esm/package-checks/duplicate-detection/measurement-model.mjs +2 -0
- package/dist/esm/package-checks/duplicate-detection/measurement-model.mjs.map +1 -0
- package/dist/esm/package-checks/duplicate-detection/measurement.mjs +151 -0
- package/dist/esm/package-checks/duplicate-detection/measurement.mjs.map +1 -0
- package/dist/esm/package-checks/duplicate-detection/options-resolution.mjs +126 -0
- package/dist/esm/package-checks/duplicate-detection/options-resolution.mjs.map +1 -0
- package/dist/esm/package-checks/duplicate-detection/options-validation.mjs +60 -0
- package/dist/esm/package-checks/duplicate-detection/options-validation.mjs.map +1 -0
- package/dist/esm/package-checks/duplicate-detection/options.mjs +2 -0
- package/dist/esm/package-checks/duplicate-detection/options.mjs.map +1 -0
- package/dist/esm/package-checks/duplicate-detection/project-revision.mjs +5 -0
- package/dist/esm/package-checks/duplicate-detection/project-revision.mjs.map +1 -0
- package/dist/esm/package-checks/duplicate-detection/records.mjs +119 -0
- package/dist/esm/package-checks/duplicate-detection/records.mjs.map +1 -0
- package/dist/esm/package-checks/file-metrics/constructor.mjs +39 -0
- package/dist/esm/package-checks/file-metrics/constructor.mjs.map +1 -0
- package/dist/esm/package-checks/file-metrics/execution.mjs +170 -0
- package/dist/esm/package-checks/file-metrics/execution.mjs.map +1 -0
- package/dist/esm/package-checks/file-metrics/final-data.mjs +6 -0
- package/dist/esm/package-checks/file-metrics/final-data.mjs.map +1 -0
- package/dist/esm/package-checks/file-metrics/measurement-model.mjs +2 -0
- package/dist/esm/package-checks/file-metrics/measurement-model.mjs.map +1 -0
- package/dist/esm/package-checks/file-metrics/measurement.mjs +33 -0
- package/dist/esm/package-checks/file-metrics/measurement.mjs.map +1 -0
- package/dist/esm/package-checks/file-metrics/options-resolution.mjs +171 -0
- package/dist/esm/package-checks/file-metrics/options-resolution.mjs.map +1 -0
- package/dist/esm/package-checks/file-metrics/options-validation.mjs +82 -0
- package/dist/esm/package-checks/file-metrics/options-validation.mjs.map +1 -0
- package/dist/esm/package-checks/file-metrics/options.mjs +2 -0
- package/dist/esm/package-checks/file-metrics/options.mjs.map +1 -0
- package/dist/esm/package-checks/file-metrics/records.mjs +109 -0
- package/dist/esm/package-checks/file-metrics/records.mjs.map +1 -0
- package/dist/esm/package-checks/file-metrics/scc/availability.mjs +59 -0
- package/dist/esm/package-checks/file-metrics/scc/availability.mjs.map +1 -0
- package/dist/esm/package-checks/file-metrics/scc/csv.mjs +17 -0
- package/dist/esm/package-checks/file-metrics/scc/csv.mjs.map +1 -0
- package/dist/esm/package-checks/file-metrics/scc/parser.mjs +145 -0
- package/dist/esm/package-checks/file-metrics/scc/parser.mjs.map +1 -0
- package/dist/esm/package-checks/file-metrics/scc/scanner.mjs +54 -0
- package/dist/esm/package-checks/file-metrics/scc/scanner.mjs.map +1 -0
- package/dist/esm/package-checks/final-data-parsing.mjs +35 -0
- package/dist/esm/package-checks/final-data-parsing.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analysis.mjs +96 -0
- package/dist/esm/package-checks/function-metrics/analysis.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/constructor.mjs +43 -0
- package/dist/esm/package-checks/function-metrics/constructor.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/execution.mjs +178 -0
- package/dist/esm/package-checks/function-metrics/execution.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/final-data.mjs +6 -0
- package/dist/esm/package-checks/function-metrics/final-data.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/lizard/availability.mjs +64 -0
- package/dist/esm/package-checks/function-metrics/lizard/availability.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/lizard/csv.mjs +17 -0
- package/dist/esm/package-checks/function-metrics/lizard/csv.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/lizard/parser.mjs +138 -0
- package/dist/esm/package-checks/function-metrics/lizard/parser.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/lizard/scanner.mjs +35 -0
- package/dist/esm/package-checks/function-metrics/lizard/scanner.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/measurement-model.mjs +2 -0
- package/dist/esm/package-checks/function-metrics/measurement-model.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/measurement.mjs +35 -0
- package/dist/esm/package-checks/function-metrics/measurement.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/options-resolution.mjs +171 -0
- package/dist/esm/package-checks/function-metrics/options-resolution.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/options-validation.mjs +71 -0
- package/dist/esm/package-checks/function-metrics/options-validation.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/options.mjs +2 -0
- package/dist/esm/package-checks/function-metrics/options.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/records.mjs +133 -0
- package/dist/esm/package-checks/function-metrics/records.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/target-files.mjs +75 -0
- package/dist/esm/package-checks/function-metrics/target-files.mjs.map +1 -0
- package/dist/esm/package-checks/host-environment/error-message.mjs +4 -0
- package/dist/esm/package-checks/host-environment/error-message.mjs.map +1 -0
- package/dist/esm/package-checks/host-environment/filesystem.mjs +81 -0
- package/dist/esm/package-checks/host-environment/filesystem.mjs.map +1 -0
- package/dist/esm/package-checks/host-environment/git.mjs +51 -0
- package/dist/esm/package-checks/host-environment/git.mjs.map +1 -0
- package/dist/esm/package-checks/host-environment/path.mjs +18 -0
- package/dist/esm/package-checks/host-environment/path.mjs.map +1 -0
- package/dist/esm/package-checks/host-environment/process/command.mjs +13 -0
- package/dist/esm/package-checks/host-environment/process/command.mjs.map +1 -0
- package/dist/esm/package-checks/host-environment/process/contract.mjs +2 -0
- package/dist/esm/package-checks/host-environment/process/contract.mjs.map +1 -0
- package/dist/esm/package-checks/host-environment/process/env.mjs +19 -0
- package/dist/esm/package-checks/host-environment/process/env.mjs.map +1 -0
- package/dist/esm/package-checks/host-environment/process/failure.mjs +34 -0
- package/dist/esm/package-checks/host-environment/process/failure.mjs.map +1 -0
- package/dist/esm/package-checks/host-environment/process/result.mjs +33 -0
- package/dist/esm/package-checks/host-environment/process/result.mjs.map +1 -0
- package/dist/esm/package-checks/host-environment/process/runner.mjs +30 -0
- package/dist/esm/package-checks/host-environment/process/runner.mjs.map +1 -0
- package/dist/esm/package-checks/json-document/strict-document.mjs +163 -0
- package/dist/esm/package-checks/json-document/strict-document.mjs.map +1 -0
- package/dist/esm/package-checks/json-schema-validation/default-check.mjs +39 -0
- package/dist/esm/package-checks/json-schema-validation/default-check.mjs.map +1 -0
- package/dist/esm/package-checks/json-schema-validation/execution-stages.mjs +141 -0
- package/dist/esm/package-checks/json-schema-validation/execution-stages.mjs.map +1 -0
- package/dist/esm/package-checks/json-schema-validation/final-data.mjs +64 -0
- package/dist/esm/package-checks/json-schema-validation/final-data.mjs.map +1 -0
- package/dist/esm/package-checks/json-schema-validation/issue-collector.mjs +35 -0
- package/dist/esm/package-checks/json-schema-validation/issue-collector.mjs.map +1 -0
- package/dist/esm/package-checks/json-schema-validation/json-schema-validation.mjs +118 -0
- package/dist/esm/package-checks/json-schema-validation/json-schema-validation.mjs.map +1 -0
- package/dist/esm/package-checks/json-schema-validation/options-resolution.mjs +45 -0
- package/dist/esm/package-checks/json-schema-validation/options-resolution.mjs.map +1 -0
- package/dist/esm/package-checks/json-schema-validation/options-validation.mjs +212 -0
- package/dist/esm/package-checks/json-schema-validation/options-validation.mjs.map +1 -0
- package/dist/esm/package-checks/json-schema-validation/options.mjs +2 -0
- package/dist/esm/package-checks/json-schema-validation/options.mjs.map +1 -0
- package/dist/esm/package-checks/json-schema-validation/reference-resolver.mjs +128 -0
- package/dist/esm/package-checks/json-schema-validation/reference-resolver.mjs.map +1 -0
- package/dist/esm/package-checks/json-schema-validation/remote-response.mjs +71 -0
- package/dist/esm/package-checks/json-schema-validation/remote-response.mjs.map +1 -0
- package/dist/esm/package-checks/json-schema-validation/schema-engine.mjs +190 -0
- package/dist/esm/package-checks/json-schema-validation/schema-engine.mjs.map +1 -0
- package/dist/esm/package-checks/json-schema-validation/schema-policy.mjs +234 -0
- package/dist/esm/package-checks/json-schema-validation/schema-policy.mjs.map +1 -0
- package/dist/esm/package-checks/json-validation/default-check.mjs +39 -0
- package/dist/esm/package-checks/json-validation/default-check.mjs.map +1 -0
- package/dist/esm/package-checks/json-validation/final-data.mjs +27 -0
- package/dist/esm/package-checks/json-validation/final-data.mjs.map +1 -0
- package/dist/esm/package-checks/json-validation/json-validation.mjs +138 -0
- package/dist/esm/package-checks/json-validation/json-validation.mjs.map +1 -0
- package/dist/esm/package-checks/json-validation/options-resolution.mjs +33 -0
- package/dist/esm/package-checks/json-validation/options-resolution.mjs.map +1 -0
- package/dist/esm/package-checks/json-validation/options-validation.mjs +16 -0
- package/dist/esm/package-checks/json-validation/options-validation.mjs.map +1 -0
- package/dist/esm/package-checks/json-validation/options.mjs +2 -0
- package/dist/esm/package-checks/json-validation/options.mjs.map +1 -0
- package/dist/esm/package-checks/maintenance-reminders/assessment-results.mjs +73 -0
- package/dist/esm/package-checks/maintenance-reminders/assessment-results.mjs.map +1 -0
- package/dist/esm/package-checks/maintenance-reminders/final-data.mjs +153 -0
- package/dist/esm/package-checks/maintenance-reminders/final-data.mjs.map +1 -0
- package/dist/esm/package-checks/maintenance-reminders/maintenance-reminders.mjs +155 -0
- package/dist/esm/package-checks/maintenance-reminders/maintenance-reminders.mjs.map +1 -0
- package/dist/esm/package-checks/maintenance-reminders/maintenance-support.mjs +58 -0
- package/dist/esm/package-checks/maintenance-reminders/maintenance-support.mjs.map +1 -0
- package/dist/esm/package-checks/maintenance-reminders/measurement.mjs +125 -0
- package/dist/esm/package-checks/maintenance-reminders/measurement.mjs.map +1 -0
- package/dist/esm/package-checks/maintenance-reminders/options-validation.mjs +72 -0
- package/dist/esm/package-checks/maintenance-reminders/options-validation.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-link-validation/default-check.mjs +55 -0
- package/dist/esm/package-checks/markdown-link-validation/default-check.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-link-validation/execution.mjs +199 -0
- package/dist/esm/package-checks/markdown-link-validation/execution.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-link-validation/filesystem-probes.mjs +109 -0
- package/dist/esm/package-checks/markdown-link-validation/filesystem-probes.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-link-validation/final-data.mjs +28 -0
- package/dist/esm/package-checks/markdown-link-validation/final-data.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-link-validation/local-resolution.mjs +158 -0
- package/dist/esm/package-checks/markdown-link-validation/local-resolution.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-link-validation/local-resolver.mjs +17 -0
- package/dist/esm/package-checks/markdown-link-validation/local-resolver.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-link-validation/markdown-parser.mjs +191 -0
- package/dist/esm/package-checks/markdown-link-validation/markdown-parser.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-link-validation/options-resolution.mjs +83 -0
- package/dist/esm/package-checks/markdown-link-validation/options-resolution.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-link-validation/options-validation.mjs +50 -0
- package/dist/esm/package-checks/markdown-link-validation/options-validation.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-link-validation/options.mjs +2 -0
- package/dist/esm/package-checks/markdown-link-validation/options.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-link-validation/records.mjs +32 -0
- package/dist/esm/package-checks/markdown-link-validation/records.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-link-validation/resolver-engine.mjs +196 -0
- package/dist/esm/package-checks/markdown-link-validation/resolver-engine.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-link-validation/target-descriptor.mjs +23 -0
- package/dist/esm/package-checks/markdown-link-validation/target-descriptor.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-link-validation/traversal-result.mjs +41 -0
- package/dist/esm/package-checks/markdown-link-validation/traversal-result.mjs.map +1 -0
- package/dist/esm/package-checks/project-files/collection.mjs +142 -0
- package/dist/esm/package-checks/project-files/collection.mjs.map +1 -0
- package/dist/esm/package-checks/project-files/config-glob.mjs +11 -0
- package/dist/esm/package-checks/project-files/config-glob.mjs.map +1 -0
- package/dist/esm/package-checks/project-files/configuration.mjs +104 -0
- package/dist/esm/package-checks/project-files/configuration.mjs.map +1 -0
- package/dist/esm/package-checks/project-files/exact-input-measurement.mjs +24 -0
- package/dist/esm/package-checks/project-files/exact-input-measurement.mjs.map +1 -0
- package/dist/esm/package-checks/project-files/file-fingerprint.mjs +36 -0
- package/dist/esm/package-checks/project-files/file-fingerprint.mjs.map +1 -0
- package/dist/esm/package-checks/project-files/gitlink-revision.mjs +57 -0
- package/dist/esm/package-checks/project-files/gitlink-revision.mjs.map +1 -0
- package/dist/esm/package-checks/project-files/gitlink-worktree.mjs +72 -0
- package/dist/esm/package-checks/project-files/gitlink-worktree.mjs.map +1 -0
- package/dist/esm/package-checks/project-files/input-eligibility.mjs +13 -0
- package/dist/esm/package-checks/project-files/input-eligibility.mjs.map +1 -0
- package/dist/esm/package-checks/project-files/reported-path.mjs +30 -0
- package/dist/esm/package-checks/project-files/reported-path.mjs.map +1 -0
- package/dist/esm/package-checks/project-files/revision-paths.mjs +19 -0
- package/dist/esm/package-checks/project-files/revision-paths.mjs.map +1 -0
- package/dist/esm/package-checks/project-files/revision-worktree-files.mjs +102 -0
- package/dist/esm/package-checks/project-files/revision-worktree-files.mjs.map +1 -0
- package/dist/esm/project-definition/check-tree/authoring.mjs +242 -0
- package/dist/esm/project-definition/check-tree/authoring.mjs.map +1 -0
- package/dist/esm/project-definition/check-tree/materialization.mjs +50 -0
- package/dist/esm/project-definition/check-tree/materialization.mjs.map +1 -0
- package/dist/esm/project-definition/check-tree/resolution.mjs +60 -0
- package/dist/esm/project-definition/check-tree/resolution.mjs.map +1 -0
- package/dist/esm/project-definition/output-defaults.mjs +7 -0
- package/dist/esm/project-definition/output-defaults.mjs.map +1 -0
- package/dist/esm/project-definition/output-validation.mjs +44 -0
- package/dist/esm/project-definition/output-validation.mjs.map +1 -0
- package/dist/esm/project-definition/project-definition-validation.mjs +95 -0
- package/dist/esm/project-definition/project-definition-validation.mjs.map +1 -0
- package/dist/esm/project-definition/project-definition.mjs +92 -0
- package/dist/esm/project-definition/project-definition.mjs.map +1 -0
- package/dist/esm/project-run/aggregation.mjs +66 -0
- package/dist/esm/project-run/aggregation.mjs.map +1 -0
- package/dist/esm/project-run/check-execution/callback.mjs +70 -0
- package/dist/esm/project-run/check-execution/callback.mjs.map +1 -0
- package/dist/esm/project-run/check-execution/dependencies.mjs +50 -0
- package/dist/esm/project-run/check-execution/dependencies.mjs.map +1 -0
- package/dist/esm/project-run/check-execution/execution-finalization.mjs +103 -0
- package/dist/esm/project-run/check-execution/execution-finalization.mjs.map +1 -0
- package/dist/esm/project-run/check-execution/execution-settlement.mjs +90 -0
- package/dist/esm/project-run/check-execution/execution-settlement.mjs.map +1 -0
- package/dist/esm/project-run/check-execution/messages.mjs +38 -0
- package/dist/esm/project-run/check-execution/messages.mjs.map +1 -0
- package/dist/esm/project-run/check-execution/plan.mjs +35 -0
- package/dist/esm/project-run/check-execution/plan.mjs.map +1 -0
- package/dist/esm/project-run/check-execution/preflight-result.mjs +83 -0
- package/dist/esm/project-run/check-execution/preflight-result.mjs.map +1 -0
- package/dist/esm/project-run/check-execution/preflight.mjs +186 -0
- package/dist/esm/project-run/check-execution/preflight.mjs.map +1 -0
- package/dist/esm/project-run/check-execution/resolved-checks.mjs +168 -0
- package/dist/esm/project-run/check-execution/resolved-checks.mjs.map +1 -0
- package/dist/esm/project-run/check-execution/terminal-result.mjs +49 -0
- package/dist/esm/project-run/check-execution/terminal-result.mjs.map +1 -0
- package/dist/esm/project-run/completion.mjs +173 -0
- package/dist/esm/project-run/completion.mjs.map +1 -0
- package/dist/esm/project-run/controls/contract.mjs +2 -0
- package/dist/esm/project-run/controls/contract.mjs.map +1 -0
- package/dist/esm/project-run/controls/outputs-override-validation.mjs +61 -0
- package/dist/esm/project-run/controls/outputs-override-validation.mjs.map +1 -0
- package/dist/esm/project-run/controls/validation-result.mjs +2 -0
- package/dist/esm/project-run/controls/validation-result.mjs.map +1 -0
- package/dist/esm/project-run/controls/validation.mjs +156 -0
- package/dist/esm/project-run/controls/validation.mjs.map +1 -0
- package/dist/esm/project-run/diagnostic-logging/diagnostic-detail-rendering.mjs +182 -0
- package/dist/esm/project-run/diagnostic-logging/diagnostic-detail-rendering.mjs.map +1 -0
- package/dist/esm/project-run/diagnostic-logging/logger.mjs +242 -0
- package/dist/esm/project-run/diagnostic-logging/logger.mjs.map +1 -0
- package/dist/esm/project-run/invocation-creation.mjs +111 -0
- package/dist/esm/project-run/invocation-creation.mjs.map +1 -0
- package/dist/esm/project-run/invocation.mjs +195 -0
- package/dist/esm/project-run/invocation.mjs.map +1 -0
- package/dist/esm/project-run/machine-publication.mjs +16 -0
- package/dist/esm/project-run/machine-publication.mjs.map +1 -0
- package/dist/esm/project-run/output-configuration.mjs +17 -0
- package/dist/esm/project-run/output-configuration.mjs.map +1 -0
- package/dist/esm/project-run/output-status.mjs +43 -0
- package/dist/esm/project-run/output-status.mjs.map +1 -0
- package/dist/esm/project-run/progress-rendering/presentation.mjs +135 -0
- package/dist/esm/project-run/progress-rendering/presentation.mjs.map +1 -0
- package/dist/esm/project-run/progress-rendering/renderer-formatting.mjs +100 -0
- package/dist/esm/project-run/progress-rendering/renderer-formatting.mjs.map +1 -0
- package/dist/esm/project-run/progress-rendering/renderer-lifecycle.mjs +123 -0
- package/dist/esm/project-run/progress-rendering/renderer-lifecycle.mjs.map +1 -0
- package/dist/esm/project-run/progress-rendering/renderer.mjs +12 -0
- package/dist/esm/project-run/progress-rendering/renderer.mjs.map +1 -0
- package/dist/esm/project-run/project-context.mjs +8 -0
- package/dist/esm/project-run/project-context.mjs.map +1 -0
- package/dist/esm/project-run/result.mjs +54 -0
- package/dist/esm/project-run/result.mjs.map +1 -0
- package/dist/esm/project-run/run.mjs +23 -0
- package/dist/esm/project-run/run.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/execution-state.mjs +66 -0
- package/dist/esm/project-run/task-scheduler/execution-state.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/graph-validation.mjs +119 -0
- package/dist/esm/project-run/task-scheduler/graph-validation.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/graph.mjs +116 -0
- package/dist/esm/project-run/task-scheduler/graph.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/scheduler-admission-decision.mjs +82 -0
- package/dist/esm/project-run/task-scheduler/scheduler-admission-decision.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/scheduler-blocker-summary.mjs +27 -0
- package/dist/esm/project-run/task-scheduler/scheduler-blocker-summary.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/scheduler-decision-inspection.mjs +125 -0
- package/dist/esm/project-run/task-scheduler/scheduler-decision-inspection.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/scheduler-decision-model.mjs +45 -0
- package/dist/esm/project-run/task-scheduler/scheduler-decision-model.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/scheduler-decision.mjs +74 -0
- package/dist/esm/project-run/task-scheduler/scheduler-decision.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/scheduler.mjs +147 -0
- package/dist/esm/project-run/task-scheduler/scheduler.mjs.map +1 -0
- package/docs/api-mechanics.md +205 -0
- package/docs/checks/duplicate-detection.md +195 -0
- package/docs/checks/file-metrics.md +229 -0
- package/docs/checks/function-metrics.md +222 -0
- package/docs/checks/json-schema-validation.md +190 -0
- package/docs/checks/json-validation.md +133 -0
- package/docs/checks/maintenance-reminders.md +158 -0
- package/docs/checks/markdown-link-validation.md +192 -0
- package/docs/examples/artifacts/mixed-outcomes/definition.ts +195 -0
- package/docs/examples/artifacts/mixed-outcomes/records.ndjson +2 -0
- package/docs/examples/artifacts/mixed-outcomes/run.json +70 -0
- package/docs/output.md +97 -0
- package/docs/schemas/vibe-check-record.schema.json +33 -0
- package/docs/schemas/vibe-check-run.schema.json +173 -0
- package/index.mjs +1 -0
- package/package.json +49 -0
- package/src/check/check.ts +497 -0
- package/src/check/descriptor-validation.ts +60 -0
- package/src/check/descriptor.ts +5 -0
- package/src/check/inherited-collection.ts +101 -0
- package/src/check/options-snapshot.ts +80 -0
- package/src/check-settlement/fact-validation.ts +289 -0
- package/src/check-settlement/facts.ts +27 -0
- package/src/check-settlement/outcome-normalization.ts +118 -0
- package/src/check-settlement/record-store.ts +73 -0
- package/src/check-settlement/session.ts +257 -0
- package/src/data-boundary/canonical-data.ts +188 -0
- package/src/data-boundary/canonical-json.ts +11 -0
- package/src/data-boundary/closed-values.ts +126 -0
- package/src/data-boundary/value-shapes.ts +15 -0
- package/src/finding-waivers/reconciliation.ts +176 -0
- package/src/index.ts +123 -0
- package/src/machine-output/v4/atomic-publication.ts +123 -0
- package/src/machine-output/v4/freeze-publication-value.ts +12 -0
- package/src/machine-output/v4/projection.ts +36 -0
- package/src/machine-output/v4/publication-invariants.ts +89 -0
- package/src/machine-output/v4/publication-model.ts +38 -0
- package/src/machine-output/v4/publish.ts +23 -0
- package/src/machine-output/v4/records-fingerprint.ts +12 -0
- package/src/machine-output/v4/schema-identities.ts +8 -0
- package/src/machine-output/v4/schema.ts +97 -0
- package/src/machine-output/v4/serializers.ts +18 -0
- package/src/machine-output/v4/validation-result.ts +59 -0
- package/src/machine-output/v4/validation.ts +166 -0
- package/src/package-checks/code-quality-findings/policy.ts +85 -0
- package/src/package-checks/duplicate-detection/area-policy.ts +103 -0
- package/src/package-checks/duplicate-detection/cache/cache-contract.ts +49 -0
- package/src/package-checks/duplicate-detection/cache/identity.ts +61 -0
- package/src/package-checks/duplicate-detection/cache/key.ts +46 -0
- package/src/package-checks/duplicate-detection/cache/payload.ts +78 -0
- package/src/package-checks/duplicate-detection/cache/store.ts +77 -0
- package/src/package-checks/duplicate-detection/default-check.ts +50 -0
- package/src/package-checks/duplicate-detection/execution.ts +168 -0
- package/src/package-checks/duplicate-detection/final-data.ts +10 -0
- package/src/package-checks/duplicate-detection/jscpd/availability.ts +137 -0
- package/src/package-checks/duplicate-detection/jscpd/command-path.ts +8 -0
- package/src/package-checks/duplicate-detection/jscpd/command-resolution.ts +112 -0
- package/src/package-checks/duplicate-detection/jscpd/json-report.ts +137 -0
- package/src/package-checks/duplicate-detection/jscpd/scanner-contract.ts +18 -0
- package/src/package-checks/duplicate-detection/jscpd/scanner.ts +257 -0
- package/src/package-checks/duplicate-detection/jscpd/scoped-fragments.ts +17 -0
- package/src/package-checks/duplicate-detection/measurement-model.ts +44 -0
- package/src/package-checks/duplicate-detection/measurement.ts +223 -0
- package/src/package-checks/duplicate-detection/options-resolution.ts +162 -0
- package/src/package-checks/duplicate-detection/options-validation.ts +75 -0
- package/src/package-checks/duplicate-detection/options.ts +72 -0
- package/src/package-checks/duplicate-detection/project-revision.ts +5 -0
- package/src/package-checks/duplicate-detection/records.ts +171 -0
- package/src/package-checks/file-metrics/constructor.ts +46 -0
- package/src/package-checks/file-metrics/execution.ts +233 -0
- package/src/package-checks/file-metrics/final-data.ts +10 -0
- package/src/package-checks/file-metrics/measurement-model.ts +10 -0
- package/src/package-checks/file-metrics/measurement.ts +52 -0
- package/src/package-checks/file-metrics/options-resolution.ts +213 -0
- package/src/package-checks/file-metrics/options-validation.ts +104 -0
- package/src/package-checks/file-metrics/options.ts +91 -0
- package/src/package-checks/file-metrics/records.ts +182 -0
- package/src/package-checks/file-metrics/scc/availability.ts +100 -0
- package/src/package-checks/file-metrics/scc/csv.ts +20 -0
- package/src/package-checks/file-metrics/scc/parser.ts +223 -0
- package/src/package-checks/file-metrics/scc/scanner.ts +68 -0
- package/src/package-checks/final-data-parsing.ts +49 -0
- package/src/package-checks/function-metrics/analysis.ts +138 -0
- package/src/package-checks/function-metrics/constructor.ts +55 -0
- package/src/package-checks/function-metrics/execution.ts +263 -0
- package/src/package-checks/function-metrics/final-data.ts +10 -0
- package/src/package-checks/function-metrics/lizard/availability.ts +90 -0
- package/src/package-checks/function-metrics/lizard/csv.ts +20 -0
- package/src/package-checks/function-metrics/lizard/parser.ts +179 -0
- package/src/package-checks/function-metrics/lizard/scanner.ts +62 -0
- package/src/package-checks/function-metrics/measurement-model.ts +30 -0
- package/src/package-checks/function-metrics/measurement.ts +57 -0
- package/src/package-checks/function-metrics/options-resolution.ts +215 -0
- package/src/package-checks/function-metrics/options-validation.ts +89 -0
- package/src/package-checks/function-metrics/options.ts +84 -0
- package/src/package-checks/function-metrics/records.ts +254 -0
- package/src/package-checks/function-metrics/target-files.ts +85 -0
- package/src/package-checks/host-environment/error-message.ts +3 -0
- package/src/package-checks/host-environment/filesystem.ts +110 -0
- package/src/package-checks/host-environment/git.ts +68 -0
- package/src/package-checks/host-environment/path.ts +20 -0
- package/src/package-checks/host-environment/process/command.ts +21 -0
- package/src/package-checks/host-environment/process/contract.ts +56 -0
- package/src/package-checks/host-environment/process/env.ts +25 -0
- package/src/package-checks/host-environment/process/failure.ts +40 -0
- package/src/package-checks/host-environment/process/result.ts +39 -0
- package/src/package-checks/host-environment/process/runner.ts +47 -0
- package/src/package-checks/json-document/strict-document.ts +209 -0
- package/src/package-checks/json-schema-validation/default-check.ts +54 -0
- package/src/package-checks/json-schema-validation/execution-stages.ts +230 -0
- package/src/package-checks/json-schema-validation/final-data.ts +115 -0
- package/src/package-checks/json-schema-validation/issue-collector.ts +43 -0
- package/src/package-checks/json-schema-validation/json-schema-validation.ts +191 -0
- package/src/package-checks/json-schema-validation/options-resolution.ts +61 -0
- package/src/package-checks/json-schema-validation/options-validation.ts +256 -0
- package/src/package-checks/json-schema-validation/options.ts +66 -0
- package/src/package-checks/json-schema-validation/reference-resolver.ts +165 -0
- package/src/package-checks/json-schema-validation/remote-response.ts +84 -0
- package/src/package-checks/json-schema-validation/schema-engine.ts +263 -0
- package/src/package-checks/json-schema-validation/schema-policy.ts +275 -0
- package/src/package-checks/json-validation/default-check.ts +48 -0
- package/src/package-checks/json-validation/final-data.ts +46 -0
- package/src/package-checks/json-validation/json-validation.ts +212 -0
- package/src/package-checks/json-validation/options-resolution.ts +50 -0
- package/src/package-checks/json-validation/options-validation.ts +27 -0
- package/src/package-checks/json-validation/options.ts +18 -0
- package/src/package-checks/maintenance-reminders/assessment-results.ts +117 -0
- package/src/package-checks/maintenance-reminders/final-data.ts +239 -0
- package/src/package-checks/maintenance-reminders/maintenance-reminders.ts +264 -0
- package/src/package-checks/maintenance-reminders/maintenance-support.ts +67 -0
- package/src/package-checks/maintenance-reminders/measurement.ts +183 -0
- package/src/package-checks/maintenance-reminders/options-validation.ts +88 -0
- package/src/package-checks/markdown-link-validation/default-check.ts +70 -0
- package/src/package-checks/markdown-link-validation/execution.ts +325 -0
- package/src/package-checks/markdown-link-validation/filesystem-probes.ts +127 -0
- package/src/package-checks/markdown-link-validation/final-data.ts +47 -0
- package/src/package-checks/markdown-link-validation/local-resolution.ts +306 -0
- package/src/package-checks/markdown-link-validation/local-resolver.ts +51 -0
- package/src/package-checks/markdown-link-validation/markdown-parser.ts +302 -0
- package/src/package-checks/markdown-link-validation/options-resolution.ts +114 -0
- package/src/package-checks/markdown-link-validation/options-validation.ts +72 -0
- package/src/package-checks/markdown-link-validation/options.ts +50 -0
- package/src/package-checks/markdown-link-validation/records.ts +77 -0
- package/src/package-checks/markdown-link-validation/resolver-engine.ts +276 -0
- package/src/package-checks/markdown-link-validation/target-descriptor.ts +34 -0
- package/src/package-checks/markdown-link-validation/traversal-result.ts +58 -0
- package/src/package-checks/project-files/collection.ts +199 -0
- package/src/package-checks/project-files/config-glob.ts +17 -0
- package/src/package-checks/project-files/configuration.ts +152 -0
- package/src/package-checks/project-files/exact-input-measurement.ts +38 -0
- package/src/package-checks/project-files/file-fingerprint.ts +46 -0
- package/src/package-checks/project-files/gitlink-revision.ts +82 -0
- package/src/package-checks/project-files/gitlink-worktree.ts +106 -0
- package/src/package-checks/project-files/input-eligibility.ts +21 -0
- package/src/package-checks/project-files/reported-path.ts +35 -0
- package/src/package-checks/project-files/revision-paths.ts +34 -0
- package/src/package-checks/project-files/revision-worktree-files.ts +148 -0
- package/src/project-definition/check-tree/authoring.ts +332 -0
- package/src/project-definition/check-tree/materialization.ts +56 -0
- package/src/project-definition/check-tree/resolution.ts +108 -0
- package/src/project-definition/output-defaults.ts +6 -0
- package/src/project-definition/output-validation.ts +54 -0
- package/src/project-definition/project-definition-validation.ts +123 -0
- package/src/project-definition/project-definition.ts +184 -0
- package/src/project-run/aggregation.ts +90 -0
- package/src/project-run/check-execution/callback.ts +106 -0
- package/src/project-run/check-execution/dependencies.ts +70 -0
- package/src/project-run/check-execution/execution-finalization.ts +177 -0
- package/src/project-run/check-execution/execution-settlement.ts +147 -0
- package/src/project-run/check-execution/messages.ts +46 -0
- package/src/project-run/check-execution/plan.ts +46 -0
- package/src/project-run/check-execution/preflight-result.ts +131 -0
- package/src/project-run/check-execution/preflight.ts +321 -0
- package/src/project-run/check-execution/resolved-checks.ts +285 -0
- package/src/project-run/check-execution/terminal-result.ts +74 -0
- package/src/project-run/completion.ts +263 -0
- package/src/project-run/controls/contract.ts +24 -0
- package/src/project-run/controls/outputs-override-validation.ts +86 -0
- package/src/project-run/controls/validation-result.ts +12 -0
- package/src/project-run/controls/validation.ts +176 -0
- package/src/project-run/diagnostic-logging/diagnostic-detail-rendering.ts +223 -0
- package/src/project-run/diagnostic-logging/logger.ts +325 -0
- package/src/project-run/invocation-creation.ts +160 -0
- package/src/project-run/invocation.ts +303 -0
- package/src/project-run/machine-publication.ts +23 -0
- package/src/project-run/output-configuration.ts +24 -0
- package/src/project-run/output-status.ts +69 -0
- package/src/project-run/progress-rendering/presentation.ts +189 -0
- package/src/project-run/progress-rendering/renderer-formatting.ts +141 -0
- package/src/project-run/progress-rendering/renderer-lifecycle.ts +152 -0
- package/src/project-run/progress-rendering/renderer.ts +68 -0
- package/src/project-run/project-context.ts +11 -0
- package/src/project-run/result.ts +175 -0
- package/src/project-run/run.ts +50 -0
- package/src/project-run/task-scheduler/execution-state.ts +153 -0
- package/src/project-run/task-scheduler/graph-validation.ts +176 -0
- package/src/project-run/task-scheduler/graph.ts +185 -0
- package/src/project-run/task-scheduler/scheduler-admission-decision.ts +177 -0
- package/src/project-run/task-scheduler/scheduler-blocker-summary.ts +42 -0
- package/src/project-run/task-scheduler/scheduler-decision-inspection.ts +199 -0
- package/src/project-run/task-scheduler/scheduler-decision-model.ts +158 -0
- package/src/project-run/task-scheduler/scheduler-decision.ts +103 -0
- package/src/project-run/task-scheduler/scheduler.ts +228 -0
- package/third-party-licenses/momoa-3.3.12-LICENSE +201 -0
- package/types/check/check.d.ts +350 -0
- package/types/check/descriptor-validation.d.ts +18 -0
- package/types/check/descriptor.d.ts +5 -0
- package/types/check/inherited-collection.d.ts +35 -0
- package/types/check/options-snapshot.d.ts +2 -0
- package/types/check-settlement/fact-validation.d.ts +14 -0
- package/types/check-settlement/facts.d.ts +19 -0
- package/types/check-settlement/outcome-normalization.d.ts +9 -0
- package/types/check-settlement/record-store.d.ts +14 -0
- package/types/check-settlement/session.d.ts +41 -0
- package/types/data-boundary/canonical-data.d.ts +13 -0
- package/types/data-boundary/canonical-json.d.ts +6 -0
- package/types/data-boundary/closed-values.d.ts +8 -0
- package/types/data-boundary/value-shapes.d.ts +4 -0
- package/types/finding-waivers/reconciliation.d.ts +66 -0
- package/types/index.d.ts +57 -0
- package/types/machine-output/v4/atomic-publication.d.ts +9 -0
- package/types/machine-output/v4/freeze-publication-value.d.ts +6 -0
- package/types/machine-output/v4/projection.d.ts +7 -0
- package/types/machine-output/v4/publication-invariants.d.ts +3 -0
- package/types/machine-output/v4/publication-model.d.ts +15 -0
- package/types/machine-output/v4/publish.d.ts +7 -0
- package/types/machine-output/v4/records-fingerprint.d.ts +4 -0
- package/types/machine-output/v4/schema-identities.d.ts +7 -0
- package/types/machine-output/v4/schema.d.ts +44 -0
- package/types/machine-output/v4/serializers.d.ts +6 -0
- package/types/machine-output/v4/validation-result.d.ts +26 -0
- package/types/machine-output/v4/validation.d.ts +6 -0
- package/types/package-checks/code-quality-findings/policy.d.ts +20 -0
- package/types/package-checks/duplicate-detection/area-policy.d.ts +3 -0
- package/types/package-checks/duplicate-detection/cache/cache-contract.d.ts +48 -0
- package/types/package-checks/duplicate-detection/cache/identity.d.ts +17 -0
- package/types/package-checks/duplicate-detection/cache/key.d.ts +4 -0
- package/types/package-checks/duplicate-detection/cache/payload.d.ts +4 -0
- package/types/package-checks/duplicate-detection/cache/store.d.ts +18 -0
- package/types/package-checks/duplicate-detection/default-check.d.ts +11 -0
- package/types/package-checks/duplicate-detection/execution.d.ts +11 -0
- package/types/package-checks/duplicate-detection/final-data.d.ts +5 -0
- package/types/package-checks/duplicate-detection/jscpd/availability.d.ts +19 -0
- package/types/package-checks/duplicate-detection/jscpd/command-path.d.ts +1 -0
- package/types/package-checks/duplicate-detection/jscpd/command-resolution.d.ts +23 -0
- package/types/package-checks/duplicate-detection/jscpd/json-report.d.ts +2 -0
- package/types/package-checks/duplicate-detection/jscpd/scanner-contract.d.ts +11 -0
- package/types/package-checks/duplicate-detection/jscpd/scanner.d.ts +21 -0
- package/types/package-checks/duplicate-detection/jscpd/scoped-fragments.d.ts +4 -0
- package/types/package-checks/duplicate-detection/measurement-model.d.ts +36 -0
- package/types/package-checks/duplicate-detection/measurement.d.ts +14 -0
- package/types/package-checks/duplicate-detection/options-resolution.d.ts +3 -0
- package/types/package-checks/duplicate-detection/options-validation.d.ts +1 -0
- package/types/package-checks/duplicate-detection/options.d.ts +65 -0
- package/types/package-checks/duplicate-detection/project-revision.d.ts +1 -0
- package/types/package-checks/duplicate-detection/records.d.ts +22 -0
- package/types/package-checks/file-metrics/constructor.d.ts +11 -0
- package/types/package-checks/file-metrics/execution.d.ts +11 -0
- package/types/package-checks/file-metrics/final-data.d.ts +5 -0
- package/types/package-checks/file-metrics/measurement-model.d.ts +12 -0
- package/types/package-checks/file-metrics/measurement.d.ts +13 -0
- package/types/package-checks/file-metrics/options-resolution.d.ts +3 -0
- package/types/package-checks/file-metrics/options-validation.d.ts +3 -0
- package/types/package-checks/file-metrics/options.d.ts +75 -0
- package/types/package-checks/file-metrics/records.d.ts +43 -0
- package/types/package-checks/file-metrics/scc/availability.d.ts +18 -0
- package/types/package-checks/file-metrics/scc/csv.d.ts +1 -0
- package/types/package-checks/file-metrics/scc/parser.d.ts +25 -0
- package/types/package-checks/file-metrics/scc/scanner.d.ts +14 -0
- package/types/package-checks/final-data-parsing.d.ts +9 -0
- package/types/package-checks/function-metrics/analysis.d.ts +10 -0
- package/types/package-checks/function-metrics/constructor.d.ts +11 -0
- package/types/package-checks/function-metrics/execution.d.ts +7 -0
- package/types/package-checks/function-metrics/final-data.d.ts +5 -0
- package/types/package-checks/function-metrics/lizard/availability.d.ts +11 -0
- package/types/package-checks/function-metrics/lizard/csv.d.ts +1 -0
- package/types/package-checks/function-metrics/lizard/parser.d.ts +17 -0
- package/types/package-checks/function-metrics/lizard/scanner.d.ts +15 -0
- package/types/package-checks/function-metrics/measurement-model.d.ts +26 -0
- package/types/package-checks/function-metrics/measurement.d.ts +21 -0
- package/types/package-checks/function-metrics/options-resolution.d.ts +3 -0
- package/types/package-checks/function-metrics/options-validation.d.ts +3 -0
- package/types/package-checks/function-metrics/options.d.ts +76 -0
- package/types/package-checks/function-metrics/records.d.ts +37 -0
- package/types/package-checks/function-metrics/target-files.d.ts +3 -0
- package/types/package-checks/host-environment/error-message.d.ts +1 -0
- package/types/package-checks/host-environment/filesystem.d.ts +19 -0
- package/types/package-checks/host-environment/git.d.ts +13 -0
- package/types/package-checks/host-environment/path.d.ts +3 -0
- package/types/package-checks/host-environment/process/command.d.ts +7 -0
- package/types/package-checks/host-environment/process/contract.d.ts +50 -0
- package/types/package-checks/host-environment/process/env.d.ts +16 -0
- package/types/package-checks/host-environment/process/failure.d.ts +4 -0
- package/types/package-checks/host-environment/process/result.d.ts +2 -0
- package/types/package-checks/host-environment/process/runner.d.ts +3 -0
- package/types/package-checks/json-document/strict-document.d.ts +35 -0
- package/types/package-checks/json-schema-validation/default-check.d.ts +11 -0
- package/types/package-checks/json-schema-validation/execution-stages.d.ts +27 -0
- package/types/package-checks/json-schema-validation/final-data.d.ts +15 -0
- package/types/package-checks/json-schema-validation/issue-collector.d.ts +12 -0
- package/types/package-checks/json-schema-validation/json-schema-validation.d.ts +42 -0
- package/types/package-checks/json-schema-validation/options-resolution.d.ts +3 -0
- package/types/package-checks/json-schema-validation/options-validation.d.ts +2 -0
- package/types/package-checks/json-schema-validation/options.d.ts +53 -0
- package/types/package-checks/json-schema-validation/reference-resolver.d.ts +23 -0
- package/types/package-checks/json-schema-validation/remote-response.d.ts +2 -0
- package/types/package-checks/json-schema-validation/schema-engine.d.ts +33 -0
- package/types/package-checks/json-schema-validation/schema-policy.d.ts +17 -0
- package/types/package-checks/json-validation/default-check.d.ts +11 -0
- package/types/package-checks/json-validation/final-data.d.ts +10 -0
- package/types/package-checks/json-validation/json-validation.d.ts +28 -0
- package/types/package-checks/json-validation/options-resolution.d.ts +3 -0
- package/types/package-checks/json-validation/options-validation.d.ts +2 -0
- package/types/package-checks/json-validation/options.d.ts +13 -0
- package/types/package-checks/maintenance-reminders/assessment-results.d.ts +10 -0
- package/types/package-checks/maintenance-reminders/final-data.d.ts +47 -0
- package/types/package-checks/maintenance-reminders/maintenance-reminders.d.ts +111 -0
- package/types/package-checks/maintenance-reminders/maintenance-support.d.ts +7 -0
- package/types/package-checks/maintenance-reminders/measurement.d.ts +10 -0
- package/types/package-checks/maintenance-reminders/options-validation.d.ts +3 -0
- package/types/package-checks/markdown-link-validation/default-check.d.ts +27 -0
- package/types/package-checks/markdown-link-validation/execution.d.ts +12 -0
- package/types/package-checks/markdown-link-validation/filesystem-probes.d.ts +10 -0
- package/types/package-checks/markdown-link-validation/final-data.d.ts +10 -0
- package/types/package-checks/markdown-link-validation/local-resolution.d.ts +92 -0
- package/types/package-checks/markdown-link-validation/local-resolver.d.ts +5 -0
- package/types/package-checks/markdown-link-validation/markdown-parser.d.ts +37 -0
- package/types/package-checks/markdown-link-validation/options-resolution.d.ts +3 -0
- package/types/package-checks/markdown-link-validation/options-validation.d.ts +2 -0
- package/types/package-checks/markdown-link-validation/options.d.ts +43 -0
- package/types/package-checks/markdown-link-validation/records.d.ts +37 -0
- package/types/package-checks/markdown-link-validation/resolver-engine.d.ts +15 -0
- package/types/package-checks/markdown-link-validation/target-descriptor.d.ts +5 -0
- package/types/package-checks/markdown-link-validation/traversal-result.d.ts +12 -0
- package/types/package-checks/project-files/collection.d.ts +9 -0
- package/types/package-checks/project-files/config-glob.d.ts +5 -0
- package/types/package-checks/project-files/configuration.d.ts +31 -0
- package/types/package-checks/project-files/exact-input-measurement.d.ts +12 -0
- package/types/package-checks/project-files/file-fingerprint.d.ts +7 -0
- package/types/package-checks/project-files/gitlink-revision.d.ts +9 -0
- package/types/package-checks/project-files/gitlink-worktree.d.ts +26 -0
- package/types/package-checks/project-files/input-eligibility.d.ts +7 -0
- package/types/package-checks/project-files/reported-path.d.ts +1 -0
- package/types/package-checks/project-files/revision-paths.d.ts +12 -0
- package/types/package-checks/project-files/revision-worktree-files.d.ts +5 -0
- package/types/project-definition/check-tree/authoring.d.ts +41 -0
- package/types/project-definition/check-tree/materialization.d.ts +4 -0
- package/types/project-definition/check-tree/resolution.d.ts +25 -0
- package/types/project-definition/output-defaults.d.ts +14 -0
- package/types/project-definition/output-validation.d.ts +3 -0
- package/types/project-definition/project-definition-validation.d.ts +6 -0
- package/types/project-definition/project-definition.d.ts +88 -0
- package/types/project-run/aggregation.d.ts +7 -0
- package/types/project-run/check-execution/callback.d.ts +24 -0
- package/types/project-run/check-execution/dependencies.d.ts +9 -0
- package/types/project-run/check-execution/execution-finalization.d.ts +18 -0
- package/types/project-run/check-execution/execution-settlement.d.ts +41 -0
- package/types/project-run/check-execution/messages.d.ts +3 -0
- package/types/project-run/check-execution/plan.d.ts +10 -0
- package/types/project-run/check-execution/preflight-result.d.ts +23 -0
- package/types/project-run/check-execution/preflight.d.ts +27 -0
- package/types/project-run/check-execution/resolved-checks.d.ts +51 -0
- package/types/project-run/check-execution/terminal-result.d.ts +27 -0
- package/types/project-run/completion.d.ts +14 -0
- package/types/project-run/controls/contract.d.ts +24 -0
- package/types/project-run/controls/outputs-override-validation.d.ts +3 -0
- package/types/project-run/controls/validation-result.d.ts +14 -0
- package/types/project-run/controls/validation.d.ts +3 -0
- package/types/project-run/diagnostic-logging/diagnostic-detail-rendering.d.ts +11 -0
- package/types/project-run/diagnostic-logging/logger.d.ts +33 -0
- package/types/project-run/invocation-creation.d.ts +12 -0
- package/types/project-run/invocation.d.ts +34 -0
- package/types/project-run/machine-publication.d.ts +10 -0
- package/types/project-run/output-configuration.d.ts +3 -0
- package/types/project-run/output-status.d.ts +21 -0
- package/types/project-run/progress-rendering/presentation.d.ts +28 -0
- package/types/project-run/progress-rendering/renderer-formatting.d.ts +23 -0
- package/types/project-run/progress-rendering/renderer-lifecycle.d.ts +24 -0
- package/types/project-run/progress-rendering/renderer.d.ts +44 -0
- package/types/project-run/project-context.d.ts +7 -0
- package/types/project-run/result.d.ts +99 -0
- package/types/project-run/run.d.ts +18 -0
- package/types/project-run/task-scheduler/execution-state.d.ts +67 -0
- package/types/project-run/task-scheduler/graph-validation.d.ts +11 -0
- package/types/project-run/task-scheduler/graph.d.ts +40 -0
- package/types/project-run/task-scheduler/scheduler-admission-decision.d.ts +8 -0
- package/types/project-run/task-scheduler/scheduler-blocker-summary.d.ts +4 -0
- package/types/project-run/task-scheduler/scheduler-decision-inspection.d.ts +24 -0
- package/types/project-run/task-scheduler/scheduler-decision-model.d.ts +94 -0
- package/types/project-run/task-scheduler/scheduler-decision.d.ts +8 -0
- package/types/project-run/task-scheduler/scheduler.d.ts +3 -0
package/types/index.d.ts
ADDED
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Vibe Check 是由项目在 Bun runtime 中调用的 TypeScript API,用于定义并执行项目质量 Check。
|
|
3
|
+
* 所有公开能力从 package root 导入;package `README.md` 说明 consumer authoring、结果读取和分发范围。
|
|
4
|
+
*
|
|
5
|
+
* @packageDocumentation
|
|
6
|
+
*/
|
|
7
|
+
export { duplicateDetection } from "./package-checks/duplicate-detection/default-check.ts";
|
|
8
|
+
export { parseDuplicateDetectionData } from "./package-checks/duplicate-detection/final-data.ts";
|
|
9
|
+
export type { DuplicateDetectionFinalData } from "./package-checks/duplicate-detection/final-data.ts";
|
|
10
|
+
export type { DuplicateDetectionOptions, ResolvedDuplicateDetectionOptions } from "./package-checks/duplicate-detection/options.ts";
|
|
11
|
+
export type { DuplicateDetectionUnavailableReasonCode } from "./package-checks/duplicate-detection/execution.ts";
|
|
12
|
+
export type { DuplicateDetectionRecordData } from "./package-checks/duplicate-detection/records.ts";
|
|
13
|
+
export { fileMetrics } from "./package-checks/file-metrics/constructor.ts";
|
|
14
|
+
export { parseFileMetricsData } from "./package-checks/file-metrics/final-data.ts";
|
|
15
|
+
export type { FileMetricsFinalData } from "./package-checks/file-metrics/final-data.ts";
|
|
16
|
+
export type { FileMetricsFindingIdentity, FileMetricsFindingWaiver, FileMetricsOptions, ResolvedFileMetricsOptions } from "./package-checks/file-metrics/options.ts";
|
|
17
|
+
export type { FileMetricsUnavailableReasonCode } from "./package-checks/file-metrics/execution.ts";
|
|
18
|
+
export type { FileMetricsRecordData } from "./package-checks/file-metrics/records.ts";
|
|
19
|
+
export { functionMetrics } from "./package-checks/function-metrics/constructor.ts";
|
|
20
|
+
export { parseFunctionMetricsData } from "./package-checks/function-metrics/final-data.ts";
|
|
21
|
+
export type { FunctionMetricsFinalData } from "./package-checks/function-metrics/final-data.ts";
|
|
22
|
+
export type { FunctionMetricsOptions, ResolvedFunctionMetricsOptions } from "./package-checks/function-metrics/options.ts";
|
|
23
|
+
export type { FunctionMetricsUnavailableReasonCode } from "./package-checks/function-metrics/execution.ts";
|
|
24
|
+
export type { FunctionMetricsRecordData } from "./package-checks/function-metrics/records.ts";
|
|
25
|
+
export { jsonSchemaValidation } from "./package-checks/json-schema-validation/default-check.ts";
|
|
26
|
+
export { parseJsonSchemaValidationData } from "./package-checks/json-schema-validation/final-data.ts";
|
|
27
|
+
export type { JsonSchemaValidationFinalData } from "./package-checks/json-schema-validation/final-data.ts";
|
|
28
|
+
export type { JsonSchemaValidationOptions, ResolvedJsonSchemaValidationOptions } from "./package-checks/json-schema-validation/options.ts";
|
|
29
|
+
export type { JsonSchemaDocumentReason, JsonSchemaValidationRecordData, JsonSchemaValidationRecordReason, JsonSchemaValidationUnavailableCode } from "./package-checks/json-schema-validation/json-schema-validation.ts";
|
|
30
|
+
export { jsonValidation } from "./package-checks/json-validation/default-check.ts";
|
|
31
|
+
export { parseJsonValidationData } from "./package-checks/json-validation/final-data.ts";
|
|
32
|
+
export type { JsonValidationFinalData } from "./package-checks/json-validation/final-data.ts";
|
|
33
|
+
export type { JsonValidationOptions, ResolvedJsonValidationOptions } from "./package-checks/json-validation/options.ts";
|
|
34
|
+
export type { JsonValidationRecordData, JsonValidationRecordReason, JsonValidationUnavailableCode } from "./package-checks/json-validation/json-validation.ts";
|
|
35
|
+
export { maintenanceReminders } from "./package-checks/maintenance-reminders/maintenance-reminders.ts";
|
|
36
|
+
export type { MaintenanceReminder, MaintenanceReminderOptions, MaintenanceRemindersUnavailableCode } from "./package-checks/maintenance-reminders/maintenance-reminders.ts";
|
|
37
|
+
export { parseMaintenanceRemindersData } from "./package-checks/maintenance-reminders/final-data.ts";
|
|
38
|
+
export type { MaintenanceReminderAssessment, MaintenanceReminderUnavailableReason, MaintenanceRemindersFinalData } from "./package-checks/maintenance-reminders/final-data.ts";
|
|
39
|
+
export { markdownLinkValidation } from "./package-checks/markdown-link-validation/default-check.ts";
|
|
40
|
+
export { parseMarkdownLinkValidationData } from "./package-checks/markdown-link-validation/final-data.ts";
|
|
41
|
+
export type { MarkdownLinkValidationFinalData } from "./package-checks/markdown-link-validation/final-data.ts";
|
|
42
|
+
export type { MarkdownLinkValidationOptions, ResolvedMarkdownLinkValidationOptions } from "./package-checks/markdown-link-validation/options.ts";
|
|
43
|
+
export type { MarkdownLinkValidationUnavailableReason } from "./package-checks/markdown-link-validation/execution.ts";
|
|
44
|
+
export type { MarkdownLinkValidationRecordData } from "./package-checks/markdown-link-validation/records.ts";
|
|
45
|
+
export type { MarkdownLinkFindingReason } from "./package-checks/markdown-link-validation/local-resolver.ts";
|
|
46
|
+
export type { FindingPolicy } from "./package-checks/code-quality-findings/policy.ts";
|
|
47
|
+
export { reconcileFindingWaivers } from "./finding-waivers/reconciliation.ts";
|
|
48
|
+
export type { FindingWaiver, FindingWaiverAudit, FindingWaiverReconciliation, MaterializedFindingWaiver, ReconciledFinding, ReconcileFindingWaiversOptions } from "./finding-waivers/reconciliation.ts";
|
|
49
|
+
export { defaultProjectFileSelection } from "./package-checks/project-files/configuration.ts";
|
|
50
|
+
export type { ProjectFileSelection, ProjectFileSelectionOptions, ProjectFileSource } from "./package-checks/project-files/configuration.ts";
|
|
51
|
+
export { defineCheck, inherit } from "./check/check.ts";
|
|
52
|
+
export type { Check, CheckExecution, CheckExecutionContext, CheckPreflight, CheckPreflightResult, CheckOutcome, CheckResult, CheckUnavailableReason, InheritableCheckCollection } from "./check/check.ts";
|
|
53
|
+
export { defineConfig } from "./project-definition/project-definition.ts";
|
|
54
|
+
export type { ProjectOutputs, ProjectDefinition, SchedulerPolicy } from "./project-definition/project-definition.ts";
|
|
55
|
+
export type { CheckAggregate, CheckAggregation, RunControls } from "./project-run/controls/contract.ts";
|
|
56
|
+
export { run } from "./project-run/run.ts";
|
|
57
|
+
export type { RunResult } from "./project-run/result.ts";
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
interface PublicationCandidates {
|
|
2
|
+
readonly recordsNdjson: string;
|
|
3
|
+
readonly runJson: string;
|
|
4
|
+
}
|
|
5
|
+
/** Writes an already validated two-file candidate set through owned temporary paths. */
|
|
6
|
+
export declare function publishPublicationCandidatesV4(artifactDir: string, candidates: PublicationCandidates): void;
|
|
7
|
+
export declare function cleanupPublicationV4(artifactDir: string): void;
|
|
8
|
+
export declare function cleanupPublicationV4BestEffort(artifactDir: string): void;
|
|
9
|
+
export {};
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import type { TrustedPublicationModelV4 } from "./publication-model.ts";
|
|
2
|
+
import type { MachineRecordV4, MachineRunV4 } from "./schema.ts";
|
|
3
|
+
export interface MachinePublicationV4 {
|
|
4
|
+
readonly records: readonly MachineRecordV4[];
|
|
5
|
+
readonly run: MachineRunV4;
|
|
6
|
+
}
|
|
7
|
+
export declare function projectMachinePublicationV4(model: TrustedPublicationModelV4): MachinePublicationV4;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { CoreSnapshot } from "../../check-settlement/facts.ts";
|
|
2
|
+
export interface PublicationInvocationV4 {
|
|
3
|
+
readonly invocationId: string;
|
|
4
|
+
readonly projectRoot: ".";
|
|
5
|
+
readonly timestamp: string;
|
|
6
|
+
}
|
|
7
|
+
/** Trusted Core facts and validated invocation metadata for v4 candidate projection. */
|
|
8
|
+
export interface TrustedPublicationModelV4 {
|
|
9
|
+
readonly invocation: PublicationInvocationV4;
|
|
10
|
+
readonly snapshot: CoreSnapshot;
|
|
11
|
+
}
|
|
12
|
+
export declare function createPublicationModelV4(input: Readonly<{
|
|
13
|
+
invocation: PublicationInvocationV4;
|
|
14
|
+
snapshot: CoreSnapshot;
|
|
15
|
+
}>): TrustedPublicationModelV4;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
import { type TrustedPublicationModelV4 } from "./publication-model.ts";
|
|
2
|
+
export { cleanupPublicationV4, cleanupPublicationV4BestEffort } from "./atomic-publication.ts";
|
|
3
|
+
/** Publishes only the validated two-file machine set; human projection is not a v4 concern. */
|
|
4
|
+
export declare function publishScanV4(input: Readonly<{
|
|
5
|
+
artifactDir: string;
|
|
6
|
+
model: TrustedPublicationModelV4;
|
|
7
|
+
}>): void;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { MachineRecordV4 } from "./schema.ts";
|
|
2
|
+
export declare const MACHINE_RECORDS_V4_FINGERPRINT_PREFIX = "check-record/v2/records/sha256:";
|
|
3
|
+
/** Binds the complete, canonically ordered v4 Record row set, including empty. */
|
|
4
|
+
export declare function createRecordsFingerprintV4(records: readonly MachineRecordV4[]): string;
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const MACHINE_RUN_V4_SCHEMA_ID = "urn:vibe-check:schema:run:v4";
|
|
2
|
+
export declare const MACHINE_RECORD_V4_SCHEMA_ID = "urn:vibe-check:schema:record:v4";
|
|
3
|
+
export declare const MACHINE_RUN_V4_IDENTITY = "vibe-check.run.v4";
|
|
4
|
+
export declare const MACHINE_RECORD_V4_IDENTITY = "vibe-check.record.v4";
|
|
5
|
+
export declare const MACHINE_V4_TIMESTAMP_PATTERN = "^[0-9]{4}-[0-9]{2}-[0-9]{2}T[0-9]{2}:[0-9]{2}:[0-9]{2}\\.[0-9]{3}Z$";
|
|
6
|
+
export declare const MACHINE_RUN_V4_SCHEMA_PATH = "docs/schemas/vibe-check-run.schema.json";
|
|
7
|
+
export declare const MACHINE_RECORD_V4_SCHEMA_PATH = "docs/schemas/vibe-check-record.schema.json";
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import Type from "typebox";
|
|
2
|
+
export declare const MACHINE_RECORD_V4_SCHEMA: Type.TObject<{
|
|
3
|
+
checkId: Type.TString;
|
|
4
|
+
data: Type.TRecord<"^.*$", Type.TAny>;
|
|
5
|
+
id: Type.TString;
|
|
6
|
+
schemaVersion: Type.TLiteral<"vibe-check.record.v4">;
|
|
7
|
+
}>;
|
|
8
|
+
export declare const MACHINE_RUN_V4_SCHEMA: Type.TObject<{
|
|
9
|
+
checks: Type.TArray<Type.TObject<{
|
|
10
|
+
checkId: Type.TString;
|
|
11
|
+
displayName: Type.TString;
|
|
12
|
+
outcome: Type.TUnion<[Type.TObject<{
|
|
13
|
+
data: Type.TRecord<"^.*$", Type.TAny>;
|
|
14
|
+
status: Type.TLiteral<"passed">;
|
|
15
|
+
}>, Type.TObject<{
|
|
16
|
+
data: Type.TRecord<"^.*$", Type.TAny>;
|
|
17
|
+
status: Type.TLiteral<"failed">;
|
|
18
|
+
}>, Type.TObject<{
|
|
19
|
+
reason: Type.TOptional<Type.TObject<{
|
|
20
|
+
code: Type.TString;
|
|
21
|
+
}>>;
|
|
22
|
+
status: Type.TLiteral<"not-applicable">;
|
|
23
|
+
}>, Type.TObject<{
|
|
24
|
+
reason: Type.TObject<{
|
|
25
|
+
checkIds: Type.TOptional<Type.TArray<Type.TString>>;
|
|
26
|
+
code: Type.TString;
|
|
27
|
+
}>;
|
|
28
|
+
status: Type.TLiteral<"unavailable">;
|
|
29
|
+
}>]>;
|
|
30
|
+
}>>;
|
|
31
|
+
invocation: Type.TObject<{
|
|
32
|
+
invocationId: Type.TString;
|
|
33
|
+
projectRoot: Type.TLiteral<".">;
|
|
34
|
+
timestamp: Type.TString;
|
|
35
|
+
}>;
|
|
36
|
+
recordsFingerprint: Type.TString;
|
|
37
|
+
schemaVersion: Type.TLiteral<"vibe-check.run.v4">;
|
|
38
|
+
}>;
|
|
39
|
+
type DeepReadonly<Value> = Value extends readonly (infer Item)[] ? readonly DeepReadonly<Item>[] : Value extends object ? {
|
|
40
|
+
readonly [Key in keyof Value]: DeepReadonly<Value[Key]>;
|
|
41
|
+
} : Value;
|
|
42
|
+
export type MachineRecordV4 = DeepReadonly<Type.Static<typeof MACHINE_RECORD_V4_SCHEMA>>;
|
|
43
|
+
export type MachineRunV4 = DeepReadonly<Type.Static<typeof MACHINE_RUN_V4_SCHEMA>>;
|
|
44
|
+
export {};
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import type { MachinePublicationV4 } from "./projection.ts";
|
|
2
|
+
export interface MachinePublicationCandidatesV4 {
|
|
3
|
+
readonly recordsNdjson: string;
|
|
4
|
+
readonly runJson: string;
|
|
5
|
+
}
|
|
6
|
+
export declare function serializeMachinePublicationV4(publication: MachinePublicationV4): MachinePublicationCandidatesV4;
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
import type { MachinePublicationV4 } from "./projection.ts";
|
|
2
|
+
export type MachinePublicationValidationCategory = "decoding" | "framing" | "schema" | "set-invariant" | "syntax";
|
|
3
|
+
export type MachinePublicationSetRelationship = "check-canonical-order" | "core-snapshot" | "record-canonical-order" | "record-check-ownership" | "records-fingerprint";
|
|
4
|
+
export interface MachinePublicationValidationDiagnostic {
|
|
5
|
+
readonly category: MachinePublicationValidationCategory;
|
|
6
|
+
readonly index?: number;
|
|
7
|
+
readonly line?: number;
|
|
8
|
+
readonly logicalArtifact: "records.ndjson" | "run.json";
|
|
9
|
+
readonly message: string;
|
|
10
|
+
readonly pointer?: string;
|
|
11
|
+
readonly relationship?: MachinePublicationSetRelationship;
|
|
12
|
+
}
|
|
13
|
+
export type MachinePublicationValidationResult = Readonly<ValidationFailure | {
|
|
14
|
+
ok: true;
|
|
15
|
+
value: MachinePublicationV4;
|
|
16
|
+
}>;
|
|
17
|
+
export interface ValidationFailure {
|
|
18
|
+
readonly ok: false;
|
|
19
|
+
readonly diagnostic: MachinePublicationValidationDiagnostic;
|
|
20
|
+
}
|
|
21
|
+
export declare function validationSuccess<Value>(value: Value): {
|
|
22
|
+
ok: true;
|
|
23
|
+
value: Value;
|
|
24
|
+
};
|
|
25
|
+
export declare function validationFailure(diagnostic: MachinePublicationValidationDiagnostic): ValidationFailure;
|
|
26
|
+
export declare function setInvariantFailure(relationship: MachinePublicationSetRelationship, logicalArtifact: MachinePublicationValidationDiagnostic["logicalArtifact"], message: string, index?: number): ValidationFailure;
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
import { type MachinePublicationValidationResult } from "./validation-result.ts";
|
|
2
|
+
export type { MachinePublicationSetRelationship, MachinePublicationValidationCategory, MachinePublicationValidationDiagnostic, MachinePublicationValidationResult } from "./validation-result.ts";
|
|
3
|
+
export declare function validateMachinePublicationSetV4(input: Readonly<{
|
|
4
|
+
recordsNdjson: Uint8Array;
|
|
5
|
+
runJson: Uint8Array;
|
|
6
|
+
}>): MachinePublicationValidationResult;
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { CheckResult } from "../../check/check.ts";
|
|
2
|
+
export declare const FINDING_POLICIES: readonly ["blocking", "non-blocking"];
|
|
3
|
+
/** package-provided Check 用于结算 normal finding 的阻断策略。 */
|
|
4
|
+
export type FindingPolicy = (typeof FINDING_POLICIES)[number];
|
|
5
|
+
export declare const DEFAULT_FINDING_POLICY: FindingPolicy;
|
|
6
|
+
/** 三个代码质量 Check 正常完成时返回的精确 finding 计数。 */
|
|
7
|
+
export interface FindingSummary {
|
|
8
|
+
readonly blockingFindingCount: number;
|
|
9
|
+
readonly findingCount: number;
|
|
10
|
+
}
|
|
11
|
+
/** 一项 finding 在 Check 自己结算前的领域中性处置。 */
|
|
12
|
+
export interface FindingSettlement {
|
|
13
|
+
/** 该 finding 是否仍需要进入该 Check 的正常 finding 结算。 */
|
|
14
|
+
readonly actionable: boolean;
|
|
15
|
+
readonly blocking: boolean;
|
|
16
|
+
}
|
|
17
|
+
export declare function resolveFindingPolicy(value: unknown, fallback?: FindingPolicy): FindingPolicy | undefined;
|
|
18
|
+
export declare function validFindingPolicy(value: unknown): value is FindingPolicy;
|
|
19
|
+
export declare function isBlockingFinding(policies: readonly FindingPolicy[]): boolean;
|
|
20
|
+
export declare function settleFindings(findings: readonly FindingSettlement[]): CheckResult<FindingSummary>;
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { DuplicateCodeFragment, DuplicateDetectionAreaInput } from "./measurement-model.ts";
|
|
2
|
+
/** Restores every matching code area and applies the strictest involved policy. */
|
|
3
|
+
export declare function applyDuplicateAreaPolicy(fragments: readonly DuplicateCodeFragment[], areas: readonly DuplicateDetectionAreaInput[]): readonly DuplicateCodeFragment[] | undefined;
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { FileInputFingerprint } from "../../project-files/file-fingerprint.ts";
|
|
2
|
+
import type { DuplicateCodeFragment } from "../measurement-model.ts";
|
|
3
|
+
export declare const SCAN_CACHE_VERSION = "quality-scan-cache-v3";
|
|
4
|
+
export type DuplicateScannerCacheConfiguration = Readonly<{
|
|
5
|
+
backend: Readonly<{
|
|
6
|
+
kind: "package";
|
|
7
|
+
} | {
|
|
8
|
+
executable: string;
|
|
9
|
+
kind: "custom";
|
|
10
|
+
}>;
|
|
11
|
+
minimumLines: number;
|
|
12
|
+
minimumTokens: number;
|
|
13
|
+
reportedPathMode: "absolute";
|
|
14
|
+
reporter: "json";
|
|
15
|
+
workerPolicy: "tool-default";
|
|
16
|
+
}>;
|
|
17
|
+
export type DuplicateCodeCacheIdentity = Readonly<{
|
|
18
|
+
commitSha: string;
|
|
19
|
+
configVersion: string;
|
|
20
|
+
inputFingerprint: FileInputFingerprint;
|
|
21
|
+
scannerConfiguration: DuplicateScannerCacheConfiguration;
|
|
22
|
+
toolName: "jscpd";
|
|
23
|
+
toolVersion: string;
|
|
24
|
+
}>;
|
|
25
|
+
export type DuplicateCodeCacheHit = Readonly<{
|
|
26
|
+
cacheKey: string;
|
|
27
|
+
cachePath: string;
|
|
28
|
+
hit: true;
|
|
29
|
+
metrics: readonly DuplicateCodeFragment[];
|
|
30
|
+
}>;
|
|
31
|
+
export type DuplicateCodeCacheMiss = Readonly<{
|
|
32
|
+
cacheKey: string;
|
|
33
|
+
cachePath: string;
|
|
34
|
+
hit: false;
|
|
35
|
+
reason: "cache-miss" | "cache-payload-invalid" | "cache-payload-mismatch";
|
|
36
|
+
}>;
|
|
37
|
+
export type ScanCachePayload = Readonly<{
|
|
38
|
+
cacheKey: string;
|
|
39
|
+
commitSha: string;
|
|
40
|
+
configVersion: string;
|
|
41
|
+
createdAt: string;
|
|
42
|
+
inputFingerprint: FileInputFingerprint;
|
|
43
|
+
metrics: unknown;
|
|
44
|
+
scannerConfiguration: DuplicateScannerCacheConfiguration;
|
|
45
|
+
scanCacheVersion: string;
|
|
46
|
+
toolName: "jscpd";
|
|
47
|
+
toolVersion: string;
|
|
48
|
+
}>;
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { DuplicateDetectionExactInputSet } from "../measurement-model.ts";
|
|
2
|
+
import type { ResolvedDuplicateDetectionScannerOptions } from "../options.ts";
|
|
3
|
+
import type { DuplicateCodeCacheIdentity, DuplicateScannerCacheConfiguration } from "./cache-contract.ts";
|
|
4
|
+
interface DuplicateScanCacheIdentityInput {
|
|
5
|
+
readonly dependency: ResolvedDuplicateDetectionScannerOptions;
|
|
6
|
+
readonly exactInput: DuplicateDetectionExactInputSet;
|
|
7
|
+
readonly minimumLines: number;
|
|
8
|
+
readonly minimumTokens: number;
|
|
9
|
+
readonly toolVersion: string;
|
|
10
|
+
}
|
|
11
|
+
export declare function createDuplicateScanCacheIdentity(input: DuplicateScanCacheIdentityInput): DuplicateCodeCacheIdentity;
|
|
12
|
+
export declare function jscpdCacheConfiguration(input: {
|
|
13
|
+
readonly dependency: ResolvedDuplicateDetectionScannerOptions;
|
|
14
|
+
readonly minimumLines: number;
|
|
15
|
+
readonly minimumTokens: number;
|
|
16
|
+
}): DuplicateScannerCacheConfiguration;
|
|
17
|
+
export {};
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import { type DuplicateCodeCacheIdentity } from "./cache-contract.ts";
|
|
2
|
+
export declare function buildScanCacheKey(identity: DuplicateCodeCacheIdentity): string;
|
|
3
|
+
export declare function getScanCachePath(rootDir: string, cacheKey: string): string;
|
|
4
|
+
export declare function stableStringify(value: unknown): string;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { DuplicateCodeFragment } from "../measurement-model.ts";
|
|
2
|
+
import { type DuplicateCodeCacheIdentity, type ScanCachePayload } from "./cache-contract.ts";
|
|
3
|
+
export declare function isMatchingPayload(payload: unknown, identity: DuplicateCodeCacheIdentity, cacheKey: string): payload is ScanCachePayload;
|
|
4
|
+
export declare function isMetricArray(value: unknown): value is readonly DuplicateCodeFragment[];
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
/** 读取和写入 duplicate-code raw-scan cache entries。 */
|
|
2
|
+
import type { DuplicateCodeFragment } from "../measurement-model.ts";
|
|
3
|
+
import { type DuplicateCodeCacheHit, type DuplicateCodeCacheIdentity, type DuplicateCodeCacheMiss } from "./cache-contract.ts";
|
|
4
|
+
export { buildScanCacheKey, getScanCachePath } from "./key.ts";
|
|
5
|
+
export { SCAN_CACHE_VERSION } from "./cache-contract.ts";
|
|
6
|
+
export type { DuplicateCodeCacheHit, DuplicateCodeCacheIdentity, DuplicateCodeCacheMiss } from "./cache-contract.ts";
|
|
7
|
+
export declare function loadScanCacheEntry({ rootDir, identity }: {
|
|
8
|
+
identity: DuplicateCodeCacheIdentity;
|
|
9
|
+
rootDir: string;
|
|
10
|
+
}): DuplicateCodeCacheHit | DuplicateCodeCacheMiss;
|
|
11
|
+
export declare function writeScanCacheEntry({ rootDir, identity, metrics }: {
|
|
12
|
+
identity: DuplicateCodeCacheIdentity;
|
|
13
|
+
metrics: readonly DuplicateCodeFragment[];
|
|
14
|
+
rootDir: string;
|
|
15
|
+
}): {
|
|
16
|
+
cacheKey: string;
|
|
17
|
+
cachePath: string;
|
|
18
|
+
};
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import { type TypedCheckWithOptions } from "../../check/check.ts";
|
|
2
|
+
import { parseDuplicateDetectionData } from "./final-data.ts";
|
|
3
|
+
import type { DuplicateDetectionOptions, ResolvedDuplicateDetectionOptions } from "./options.ts";
|
|
4
|
+
/**
|
|
5
|
+
* 使用可省略的区域、cache 与 scanner policy 构造一个完整 duplicate-detection Check。
|
|
6
|
+
*
|
|
7
|
+
* @param options - 省略字段由 package 补齐;显式 files 数组作为对应字段的完整替换值。
|
|
8
|
+
* @returns 固定 `duplicate-detection` identity、完整冻结 options、preflight 与 execution。
|
|
9
|
+
* @throws {TypeError} input 含未知字段、空 area、非法阈值、非法 cache 或 scanner policy 时抛出。
|
|
10
|
+
*/
|
|
11
|
+
export declare function duplicateDetection(options?: DuplicateDetectionOptions): TypedCheckWithOptions<"duplicate-detection", ResolvedDuplicateDetectionOptions, typeof parseDuplicateDetectionData>;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { CheckExecutionContext, CheckResult } from "../../check/check.ts";
|
|
2
|
+
import type { ResolvedDuplicateDetectionOptions } from "./options.ts";
|
|
3
|
+
import type { DuplicateDetectionFinalData } from "./final-data.ts";
|
|
4
|
+
export declare const DUPLICATE_DETECTION_CHECK_DEFINITION: {
|
|
5
|
+
readonly checkId: "duplicate-detection";
|
|
6
|
+
readonly displayName: "Duplicate detection";
|
|
7
|
+
};
|
|
8
|
+
/** `duplicate-detection` whole-Check unavailable outcome 的稳定 reason code。 */
|
|
9
|
+
export type DuplicateDetectionUnavailableReasonCode = "cache-write-failed" | "external-dependency-unavailable" | "external-execution-failed" | "external-result-invalid" | "invalid-options" | "source-unavailable";
|
|
10
|
+
/** Default Check callback;scanner configuration 由其完整 options 拥有。 */
|
|
11
|
+
export declare function executeDuplicateDetection(context: CheckExecutionContext<ResolvedDuplicateDetectionOptions>): Promise<CheckResult<DuplicateDetectionFinalData>>;
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
import type { FindingSummary } from "../code-quality-findings/policy.ts";
|
|
2
|
+
/** `duplicate-detection` 在 passed/failed outcome 中发布的主数据。 */
|
|
3
|
+
export type DuplicateDetectionFinalData = FindingSummary;
|
|
4
|
+
/** 验证并脱离一份 `duplicate-detection` canonical final-data object。 */
|
|
5
|
+
export declare function parseDuplicateDetectionData(data: unknown): DuplicateDetectionFinalData;
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import type { ResolvedDuplicateDetectionScannerOptions } from "../options.ts";
|
|
2
|
+
type JscpdAvailability = Readonly<{
|
|
3
|
+
available: true;
|
|
4
|
+
error: null;
|
|
5
|
+
name: "jscpd";
|
|
6
|
+
reason: null;
|
|
7
|
+
source: JscpdSource;
|
|
8
|
+
version: string;
|
|
9
|
+
} | {
|
|
10
|
+
available: false;
|
|
11
|
+
error: string;
|
|
12
|
+
name: "jscpd";
|
|
13
|
+
reason: "execution-error" | "tool-unavailable";
|
|
14
|
+
source: JscpdSource;
|
|
15
|
+
version: null;
|
|
16
|
+
}>;
|
|
17
|
+
type JscpdSource = "custom command" | "package dependency";
|
|
18
|
+
export declare function checkJscpd(rootDir: string, dependency: ResolvedDuplicateDetectionScannerOptions): Promise<JscpdAvailability>;
|
|
19
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function isMissingExplicitCommand(command: string): boolean;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
import type { DuplicateDetectionScannerCommand } from "../options.ts";
|
|
2
|
+
export interface JscpdCommand {
|
|
3
|
+
readonly executable: string;
|
|
4
|
+
readonly scanPrefixArguments: readonly string[];
|
|
5
|
+
readonly versionArguments: readonly string[];
|
|
6
|
+
}
|
|
7
|
+
export type ResolvedJscpdCommand = Readonly<{
|
|
8
|
+
command: JscpdCommand;
|
|
9
|
+
kind: "resolved";
|
|
10
|
+
}> | Readonly<{
|
|
11
|
+
error: string;
|
|
12
|
+
kind: "unavailable";
|
|
13
|
+
}>;
|
|
14
|
+
/**
|
|
15
|
+
* package-provided scanner 的可移植 marker。真实 executable 只由私有 jscpd adapter 解析,避免公共
|
|
16
|
+
* Definition 与 fingerprint 保存 consumer-specific Bun 或 package path。
|
|
17
|
+
*/
|
|
18
|
+
export declare const DEFAULT_JSCPD_COMMAND: DuplicateDetectionScannerCommand;
|
|
19
|
+
export declare function isPackageJscpdCommand(command: DuplicateDetectionScannerCommand): command is Extract<DuplicateDetectionScannerCommand, {
|
|
20
|
+
readonly kind: "package";
|
|
21
|
+
}>;
|
|
22
|
+
export declare function resolveJscpdCommand(command: DuplicateDetectionScannerCommand): ResolvedJscpdCommand;
|
|
23
|
+
export declare function readJscpdBinTarget(packageManifestPath: string): string | null;
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { DuplicateCodeFragment } from "../measurement-model.ts";
|
|
2
|
+
import type { ExactInputMeasurement } from "../../project-files/exact-input-measurement.ts";
|
|
3
|
+
export type JscpdScanFailureReason = "jscpd-execution-error" | "jscpd-report-failure" | "jscpd-parse-failure";
|
|
4
|
+
export type JscpdScanResult = {
|
|
5
|
+
readonly measurements: readonly ExactInputMeasurement<DuplicateCodeFragment>[];
|
|
6
|
+
readonly ok: true;
|
|
7
|
+
} | {
|
|
8
|
+
readonly error: string;
|
|
9
|
+
readonly ok: false;
|
|
10
|
+
readonly reason: JscpdScanFailureReason;
|
|
11
|
+
};
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* jscpd duplicate-code detection wrapper.
|
|
3
|
+
*
|
|
4
|
+
* Runs the Check-owned jscpd CLI, writes a temporary config for the
|
|
5
|
+
* approved exact-scope file list, and normalizes the JSON report behind the
|
|
6
|
+
* repository-owned DuplicateCodeFragment model.
|
|
7
|
+
*/
|
|
8
|
+
import type { ResolvedDuplicateDetectionScannerOptions } from "../options.ts";
|
|
9
|
+
import type { JscpdScanResult } from "./scanner-contract.ts";
|
|
10
|
+
export type { JscpdScanResult } from "./scanner-contract.ts";
|
|
11
|
+
export { parseJscpdJsonReport } from "./json-report.ts";
|
|
12
|
+
export declare function parseJscpdVersionOutput(output: string): string | null;
|
|
13
|
+
interface ScanWithJscpdOptions {
|
|
14
|
+
readonly cwd: string;
|
|
15
|
+
readonly dependency: ResolvedDuplicateDetectionScannerOptions;
|
|
16
|
+
readonly files: readonly string[];
|
|
17
|
+
readonly minimumLines: number;
|
|
18
|
+
readonly minimumTokens: number;
|
|
19
|
+
}
|
|
20
|
+
export declare function scanWithJscpd(options: ScanWithJscpdOptions): JscpdScanResult;
|
|
21
|
+
export declare function scanWithJscpdAsync(options: ScanWithJscpdOptions): Promise<JscpdScanResult>;
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
import type { DuplicateCodeFragment } from "../measurement-model.ts";
|
|
2
|
+
import type { ExactInputMeasurement } from "../../project-files/exact-input-measurement.ts";
|
|
3
|
+
export declare function toScopedJscpdMeasurement(fragment: DuplicateCodeFragment): ExactInputMeasurement<DuplicateCodeFragment>;
|
|
4
|
+
export declare function toScopedJscpdMeasurements(fragments: readonly DuplicateCodeFragment[]): ExactInputMeasurement<DuplicateCodeFragment>[];
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
import type { ResolvedDuplicateDetectionOptions, ResolvedDuplicateDetectionScannerOptions } from "./options.ts";
|
|
2
|
+
export interface DuplicateCodeLocation {
|
|
3
|
+
readonly endLine: number;
|
|
4
|
+
readonly path: string;
|
|
5
|
+
readonly startLine: number;
|
|
6
|
+
}
|
|
7
|
+
export interface DuplicateCodeFragment {
|
|
8
|
+
readonly codeAreas: readonly string[];
|
|
9
|
+
readonly id: number;
|
|
10
|
+
readonly lineCount: number;
|
|
11
|
+
readonly locations: readonly DuplicateCodeLocation[];
|
|
12
|
+
readonly tokenCount: number;
|
|
13
|
+
}
|
|
14
|
+
export interface DuplicateDetectionAreaInput {
|
|
15
|
+
readonly approvedExactPaths: readonly string[];
|
|
16
|
+
readonly codeArea: string;
|
|
17
|
+
readonly minimumLines: number;
|
|
18
|
+
readonly minimumTokens: number;
|
|
19
|
+
}
|
|
20
|
+
export interface DuplicateDetectionExactInputSet {
|
|
21
|
+
readonly approvedExactPaths: readonly string[];
|
|
22
|
+
readonly areas: readonly DuplicateDetectionAreaInput[];
|
|
23
|
+
readonly cacheRootDir: string;
|
|
24
|
+
readonly commitSha: string;
|
|
25
|
+
readonly inputFingerprint: Readonly<{
|
|
26
|
+
readonly fileCount: number;
|
|
27
|
+
readonly fileList: readonly string[];
|
|
28
|
+
readonly fingerprint: string;
|
|
29
|
+
}>;
|
|
30
|
+
readonly rootDir: string;
|
|
31
|
+
}
|
|
32
|
+
export interface DuplicateMeasurementInput {
|
|
33
|
+
readonly cache: ResolvedDuplicateDetectionOptions["cache"];
|
|
34
|
+
readonly dependency: ResolvedDuplicateDetectionScannerOptions;
|
|
35
|
+
readonly exactInput: DuplicateDetectionExactInputSet;
|
|
36
|
+
}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { DuplicateCodeFragment, DuplicateMeasurementInput } from "./measurement-model.ts";
|
|
2
|
+
export type DuplicateMeasurementResult = Readonly<{
|
|
3
|
+
fragments: readonly DuplicateCodeFragment[];
|
|
4
|
+
kind: "complete";
|
|
5
|
+
} | {
|
|
6
|
+
kind: "execution-failed";
|
|
7
|
+
} | {
|
|
8
|
+
kind: "invalid-result";
|
|
9
|
+
} | {
|
|
10
|
+
kind: "cache-write-failed";
|
|
11
|
+
} | {
|
|
12
|
+
kind: "unavailable";
|
|
13
|
+
}>;
|
|
14
|
+
export declare function measureDuplicateDetection(options: DuplicateMeasurementInput): Promise<DuplicateMeasurementResult>;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function validResolvedDuplicateDetectionOptions(value: object): boolean;
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { ProjectFileSelection, ProjectFileSelectionOptions } from "../project-files/configuration.ts";
|
|
2
|
+
import type { FindingPolicy } from "../code-quality-findings/policy.ts";
|
|
3
|
+
export type DuplicateDetectionScannerCommand =
|
|
4
|
+
/** 使用随 `@zxyycom/vibe-check` 安装的 jscpd。 */
|
|
5
|
+
Readonly<{
|
|
6
|
+
readonly kind: "package";
|
|
7
|
+
}>
|
|
8
|
+
/** 显式授权另一个 jscpd 命令。 */
|
|
9
|
+
| Readonly<{
|
|
10
|
+
/** 项目已授权且直接接受 jscpd CLI 参数的非空命令。 */
|
|
11
|
+
readonly executable: string;
|
|
12
|
+
readonly kind: "custom";
|
|
13
|
+
}>;
|
|
14
|
+
/** `duplicateDetection` 构造函数可省略的缓存策略。 */
|
|
15
|
+
export interface DuplicateDetectionCacheOptions {
|
|
16
|
+
/** 省略时为 `.cache/vibe-check`;相对路径以项目根目录解析。 */
|
|
17
|
+
readonly directory?: string;
|
|
18
|
+
/** 省略时启用。 */
|
|
19
|
+
readonly enabled?: boolean;
|
|
20
|
+
}
|
|
21
|
+
/** `duplicateDetection` 构造函数可省略的 scanner 策略。 */
|
|
22
|
+
export interface DuplicateDetectionScannerOptions {
|
|
23
|
+
/** 省略时使用随 `@zxyycom/vibe-check` 安装的 jscpd。 */
|
|
24
|
+
readonly command?: DuplicateDetectionScannerCommand;
|
|
25
|
+
}
|
|
26
|
+
/** 重复代码区域可省略并由构造函数补齐的文件策略。 */
|
|
27
|
+
export type DuplicateDetectionFileOptions = ProjectFileSelectionOptions;
|
|
28
|
+
/** 可独立选择文件、阈值和 finding policy 的重复代码区域。 */
|
|
29
|
+
export interface DuplicateDetectionCodeAreaOptions {
|
|
30
|
+
/** 显式区域必须声明本字段;其中各子字段可省略并使用 package 默认值。 */
|
|
31
|
+
readonly files: DuplicateDetectionFileOptions;
|
|
32
|
+
/** 省略时继承顶层 `findingPolicy`。 */
|
|
33
|
+
readonly findingPolicy?: FindingPolicy;
|
|
34
|
+
/** 省略时为 `4`。 */
|
|
35
|
+
readonly minimumLines?: number;
|
|
36
|
+
/** 省略时为 `100`。 */
|
|
37
|
+
readonly minimumTokens?: number;
|
|
38
|
+
}
|
|
39
|
+
/** `duplicateDetection(options?)` 接受并补齐默认值的公开策略。 */
|
|
40
|
+
export interface DuplicateDetectionOptions {
|
|
41
|
+
/** 省略时建立默认 `project` 区域;显式映射必须非空。 */
|
|
42
|
+
readonly codeAreas?: Readonly<Record<string, DuplicateDetectionCodeAreaOptions>>;
|
|
43
|
+
readonly cache?: DuplicateDetectionCacheOptions;
|
|
44
|
+
/** 省略时为 `non-blocking`;区域可局部覆盖。 */
|
|
45
|
+
readonly findingPolicy?: FindingPolicy;
|
|
46
|
+
readonly scanner?: DuplicateDetectionScannerOptions;
|
|
47
|
+
}
|
|
48
|
+
/** 构造函数生成并由 Check preflight/execution 消费的完整 options。 */
|
|
49
|
+
export interface ResolvedDuplicateDetectionOptions {
|
|
50
|
+
readonly cache: Readonly<{
|
|
51
|
+
readonly directory: string;
|
|
52
|
+
readonly enabled: boolean;
|
|
53
|
+
}>;
|
|
54
|
+
readonly codeAreas: Readonly<Record<string, ResolvedDuplicateDetectionCodeAreaOptions>>;
|
|
55
|
+
readonly scanner: ResolvedDuplicateDetectionScannerOptions;
|
|
56
|
+
}
|
|
57
|
+
export interface ResolvedDuplicateDetectionCodeAreaOptions {
|
|
58
|
+
readonly files: ProjectFileSelection;
|
|
59
|
+
readonly findingPolicy: FindingPolicy;
|
|
60
|
+
readonly minimumLines: number;
|
|
61
|
+
readonly minimumTokens: number;
|
|
62
|
+
}
|
|
63
|
+
export interface ResolvedDuplicateDetectionScannerOptions {
|
|
64
|
+
readonly command: DuplicateDetectionScannerCommand;
|
|
65
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare function getGitSha(cwd: string): string;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import type { DuplicateCodeFragment } from "./measurement-model.ts";
|
|
2
|
+
import type { ResolvedDuplicateDetectionOptions } from "./options.ts";
|
|
3
|
+
/** 一条可信重复片段 supplemental Record 的 data。 */
|
|
4
|
+
export type DuplicateDetectionRecordData = Readonly<{
|
|
5
|
+
readonly blocking: boolean;
|
|
6
|
+
readonly codeAreas: readonly string[];
|
|
7
|
+
readonly lineCount: number;
|
|
8
|
+
readonly locations: readonly Readonly<{
|
|
9
|
+
readonly endLine: number;
|
|
10
|
+
readonly path: string;
|
|
11
|
+
readonly startLine: number;
|
|
12
|
+
}>[];
|
|
13
|
+
readonly metric: "duplicate-tokens";
|
|
14
|
+
readonly tokenCount: number;
|
|
15
|
+
}>;
|
|
16
|
+
export interface DuplicateRecordCandidate {
|
|
17
|
+
readonly data: DuplicateDetectionRecordData;
|
|
18
|
+
readonly id: string;
|
|
19
|
+
}
|
|
20
|
+
/** Builds Check-owned supplemental facts without adding a Product record catalog. */
|
|
21
|
+
export declare function buildDuplicateRecordCandidates(fragments: readonly DuplicateCodeFragment[], codeAreas: ResolvedDuplicateDetectionOptions["codeAreas"]): readonly DuplicateRecordCandidate[] | undefined;
|
|
22
|
+
export declare function isValidDuplicateFragment(fragment: DuplicateCodeFragment): boolean;
|