@zxyycom/vibe-check 0.0.1 → 0.0.3
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/README.md +79 -75
- package/dist/esm/check/check.mjs +4 -0
- package/dist/esm/check/check.mjs.map +1 -1
- package/dist/esm/check/flag-enablement.mjs +32 -0
- package/dist/esm/check/flag-enablement.mjs.map +1 -0
- package/dist/esm/check/handoff-provider-identity.mjs +18 -0
- package/dist/esm/check/handoff-provider-identity.mjs.map +1 -0
- package/dist/esm/check/inherited-collection.mjs +2 -2
- package/dist/esm/check/inherited-collection.mjs.map +1 -1
- package/dist/esm/check/project-changes.mjs +2 -0
- package/dist/esm/check/project-changes.mjs.map +1 -0
- package/dist/esm/check/project-context.mjs +2 -0
- package/dist/esm/check/project-context.mjs.map +1 -0
- package/dist/esm/check-settlement/fact-validation.mjs +17 -23
- package/dist/esm/check-settlement/fact-validation.mjs.map +1 -1
- package/dist/esm/check-settlement/facts.mjs.map +1 -1
- package/dist/esm/check-settlement/outcome-normalization.mjs +9 -19
- package/dist/esm/check-settlement/outcome-normalization.mjs.map +1 -1
- package/dist/esm/check-settlement/reason-shape.mjs +12 -0
- package/dist/esm/check-settlement/reason-shape.mjs.map +1 -0
- package/dist/esm/check-settlement/record-store.mjs +14 -17
- package/dist/esm/check-settlement/record-store.mjs.map +1 -1
- package/dist/esm/check-settlement/session.mjs +8 -2
- package/dist/esm/check-settlement/session.mjs.map +1 -1
- package/dist/esm/data-boundary/canonical-data.mjs +36 -7
- package/dist/esm/data-boundary/canonical-data.mjs.map +1 -1
- package/dist/esm/data-boundary/canonical-json.mjs.map +1 -1
- package/dist/esm/data-boundary/closed-values.mjs +43 -3
- package/dist/esm/data-boundary/closed-values.mjs.map +1 -1
- package/dist/esm/{package-checks/project-files → data-boundary}/config-glob.mjs +3 -3
- package/dist/esm/data-boundary/config-glob.mjs.map +1 -0
- package/dist/esm/data-boundary/project-path.mjs +19 -0
- package/dist/esm/data-boundary/project-path.mjs.map +1 -0
- package/dist/esm/data-boundary/value-shapes.mjs +9 -0
- package/dist/esm/data-boundary/value-shapes.mjs.map +1 -1
- package/dist/esm/index.mjs +16 -2
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/machine-output/v4/atomic-publication.mjs +5 -16
- package/dist/esm/machine-output/v4/atomic-publication.mjs.map +1 -1
- package/dist/esm/package-checks/check-authoring.mjs +69 -0
- package/dist/esm/package-checks/check-authoring.mjs.map +1 -0
- package/dist/esm/package-checks/code-quality-findings/finding-waiver-authoring.mjs +40 -0
- package/dist/esm/package-checks/code-quality-findings/finding-waiver-authoring.mjs.map +1 -0
- package/dist/esm/package-checks/code-quality-findings/finding-waiver-evidence.mjs +48 -0
- package/dist/esm/package-checks/code-quality-findings/finding-waiver-evidence.mjs.map +1 -0
- package/dist/esm/package-checks/code-quality-findings/policy.mjs +20 -0
- package/dist/esm/package-checks/code-quality-findings/policy.mjs.map +1 -1
- package/dist/esm/package-checks/command-check/command-check.mjs +55 -0
- package/dist/esm/package-checks/command-check/command-check.mjs.map +1 -0
- package/dist/esm/package-checks/command-check/contract.mjs +2 -0
- package/dist/esm/package-checks/command-check/contract.mjs.map +1 -0
- package/dist/esm/package-checks/command-check/execution.mjs +134 -0
- package/dist/esm/package-checks/command-check/execution.mjs.map +1 -0
- package/dist/esm/package-checks/command-check/options.mjs +284 -0
- package/dist/esm/package-checks/command-check/options.mjs.map +1 -0
- package/dist/esm/package-checks/command-check/transcript.mjs +26 -0
- package/dist/esm/package-checks/command-check/transcript.mjs.map +1 -0
- package/dist/esm/package-checks/duplicate-detection/area-policy.mjs +15 -7
- package/dist/esm/package-checks/duplicate-detection/area-policy.mjs.map +1 -1
- package/dist/esm/package-checks/duplicate-detection/cache/identity.mjs +1 -1
- package/dist/esm/package-checks/duplicate-detection/cache/identity.mjs.map +1 -1
- package/dist/esm/package-checks/duplicate-detection/default-check.mjs +10 -12
- package/dist/esm/package-checks/duplicate-detection/default-check.mjs.map +1 -1
- package/dist/esm/package-checks/duplicate-detection/execution.mjs +44 -20
- package/dist/esm/package-checks/duplicate-detection/execution.mjs.map +1 -1
- package/dist/esm/package-checks/duplicate-detection/finding-messages.mjs +59 -0
- package/dist/esm/package-checks/duplicate-detection/finding-messages.mjs.map +1 -0
- package/dist/esm/package-checks/duplicate-detection/finding-waiver-identity.mjs +55 -0
- package/dist/esm/package-checks/duplicate-detection/finding-waiver-identity.mjs.map +1 -0
- package/dist/esm/package-checks/duplicate-detection/jscpd/availability.mjs +2 -2
- package/dist/esm/package-checks/duplicate-detection/jscpd/availability.mjs.map +1 -1
- package/dist/esm/package-checks/duplicate-detection/jscpd/command-resolution.mjs +1 -1
- package/dist/esm/package-checks/duplicate-detection/jscpd/command-resolution.mjs.map +1 -1
- package/dist/esm/package-checks/duplicate-detection/jscpd/json-report.mjs +15 -5
- package/dist/esm/package-checks/duplicate-detection/jscpd/json-report.mjs.map +1 -1
- package/dist/esm/package-checks/duplicate-detection/jscpd/scanner.mjs +5 -4
- package/dist/esm/package-checks/duplicate-detection/jscpd/scanner.mjs.map +1 -1
- package/dist/esm/package-checks/duplicate-detection/options-resolution.mjs +22 -47
- package/dist/esm/package-checks/duplicate-detection/options-resolution.mjs.map +1 -1
- package/dist/esm/package-checks/duplicate-detection/options-validation.mjs +20 -25
- package/dist/esm/package-checks/duplicate-detection/options-validation.mjs.map +1 -1
- package/dist/esm/package-checks/duplicate-detection/options.mjs.map +1 -1
- package/dist/esm/package-checks/duplicate-detection/records.mjs +27 -6
- package/dist/esm/package-checks/duplicate-detection/records.mjs.map +1 -1
- package/dist/esm/package-checks/file-metrics/constructor.mjs +9 -11
- package/dist/esm/package-checks/file-metrics/constructor.mjs.map +1 -1
- package/dist/esm/package-checks/file-metrics/execution.mjs +11 -20
- package/dist/esm/package-checks/file-metrics/execution.mjs.map +1 -1
- package/dist/esm/package-checks/file-metrics/finding-messages.mjs +22 -0
- package/dist/esm/package-checks/file-metrics/finding-messages.mjs.map +1 -0
- package/dist/esm/package-checks/file-metrics/options-resolution.mjs +11 -43
- package/dist/esm/package-checks/file-metrics/options-resolution.mjs.map +1 -1
- package/dist/esm/package-checks/file-metrics/options-validation.mjs +15 -25
- package/dist/esm/package-checks/file-metrics/options-validation.mjs.map +1 -1
- package/dist/esm/package-checks/file-metrics/options.mjs.map +1 -1
- package/dist/esm/package-checks/file-metrics/records.mjs +2 -9
- package/dist/esm/package-checks/file-metrics/records.mjs.map +1 -1
- package/dist/esm/package-checks/file-metrics/scc/availability.mjs +2 -2
- package/dist/esm/package-checks/file-metrics/scc/availability.mjs.map +1 -1
- package/dist/esm/package-checks/file-metrics/scc/batch-planner.mjs +38 -0
- package/dist/esm/package-checks/file-metrics/scc/batch-planner.mjs.map +1 -0
- package/dist/esm/package-checks/file-metrics/scc/logical-scan-resources.mjs +35 -0
- package/dist/esm/package-checks/file-metrics/scc/logical-scan-resources.mjs.map +1 -0
- package/dist/esm/package-checks/file-metrics/scc/parser.mjs +4 -4
- package/dist/esm/package-checks/file-metrics/scc/parser.mjs.map +1 -1
- package/dist/esm/package-checks/file-metrics/scc/scanner.mjs +104 -31
- package/dist/esm/package-checks/file-metrics/scc/scanner.mjs.map +1 -1
- package/dist/esm/package-checks/function-metrics/analysis.mjs +61 -15
- package/dist/esm/package-checks/function-metrics/analysis.mjs.map +1 -1
- package/dist/esm/package-checks/function-metrics/analyzer/analysis-context.mjs +550 -0
- package/dist/esm/package-checks/function-metrics/analyzer/analysis-context.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/analysis-model.mjs +332 -0
- package/dist/esm/package-checks/function-metrics/analyzer/analysis-model.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/contracts.mjs +7 -0
- package/dist/esm/package-checks/function-metrics/analyzer/contracts.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/extensions/lizardcomplextags.mjs +22 -0
- package/dist/esm/package-checks/function-metrics/analyzer/extensions/lizardcomplextags.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/extensions/lizardnd.mjs +113 -0
- package/dist/esm/package-checks/function-metrics/analyzer/extensions/lizardnd.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/extensions/protocol.mjs +180 -0
- package/dist/esm/package-checks/function-metrics/analyzer/extensions/protocol.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/extensions/registry.mjs +121 -0
- package/dist/esm/package-checks/function-metrics/analyzer/extensions/registry.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/pipeline.mjs +218 -0
- package/dist/esm/package-checks/function-metrics/analyzer/pipeline.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/port-facade.mjs +96 -0
- package/dist/esm/package-checks/function-metrics/analyzer/port-facade.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/reader-registry.mjs +76 -0
- package/dist/esm/package-checks/function-metrics/analyzer/reader-registry.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/csharp.mjs +88 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/csharp.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/erlang.mjs +466 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/erlang.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/fortran.mjs +289 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/fortran.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/gdscript.mjs +38 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/gdscript.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/go.mjs +44 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/go.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/java-body-states.mjs +113 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/java-body-states.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/java.mjs +247 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/java.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/javascript.mjs +16 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/javascript.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/kotlin.mjs +103 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/kotlin.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/lua.mjs +55 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/lua.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/objc.mjs +106 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/objc.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/perl.mjs +367 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/perl.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/php-states.mjs +265 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/php-states.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/php.mjs +53 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/php.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/plsql.mjs +306 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/plsql.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/python.mjs +404 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/python.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/r.mjs +216 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/r.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/ruby.mjs +75 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/ruby.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/rust.mjs +32 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/rust.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/scala.mjs +47 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/scala.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/solidity.mjs +22 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/solidity.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/st.mjs +142 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/st.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/swift.mjs +94 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/swift.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/tsx.mjs +149 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/tsx.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/ttcn.mjs +85 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/ttcn.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/typescript.mjs +612 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/typescript.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/vue.mjs +31 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/vue.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/zig.mjs +25 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/zig.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/shared/clike.mjs +492 -0
- package/dist/esm/package-checks/function-metrics/analyzer/shared/clike.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/shared/code-reader.mjs +544 -0
- package/dist/esm/package-checks/function-metrics/analyzer/shared/code-reader.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/shared/golike.mjs +141 -0
- package/dist/esm/package-checks/function-metrics/analyzer/shared/golike.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/shared/js-style-regex.mjs +69 -0
- package/dist/esm/package-checks/function-metrics/analyzer/shared/js-style-regex.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/shared/rubylike.mjs +154 -0
- package/dist/esm/package-checks/function-metrics/analyzer/shared/rubylike.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/shared/script-language.mjs +36 -0
- package/dist/esm/package-checks/function-metrics/analyzer/shared/script-language.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer-adapter.mjs +56 -0
- package/dist/esm/package-checks/function-metrics/analyzer-adapter.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer-worker-contract.mjs +2 -0
- package/dist/esm/package-checks/function-metrics/analyzer-worker-contract.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer-worker-port.mjs +120 -0
- package/dist/esm/package-checks/function-metrics/analyzer-worker-port.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer-worker.mjs +24 -0
- package/dist/esm/package-checks/function-metrics/analyzer-worker.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/constructor.mjs +10 -12
- package/dist/esm/package-checks/function-metrics/constructor.mjs.map +1 -1
- package/dist/esm/package-checks/function-metrics/execution.mjs +51 -35
- package/dist/esm/package-checks/function-metrics/execution.mjs.map +1 -1
- package/dist/esm/package-checks/function-metrics/finding-messages.mjs +75 -0
- package/dist/esm/package-checks/function-metrics/finding-messages.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/finding-waiver-identity.mjs +28 -0
- package/dist/esm/package-checks/function-metrics/finding-waiver-identity.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/measurement-model.mjs.map +1 -1
- package/dist/esm/package-checks/function-metrics/measurement.mjs +163 -26
- package/dist/esm/package-checks/function-metrics/measurement.mjs.map +1 -1
- package/dist/esm/package-checks/function-metrics/options-resolution.mjs +30 -63
- package/dist/esm/package-checks/function-metrics/options-resolution.mjs.map +1 -1
- package/dist/esm/package-checks/function-metrics/options-validation.mjs +27 -32
- package/dist/esm/package-checks/function-metrics/options-validation.mjs.map +1 -1
- package/dist/esm/package-checks/function-metrics/options.mjs.map +1 -1
- package/dist/esm/package-checks/function-metrics/records.mjs +31 -1
- package/dist/esm/package-checks/function-metrics/records.mjs.map +1 -1
- package/dist/esm/package-checks/function-metrics/target-files.mjs +6 -67
- package/dist/esm/package-checks/function-metrics/target-files.mjs.map +1 -1
- package/dist/esm/package-checks/{function-metrics/lizard → host-environment}/csv.mjs +1 -0
- package/dist/esm/package-checks/host-environment/csv.mjs.map +1 -0
- package/dist/esm/package-checks/host-environment/git.mjs +12 -1
- package/dist/esm/package-checks/host-environment/git.mjs.map +1 -1
- package/dist/esm/package-checks/host-environment/path.mjs +1 -17
- package/dist/esm/package-checks/host-environment/path.mjs.map +1 -1
- package/dist/esm/package-checks/host-environment/process/contract.mjs.map +1 -1
- package/dist/esm/package-checks/host-environment/process/result.mjs +43 -17
- package/dist/esm/package-checks/host-environment/process/result.mjs.map +1 -1
- package/dist/esm/package-checks/host-environment/process/runner.mjs +7 -5
- package/dist/esm/package-checks/host-environment/process/runner.mjs.map +1 -1
- package/dist/esm/package-checks/host-environment/process.mjs +5 -0
- package/dist/esm/package-checks/host-environment/process.mjs.map +1 -0
- package/dist/esm/package-checks/json-schema-validation/default-check.mjs +9 -11
- package/dist/esm/package-checks/json-schema-validation/default-check.mjs.map +1 -1
- package/dist/esm/package-checks/json-schema-validation/final-data.mjs.map +1 -1
- package/dist/esm/package-checks/json-schema-validation/options-validation.mjs +15 -17
- package/dist/esm/package-checks/json-schema-validation/options-validation.mjs.map +1 -1
- package/dist/esm/package-checks/json-schema-validation/options.mjs.map +1 -1
- package/dist/esm/package-checks/json-schema-validation/reference-resolver.mjs +6 -2
- package/dist/esm/package-checks/json-schema-validation/reference-resolver.mjs.map +1 -1
- package/dist/esm/package-checks/json-schema-validation/schema-policy.mjs +11 -3
- package/dist/esm/package-checks/json-schema-validation/schema-policy.mjs.map +1 -1
- package/dist/esm/package-checks/json-validation/default-check.mjs +9 -11
- package/dist/esm/package-checks/json-validation/default-check.mjs.map +1 -1
- package/dist/esm/package-checks/json-validation/final-data.mjs.map +1 -1
- package/dist/esm/package-checks/json-validation/options-validation.mjs +4 -10
- package/dist/esm/package-checks/json-validation/options-validation.mjs.map +1 -1
- package/dist/esm/package-checks/json-validation/options.mjs.map +1 -1
- package/dist/esm/package-checks/local-cache-options.mjs +28 -0
- package/dist/esm/package-checks/local-cache-options.mjs.map +1 -0
- package/dist/esm/package-checks/maintenance-reminders/final-data.mjs.map +1 -1
- package/dist/esm/package-checks/maintenance-reminders/maintenance-reminders.mjs +37 -45
- package/dist/esm/package-checks/maintenance-reminders/maintenance-reminders.mjs.map +1 -1
- package/dist/esm/package-checks/maintenance-reminders/maintenance-support.mjs +3 -1
- package/dist/esm/package-checks/maintenance-reminders/maintenance-support.mjs.map +1 -1
- package/dist/esm/package-checks/markdown-link-validation/default-check.mjs +19 -27
- package/dist/esm/package-checks/markdown-link-validation/default-check.mjs.map +1 -1
- package/dist/esm/package-checks/markdown-link-validation/execution.mjs +27 -24
- package/dist/esm/package-checks/markdown-link-validation/execution.mjs.map +1 -1
- package/dist/esm/package-checks/markdown-link-validation/filesystem-probes.mjs +82 -53
- package/dist/esm/package-checks/markdown-link-validation/filesystem-probes.mjs.map +1 -1
- package/dist/esm/package-checks/markdown-link-validation/final-data.mjs.map +1 -1
- package/dist/esm/package-checks/markdown-link-validation/finding-messages.mjs +36 -0
- package/dist/esm/package-checks/markdown-link-validation/finding-messages.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-link-validation/local-resolution.mjs.map +1 -1
- package/dist/esm/package-checks/markdown-link-validation/local-resolver.mjs +2 -2
- package/dist/esm/package-checks/markdown-link-validation/local-resolver.mjs.map +1 -1
- package/dist/esm/package-checks/markdown-link-validation/markdown-parser.mjs +1 -3
- package/dist/esm/package-checks/markdown-link-validation/markdown-parser.mjs.map +1 -1
- package/dist/esm/package-checks/markdown-link-validation/options-resolution.mjs +10 -3
- package/dist/esm/package-checks/markdown-link-validation/options-resolution.mjs.map +1 -1
- package/dist/esm/package-checks/markdown-link-validation/options-validation.mjs +12 -11
- package/dist/esm/package-checks/markdown-link-validation/options-validation.mjs.map +1 -1
- package/dist/esm/package-checks/markdown-link-validation/options.mjs.map +1 -1
- package/dist/esm/package-checks/markdown-link-validation/parse-facts-cache-payload.mjs +184 -0
- package/dist/esm/package-checks/markdown-link-validation/parse-facts-cache-payload.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-link-validation/parse-facts-cache.mjs +131 -0
- package/dist/esm/package-checks/markdown-link-validation/parse-facts-cache.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-link-validation/resolver-engine.mjs +58 -57
- package/dist/esm/package-checks/markdown-link-validation/resolver-engine.mjs.map +1 -1
- package/dist/esm/package-checks/markdown-link-validation/source-reader.mjs +54 -0
- package/dist/esm/package-checks/markdown-link-validation/source-reader.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-link-validation/unavailable-reasons.mjs +16 -0
- package/dist/esm/package-checks/markdown-link-validation/unavailable-reasons.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-lint/adapter.mjs +125 -0
- package/dist/esm/package-checks/markdown-lint/adapter.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-lint/default-check.mjs +37 -0
- package/dist/esm/package-checks/markdown-lint/default-check.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-lint/execution.mjs +202 -0
- package/dist/esm/package-checks/markdown-lint/execution.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-lint/final-data.mjs +16 -0
- package/dist/esm/package-checks/markdown-lint/final-data.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-lint/finding-messages.mjs +72 -0
- package/dist/esm/package-checks/markdown-lint/finding-messages.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-lint/finding-waiver-identity.mjs +41 -0
- package/dist/esm/package-checks/markdown-lint/finding-waiver-identity.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-lint/findings-cache.mjs +110 -0
- package/dist/esm/package-checks/markdown-lint/findings-cache.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-lint/options-resolution.mjs +74 -0
- package/dist/esm/package-checks/markdown-lint/options-resolution.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-lint/options-validation.mjs +41 -0
- package/dist/esm/package-checks/markdown-lint/options-validation.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-lint/options.mjs +13 -0
- package/dist/esm/package-checks/markdown-lint/options.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-lint/records.mjs +65 -0
- package/dist/esm/package-checks/markdown-lint/records.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-lint/unavailable-reasons.mjs +14 -0
- package/dist/esm/package-checks/markdown-lint/unavailable-reasons.mjs.map +1 -0
- package/dist/esm/package-checks/project-files/collection.mjs +24 -20
- package/dist/esm/package-checks/project-files/collection.mjs.map +1 -1
- package/dist/esm/package-checks/project-files/configuration.mjs +3 -11
- package/dist/esm/package-checks/project-files/configuration.mjs.map +1 -1
- package/dist/esm/package-checks/project-files/gitlink-revision.mjs +3 -6
- package/dist/esm/package-checks/project-files/gitlink-revision.mjs.map +1 -1
- package/dist/esm/package-checks/project-files/gitlink-worktree.mjs +23 -7
- package/dist/esm/package-checks/project-files/gitlink-worktree.mjs.map +1 -1
- package/dist/esm/package-checks/project-files/public-collection.mjs +56 -0
- package/dist/esm/package-checks/project-files/public-collection.mjs.map +1 -0
- package/dist/esm/package-checks/project-files/revision-paths.mjs +3 -3
- package/dist/esm/package-checks/project-files/revision-paths.mjs.map +1 -1
- package/dist/esm/package-checks/project-files/revision-worktree-files.mjs +12 -16
- package/dist/esm/package-checks/project-files/revision-worktree-files.mjs.map +1 -1
- package/dist/esm/package-checks/secret-detection/classification.mjs +15 -0
- package/dist/esm/package-checks/secret-detection/classification.mjs.map +1 -0
- package/dist/esm/package-checks/secret-detection/default-check.mjs +37 -0
- package/dist/esm/package-checks/secret-detection/default-check.mjs.map +1 -0
- package/dist/esm/package-checks/secret-detection/execution.mjs +172 -0
- package/dist/esm/package-checks/secret-detection/execution.mjs.map +1 -0
- package/dist/esm/package-checks/secret-detection/final-data.mjs +33 -0
- package/dist/esm/package-checks/secret-detection/final-data.mjs.map +1 -0
- package/dist/esm/package-checks/secret-detection/finding-waiver-identity.mjs +30 -0
- package/dist/esm/package-checks/secret-detection/finding-waiver-identity.mjs.map +1 -0
- package/dist/esm/package-checks/secret-detection/input-preparation.mjs +192 -0
- package/dist/esm/package-checks/secret-detection/input-preparation.mjs.map +1 -0
- package/dist/esm/package-checks/secret-detection/options-resolution.mjs +40 -0
- package/dist/esm/package-checks/secret-detection/options-resolution.mjs.map +1 -0
- package/dist/esm/package-checks/secret-detection/options-validation.mjs +22 -0
- package/dist/esm/package-checks/secret-detection/options-validation.mjs.map +1 -0
- package/dist/esm/package-checks/secret-detection/options.mjs +2 -0
- package/dist/esm/package-checks/secret-detection/options.mjs.map +1 -0
- package/dist/esm/package-checks/secret-detection/records.mjs +31 -0
- package/dist/esm/package-checks/secret-detection/records.mjs.map +1 -0
- package/dist/esm/package-checks/secret-detection/secretlint/adapter.mjs +84 -0
- package/dist/esm/package-checks/secret-detection/secretlint/adapter.mjs.map +1 -0
- package/dist/esm/package-tools/admission-policy/define-admission-policy.mjs +10 -0
- package/dist/esm/package-tools/admission-policy/define-admission-policy.mjs.map +1 -0
- package/dist/esm/package-tools/cache/cache-json-by-key.mjs +188 -0
- package/dist/esm/package-tools/cache/cache-json-by-key.mjs.map +1 -0
- package/dist/esm/package-tools/finding-presentation/finding-presentation.mjs +40 -0
- package/dist/esm/package-tools/finding-presentation/finding-presentation.mjs.map +1 -0
- package/dist/esm/{finding-waivers → package-tools/finding-waivers}/reconciliation.mjs +14 -5
- package/dist/esm/package-tools/finding-waivers/reconciliation.mjs.map +1 -0
- package/dist/esm/package-tools/learned-critical-path/critical-path-ranking.mjs +46 -0
- package/dist/esm/package-tools/learned-critical-path/critical-path-ranking.mjs.map +1 -0
- package/dist/esm/package-tools/learned-critical-path/duration-model/bounded-history.mjs +56 -0
- package/dist/esm/package-tools/learned-critical-path/duration-model/bounded-history.mjs.map +1 -0
- package/dist/esm/package-tools/learned-critical-path/duration-model/prediction.mjs +122 -0
- package/dist/esm/package-tools/learned-critical-path/duration-model/prediction.mjs.map +1 -0
- package/dist/esm/package-tools/learned-critical-path/duration-model/preparation.mjs +43 -0
- package/dist/esm/package-tools/learned-critical-path/duration-model/preparation.mjs.map +1 -0
- package/dist/esm/package-tools/learned-critical-path/duration-model/recording.mjs +109 -0
- package/dist/esm/package-tools/learned-critical-path/duration-model/recording.mjs.map +1 -0
- package/dist/esm/package-tools/learned-critical-path/duration-model/storage.mjs +187 -0
- package/dist/esm/package-tools/learned-critical-path/duration-model/storage.mjs.map +1 -0
- package/dist/esm/package-tools/learned-critical-path/selection-layers.mjs +27 -0
- package/dist/esm/package-tools/learned-critical-path/selection-layers.mjs.map +1 -0
- package/dist/esm/package-tools/learned-critical-path/static-decision.mjs +55 -0
- package/dist/esm/package-tools/learned-critical-path/static-decision.mjs.map +1 -0
- package/dist/esm/package-tools/learned-critical-path/strategy.mjs +179 -0
- package/dist/esm/package-tools/learned-critical-path/strategy.mjs.map +1 -0
- package/dist/esm/project-definition/check-tree/authoring.mjs +19 -176
- package/dist/esm/project-definition/check-tree/authoring.mjs.map +1 -1
- package/dist/esm/project-definition/check-tree/check-fields-authoring.mjs +184 -0
- package/dist/esm/project-definition/check-tree/check-fields-authoring.mjs.map +1 -0
- package/dist/esm/project-definition/check-tree/collection-authoring.mjs +16 -0
- package/dist/esm/project-definition/check-tree/collection-authoring.mjs.map +1 -0
- package/dist/esm/project-definition/check-tree/flag-conditions.mjs +71 -0
- package/dist/esm/project-definition/check-tree/flag-conditions.mjs.map +1 -0
- package/dist/esm/project-definition/check-tree/materialization.mjs +22 -9
- package/dist/esm/project-definition/check-tree/materialization.mjs.map +1 -1
- package/dist/esm/project-definition/check-tree/resolution.mjs +52 -19
- package/dist/esm/project-definition/check-tree/resolution.mjs.map +1 -1
- package/dist/esm/project-definition/check-tree/scheduling-authoring.mjs +73 -0
- package/dist/esm/project-definition/check-tree/scheduling-authoring.mjs.map +1 -0
- package/dist/esm/project-definition/declarative-snapshot.mjs +74 -0
- package/dist/esm/project-definition/declarative-snapshot.mjs.map +1 -0
- package/dist/esm/project-definition/output-defaults.mjs +18 -1
- package/dist/esm/project-definition/output-defaults.mjs.map +1 -1
- package/dist/esm/project-definition/output-validation.mjs +15 -15
- package/dist/esm/project-definition/output-validation.mjs.map +1 -1
- package/dist/esm/project-definition/progress-rendering-output.mjs +52 -0
- package/dist/esm/project-definition/progress-rendering-output.mjs.map +1 -0
- package/dist/esm/project-definition/project-changes.mjs +70 -0
- package/dist/esm/project-definition/project-changes.mjs.map +1 -0
- package/dist/esm/project-definition/project-definition-validation.mjs +132 -16
- package/dist/esm/project-definition/project-definition-validation.mjs.map +1 -1
- package/dist/esm/project-definition/project-definition.mjs +62 -50
- package/dist/esm/project-definition/project-definition.mjs.map +1 -1
- package/dist/esm/project-definition/resource-unit-mapping.mjs +21 -0
- package/dist/esm/project-definition/resource-unit-mapping.mjs.map +1 -0
- package/dist/esm/project-definition/scheduler-policy.mjs +2 -0
- package/dist/esm/project-definition/scheduler-policy.mjs.map +1 -0
- package/dist/esm/project-run/admission-strategy-provider/custom-strategy-preparation.mjs +57 -0
- package/dist/esm/project-run/admission-strategy-provider/custom-strategy-preparation.mjs.map +1 -0
- package/dist/esm/project-run/admission-strategy-provider/prepared-admission-strategy.mjs +2 -0
- package/dist/esm/project-run/admission-strategy-provider/prepared-admission-strategy.mjs.map +1 -0
- package/dist/esm/project-run/admission-strategy-provider/provider.mjs +23 -0
- package/dist/esm/project-run/admission-strategy-provider/provider.mjs.map +1 -0
- package/dist/esm/project-run/aggregation.mjs +42 -57
- package/dist/esm/project-run/aggregation.mjs.map +1 -1
- package/dist/esm/project-run/changes/git.mjs +161 -0
- package/dist/esm/project-run/changes/git.mjs.map +1 -0
- package/dist/esm/project-run/check-execution/admitted-check-execution.mjs +41 -0
- package/dist/esm/project-run/check-execution/admitted-check-execution.mjs.map +1 -0
- package/dist/esm/project-run/check-execution/callback.mjs +37 -9
- package/dist/esm/project-run/check-execution/callback.mjs.map +1 -1
- package/dist/esm/project-run/check-execution/console-capture.mjs +220 -0
- package/dist/esm/project-run/check-execution/console-capture.mjs.map +1 -0
- package/dist/esm/project-run/check-execution/dependencies.mjs +99 -6
- package/dist/esm/project-run/check-execution/dependencies.mjs.map +1 -1
- package/dist/esm/project-run/check-execution/execution-finalization.mjs +57 -14
- package/dist/esm/project-run/check-execution/execution-finalization.mjs.map +1 -1
- package/dist/esm/project-run/check-execution/execution-settlement.mjs +44 -19
- package/dist/esm/project-run/check-execution/execution-settlement.mjs.map +1 -1
- package/dist/esm/project-run/check-execution/flag-controls.mjs +95 -0
- package/dist/esm/project-run/check-execution/flag-controls.mjs.map +1 -0
- package/dist/esm/project-run/check-execution/lifecycle.mjs +2 -0
- package/dist/esm/project-run/check-execution/lifecycle.mjs.map +1 -0
- package/dist/esm/project-run/check-execution/messages.mjs +5 -0
- package/dist/esm/project-run/check-execution/messages.mjs.map +1 -1
- package/dist/esm/project-run/check-execution/plan.mjs +9 -5
- package/dist/esm/project-run/check-execution/plan.mjs.map +1 -1
- package/dist/esm/project-run/check-execution/{preflight-result.mjs → preparation-result.mjs} +24 -24
- package/dist/esm/project-run/check-execution/preparation-result.mjs.map +1 -0
- package/dist/esm/project-run/check-execution/preparation.mjs +172 -0
- package/dist/esm/project-run/check-execution/preparation.mjs.map +1 -0
- package/dist/esm/project-run/check-execution/ready-check-execution.mjs +71 -0
- package/dist/esm/project-run/check-execution/ready-check-execution.mjs.map +1 -0
- package/dist/esm/project-run/check-execution/resolved-checks.mjs +44 -139
- package/dist/esm/project-run/check-execution/resolved-checks.mjs.map +1 -1
- package/dist/esm/project-run/check-execution/resolved-execution-result.mjs +2 -0
- package/dist/esm/project-run/check-execution/resolved-execution-result.mjs.map +1 -0
- package/dist/esm/project-run/check-execution/scheduled-check-run.mjs +79 -0
- package/dist/esm/project-run/check-execution/scheduled-check-run.mjs.map +1 -0
- package/dist/esm/project-run/check-execution/terminal-result.mjs +70 -25
- package/dist/esm/project-run/check-execution/terminal-result.mjs.map +1 -1
- package/dist/esm/project-run/{completion.mjs → completion/completion.mjs} +34 -39
- package/dist/esm/project-run/completion/completion.mjs.map +1 -0
- package/dist/esm/project-run/{machine-publication.mjs → completion/machine-publication.mjs} +1 -1
- package/dist/esm/project-run/completion/machine-publication.mjs.map +1 -0
- package/dist/esm/project-run/completion/result-resolver.mjs +36 -0
- package/dist/esm/project-run/completion/result-resolver.mjs.map +1 -0
- package/dist/esm/project-run/controls/contract.mjs.map +1 -1
- package/dist/esm/project-run/controls/outputs-override-validation.mjs +67 -47
- package/dist/esm/project-run/controls/outputs-override-validation.mjs.map +1 -1
- package/dist/esm/project-run/controls/validation-result.mjs.map +1 -1
- package/dist/esm/project-run/controls/validation.mjs +79 -62
- package/dist/esm/project-run/controls/validation.mjs.map +1 -1
- package/dist/esm/project-run/diagnostic-logging/diagnostic-detail-rendering.mjs +3 -3
- package/dist/esm/project-run/diagnostic-logging/diagnostic-detail-rendering.mjs.map +1 -1
- package/dist/esm/project-run/diagnostic-logging/logger.mjs +100 -161
- package/dist/esm/project-run/diagnostic-logging/logger.mjs.map +1 -1
- package/dist/esm/project-run/diagnostic-logging/observation-rendering.mjs +159 -0
- package/dist/esm/project-run/diagnostic-logging/observation-rendering.mjs.map +1 -0
- package/dist/esm/project-run/invocation/candidate.mjs +65 -0
- package/dist/esm/project-run/invocation/candidate.mjs.map +1 -0
- package/dist/esm/project-run/invocation/candidates.mjs +26 -0
- package/dist/esm/project-run/invocation/candidates.mjs.map +1 -0
- package/dist/esm/project-run/invocation/creation.mjs +83 -0
- package/dist/esm/project-run/invocation/creation.mjs.map +1 -0
- package/dist/esm/project-run/invocation/execution.mjs +98 -0
- package/dist/esm/project-run/invocation/execution.mjs.map +1 -0
- package/dist/esm/project-run/invocation/paths.mjs +77 -0
- package/dist/esm/project-run/invocation/paths.mjs.map +1 -0
- package/dist/esm/project-run/invocation/progress.mjs +30 -0
- package/dist/esm/project-run/invocation/progress.mjs.map +1 -0
- package/dist/esm/project-run/invocation/run.mjs +82 -0
- package/dist/esm/project-run/invocation/run.mjs.map +1 -0
- package/dist/esm/project-run/invocation/scheduler.mjs +64 -0
- package/dist/esm/project-run/invocation/scheduler.mjs.map +1 -0
- package/dist/esm/project-run/{output-configuration.mjs → outputs/configuration.mjs} +3 -2
- package/dist/esm/project-run/outputs/configuration.mjs.map +1 -0
- package/dist/esm/project-run/outputs/status.mjs +105 -0
- package/dist/esm/project-run/outputs/status.mjs.map +1 -0
- package/dist/esm/project-run/progress-rendering/presentation.mjs +140 -26
- package/dist/esm/project-run/progress-rendering/presentation.mjs.map +1 -1
- package/dist/esm/project-run/progress-rendering/renderer-formatting.mjs +118 -22
- package/dist/esm/project-run/progress-rendering/renderer-formatting.mjs.map +1 -1
- package/dist/esm/project-run/progress-rendering/renderer-lifecycle.mjs +50 -10
- package/dist/esm/project-run/progress-rendering/renderer-lifecycle.mjs.map +1 -1
- package/dist/esm/project-run/progress-rendering/renderer.mjs +11 -4
- package/dist/esm/project-run/progress-rendering/renderer.mjs.map +1 -1
- package/dist/esm/project-run/project-context.mjs +3 -2
- package/dist/esm/project-run/project-context.mjs.map +1 -1
- package/dist/esm/project-run/result.mjs +2 -0
- package/dist/esm/project-run/result.mjs.map +1 -1
- package/dist/esm/project-run/run.mjs +1 -1
- package/dist/esm/project-run/run.mjs.map +1 -1
- package/dist/esm/project-run/task-scheduler/admission-core/compiled-graph-lookup.mjs +45 -0
- package/dist/esm/project-run/task-scheduler/admission-core/compiled-graph-lookup.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/admission-core/compiled-graph.mjs +171 -0
- package/dist/esm/project-run/task-scheduler/admission-core/compiled-graph.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/admission-core/core.mjs +163 -0
- package/dist/esm/project-run/task-scheduler/admission-core/core.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/admission-core/input.mjs +119 -0
- package/dist/esm/project-run/task-scheduler/admission-core/input.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/admission-core/projection.mjs +124 -0
- package/dist/esm/project-run/task-scheduler/admission-core/projection.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/admission-core/selection-index.mjs +99 -0
- package/dist/esm/project-run/task-scheduler/admission-core/selection-index.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/admission-core/selection-query.mjs +196 -0
- package/dist/esm/project-run/task-scheduler/admission-core/selection-query.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/admission-core/selection-seed.mjs +168 -0
- package/dist/esm/project-run/task-scheduler/admission-core/selection-seed.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/admission-core/selection-transition.mjs +121 -0
- package/dist/esm/project-run/task-scheduler/admission-core/selection-transition.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/admission-core/selection.mjs +65 -0
- package/dist/esm/project-run/task-scheduler/admission-core/selection.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/admission-scope-layers.mjs +25 -0
- package/dist/esm/project-run/task-scheduler/admission-scope-layers.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/admission-selection-policy.mjs +55 -0
- package/dist/esm/project-run/task-scheduler/admission-selection-policy.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/custom-admission-policy.mjs +110 -0
- package/dist/esm/project-run/task-scheduler/custom-admission-policy.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/execution-state.mjs +34 -5
- package/dist/esm/project-run/task-scheduler/execution-state.mjs.map +1 -1
- package/dist/esm/project-run/task-scheduler/forced-block-effect-replay.mjs +46 -0
- package/dist/esm/project-run/task-scheduler/forced-block-effect-replay.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/graph-validation.mjs +54 -26
- package/dist/esm/project-run/task-scheduler/graph-validation.mjs.map +1 -1
- package/dist/esm/project-run/task-scheduler/graph.mjs +79 -3
- package/dist/esm/project-run/task-scheduler/graph.mjs.map +1 -1
- package/dist/esm/project-run/task-scheduler/measurement/diagnostics.mjs +211 -0
- package/dist/esm/project-run/task-scheduler/measurement/diagnostics.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/measurement/integrals.mjs +116 -0
- package/dist/esm/project-run/task-scheduler/measurement/integrals.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/measurement/policy.mjs +67 -0
- package/dist/esm/project-run/task-scheduler/measurement/policy.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/measurement/summary.mjs +123 -0
- package/dist/esm/project-run/task-scheduler/measurement/summary.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/measurement/timing.mjs +164 -0
- package/dist/esm/project-run/task-scheduler/measurement/timing.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/scheduler-admission-decision.mjs +90 -62
- package/dist/esm/project-run/task-scheduler/scheduler-admission-decision.mjs.map +1 -1
- package/dist/esm/project-run/task-scheduler/scheduler-blocker-summary.mjs +20 -6
- package/dist/esm/project-run/task-scheduler/scheduler-blocker-summary.mjs.map +1 -1
- package/dist/esm/project-run/task-scheduler/scheduler-decision-inspection.mjs +5 -105
- package/dist/esm/project-run/task-scheduler/scheduler-decision-inspection.mjs.map +1 -1
- package/dist/esm/project-run/task-scheduler/scheduler-decision-model.mjs +0 -9
- package/dist/esm/project-run/task-scheduler/scheduler-decision-model.mjs.map +1 -1
- package/dist/esm/project-run/task-scheduler/scheduler-decision.mjs +48 -28
- package/dist/esm/project-run/task-scheduler/scheduler-decision.mjs.map +1 -1
- package/dist/esm/project-run/task-scheduler/scheduler-observation.mjs +91 -0
- package/dist/esm/project-run/task-scheduler/scheduler-observation.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/scheduler-task-lifecycle.mjs +94 -0
- package/dist/esm/project-run/task-scheduler/scheduler-task-lifecycle.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/scheduler-terminal-measurement.mjs +66 -0
- package/dist/esm/project-run/task-scheduler/scheduler-terminal-measurement.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/scheduler.mjs +183 -114
- package/dist/esm/project-run/task-scheduler/scheduler.mjs.map +1 -1
- package/docs/api-mechanics.md +167 -121
- package/docs/changelog.md +300 -0
- package/docs/checks/duplicate-detection.md +131 -60
- package/docs/checks/file-metrics.md +68 -46
- package/docs/checks/function-metrics.md +119 -163
- package/docs/checks/json-schema-validation.md +65 -37
- package/docs/checks/json-validation.md +59 -27
- package/docs/checks/maintenance-reminders.md +68 -32
- package/docs/checks/markdown-link-validation.md +104 -56
- package/docs/checks/markdown-lint.md +167 -0
- package/docs/checks/secret-detection.md +153 -0
- package/docs/examples/artifacts/mixed-outcomes/definition.ts +14 -14
- package/docs/guides/building-project-gate.md +706 -0
- package/docs/guides/cache-results.md +63 -0
- package/docs/guides/callbacks.md +93 -0
- package/docs/guides/check-dependencies.md +152 -0
- package/docs/guides/collecting-project-files.md +59 -0
- package/docs/guides/command-check.md +155 -0
- package/docs/guides/data-boundaries.md +140 -0
- package/docs/guides/extending-check-lifecycle.md +164 -0
- package/docs/guides/finding-waivers.md +87 -0
- package/docs/guides/learned-scheduling.md +83 -0
- package/docs/guides/presenting-findings.md +54 -0
- package/docs/guides/run-outputs.md +171 -0
- package/docs/guides/scheduling.md +208 -0
- package/docs/guides/simulating-admission.md +55 -0
- package/docs/output.md +13 -21
- package/licenses/Lizard-1.24.0-MIT.txt +30 -0
- package/{third-party-licenses/momoa-3.3.12-LICENSE → licenses/Lizard-1.24.0-lizard.py-Apache-2.0.txt} +1 -0
- package/licenses/Pygments-2.18.0-BSD-2-Clause.txt +25 -0
- package/licenses/analyzer-translations-NOTICE.md +24 -0
- package/licenses/lizard-1.24.0-provenance.json +957 -0
- package/package.json +19 -6
- package/src/check/check.ts +382 -92
- package/src/check/flag-enablement.ts +76 -0
- package/src/check/handoff-provider-identity.ts +34 -0
- package/src/check/inherited-collection.ts +2 -2
- package/src/check/project-changes.ts +14 -0
- package/src/check/project-context.ts +11 -0
- package/src/check-settlement/fact-validation.ts +29 -39
- package/src/check-settlement/facts.ts +1 -1
- package/src/check-settlement/outcome-normalization.ts +17 -35
- package/src/check-settlement/reason-shape.ts +20 -0
- package/src/check-settlement/record-store.ts +18 -15
- package/src/check-settlement/session.ts +12 -3
- package/src/data-boundary/canonical-data.ts +36 -9
- package/src/data-boundary/canonical-json.ts +18 -1
- package/src/data-boundary/closed-values.ts +54 -5
- package/src/data-boundary/config-glob.ts +17 -0
- package/src/data-boundary/project-path.ts +21 -0
- package/src/data-boundary/value-shapes.ts +12 -0
- package/src/index.ts +134 -5
- package/src/machine-output/v4/atomic-publication.ts +4 -17
- package/src/package-checks/check-authoring.ts +136 -0
- package/src/package-checks/code-quality-findings/finding-waiver-authoring.ts +46 -0
- package/src/package-checks/code-quality-findings/finding-waiver-evidence.ts +95 -0
- package/src/package-checks/code-quality-findings/policy.ts +23 -0
- package/src/package-checks/command-check/command-check.ts +152 -0
- package/src/package-checks/command-check/contract.ts +168 -0
- package/src/package-checks/command-check/execution.ts +211 -0
- package/src/package-checks/command-check/options.ts +331 -0
- package/src/package-checks/command-check/transcript.ts +35 -0
- package/src/package-checks/duplicate-detection/area-policy.ts +24 -13
- package/src/package-checks/duplicate-detection/cache/identity.ts +1 -1
- package/src/package-checks/duplicate-detection/default-check.ts +38 -7
- package/src/package-checks/duplicate-detection/execution.ts +82 -24
- package/src/package-checks/duplicate-detection/finding-messages.ts +75 -0
- package/src/package-checks/duplicate-detection/finding-waiver-identity.ts +68 -0
- package/src/package-checks/duplicate-detection/jscpd/availability.ts +2 -2
- package/src/package-checks/duplicate-detection/jscpd/command-resolution.ts +1 -1
- package/src/package-checks/duplicate-detection/jscpd/json-report.ts +24 -5
- package/src/package-checks/duplicate-detection/jscpd/scanner.ts +6 -7
- package/src/package-checks/duplicate-detection/options-resolution.ts +32 -57
- package/src/package-checks/duplicate-detection/options-validation.ts +23 -31
- package/src/package-checks/duplicate-detection/options.ts +26 -3
- package/src/package-checks/duplicate-detection/records.ts +65 -12
- package/src/package-checks/file-metrics/constructor.ts +29 -6
- package/src/package-checks/file-metrics/execution.ts +17 -20
- package/src/package-checks/file-metrics/finding-messages.ts +29 -0
- package/src/package-checks/file-metrics/options-resolution.ts +19 -52
- package/src/package-checks/file-metrics/options-validation.ts +23 -32
- package/src/package-checks/file-metrics/options.ts +6 -3
- package/src/package-checks/file-metrics/records.ts +11 -23
- package/src/package-checks/file-metrics/scc/availability.ts +2 -2
- package/src/package-checks/file-metrics/scc/batch-planner.ts +56 -0
- package/src/package-checks/file-metrics/scc/logical-scan-resources.ts +59 -0
- package/src/package-checks/file-metrics/scc/parser.ts +4 -4
- package/src/package-checks/file-metrics/scc/scanner.ts +135 -33
- package/src/package-checks/function-metrics/analysis.ts +81 -21
- package/src/package-checks/function-metrics/analyzer/analysis-context.ts +749 -0
- package/src/package-checks/function-metrics/analyzer/analysis-model.ts +421 -0
- package/src/package-checks/function-metrics/analyzer/contracts.ts +54 -0
- package/src/package-checks/function-metrics/analyzer/extension-output.ts +269 -0
- package/src/package-checks/function-metrics/analyzer/extensions/extension-base.ts +33 -0
- package/src/package-checks/function-metrics/analyzer/extensions/lizardcomplextags.ts +25 -0
- package/src/package-checks/function-metrics/analyzer/extensions/lizardnd.ts +144 -0
- package/src/package-checks/function-metrics/analyzer/extensions/protocol.ts +345 -0
- package/src/package-checks/function-metrics/analyzer/extensions/registry.ts +157 -0
- package/src/package-checks/function-metrics/analyzer/pipeline.ts +313 -0
- package/src/package-checks/function-metrics/analyzer/port-facade.ts +142 -0
- package/src/package-checks/function-metrics/analyzer/reader-registry.ts +84 -0
- package/src/package-checks/function-metrics/analyzer/readers/csharp.ts +110 -0
- package/src/package-checks/function-metrics/analyzer/readers/erlang.ts +501 -0
- package/src/package-checks/function-metrics/analyzer/readers/fortran.ts +294 -0
- package/src/package-checks/function-metrics/analyzer/readers/gdscript.ts +42 -0
- package/src/package-checks/function-metrics/analyzer/readers/go.ts +53 -0
- package/src/package-checks/function-metrics/analyzer/readers/java-body-states.ts +141 -0
- package/src/package-checks/function-metrics/analyzer/readers/java.ts +270 -0
- package/src/package-checks/function-metrics/analyzer/readers/javascript.ts +19 -0
- package/src/package-checks/function-metrics/analyzer/readers/kotlin.ts +120 -0
- package/src/package-checks/function-metrics/analyzer/readers/lua.ts +68 -0
- package/src/package-checks/function-metrics/analyzer/readers/objc.ts +113 -0
- package/src/package-checks/function-metrics/analyzer/readers/perl.ts +340 -0
- package/src/package-checks/function-metrics/analyzer/readers/php-states.ts +253 -0
- package/src/package-checks/function-metrics/analyzer/readers/php.ts +63 -0
- package/src/package-checks/function-metrics/analyzer/readers/plsql.ts +310 -0
- package/src/package-checks/function-metrics/analyzer/readers/python.ts +432 -0
- package/src/package-checks/function-metrics/analyzer/readers/r.ts +235 -0
- package/src/package-checks/function-metrics/analyzer/readers/ruby.ts +88 -0
- package/src/package-checks/function-metrics/analyzer/readers/rust.ts +47 -0
- package/src/package-checks/function-metrics/analyzer/readers/scala.ts +60 -0
- package/src/package-checks/function-metrics/analyzer/readers/solidity.ts +32 -0
- package/src/package-checks/function-metrics/analyzer/readers/st.ts +161 -0
- package/src/package-checks/function-metrics/analyzer/readers/swift.ts +116 -0
- package/src/package-checks/function-metrics/analyzer/readers/tsx.ts +165 -0
- package/src/package-checks/function-metrics/analyzer/readers/ttcn.ts +96 -0
- package/src/package-checks/function-metrics/analyzer/readers/typescript.ts +599 -0
- package/src/package-checks/function-metrics/analyzer/readers/vue.ts +43 -0
- package/src/package-checks/function-metrics/analyzer/readers/zig.ts +36 -0
- package/src/package-checks/function-metrics/analyzer/shared/clike.ts +541 -0
- package/src/package-checks/function-metrics/analyzer/shared/code-reader.ts +684 -0
- package/src/package-checks/function-metrics/analyzer/shared/golike.ts +143 -0
- package/src/package-checks/function-metrics/analyzer/shared/js-style-regex.ts +80 -0
- package/src/package-checks/function-metrics/analyzer/shared/rubylike.ts +161 -0
- package/src/package-checks/function-metrics/analyzer/shared/script-language.ts +50 -0
- package/src/package-checks/function-metrics/analyzer-adapter.ts +84 -0
- package/src/package-checks/function-metrics/analyzer-worker-contract.ts +10 -0
- package/src/package-checks/function-metrics/analyzer-worker-port.ts +164 -0
- package/src/package-checks/function-metrics/analyzer-worker.ts +31 -0
- package/src/package-checks/function-metrics/constructor.ts +32 -9
- package/src/package-checks/function-metrics/execution.ts +94 -41
- package/src/package-checks/function-metrics/finding-messages.ts +95 -0
- package/src/package-checks/function-metrics/finding-waiver-identity.ts +36 -0
- package/src/package-checks/function-metrics/measurement-model.ts +15 -1
- package/src/package-checks/function-metrics/measurement.ts +223 -36
- package/src/package-checks/function-metrics/options-resolution.ts +39 -75
- package/src/package-checks/function-metrics/options-validation.ts +30 -39
- package/src/package-checks/function-metrics/options.ts +32 -13
- package/src/package-checks/function-metrics/records.ts +73 -7
- package/src/package-checks/function-metrics/target-files.ts +10 -70
- package/src/package-checks/{file-metrics/scc → host-environment}/csv.ts +1 -2
- package/src/package-checks/host-environment/git.ts +13 -2
- package/src/package-checks/host-environment/path.ts +1 -20
- package/src/package-checks/host-environment/process/contract.ts +17 -9
- package/src/package-checks/host-environment/process/result.ts +48 -20
- package/src/package-checks/host-environment/process/runner.ts +8 -4
- package/src/package-checks/host-environment/process.ts +10 -0
- package/src/package-checks/json-schema-validation/default-check.ts +38 -5
- package/src/package-checks/json-schema-validation/final-data.ts +8 -0
- package/src/package-checks/json-schema-validation/options-validation.ts +16 -23
- package/src/package-checks/json-schema-validation/options.ts +27 -1
- package/src/package-checks/json-schema-validation/reference-resolver.ts +6 -2
- package/src/package-checks/json-schema-validation/schema-policy.ts +10 -5
- package/src/package-checks/json-validation/default-check.ts +27 -6
- package/src/package-checks/json-validation/final-data.ts +5 -0
- package/src/package-checks/json-validation/options-validation.ts +4 -18
- package/src/package-checks/json-validation/options.ts +4 -1
- package/src/package-checks/local-cache-options.ts +40 -0
- package/src/package-checks/maintenance-reminders/final-data.ts +18 -0
- package/src/package-checks/maintenance-reminders/maintenance-reminders.ts +89 -9
- package/src/package-checks/maintenance-reminders/maintenance-support.ts +3 -3
- package/src/package-checks/markdown-link-validation/default-check.ts +57 -8
- package/src/package-checks/markdown-link-validation/execution.ts +51 -57
- package/src/package-checks/markdown-link-validation/filesystem-probes.ts +108 -51
- package/src/package-checks/markdown-link-validation/final-data.ts +5 -0
- package/src/package-checks/markdown-link-validation/finding-messages.ts +48 -0
- package/src/package-checks/markdown-link-validation/local-resolution.ts +17 -9
- package/src/package-checks/markdown-link-validation/local-resolver.ts +5 -2
- package/src/package-checks/markdown-link-validation/markdown-parser.ts +1 -5
- package/src/package-checks/markdown-link-validation/options-resolution.ts +14 -3
- package/src/package-checks/markdown-link-validation/options-validation.ts +12 -19
- package/src/package-checks/markdown-link-validation/options.ts +15 -1
- package/src/package-checks/markdown-link-validation/parse-facts-cache-payload.ts +245 -0
- package/src/package-checks/markdown-link-validation/parse-facts-cache.ts +154 -0
- package/src/package-checks/markdown-link-validation/resolver-engine.ts +75 -65
- package/src/package-checks/markdown-link-validation/source-reader.ts +86 -0
- package/src/package-checks/markdown-link-validation/unavailable-reasons.ts +42 -0
- package/src/package-checks/markdown-lint/adapter.ts +167 -0
- package/src/package-checks/markdown-lint/default-check.ts +92 -0
- package/src/package-checks/markdown-lint/execution.ts +266 -0
- package/src/package-checks/markdown-lint/final-data.ts +33 -0
- package/src/package-checks/markdown-lint/finding-messages.ts +87 -0
- package/src/package-checks/markdown-lint/finding-waiver-identity.ts +54 -0
- package/src/package-checks/markdown-lint/findings-cache.ts +141 -0
- package/src/package-checks/markdown-lint/options-resolution.ts +102 -0
- package/src/package-checks/markdown-lint/options-validation.ts +50 -0
- package/src/package-checks/markdown-lint/options.ts +82 -0
- package/src/package-checks/markdown-lint/records.ts +132 -0
- package/src/package-checks/markdown-lint/unavailable-reasons.ts +33 -0
- package/src/package-checks/project-files/collection.ts +39 -23
- package/src/package-checks/project-files/config-glob.ts +1 -17
- package/src/package-checks/project-files/configuration.ts +4 -15
- package/src/package-checks/project-files/gitlink-revision.ts +5 -7
- package/src/package-checks/project-files/gitlink-worktree.ts +36 -8
- package/src/package-checks/project-files/public-collection.ts +92 -0
- package/src/package-checks/project-files/revision-paths.ts +3 -3
- package/src/package-checks/project-files/revision-worktree-files.ts +17 -17
- package/src/package-checks/secret-detection/classification.ts +30 -0
- package/src/package-checks/secret-detection/default-check.ts +73 -0
- package/src/package-checks/secret-detection/execution.ts +247 -0
- package/src/package-checks/secret-detection/final-data.ts +57 -0
- package/src/package-checks/secret-detection/finding-waiver-identity.ts +37 -0
- package/src/package-checks/secret-detection/input-preparation.ts +290 -0
- package/src/package-checks/secret-detection/options-resolution.ts +65 -0
- package/src/package-checks/secret-detection/options-validation.ts +27 -0
- package/src/package-checks/secret-detection/options.ts +39 -0
- package/src/package-checks/secret-detection/records.ts +77 -0
- package/src/package-checks/secret-detection/secretlint/adapter.ts +122 -0
- package/src/package-tools/admission-policy/define-admission-policy.ts +54 -0
- package/src/package-tools/cache/cache-json-by-key.ts +300 -0
- package/src/package-tools/finding-presentation/finding-presentation.ts +69 -0
- package/src/{finding-waivers → package-tools/finding-waivers}/reconciliation.ts +16 -8
- package/src/package-tools/learned-critical-path/critical-path-ranking.ts +76 -0
- package/src/package-tools/learned-critical-path/duration-model/bounded-history.ts +108 -0
- package/src/package-tools/learned-critical-path/duration-model/prediction.ts +184 -0
- package/src/package-tools/learned-critical-path/duration-model/preparation.ts +79 -0
- package/src/package-tools/learned-critical-path/duration-model/recording.ts +209 -0
- package/src/package-tools/learned-critical-path/duration-model/storage.ts +251 -0
- package/src/package-tools/learned-critical-path/selection-layers.ts +71 -0
- package/src/package-tools/learned-critical-path/static-decision.ts +105 -0
- package/src/package-tools/learned-critical-path/strategy.ts +302 -0
- package/src/project-definition/check-tree/authoring.ts +40 -234
- package/src/project-definition/check-tree/check-fields-authoring.ts +242 -0
- package/src/project-definition/check-tree/collection-authoring.ts +13 -0
- package/src/project-definition/check-tree/flag-conditions.ts +99 -0
- package/src/project-definition/check-tree/materialization.ts +21 -9
- package/src/project-definition/check-tree/resolution.ts +84 -28
- package/src/project-definition/check-tree/scheduling-authoring.ts +114 -0
- package/src/project-definition/declarative-snapshot.ts +94 -0
- package/src/project-definition/output-defaults.ts +32 -1
- package/src/project-definition/output-validation.ts +15 -15
- package/src/project-definition/progress-rendering-output.ts +121 -0
- package/src/project-definition/project-changes.ts +112 -0
- package/src/project-definition/project-definition-validation.ts +166 -19
- package/src/project-definition/project-definition.ts +177 -67
- package/src/project-definition/resource-unit-mapping.ts +25 -0
- package/src/project-definition/scheduler-policy.ts +556 -0
- package/src/project-run/admission-strategy-provider/custom-strategy-preparation.ts +83 -0
- package/src/project-run/admission-strategy-provider/prepared-admission-strategy.ts +27 -0
- package/src/project-run/admission-strategy-provider/provider.ts +45 -0
- package/src/project-run/aggregation.ts +52 -70
- package/src/project-run/changes/git.ts +206 -0
- package/src/project-run/check-execution/admitted-check-execution.ts +62 -0
- package/src/project-run/check-execution/callback.ts +52 -9
- package/src/project-run/check-execution/console-capture.ts +262 -0
- package/src/project-run/check-execution/dependencies.ts +161 -10
- package/src/project-run/check-execution/execution-finalization.ts +103 -27
- package/src/project-run/check-execution/execution-settlement.ts +99 -32
- package/src/project-run/check-execution/flag-controls.ts +146 -0
- package/src/project-run/check-execution/lifecycle.ts +29 -0
- package/src/project-run/check-execution/messages.ts +8 -0
- package/src/project-run/check-execution/plan.ts +12 -8
- package/src/project-run/check-execution/{preflight-result.ts → preparation-result.ts} +34 -32
- package/src/project-run/check-execution/preparation.ts +309 -0
- package/src/project-run/check-execution/ready-check-execution.ts +97 -0
- package/src/project-run/check-execution/resolved-checks.ts +92 -232
- package/src/project-run/check-execution/resolved-execution-result.ts +22 -0
- package/src/project-run/check-execution/scheduled-check-run.ts +119 -0
- package/src/project-run/check-execution/terminal-result.ts +108 -29
- package/src/project-run/{completion.ts → completion/completion.ts} +33 -59
- package/src/project-run/{machine-publication.ts → completion/machine-publication.ts} +4 -4
- package/src/project-run/completion/result-resolver.ts +60 -0
- package/src/project-run/controls/contract.ts +22 -9
- package/src/project-run/controls/outputs-override-validation.ts +83 -60
- package/src/project-run/controls/validation-result.ts +17 -6
- package/src/project-run/controls/validation.ts +110 -68
- package/src/project-run/diagnostic-logging/diagnostic-detail-rendering.ts +1 -2
- package/src/project-run/diagnostic-logging/logger.ts +132 -207
- package/src/project-run/diagnostic-logging/observation-rendering.ts +203 -0
- package/src/project-run/invocation/candidate.ts +99 -0
- package/src/project-run/invocation/candidates.ts +56 -0
- package/src/project-run/invocation/creation.ts +120 -0
- package/src/project-run/invocation/execution.ts +136 -0
- package/src/project-run/invocation/paths.ts +154 -0
- package/src/project-run/invocation/progress.ts +38 -0
- package/src/project-run/invocation/run.ts +144 -0
- package/src/project-run/invocation/scheduler.ts +82 -0
- package/src/project-run/{output-configuration.ts → outputs/configuration.ts} +6 -5
- package/src/project-run/outputs/status.ts +161 -0
- package/src/project-run/progress-rendering/presentation.ts +150 -36
- package/src/project-run/progress-rendering/renderer-formatting.ts +185 -25
- package/src/project-run/progress-rendering/renderer-lifecycle.ts +61 -9
- package/src/project-run/progress-rendering/renderer.ts +23 -6
- package/src/project-run/project-context.ts +10 -5
- package/src/project-run/result.ts +50 -4
- package/src/project-run/run.ts +7 -6
- package/src/project-run/task-scheduler/admission-core/compiled-graph-lookup.ts +71 -0
- package/src/project-run/task-scheduler/admission-core/compiled-graph.ts +321 -0
- package/src/project-run/task-scheduler/admission-core/core.ts +278 -0
- package/src/project-run/task-scheduler/admission-core/input.ts +138 -0
- package/src/project-run/task-scheduler/admission-core/projection.ts +164 -0
- package/src/project-run/task-scheduler/admission-core/selection-index.ts +165 -0
- package/src/project-run/task-scheduler/admission-core/selection-query.ts +297 -0
- package/src/project-run/task-scheduler/admission-core/selection-seed.ts +282 -0
- package/src/project-run/task-scheduler/admission-core/selection-transition.ts +245 -0
- package/src/project-run/task-scheduler/admission-core/selection.ts +140 -0
- package/src/project-run/task-scheduler/admission-core/trace.ts +177 -0
- package/src/project-run/task-scheduler/admission-scope-layers.ts +44 -0
- package/src/project-run/task-scheduler/admission-selection-policy.ts +116 -0
- package/src/project-run/task-scheduler/custom-admission-policy.ts +128 -0
- package/src/project-run/task-scheduler/execution-state.ts +97 -6
- package/src/project-run/task-scheduler/forced-block-effect-replay.ts +68 -0
- package/src/project-run/task-scheduler/graph-validation.ts +77 -31
- package/src/project-run/task-scheduler/graph.ts +111 -3
- package/src/project-run/task-scheduler/measurement/diagnostics.ts +267 -0
- package/src/project-run/task-scheduler/measurement/integrals.ts +177 -0
- package/src/project-run/task-scheduler/measurement/policy.ts +105 -0
- package/src/project-run/task-scheduler/measurement/summary.ts +175 -0
- package/src/project-run/task-scheduler/measurement/timing.ts +198 -0
- package/src/project-run/task-scheduler/scheduler-admission-decision.ts +143 -134
- package/src/project-run/task-scheduler/scheduler-blocker-summary.ts +34 -9
- package/src/project-run/task-scheduler/scheduler-decision-inspection.ts +28 -170
- package/src/project-run/task-scheduler/scheduler-decision-model.ts +36 -40
- package/src/project-run/task-scheduler/scheduler-decision.ts +68 -36
- package/src/project-run/task-scheduler/scheduler-observation.ts +126 -0
- package/src/project-run/task-scheduler/scheduler-task-lifecycle.ts +150 -0
- package/src/project-run/task-scheduler/scheduler-terminal-measurement.ts +97 -0
- package/src/project-run/task-scheduler/scheduler.ts +233 -171
- package/types/check/check.d.ts +225 -69
- package/types/check/flag-enablement.d.ts +42 -0
- package/types/check/handoff-provider-identity.d.ts +12 -0
- package/types/check/inherited-collection.d.ts +1 -1
- package/types/check/project-changes.d.ts +13 -0
- package/types/check/project-context.d.ts +10 -0
- package/types/check-settlement/facts.d.ts +1 -1
- package/types/check-settlement/reason-shape.d.ts +5 -0
- package/types/check-settlement/record-store.d.ts +2 -2
- package/types/check-settlement/session.d.ts +3 -1
- package/types/data-boundary/canonical-data.d.ts +28 -5
- package/types/data-boundary/canonical-json.d.ts +18 -1
- package/types/data-boundary/closed-values.d.ts +24 -0
- package/types/data-boundary/config-glob.d.ts +5 -0
- package/types/data-boundary/project-path.d.ts +4 -0
- package/types/data-boundary/value-shapes.d.ts +3 -0
- package/types/index.d.ts +40 -9
- package/types/package-checks/check-authoring.d.ts +45 -0
- package/types/package-checks/code-quality-findings/finding-waiver-authoring.d.ts +7 -0
- package/types/package-checks/code-quality-findings/finding-waiver-evidence.d.ts +34 -0
- package/types/package-checks/code-quality-findings/policy.d.ts +4 -0
- package/types/package-checks/command-check/command-check.d.ts +48 -0
- package/types/package-checks/command-check/contract.d.ts +108 -0
- package/types/package-checks/command-check/execution.d.ts +7 -0
- package/types/package-checks/command-check/options.d.ts +11 -0
- package/types/package-checks/command-check/transcript.d.ts +8 -0
- package/types/package-checks/duplicate-detection/area-policy.d.ts +1 -1
- package/types/package-checks/duplicate-detection/default-check.d.ts +5 -2
- package/types/package-checks/duplicate-detection/finding-messages.d.ts +7 -0
- package/types/package-checks/duplicate-detection/finding-waiver-identity.d.ts +3 -0
- package/types/package-checks/duplicate-detection/jscpd/command-resolution.d.ts +1 -1
- package/types/package-checks/duplicate-detection/options.d.ts +21 -3
- package/types/package-checks/duplicate-detection/records.d.ts +20 -3
- package/types/package-checks/file-metrics/constructor.d.ts +5 -2
- package/types/package-checks/file-metrics/finding-messages.d.ts +4 -0
- package/types/package-checks/file-metrics/options.d.ts +4 -3
- package/types/package-checks/file-metrics/records.d.ts +5 -10
- package/types/package-checks/file-metrics/scc/batch-planner.d.ts +18 -0
- package/types/package-checks/file-metrics/scc/logical-scan-resources.d.ts +14 -0
- package/types/package-checks/file-metrics/scc/parser.d.ts +4 -4
- package/types/package-checks/function-metrics/analysis.d.ts +1 -1
- package/types/package-checks/function-metrics/analyzer/analysis-context.d.ts +174 -0
- package/types/package-checks/function-metrics/analyzer/analysis-model.d.ts +135 -0
- package/types/package-checks/function-metrics/analyzer/contracts.d.ts +48 -0
- package/types/package-checks/function-metrics/analyzer/extensions/lizardcomplextags.d.ts +13 -0
- package/types/package-checks/function-metrics/analyzer/extensions/lizardnd.d.ts +28 -0
- package/types/package-checks/function-metrics/analyzer/extensions/protocol.d.ts +99 -0
- package/types/package-checks/function-metrics/analyzer/extensions/registry.d.ts +34 -0
- package/types/package-checks/function-metrics/analyzer/pipeline.d.ts +67 -0
- package/types/package-checks/function-metrics/analyzer/port-facade.d.ts +38 -0
- package/types/package-checks/function-metrics/analyzer/reader-registry.d.ts +18 -0
- package/types/package-checks/function-metrics/analyzer/readers/csharp.d.ts +22 -0
- package/types/package-checks/function-metrics/analyzer/readers/erlang.d.ts +22 -0
- package/types/package-checks/function-metrics/analyzer/readers/fortran.d.ts +29 -0
- package/types/package-checks/function-metrics/analyzer/readers/gdscript.d.ts +18 -0
- package/types/package-checks/function-metrics/analyzer/readers/go.d.ts +18 -0
- package/types/package-checks/function-metrics/analyzer/readers/java-body-states.d.ts +18 -0
- package/types/package-checks/function-metrics/analyzer/readers/java.d.ts +44 -0
- package/types/package-checks/function-metrics/analyzer/readers/javascript.d.ts +14 -0
- package/types/package-checks/function-metrics/analyzer/readers/kotlin.d.ts +23 -0
- package/types/package-checks/function-metrics/analyzer/readers/lua.d.ts +16 -0
- package/types/package-checks/function-metrics/analyzer/readers/objc.d.ts +18 -0
- package/types/package-checks/function-metrics/analyzer/readers/perl.d.ts +28 -0
- package/types/package-checks/function-metrics/analyzer/readers/php-states.d.ts +41 -0
- package/types/package-checks/function-metrics/analyzer/readers/php.d.ts +22 -0
- package/types/package-checks/function-metrics/analyzer/readers/plsql.d.ts +24 -0
- package/types/package-checks/function-metrics/analyzer/readers/python.d.ts +50 -0
- package/types/package-checks/function-metrics/analyzer/readers/r.d.ts +22 -0
- package/types/package-checks/function-metrics/analyzer/readers/ruby.d.ts +16 -0
- package/types/package-checks/function-metrics/analyzer/readers/rust.d.ts +20 -0
- package/types/package-checks/function-metrics/analyzer/readers/scala.d.ts +20 -0
- package/types/package-checks/function-metrics/analyzer/readers/solidity.d.ts +19 -0
- package/types/package-checks/function-metrics/analyzer/readers/st.d.ts +37 -0
- package/types/package-checks/function-metrics/analyzer/readers/swift.d.ts +30 -0
- package/types/package-checks/function-metrics/analyzer/readers/tsx.d.ts +15 -0
- package/types/package-checks/function-metrics/analyzer/readers/ttcn.d.ts +22 -0
- package/types/package-checks/function-metrics/analyzer/readers/typescript.d.ts +35 -0
- package/types/package-checks/function-metrics/analyzer/readers/vue.d.ts +18 -0
- package/types/package-checks/function-metrics/analyzer/readers/zig.d.ts +19 -0
- package/types/package-checks/function-metrics/analyzer/shared/clike.d.ts +101 -0
- package/types/package-checks/function-metrics/analyzer/shared/code-reader.d.ts +176 -0
- package/types/package-checks/function-metrics/analyzer/shared/golike.d.ts +39 -0
- package/types/package-checks/function-metrics/analyzer/shared/js-style-regex.d.ts +16 -0
- package/types/package-checks/function-metrics/analyzer/shared/rubylike.d.ts +40 -0
- package/types/package-checks/function-metrics/analyzer/shared/script-language.d.ts +17 -0
- package/types/package-checks/function-metrics/analyzer-adapter.d.ts +26 -0
- package/types/package-checks/function-metrics/analyzer-worker-contract.d.ts +5 -0
- package/types/package-checks/function-metrics/analyzer-worker-port.d.ts +24 -0
- package/types/package-checks/function-metrics/analyzer-worker.d.ts +1 -0
- package/types/package-checks/function-metrics/constructor.d.ts +6 -3
- package/types/package-checks/function-metrics/execution.d.ts +5 -2
- package/types/package-checks/function-metrics/finding-messages.d.ts +9 -0
- package/types/package-checks/function-metrics/finding-waiver-identity.d.ts +2 -0
- package/types/package-checks/function-metrics/measurement-model.d.ts +13 -1
- package/types/package-checks/function-metrics/measurement.d.ts +22 -7
- package/types/package-checks/function-metrics/options.d.ts +26 -12
- package/types/package-checks/function-metrics/records.d.ts +24 -5
- package/types/package-checks/function-metrics/target-files.d.ts +4 -3
- package/types/package-checks/host-environment/csv.d.ts +2 -0
- package/types/package-checks/host-environment/git.d.ts +3 -1
- package/types/package-checks/host-environment/path.d.ts +1 -3
- package/types/package-checks/host-environment/process/contract.d.ts +17 -9
- package/types/package-checks/host-environment/process.d.ts +5 -0
- package/types/package-checks/json-schema-validation/default-check.d.ts +4 -1
- package/types/package-checks/json-schema-validation/final-data.d.ts +8 -0
- package/types/package-checks/json-schema-validation/options.d.ts +33 -4
- package/types/package-checks/json-validation/default-check.d.ts +4 -1
- package/types/package-checks/json-validation/final-data.d.ts +5 -0
- package/types/package-checks/json-validation/options.d.ts +2 -1
- package/types/package-checks/local-cache-options.d.ts +9 -0
- package/types/package-checks/maintenance-reminders/final-data.d.ts +18 -0
- package/types/package-checks/maintenance-reminders/maintenance-reminders.d.ts +11 -2
- package/types/package-checks/markdown-link-validation/default-check.d.ts +13 -4
- package/types/package-checks/markdown-link-validation/execution.d.ts +1 -3
- package/types/package-checks/markdown-link-validation/final-data.d.ts +5 -0
- package/types/package-checks/markdown-link-validation/finding-messages.d.ts +4 -0
- package/types/package-checks/markdown-link-validation/local-resolution.d.ts +12 -6
- package/types/package-checks/markdown-link-validation/local-resolver.d.ts +2 -1
- package/types/package-checks/markdown-link-validation/options.d.ts +13 -1
- package/types/package-checks/markdown-link-validation/parse-facts-cache-payload.d.ts +24 -0
- package/types/package-checks/markdown-link-validation/parse-facts-cache.d.ts +13 -0
- package/types/package-checks/markdown-link-validation/resolver-engine.d.ts +6 -4
- package/types/package-checks/markdown-link-validation/source-reader.d.ts +11 -0
- package/types/package-checks/markdown-link-validation/unavailable-reasons.d.ts +4 -0
- package/types/package-checks/markdown-lint/adapter.d.ts +10 -0
- package/types/package-checks/markdown-lint/default-check.d.ts +37 -0
- package/types/package-checks/markdown-lint/execution.d.ts +24 -0
- package/types/package-checks/markdown-lint/final-data.d.ts +8 -0
- package/types/package-checks/markdown-lint/finding-messages.d.ts +6 -0
- package/types/package-checks/markdown-lint/finding-waiver-identity.d.ts +3 -0
- package/types/package-checks/markdown-lint/findings-cache.d.ts +17 -0
- package/types/package-checks/markdown-lint/options-resolution.d.ts +3 -0
- package/types/package-checks/markdown-lint/options-validation.d.ts +2 -0
- package/types/package-checks/markdown-lint/options.d.ts +65 -0
- package/types/package-checks/markdown-lint/records.d.ts +39 -0
- package/types/package-checks/markdown-lint/unavailable-reasons.d.ts +3 -0
- package/types/package-checks/project-files/public-collection.d.ts +16 -0
- package/types/package-checks/secret-detection/classification.d.ts +12 -0
- package/types/package-checks/secret-detection/default-check.d.ts +14 -0
- package/types/package-checks/secret-detection/execution.d.ts +14 -0
- package/types/package-checks/secret-detection/final-data.d.ts +15 -0
- package/types/package-checks/secret-detection/finding-waiver-identity.d.ts +5 -0
- package/types/package-checks/secret-detection/input-preparation.d.ts +24 -0
- package/types/package-checks/secret-detection/options-resolution.d.ts +6 -0
- package/types/package-checks/secret-detection/options-validation.d.ts +3 -0
- package/types/package-checks/secret-detection/options.d.ts +33 -0
- package/types/package-checks/secret-detection/records.d.ts +35 -0
- package/types/package-checks/secret-detection/secretlint/adapter.d.ts +28 -0
- package/types/package-tools/admission-policy/define-admission-policy.d.ts +26 -0
- package/types/package-tools/cache/cache-json-by-key.d.ts +53 -0
- package/types/package-tools/finding-presentation/finding-presentation.d.ts +27 -0
- package/types/{finding-waivers → package-tools/finding-waivers}/reconciliation.d.ts +3 -3
- package/types/package-tools/learned-critical-path/critical-path-ranking.d.ts +19 -0
- package/types/package-tools/learned-critical-path/duration-model/bounded-history.d.ts +34 -0
- package/types/package-tools/learned-critical-path/duration-model/prediction.d.ts +32 -0
- package/types/package-tools/learned-critical-path/duration-model/preparation.d.ts +28 -0
- package/types/package-tools/learned-critical-path/duration-model/recording.d.ts +28 -0
- package/types/package-tools/learned-critical-path/duration-model/storage.d.ts +12 -0
- package/types/package-tools/learned-critical-path/selection-layers.d.ts +14 -0
- package/types/package-tools/learned-critical-path/static-decision.d.ts +3 -0
- package/types/package-tools/learned-critical-path/strategy.d.ts +35 -0
- package/types/project-definition/check-tree/authoring.d.ts +13 -14
- package/types/project-definition/check-tree/check-fields-authoring.d.ts +30 -0
- package/types/project-definition/check-tree/collection-authoring.d.ts +2 -0
- package/types/project-definition/check-tree/flag-conditions.d.ts +5 -0
- package/types/project-definition/check-tree/resolution.d.ts +13 -6
- package/types/project-definition/check-tree/scheduling-authoring.d.ts +19 -0
- package/types/project-definition/declarative-snapshot.d.ts +10 -0
- package/types/project-definition/output-defaults.d.ts +7 -0
- package/types/project-definition/output-validation.d.ts +2 -1
- package/types/project-definition/progress-rendering-output.d.ts +41 -0
- package/types/project-definition/project-changes.d.ts +30 -0
- package/types/project-definition/project-definition.d.ts +49 -19
- package/types/project-definition/resource-unit-mapping.d.ts +4 -0
- package/types/project-definition/scheduler-policy.d.ts +497 -0
- package/types/project-run/admission-strategy-provider/custom-strategy-preparation.d.ts +9 -0
- package/types/project-run/admission-strategy-provider/prepared-admission-strategy.d.ts +23 -0
- package/types/project-run/admission-strategy-provider/provider.d.ts +13 -0
- package/types/project-run/aggregation.d.ts +8 -6
- package/types/project-run/changes/git.d.ts +14 -0
- package/types/project-run/check-execution/admitted-check-execution.d.ts +18 -0
- package/types/project-run/check-execution/callback.d.ts +5 -1
- package/types/project-run/check-execution/console-capture.d.ts +18 -0
- package/types/project-run/check-execution/dependencies.d.ts +4 -1
- package/types/project-run/check-execution/execution-finalization.d.ts +18 -8
- package/types/project-run/check-execution/execution-settlement.d.ts +18 -7
- package/types/project-run/check-execution/flag-controls.d.ts +27 -0
- package/types/project-run/check-execution/lifecycle.d.ts +24 -0
- package/types/project-run/check-execution/messages.d.ts +2 -0
- package/types/project-run/check-execution/plan.d.ts +2 -3
- package/types/project-run/check-execution/{preflight-result.d.ts → preparation-result.d.ts} +3 -3
- package/types/project-run/check-execution/preparation.d.ts +29 -0
- package/types/project-run/check-execution/ready-check-execution.d.ts +18 -0
- package/types/project-run/check-execution/resolved-checks.d.ts +37 -44
- package/types/project-run/check-execution/resolved-execution-result.d.ts +21 -0
- package/types/project-run/check-execution/scheduled-check-run.d.ts +10 -0
- package/types/project-run/check-execution/terminal-result.d.ts +13 -1
- package/types/project-run/{completion.d.ts → completion/completion.d.ts} +7 -5
- package/types/project-run/{machine-publication.d.ts → completion/machine-publication.d.ts} +3 -3
- package/types/project-run/completion/result-resolver.d.ts +4 -0
- package/types/project-run/controls/contract.d.ts +22 -9
- package/types/project-run/controls/outputs-override-validation.d.ts +2 -1
- package/types/project-run/controls/validation-result.d.ts +12 -4
- package/types/project-run/diagnostic-logging/logger.d.ts +34 -4
- package/types/project-run/diagnostic-logging/observation-rendering.d.ts +7 -0
- package/types/project-run/invocation/candidate.d.ts +12 -0
- package/types/project-run/invocation/candidates.d.ts +8 -0
- package/types/project-run/{invocation-creation.d.ts → invocation/creation.d.ts} +3 -3
- package/types/project-run/invocation/execution.d.ts +5 -0
- package/types/project-run/invocation/paths.d.ts +40 -0
- package/types/project-run/invocation/progress.d.ts +11 -0
- package/types/project-run/invocation/run.d.ts +43 -0
- package/types/project-run/invocation/scheduler.d.ts +16 -0
- package/types/project-run/outputs/configuration.d.ts +3 -0
- package/types/project-run/outputs/status.d.ts +48 -0
- package/types/project-run/progress-rendering/presentation.d.ts +12 -7
- package/types/project-run/progress-rendering/renderer-formatting.d.ts +13 -2
- package/types/project-run/progress-rendering/renderer-lifecycle.d.ts +8 -1
- package/types/project-run/progress-rendering/renderer.d.ts +11 -3
- package/types/project-run/project-context.d.ts +5 -4
- package/types/project-run/result.d.ts +38 -4
- package/types/project-run/run.d.ts +6 -5
- package/types/project-run/task-scheduler/admission-core/compiled-graph-lookup.d.ts +10 -0
- package/types/project-run/task-scheduler/admission-core/compiled-graph.d.ts +31 -0
- package/types/project-run/task-scheduler/admission-core/core.d.ts +57 -0
- package/types/project-run/task-scheduler/admission-core/input.d.ts +4 -0
- package/types/project-run/task-scheduler/admission-core/projection.d.ts +22 -0
- package/types/project-run/task-scheduler/admission-core/selection-index.d.ts +61 -0
- package/types/project-run/task-scheduler/admission-core/selection-query.d.ts +28 -0
- package/types/project-run/task-scheduler/admission-core/selection-seed.d.ts +9 -0
- package/types/project-run/task-scheduler/admission-core/selection-transition.d.ts +4 -0
- package/types/project-run/task-scheduler/admission-core/selection.d.ts +20 -0
- package/types/project-run/task-scheduler/admission-scope-layers.d.ts +8 -0
- package/types/project-run/task-scheduler/admission-selection-policy.d.ts +31 -0
- package/types/project-run/task-scheduler/custom-admission-policy.d.ts +6 -0
- package/types/project-run/task-scheduler/execution-state.d.ts +43 -1
- package/types/project-run/task-scheduler/forced-block-effect-replay.d.ts +9 -0
- package/types/project-run/task-scheduler/graph-validation.d.ts +3 -2
- package/types/project-run/task-scheduler/graph.d.ts +15 -0
- package/types/project-run/task-scheduler/measurement/diagnostics.d.ts +47 -0
- package/types/project-run/task-scheduler/measurement/integrals.d.ts +27 -0
- package/types/project-run/task-scheduler/measurement/policy.d.ts +10 -0
- package/types/project-run/task-scheduler/measurement/summary.d.ts +3 -0
- package/types/project-run/task-scheduler/measurement/timing.d.ts +33 -0
- package/types/project-run/task-scheduler/scheduler-admission-decision.d.ts +13 -1
- package/types/project-run/task-scheduler/scheduler-decision-inspection.d.ts +20 -19
- package/types/project-run/task-scheduler/scheduler-decision-model.d.ts +38 -22
- package/types/project-run/task-scheduler/scheduler-decision.d.ts +4 -1
- package/types/project-run/task-scheduler/scheduler-observation.d.ts +14 -0
- package/types/project-run/task-scheduler/scheduler-task-lifecycle.d.ts +18 -0
- package/types/project-run/task-scheduler/scheduler-terminal-measurement.d.ts +9 -0
- package/dist/esm/finding-waivers/reconciliation.mjs.map +0 -1
- package/dist/esm/package-checks/file-metrics/scc/csv.mjs +0 -17
- package/dist/esm/package-checks/file-metrics/scc/csv.mjs.map +0 -1
- package/dist/esm/package-checks/function-metrics/lizard/availability.mjs +0 -64
- package/dist/esm/package-checks/function-metrics/lizard/availability.mjs.map +0 -1
- package/dist/esm/package-checks/function-metrics/lizard/csv.mjs.map +0 -1
- package/dist/esm/package-checks/function-metrics/lizard/parser.mjs +0 -138
- package/dist/esm/package-checks/function-metrics/lizard/parser.mjs.map +0 -1
- package/dist/esm/package-checks/function-metrics/lizard/scanner.mjs +0 -35
- package/dist/esm/package-checks/function-metrics/lizard/scanner.mjs.map +0 -1
- package/dist/esm/package-checks/host-environment/process/command.mjs +0 -13
- package/dist/esm/package-checks/host-environment/process/command.mjs.map +0 -1
- package/dist/esm/package-checks/project-files/config-glob.mjs.map +0 -1
- package/dist/esm/project-run/check-execution/preflight-result.mjs.map +0 -1
- package/dist/esm/project-run/check-execution/preflight.mjs +0 -186
- package/dist/esm/project-run/check-execution/preflight.mjs.map +0 -1
- package/dist/esm/project-run/completion.mjs.map +0 -1
- package/dist/esm/project-run/invocation-creation.mjs +0 -111
- package/dist/esm/project-run/invocation-creation.mjs.map +0 -1
- package/dist/esm/project-run/invocation.mjs +0 -195
- package/dist/esm/project-run/invocation.mjs.map +0 -1
- package/dist/esm/project-run/machine-publication.mjs.map +0 -1
- package/dist/esm/project-run/output-configuration.mjs.map +0 -1
- package/dist/esm/project-run/output-status.mjs +0 -43
- package/dist/esm/project-run/output-status.mjs.map +0 -1
- package/src/package-checks/function-metrics/lizard/availability.ts +0 -90
- package/src/package-checks/function-metrics/lizard/csv.ts +0 -20
- package/src/package-checks/function-metrics/lizard/parser.ts +0 -179
- package/src/package-checks/function-metrics/lizard/scanner.ts +0 -62
- package/src/package-checks/host-environment/process/command.ts +0 -21
- package/src/project-run/check-execution/preflight.ts +0 -321
- package/src/project-run/invocation-creation.ts +0 -160
- package/src/project-run/invocation.ts +0 -303
- package/src/project-run/output-status.ts +0 -69
- package/types/package-checks/file-metrics/scc/csv.d.ts +0 -1
- package/types/package-checks/function-metrics/lizard/availability.d.ts +0 -11
- package/types/package-checks/function-metrics/lizard/csv.d.ts +0 -1
- package/types/package-checks/function-metrics/lizard/parser.d.ts +0 -17
- package/types/package-checks/function-metrics/lizard/scanner.d.ts +0 -15
- package/types/package-checks/host-environment/process/command.d.ts +0 -7
- package/types/package-checks/project-files/config-glob.d.ts +0 -5
- package/types/project-run/check-execution/preflight.d.ts +0 -27
- package/types/project-run/invocation.d.ts +0 -34
- package/types/project-run/output-configuration.d.ts +0 -3
- package/types/project-run/output-status.d.ts +0 -21
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
import { snapshotJsonObject } from "../../check/options-snapshot.mjs";
|
|
2
|
-
import { diagnosticTags, summarizeDiagnosticValue } from "../diagnostic-logging/logger.mjs";
|
|
3
|
-
import { parseCheckPreflightResult } from "./preflight-result.mjs";
|
|
4
|
-
const EMPTY_MESSAGES = Object.freeze([]);
|
|
5
|
-
const INERT_SIGNAL = new AbortController().signal;
|
|
6
|
-
/** Completes the sequential invocation-wide barrier before any Check enters the Task graph. */
|
|
7
|
-
export async function prepareChecks(input) {
|
|
8
|
-
const resolutions = [];
|
|
9
|
-
for (const check of input.checks) {
|
|
10
|
-
resolutions.push(await prepareCheck({
|
|
11
|
-
check,
|
|
12
|
-
diagnosticLogger: input.diagnosticLogger,
|
|
13
|
-
signal: input.signal
|
|
14
|
-
}));
|
|
15
|
-
}
|
|
16
|
-
return Object.freeze(resolutions);
|
|
17
|
-
}
|
|
18
|
-
async function prepareCheck(input) {
|
|
19
|
-
if (input.signal?.aborted) {
|
|
20
|
-
return observeBlockedPreflight({
|
|
21
|
-
check: input.check,
|
|
22
|
-
diagnosticLogger: input.diagnosticLogger,
|
|
23
|
-
details: {},
|
|
24
|
-
result: "cancelled-before-callback",
|
|
25
|
-
reasonCode: "execution-cancelled"
|
|
26
|
-
});
|
|
27
|
-
}
|
|
28
|
-
if (input.check.preflight === undefined) {
|
|
29
|
-
return resolveAuthoredOptions(input);
|
|
30
|
-
}
|
|
31
|
-
return resolvePreflightInvocation(input, await invokePreflight(input.check, input.signal));
|
|
32
|
-
}
|
|
33
|
-
function resolveAuthoredOptions(input) {
|
|
34
|
-
const resolution = readyResolution({
|
|
35
|
-
authoredCheck: input.check,
|
|
36
|
-
messages: EMPTY_MESSAGES,
|
|
37
|
-
preparedOptions: input.check.options
|
|
38
|
-
});
|
|
39
|
-
observeReadyOrMalformedResolution(input.diagnosticLogger, input.check.definition.checkId, resolution, "skipped", { source: "authored" });
|
|
40
|
-
return resolution;
|
|
41
|
-
}
|
|
42
|
-
function resolvePreflightInvocation(input, invocation) {
|
|
43
|
-
if (invocation.kind === "threw") {
|
|
44
|
-
return observeBlockedPreflight({
|
|
45
|
-
check: input.check,
|
|
46
|
-
diagnosticLogger: input.diagnosticLogger,
|
|
47
|
-
details: { error: invocation.error },
|
|
48
|
-
result: input.signal?.aborted ? "cancelled-after-throw" : "threw",
|
|
49
|
-
reasonCode: input.signal?.aborted ? "execution-cancelled" : "preflight-threw"
|
|
50
|
-
});
|
|
51
|
-
}
|
|
52
|
-
return resolveReturnedPreflight(input, invocation.output);
|
|
53
|
-
}
|
|
54
|
-
function resolveReturnedPreflight(input, preflightOutput) {
|
|
55
|
-
if (input.signal?.aborted) {
|
|
56
|
-
return observeBlockedPreflight({
|
|
57
|
-
check: input.check,
|
|
58
|
-
diagnosticLogger: input.diagnosticLogger,
|
|
59
|
-
details: { raw: preflightOutput },
|
|
60
|
-
result: "cancelled-after-callback",
|
|
61
|
-
reasonCode: "execution-cancelled"
|
|
62
|
-
});
|
|
63
|
-
}
|
|
64
|
-
const preflightResult = parseCheckPreflightResult(preflightOutput);
|
|
65
|
-
if (preflightResult === undefined) {
|
|
66
|
-
return observeBlockedPreflight({
|
|
67
|
-
check: input.check,
|
|
68
|
-
diagnosticLogger: input.diagnosticLogger,
|
|
69
|
-
details: { raw: preflightOutput },
|
|
70
|
-
result: "malformed",
|
|
71
|
-
reasonCode: "invalid-preflight-result"
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
if (preflightResult.status === "failure" && preflightResult.action === "block") {
|
|
75
|
-
return resolveBlockedPreflightResult(input, preflightResult);
|
|
76
|
-
}
|
|
77
|
-
return resolveReadyPreflightResult(input, preflightOutput, preflightResult);
|
|
78
|
-
}
|
|
79
|
-
function resolveBlockedPreflightResult(input, preflightResult) {
|
|
80
|
-
const resolution = blockedResolution({
|
|
81
|
-
check: input.check,
|
|
82
|
-
messages: preflightResult.messages,
|
|
83
|
-
reasonCode: preflightResult.reason.code
|
|
84
|
-
});
|
|
85
|
-
observePreflightResolution(input.diagnosticLogger, input.check.definition.checkId, resolution, "blocked", {
|
|
86
|
-
...(preflightResult.messages.length === 0 ? {} : { messages: preflightResult.messages }),
|
|
87
|
-
reason: preflightResult.reason
|
|
88
|
-
});
|
|
89
|
-
return resolution;
|
|
90
|
-
}
|
|
91
|
-
function resolveReadyPreflightResult(input, preflightOutput, preflightResult) {
|
|
92
|
-
const checkId = input.check.definition.checkId;
|
|
93
|
-
const result = preflightResult.status === "success" ? "prepared" : "continued";
|
|
94
|
-
const resolution = readyResolution({
|
|
95
|
-
authoredCheck: input.check,
|
|
96
|
-
messages: preflightResult.messages,
|
|
97
|
-
preparedOptions: preflightResult.status === "success"
|
|
98
|
-
? preflightResult.preparedOptions
|
|
99
|
-
: preflightResult.fallback
|
|
100
|
-
});
|
|
101
|
-
observeReadyOrMalformedResolution(input.diagnosticLogger, checkId, resolution, result, {
|
|
102
|
-
messages: preflightResult.messages,
|
|
103
|
-
...(preflightResult.status === "success" ? {} : { reason: preflightResult.reason }),
|
|
104
|
-
raw: preflightOutput
|
|
105
|
-
});
|
|
106
|
-
return resolution;
|
|
107
|
-
}
|
|
108
|
-
async function invokePreflight(check, signal) {
|
|
109
|
-
try {
|
|
110
|
-
return Object.freeze({
|
|
111
|
-
kind: "returned",
|
|
112
|
-
output: await check.preflight(check.options, signal ?? INERT_SIGNAL)
|
|
113
|
-
});
|
|
114
|
-
}
|
|
115
|
-
catch (error) {
|
|
116
|
-
return Object.freeze({ kind: "threw", error });
|
|
117
|
-
}
|
|
118
|
-
}
|
|
119
|
-
function observeBlockedPreflight(input) {
|
|
120
|
-
const resolution = blockedResolution({
|
|
121
|
-
check: input.check,
|
|
122
|
-
messages: EMPTY_MESSAGES,
|
|
123
|
-
reasonCode: input.reasonCode
|
|
124
|
-
});
|
|
125
|
-
observePreflightResolution(input.diagnosticLogger, input.check.definition.checkId, resolution, input.result, input.details);
|
|
126
|
-
return resolution;
|
|
127
|
-
}
|
|
128
|
-
function observeReadyOrMalformedResolution(diagnosticLogger, checkId, resolution, result, details) {
|
|
129
|
-
if (resolution.kind === "blocked") {
|
|
130
|
-
observePreflightResolution(diagnosticLogger, checkId, resolution, "malformed", {
|
|
131
|
-
raw: "raw" in details ? details.raw : summarizeDiagnosticValue(details)
|
|
132
|
-
});
|
|
133
|
-
return;
|
|
134
|
-
}
|
|
135
|
-
const messages = "messages" in details ? details.messages : EMPTY_MESSAGES;
|
|
136
|
-
observePreflightResolution(diagnosticLogger, checkId, resolution, result, {
|
|
137
|
-
...(Array.isArray(messages) && messages.length > 0 ? { messages } : {}),
|
|
138
|
-
options: summarizeDiagnosticValue(resolution.check.options),
|
|
139
|
-
...("reason" in details ? { reason: details.reason } : {}),
|
|
140
|
-
...("source" in details ? { source: details.source } : {})
|
|
141
|
-
});
|
|
142
|
-
}
|
|
143
|
-
function observePreflightResolution(diagnosticLogger, checkId, resolution, result, details) {
|
|
144
|
-
diagnosticLogger?.observe({
|
|
145
|
-
event: "preflight.resolved",
|
|
146
|
-
tags: diagnosticTags(`CHECK:${checkId}`, "PREFLIGHT", result.toUpperCase()),
|
|
147
|
-
details: {
|
|
148
|
-
...details,
|
|
149
|
-
...(resolution.kind === "blocked" ? { outcome: resolution.outcome } : {})
|
|
150
|
-
}
|
|
151
|
-
});
|
|
152
|
-
}
|
|
153
|
-
function readyResolution(input) {
|
|
154
|
-
const preparedOptions = snapshotJsonObject(input.preparedOptions);
|
|
155
|
-
if (preparedOptions === undefined) {
|
|
156
|
-
return blockedResolution({
|
|
157
|
-
check: input.authoredCheck,
|
|
158
|
-
messages: EMPTY_MESSAGES,
|
|
159
|
-
reasonCode: "invalid-preflight-result"
|
|
160
|
-
});
|
|
161
|
-
}
|
|
162
|
-
const { preflight: _preflight, ...check } = input.authoredCheck;
|
|
163
|
-
return Object.freeze({
|
|
164
|
-
kind: "ready",
|
|
165
|
-
check: Object.freeze({
|
|
166
|
-
...check,
|
|
167
|
-
options: preparedOptions,
|
|
168
|
-
preflightMessages: input.messages
|
|
169
|
-
})
|
|
170
|
-
});
|
|
171
|
-
}
|
|
172
|
-
function blockedResolution(input) {
|
|
173
|
-
return Object.freeze({
|
|
174
|
-
kind: "blocked",
|
|
175
|
-
check: Object.freeze({
|
|
176
|
-
definition: input.check.definition,
|
|
177
|
-
preflightMessages: input.messages,
|
|
178
|
-
visibility: input.check.visibility
|
|
179
|
-
}),
|
|
180
|
-
outcome: Object.freeze({
|
|
181
|
-
status: "unavailable",
|
|
182
|
-
reason: Object.freeze({ code: input.reasonCode })
|
|
183
|
-
})
|
|
184
|
-
});
|
|
185
|
-
}
|
|
186
|
-
//# sourceMappingURL=preflight.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"preflight.mjs","sourceRoot":"","sources":["../../../../src/project-run/check-execution/preflight.ts"],"names":[],"mappings":"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","sourcesContent":["import type { CheckMessage, CheckOutcome } from \"../../check/check.ts\";\nimport type { NormalizedCheck } from \"../../project-definition/project-definition.ts\";\nimport { snapshotJsonObject } from \"../../check/options-snapshot.ts\";\nimport {\n diagnosticTags,\n summarizeDiagnosticValue,\n type DiagnosticLogger\n} from \"../diagnostic-logging/logger.ts\";\nimport { parseCheckPreflightResult, type ParsedCheckPreflightResult } from \"./preflight-result.ts\";\n\nconst EMPTY_MESSAGES: readonly CheckMessage[] = Object.freeze([]);\nconst INERT_SIGNAL = new AbortController().signal;\n\nexport type PreparedCheck = Omit<NormalizedCheck, \"options\" | \"preflight\"> &\n Readonly<{ readonly options: object; readonly preflightMessages: readonly CheckMessage[] }>;\n\ntype BlockedCheck = Pick<NormalizedCheck, \"definition\" | \"visibility\"> &\n Readonly<{ readonly preflightMessages: readonly CheckMessage[] }>;\n\nexport type ReadyCheckPreflightResolution = Readonly<{\n readonly kind: \"ready\";\n readonly check: PreparedCheck;\n}>;\n\nexport type BlockedCheckPreflightResolution = Readonly<{\n readonly kind: \"blocked\";\n readonly check: BlockedCheck;\n readonly outcome: CheckOutcome;\n}>;\n\nexport type CheckPreflightResolution =\n | ReadyCheckPreflightResolution\n | BlockedCheckPreflightResolution;\n\ntype PreflightResolutionResult =\n | \"skipped\"\n | \"prepared\"\n | \"continued\"\n | \"blocked\"\n | \"cancelled-before-callback\"\n | \"cancelled-after-callback\"\n | \"cancelled-after-throw\"\n | \"threw\"\n | \"malformed\";\n\ntype PrepareCheckInput = Readonly<{\n readonly check: NormalizedCheck;\n readonly diagnosticLogger: DiagnosticLogger | undefined;\n readonly signal: AbortSignal | undefined;\n}>;\n\ntype PreflightInvocation =\n | Readonly<{ readonly kind: \"returned\"; readonly output: unknown }>\n | Readonly<{ readonly kind: \"threw\"; readonly error: unknown }>;\n\n/** Completes the sequential invocation-wide barrier before any Check enters the Task graph. */\nexport async function prepareChecks(\n input: Readonly<{\n readonly checks: readonly NormalizedCheck[];\n readonly diagnosticLogger?: DiagnosticLogger;\n readonly signal: AbortSignal | undefined;\n }>\n): Promise<readonly CheckPreflightResolution[]> {\n const resolutions: CheckPreflightResolution[] = [];\n for (const check of input.checks) {\n resolutions.push(\n await prepareCheck({\n check,\n diagnosticLogger: input.diagnosticLogger,\n signal: input.signal\n })\n );\n }\n return Object.freeze(resolutions);\n}\n\nasync function prepareCheck(input: PrepareCheckInput): Promise<CheckPreflightResolution> {\n if (input.signal?.aborted) {\n return observeBlockedPreflight({\n check: input.check,\n diagnosticLogger: input.diagnosticLogger,\n details: {},\n result: \"cancelled-before-callback\",\n reasonCode: \"execution-cancelled\"\n });\n }\n if (input.check.preflight === undefined) {\n return resolveAuthoredOptions(input);\n }\n return resolvePreflightInvocation(input, await invokePreflight(input.check, input.signal));\n}\n\nfunction resolveAuthoredOptions(input: PrepareCheckInput): CheckPreflightResolution {\n const resolution = readyResolution({\n authoredCheck: input.check,\n messages: EMPTY_MESSAGES,\n preparedOptions: input.check.options\n });\n observeReadyOrMalformedResolution(\n input.diagnosticLogger,\n input.check.definition.checkId,\n resolution,\n \"skipped\",\n { source: \"authored\" }\n );\n return resolution;\n}\n\nfunction resolvePreflightInvocation(\n input: PrepareCheckInput,\n invocation: PreflightInvocation\n): CheckPreflightResolution {\n if (invocation.kind === \"threw\") {\n return observeBlockedPreflight({\n check: input.check,\n diagnosticLogger: input.diagnosticLogger,\n details: { error: invocation.error },\n result: input.signal?.aborted ? \"cancelled-after-throw\" : \"threw\",\n reasonCode: input.signal?.aborted ? \"execution-cancelled\" : \"preflight-threw\"\n });\n }\n return resolveReturnedPreflight(input, invocation.output);\n}\n\nfunction resolveReturnedPreflight(\n input: PrepareCheckInput,\n preflightOutput: unknown\n): CheckPreflightResolution {\n if (input.signal?.aborted) {\n return observeBlockedPreflight({\n check: input.check,\n diagnosticLogger: input.diagnosticLogger,\n details: { raw: preflightOutput },\n result: \"cancelled-after-callback\",\n reasonCode: \"execution-cancelled\"\n });\n }\n const preflightResult = parseCheckPreflightResult(preflightOutput);\n if (preflightResult === undefined) {\n return observeBlockedPreflight({\n check: input.check,\n diagnosticLogger: input.diagnosticLogger,\n details: { raw: preflightOutput },\n result: \"malformed\",\n reasonCode: \"invalid-preflight-result\"\n });\n }\n if (preflightResult.status === \"failure\" && preflightResult.action === \"block\") {\n return resolveBlockedPreflightResult(input, preflightResult);\n }\n return resolveReadyPreflightResult(input, preflightOutput, preflightResult);\n}\n\nfunction resolveBlockedPreflightResult(\n input: PrepareCheckInput,\n preflightResult: Extract<ParsedCheckPreflightResult, { readonly action: \"block\" }>\n): CheckPreflightResolution {\n const resolution = blockedResolution({\n check: input.check,\n messages: preflightResult.messages,\n reasonCode: preflightResult.reason.code\n });\n observePreflightResolution(\n input.diagnosticLogger,\n input.check.definition.checkId,\n resolution,\n \"blocked\",\n {\n ...(preflightResult.messages.length === 0 ? {} : { messages: preflightResult.messages }),\n reason: preflightResult.reason\n }\n );\n return resolution;\n}\n\nfunction resolveReadyPreflightResult(\n input: PrepareCheckInput,\n preflightOutput: unknown,\n preflightResult: Exclude<ParsedCheckPreflightResult, { readonly action: \"block\" }>\n): CheckPreflightResolution {\n const checkId = input.check.definition.checkId;\n const result = preflightResult.status === \"success\" ? \"prepared\" : \"continued\";\n const resolution = readyResolution({\n authoredCheck: input.check,\n messages: preflightResult.messages,\n preparedOptions:\n preflightResult.status === \"success\"\n ? preflightResult.preparedOptions\n : preflightResult.fallback\n });\n observeReadyOrMalformedResolution(input.diagnosticLogger, checkId, resolution, result, {\n messages: preflightResult.messages,\n ...(preflightResult.status === \"success\" ? {} : { reason: preflightResult.reason }),\n raw: preflightOutput\n });\n return resolution;\n}\n\nasync function invokePreflight(\n check: NormalizedCheck,\n signal: AbortSignal | undefined\n): Promise<PreflightInvocation> {\n try {\n return Object.freeze({\n kind: \"returned\",\n output: await check.preflight!(check.options, signal ?? INERT_SIGNAL)\n });\n } catch (error) {\n return Object.freeze({ kind: \"threw\", error });\n }\n}\n\nfunction observeBlockedPreflight(\n input: Readonly<{\n readonly check: NormalizedCheck;\n readonly diagnosticLogger: DiagnosticLogger | undefined;\n readonly details: Readonly<Record<string, unknown>>;\n readonly result: PreflightResolutionResult;\n readonly reasonCode: string;\n }>\n): BlockedCheckPreflightResolution {\n const resolution = blockedResolution({\n check: input.check,\n messages: EMPTY_MESSAGES,\n reasonCode: input.reasonCode\n });\n observePreflightResolution(\n input.diagnosticLogger,\n input.check.definition.checkId,\n resolution,\n input.result,\n input.details\n );\n return resolution;\n}\n\nfunction observeReadyOrMalformedResolution(\n diagnosticLogger: DiagnosticLogger | undefined,\n checkId: string,\n resolution: CheckPreflightResolution,\n result: \"skipped\" | \"prepared\" | \"continued\",\n details: Readonly<Record<string, unknown>>\n): void {\n if (resolution.kind === \"blocked\") {\n observePreflightResolution(diagnosticLogger, checkId, resolution, \"malformed\", {\n raw: \"raw\" in details ? details.raw : summarizeDiagnosticValue(details)\n });\n return;\n }\n const messages = \"messages\" in details ? details.messages : EMPTY_MESSAGES;\n observePreflightResolution(diagnosticLogger, checkId, resolution, result, {\n ...(Array.isArray(messages) && messages.length > 0 ? { messages } : {}),\n options: summarizeDiagnosticValue(resolution.check.options),\n ...(\"reason\" in details ? { reason: details.reason } : {}),\n ...(\"source\" in details ? { source: details.source } : {})\n });\n}\n\nfunction observePreflightResolution(\n diagnosticLogger: DiagnosticLogger | undefined,\n checkId: string,\n resolution: CheckPreflightResolution,\n result: PreflightResolutionResult,\n details: Readonly<Record<string, unknown>>\n): void {\n diagnosticLogger?.observe({\n event: \"preflight.resolved\",\n tags: diagnosticTags(`CHECK:${checkId}`, \"PREFLIGHT\", result.toUpperCase()),\n details: {\n ...details,\n ...(resolution.kind === \"blocked\" ? { outcome: resolution.outcome } : {})\n }\n });\n}\n\nfunction readyResolution(\n input: Readonly<{\n readonly authoredCheck: NormalizedCheck;\n readonly messages: readonly CheckMessage[];\n readonly preparedOptions: unknown;\n }>\n): CheckPreflightResolution {\n const preparedOptions = snapshotJsonObject(input.preparedOptions);\n if (preparedOptions === undefined) {\n return blockedResolution({\n check: input.authoredCheck,\n messages: EMPTY_MESSAGES,\n reasonCode: \"invalid-preflight-result\"\n });\n }\n const { preflight: _preflight, ...check } = input.authoredCheck;\n return Object.freeze({\n kind: \"ready\",\n check: Object.freeze({\n ...check,\n options: preparedOptions,\n preflightMessages: input.messages\n })\n });\n}\n\nfunction blockedResolution(\n input: Readonly<{\n readonly check: NormalizedCheck;\n readonly messages: readonly CheckMessage[];\n readonly reasonCode: string;\n }>\n): BlockedCheckPreflightResolution {\n return Object.freeze({\n kind: \"blocked\",\n check: Object.freeze({\n definition: input.check.definition,\n preflightMessages: input.messages,\n visibility: input.check.visibility\n }),\n outcome: Object.freeze({\n status: \"unavailable\",\n reason: Object.freeze({ code: input.reasonCode })\n })\n });\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"completion.mjs","sourceRoot":"","sources":["../../../src/project-run/completion.ts"],"names":[],"mappings":"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","sourcesContent":["import { resolve } from \"node:path\";\nimport { failedOutput } from \"./output-status.ts\";\nimport { publishMachineOutput } from \"./machine-publication.ts\";\nimport {\n outputFailure,\n type CheckDuration,\n type CheckRunMessage,\n type NonConfigurationRunResult,\n type RunResultFacts\n} from \"./result.ts\";\nimport type { CheckAggregate } from \"./controls/contract.ts\";\nimport { diagnosticTags } from \"./diagnostic-logging/logger.ts\";\nimport type { Invocation } from \"./invocation.ts\";\nimport {\n createPublicationModelV4,\n type TrustedPublicationModelV4\n} from \"../machine-output/v4/publication-model.ts\";\nimport type { CoreCheck, CoreSnapshot } from \"../check-settlement/facts.ts\";\n\ntype OutcomeCounts = {\n readonly failed: number;\n readonly notApplicable: number;\n readonly passed: number;\n readonly unavailable: number;\n};\n\n/** Settled Check facts consumed by completion and output publication. */\nexport type CoreExecution = Readonly<{\n readonly aggregate: CheckAggregate | null;\n readonly checkDurations: readonly CheckDuration[];\n readonly checkMessages: readonly CheckRunMessage[];\n readonly snapshot: CoreSnapshot;\n}>;\n\nexport function completeInvocation(\n invocation: Invocation,\n core: CoreExecution\n): NonConfigurationRunResult {\n const facts = runFacts(core);\n if (invocation.outputConfiguration.machinePublication.enabled) {\n const model = createModel(invocation, core.snapshot);\n if (isExecutionResult(model)) return model;\n const published = publishMachineOutput({\n configuration: invocation.outputConfiguration.machinePublication,\n statuses: invocation.outputs,\n model,\n directory: resolve(\n invocation.projectRoot,\n invocation.outputConfiguration.machinePublication.directory\n )\n });\n if (!published) return failure(invocation, facts);\n }\n const output = failedOutput(invocation.outputs.value());\n return output === undefined\n ? Object.freeze({\n kind: \"completed\",\n declarativeFingerprint: invocation.declarativeFingerprint,\n definitionWarnings: invocation.definitionWarnings,\n outputs: invocation.outputs.value(),\n ...facts\n })\n : failure(invocation, facts);\n}\nfunction failure(invocation: Invocation, facts: RunResultFacts): ReturnType<typeof outputFailure> {\n const output = failedOutput(invocation.outputs.value());\n if (output === undefined) throw new Error(\"Run output failed without a failed status\");\n return outputFailure(\n invocation.declarativeFingerprint,\n invocation.definitionWarnings,\n invocation.outputs.value(),\n output,\n facts\n );\n}\nfunction runFacts(core: CoreExecution): RunResultFacts {\n return Object.freeze({\n aggregate: core.aggregate,\n checkDurations: core.checkDurations,\n checkMessages: core.checkMessages,\n snapshot: core.snapshot\n });\n}\nfunction createModel(\n invocation: Invocation,\n snapshot: CoreExecution[\"snapshot\"]\n): TrustedPublicationModelV4 | Extract<NonConfigurationRunResult, { readonly kind: \"execution\" }> {\n try {\n if (invocation.startedAtUtc === null)\n throw new Error(\"Machine publication requires an invocation timestamp\");\n return createPublicationModelV4({\n invocation: {\n invocationId: invocation.invocationId,\n projectRoot: \".\",\n timestamp: invocation.startedAtUtc\n },\n snapshot\n });\n } catch {\n return Object.freeze({\n kind: \"execution\",\n declarativeFingerprint: invocation.declarativeFingerprint,\n definitionWarnings: invocation.definitionWarnings,\n diagnostic: Object.freeze({ code: \"publication-model-failed\" }),\n outputs: invocation.outputs.value()\n });\n }\n}\nfunction isExecutionResult(\n value:\n | TrustedPublicationModelV4\n | Extract<NonConfigurationRunResult, { readonly kind: \"execution\" }>\n): value is Extract<NonConfigurationRunResult, { readonly kind: \"execution\" }> {\n return \"kind\" in value;\n}\n\n/** Closes diagnostic logging and applies final output priority to a non-configuration candidate. */\nexport function finalizeInvocation(\n invocation: Invocation,\n candidate: NonConfigurationRunResult\n): NonConfigurationRunResult {\n const preCloseOutputs = invocation.outputs.value();\n invocation.diagnosticLogger.observe({\n event: \"run.terminal-before-log-close\",\n tags: diagnosticTags(\"RUN\", \"TERMINAL\", terminalStatusTag(candidate)),\n details: {\n ...closingFacts(candidate),\n diagnosticLogging: \"close-not-yet-confirmed\",\n outputs: preCloseOutputDetails(preCloseOutputs)\n }\n });\n const diagnosticLoggingStatus = invocation.diagnosticLogger.close();\n if (diagnosticLoggingStatus === \"failed\") invocation.outputs.failed(\"diagnosticLogging\");\n if (diagnosticLoggingStatus === \"succeeded\") invocation.outputs.succeeded(\"diagnosticLogging\");\n\n const outputs = invocation.outputs.value();\n switch (candidate.kind) {\n case \"completed\": {\n const output = failedOutput(outputs);\n return output === undefined\n ? Object.freeze({ ...candidate, outputs })\n : outputFailure(\n candidate.declarativeFingerprint,\n candidate.definitionWarnings,\n outputs,\n output,\n finalSnapshotFacts(candidate)\n );\n }\n case \"output\": {\n const output = failedOutput(outputs);\n if (output === undefined) throw new Error(\"Run output failed without a failed status\");\n return outputFailure(\n candidate.declarativeFingerprint,\n candidate.definitionWarnings,\n outputs,\n output,\n finalSnapshotFacts(candidate)\n );\n }\n case \"planning\":\n case \"cancelled\":\n case \"execution\":\n return Object.freeze({ ...candidate, outputs });\n }\n}\n\nfunction terminalStatusTag(candidate: NonConfigurationRunResult): string {\n if (\"aggregate\" in candidate && candidate.aggregate !== null)\n return candidate.aggregate.toUpperCase();\n if (candidate.kind === \"cancelled\") return \"CANCELLED\";\n return candidate.kind.toUpperCase();\n}\n\nfunction preCloseOutputDetails(outputs: ReturnType<Invocation[\"outputs\"][\"value\"]>): Readonly<{\n readonly machinePublication: (typeof outputs)[\"machinePublication\"];\n readonly progressRendering: (typeof outputs)[\"progressRendering\"];\n}> {\n return Object.freeze({\n machinePublication: outputs.machinePublication,\n progressRendering: outputs.progressRendering\n });\n}\n\nfunction closingFacts(candidate: NonConfigurationRunResult): Readonly<{\n readonly aggregate: CheckAggregate | null;\n readonly candidateKind: NonConfigurationRunResult[\"kind\"];\n readonly counts: Readonly<{\n readonly failed: number;\n readonly notApplicable: number;\n readonly passed: number;\n readonly unavailable: number;\n }> | null;\n readonly nonPassed: readonly Readonly<{\n readonly checkId: string;\n readonly reason: unknown;\n readonly status: string;\n }>[];\n}> {\n if (!(\"snapshot\" in candidate)) {\n return Object.freeze({\n aggregate: null,\n candidateKind: candidate.kind,\n counts: null,\n nonPassed: []\n });\n }\n const summary = summarizeSnapshot(candidate.snapshot);\n return Object.freeze({\n aggregate: \"aggregate\" in candidate ? candidate.aggregate : null,\n candidateKind: candidate.kind,\n ...summary\n });\n}\n\nfunction summarizeSnapshot(snapshot: CoreSnapshot): Readonly<{\n readonly counts: OutcomeCounts;\n readonly nonPassed: readonly Readonly<{\n readonly checkId: string;\n readonly reason: unknown;\n readonly status: string;\n }>[];\n}> {\n const counts = { failed: 0, notApplicable: 0, passed: 0, unavailable: 0 };\n const nonPassed: Array<Readonly<{ checkId: string; reason: unknown; status: string }>> = [];\n for (const check of snapshot.checks) {\n counts[statusCountKey(check)] += 1;\n const fact = nonPassedFact(check);\n if (fact !== undefined) nonPassed.push(fact);\n }\n return Object.freeze({\n counts: Object.freeze(counts),\n nonPassed: Object.freeze(nonPassed)\n });\n}\n\nfunction statusCountKey(check: CoreCheck): keyof OutcomeCounts {\n return check.outcome.status === \"not-applicable\" ? \"notApplicable\" : check.outcome.status;\n}\n\nfunction nonPassedFact(\n check: CoreCheck\n):\n | Readonly<{ readonly checkId: string; readonly reason: unknown; readonly status: string }>\n | undefined {\n if (check.outcome.status === \"passed\") return undefined;\n return Object.freeze({\n checkId: check.checkId,\n reason: check.outcome.status === \"failed\" ? null : (check.outcome.reason ?? null),\n status: check.outcome.status\n });\n}\n\nfunction finalSnapshotFacts(\n candidate: Extract<NonConfigurationRunResult, RunResultFacts>\n): RunResultFacts {\n return Object.freeze({\n aggregate: candidate.aggregate,\n checkDurations: candidate.checkDurations,\n checkMessages: candidate.checkMessages,\n snapshot: candidate.snapshot\n });\n}\n"]}
|
|
@@ -1,111 +0,0 @@
|
|
|
1
|
-
import { randomUUID } from "node:crypto";
|
|
2
|
-
import { relative, resolve } from "node:path";
|
|
3
|
-
import { createDeclarativeFingerprint } from "../project-definition/project-definition.mjs";
|
|
4
|
-
import { createDiagnosticLogger } from "./diagnostic-logging/logger.mjs";
|
|
5
|
-
import { createOutputStatuses } from "./output-status.mjs";
|
|
6
|
-
import { effectiveOutputs } from "./output-configuration.mjs";
|
|
7
|
-
import { createProgressRendering } from "./progress-rendering/presentation.mjs";
|
|
8
|
-
const SYSTEM_MONOTONIC_CLOCK = Object.freeze({
|
|
9
|
-
now: () => performance.now()
|
|
10
|
-
});
|
|
11
|
-
/** Creates immutable invocation-owned output state before any planning or execution work. */
|
|
12
|
-
export function createInvocation(input) {
|
|
13
|
-
const outputConfiguration = effectiveOutputs(input.definition, input.controls);
|
|
14
|
-
const clock = input.dependencies.clock ?? SYSTEM_MONOTONIC_CLOCK;
|
|
15
|
-
const projectRoot = resolve(input.controls.projectRoot ?? process.cwd());
|
|
16
|
-
const startedAtUtc = captureOutputCreationTimestamp(outputConfiguration, input.dependencies);
|
|
17
|
-
const identity = createInvocationIdentity();
|
|
18
|
-
const diagnosticLoggingFile = resolveDiagnosticLoggingFile({
|
|
19
|
-
identity,
|
|
20
|
-
outputConfiguration,
|
|
21
|
-
projectRoot,
|
|
22
|
-
startedAtUtc
|
|
23
|
-
});
|
|
24
|
-
const outputs = createOutputStatuses(outputConfiguration, diagnosticLoggingFile);
|
|
25
|
-
const diagnosticLogger = createDiagnosticLoggerSafely(input.dependencies.diagnosticLoggerFactory ?? createDiagnosticLogger, {
|
|
26
|
-
clock,
|
|
27
|
-
enabled: outputConfiguration.diagnosticLogging.enabled,
|
|
28
|
-
file: diagnosticLoggingFile === null ? null : resolve(projectRoot, diagnosticLoggingFile)
|
|
29
|
-
});
|
|
30
|
-
return Object.freeze({
|
|
31
|
-
clock,
|
|
32
|
-
controls: input.controls,
|
|
33
|
-
declarativeFingerprint: createDeclarativeFingerprint(input.normalized.declarative),
|
|
34
|
-
definition: input.definition,
|
|
35
|
-
definitionWarnings: Object.freeze([...input.definitionWarnings]),
|
|
36
|
-
diagnosticLogger,
|
|
37
|
-
outputConfiguration,
|
|
38
|
-
outputs,
|
|
39
|
-
invocationId: identity.id,
|
|
40
|
-
normalized: input.normalized,
|
|
41
|
-
progressRendering: createProgressRendering(outputConfiguration.progressRendering, outputs, {
|
|
42
|
-
clock,
|
|
43
|
-
refreshScheduler: input.dependencies.progressRefreshScheduler,
|
|
44
|
-
writerFactory: input.dependencies.progressWriterFactory
|
|
45
|
-
}),
|
|
46
|
-
projectRoot,
|
|
47
|
-
startedAtUtc
|
|
48
|
-
});
|
|
49
|
-
}
|
|
50
|
-
function captureOutputCreationTimestamp(outputConfiguration, dependencies) {
|
|
51
|
-
if (!outputConfiguration.diagnosticLogging.enabled &&
|
|
52
|
-
!outputConfiguration.machinePublication.enabled)
|
|
53
|
-
return null;
|
|
54
|
-
return (dependencies.wallClock?.now() ?? new Date()).toISOString();
|
|
55
|
-
}
|
|
56
|
-
function createInvocationIdentity() {
|
|
57
|
-
const uuid = randomUUID();
|
|
58
|
-
return Object.freeze({ id: `invocation/v1:${uuid}`, uuid });
|
|
59
|
-
}
|
|
60
|
-
function resolveDiagnosticLoggingFile(input) {
|
|
61
|
-
if (!input.outputConfiguration.diagnosticLogging.enabled)
|
|
62
|
-
return null;
|
|
63
|
-
return relative(input.projectRoot, resolve(input.projectRoot, input.outputConfiguration.diagnosticLogging.directory, diagnosticLogFileName(requireStartedAtUtc(input.startedAtUtc), input.identity.uuid)));
|
|
64
|
-
}
|
|
65
|
-
function createDiagnosticLoggerSafely(factory, input) {
|
|
66
|
-
let delegate;
|
|
67
|
-
try {
|
|
68
|
-
delegate = factory(input);
|
|
69
|
-
}
|
|
70
|
-
catch {
|
|
71
|
-
return failedDiagnosticLogger();
|
|
72
|
-
}
|
|
73
|
-
let failed = false;
|
|
74
|
-
return Object.freeze({
|
|
75
|
-
close: () => {
|
|
76
|
-
try {
|
|
77
|
-
const status = delegate.close();
|
|
78
|
-
return failed ? "failed" : status;
|
|
79
|
-
}
|
|
80
|
-
catch {
|
|
81
|
-
return "failed";
|
|
82
|
-
}
|
|
83
|
-
},
|
|
84
|
-
observe: (observation) => {
|
|
85
|
-
if (failed)
|
|
86
|
-
return;
|
|
87
|
-
try {
|
|
88
|
-
delegate.observe(observation);
|
|
89
|
-
}
|
|
90
|
-
catch {
|
|
91
|
-
failed = true;
|
|
92
|
-
}
|
|
93
|
-
}
|
|
94
|
-
});
|
|
95
|
-
}
|
|
96
|
-
function failedDiagnosticLogger() {
|
|
97
|
-
return Object.freeze({
|
|
98
|
-
close: () => "failed",
|
|
99
|
-
observe: () => undefined
|
|
100
|
-
});
|
|
101
|
-
}
|
|
102
|
-
function diagnosticLogFileName(startedAtUtc, invocationUuid) {
|
|
103
|
-
const compactUtc = startedAtUtc.replaceAll("-", "").replaceAll(":", "");
|
|
104
|
-
return `run-${compactUtc}-${invocationUuid}.log`;
|
|
105
|
-
}
|
|
106
|
-
function requireStartedAtUtc(startedAtUtc) {
|
|
107
|
-
if (startedAtUtc === null)
|
|
108
|
-
throw new Error("Enabled output requires an invocation timestamp");
|
|
109
|
-
return startedAtUtc;
|
|
110
|
-
}
|
|
111
|
-
//# sourceMappingURL=invocation-creation.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"invocation-creation.mjs","sourceRoot":"","sources":["../../../src/project-run/invocation-creation.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAE9C,OAAO,EACL,4BAA4B,EAI7B,MAAM,6CAA6C,CAAC;AAErD,OAAO,EACL,sBAAsB,EAIvB,MAAM,gCAAgC,CAAC;AAExC,OAAO,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,uBAAuB,EAAE,MAAM,sCAAsC,CAAC;AAE/E,MAAM,sBAAsB,GAAwB,MAAM,CAAC,MAAM,CAAC;IAChE,GAAG,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,GAAG,EAAE;CAC7B,CAAC,CAAC;AAUH,6FAA6F;AAC7F,MAAM,UAAU,gBAAgB,CAAC,KAA8B;IAC7D,MAAM,mBAAmB,GAAG,gBAAgB,CAAC,KAAK,CAAC,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;IAC/E,MAAM,KAAK,GAAG,KAAK,CAAC,YAAY,CAAC,KAAK,IAAI,sBAAsB,CAAC;IACjE,MAAM,WAAW,GAAG,OAAO,CAAC,KAAK,CAAC,QAAQ,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;IACzE,MAAM,YAAY,GAAG,8BAA8B,CAAC,mBAAmB,EAAE,KAAK,CAAC,YAAY,CAAC,CAAC;IAC7F,MAAM,QAAQ,GAAG,wBAAwB,EAAE,CAAC;IAC5C,MAAM,qBAAqB,GAAG,4BAA4B,CAAC;QACzD,QAAQ;QACR,mBAAmB;QACnB,WAAW;QACX,YAAY;KACb,CAAC,CAAC;IACH,MAAM,OAAO,GAAG,oBAAoB,CAAC,mBAAmB,EAAE,qBAAqB,CAAC,CAAC;IACjF,MAAM,gBAAgB,GAAG,4BAA4B,CACnD,KAAK,CAAC,YAAY,CAAC,uBAAuB,IAAI,sBAAsB,EACpE;QACE,KAAK;QACL,OAAO,EAAE,mBAAmB,CAAC,iBAAiB,CAAC,OAAO;QACtD,IAAI,EAAE,qBAAqB,KAAK,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,qBAAqB,CAAC;KAC1F,CACF,CAAC;IAEF,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,KAAK;QACL,QAAQ,EAAE,KAAK,CAAC,QAAQ;QACxB,sBAAsB,EAAE,4BAA4B,CAAC,KAAK,CAAC,UAAU,CAAC,WAAW,CAAC;QAClF,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,KAAK,CAAC,kBAAkB,CAAC,CAAC;QAChE,gBAAgB;QAChB,mBAAmB;QACnB,OAAO;QACP,YAAY,EAAE,QAAQ,CAAC,EAAE;QACzB,UAAU,EAAE,KAAK,CAAC,UAAU;QAC5B,iBAAiB,EAAE,uBAAuB,CAAC,mBAAmB,CAAC,iBAAiB,EAAE,OAAO,EAAE;YACzF,KAAK;YACL,gBAAgB,EAAE,KAAK,CAAC,YAAY,CAAC,wBAAwB;YAC7D,aAAa,EAAE,KAAK,CAAC,YAAY,CAAC,qBAAqB;SACxD,CAAC;QACF,WAAW;QACX,YAAY;KACb,CAAC,CAAC;AACL,CAAC;AAED,SAAS,8BAA8B,CACrC,mBAAiD,EACjD,YAAuC;IAEvC,IACE,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,OAAO;QAC9C,CAAC,mBAAmB,CAAC,kBAAkB,CAAC,OAAO;QAE/C,OAAO,IAAI,CAAC;IACd,OAAO,CAAC,YAAY,CAAC,SAAS,EAAE,GAAG,EAAE,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC,WAAW,EAAE,CAAC;AACrE,CAAC;AAED,SAAS,wBAAwB;IAC/B,MAAM,IAAI,GAAG,UAAU,EAAE,CAAC;IAC1B,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,iBAAiB,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;AAC9D,CAAC;AAED,SAAS,4BAA4B,CACnC,KAKE;IAEF,IAAI,CAAC,KAAK,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IACtE,OAAO,QAAQ,CACb,KAAK,CAAC,WAAW,EACjB,OAAO,CACL,KAAK,CAAC,WAAW,EACjB,KAAK,CAAC,mBAAmB,CAAC,iBAAiB,CAAC,SAAS,EACrD,qBAAqB,CAAC,mBAAmB,CAAC,KAAK,CAAC,YAAY,CAAC,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,CACpF,CACF,CAAC;AACJ,CAAC;AAED,SAAS,4BAA4B,CACnC,OAAgC,EAChC,KAA6C;IAE7C,IAAI,QAA0B,CAAC;IAC/B,IAAI,CAAC;QACH,QAAQ,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5B,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,sBAAsB,EAAE,CAAC;IAClC,CAAC;IACD,IAAI,MAAM,GAAG,KAAK,CAAC;IACnB,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,KAAK,EAAE,GAAG,EAAE;YACV,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,CAAC;gBAChC,OAAO,MAAM,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC;YACpC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,QAAQ,CAAC;YAClB,CAAC;QACH,CAAC;QACD,OAAO,EAAE,CAAC,WAAkC,EAAE,EAAE;YAC9C,IAAI,MAAM;gBAAE,OAAO;YACnB,IAAI,CAAC;gBACH,QAAQ,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;YAChC,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,GAAG,IAAI,CAAC;YAChB,CAAC;QACH,CAAC;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,sBAAsB;IAC7B,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,KAAK,EAAE,GAAG,EAAE,CAAC,QAAiB;QAC9B,OAAO,EAAE,GAAG,EAAE,CAAC,SAAS;KACzB,CAAC,CAAC;AACL,CAAC;AAED,SAAS,qBAAqB,CAAC,YAAoB,EAAE,cAAsB;IACzE,MAAM,UAAU,GAAG,YAAY,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,UAAU,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;IACxE,OAAO,OAAO,UAAU,IAAI,cAAc,MAAM,CAAC;AACnD,CAAC;AAED,SAAS,mBAAmB,CAAC,YAA2B;IACtD,IAAI,YAAY,KAAK,IAAI;QAAE,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;IAC9F,OAAO,YAAY,CAAC;AACtB,CAAC","sourcesContent":["import { randomUUID } from \"node:crypto\";\nimport { relative, resolve } from \"node:path\";\n\nimport {\n createDeclarativeFingerprint,\n type DefinitionWarning,\n type NormalizedProjectDefinition,\n type ProjectDefinition\n} from \"../project-definition/project-definition.ts\";\nimport type { RunControls } from \"./controls/contract.ts\";\nimport {\n createDiagnosticLogger,\n type DiagnosticLogger,\n type DiagnosticLoggerFactory,\n type DiagnosticObservation\n} from \"./diagnostic-logging/logger.ts\";\nimport type { Invocation, RunInvocationDependencies } from \"./invocation.ts\";\nimport { createOutputStatuses } from \"./output-status.ts\";\nimport { effectiveOutputs } from \"./output-configuration.ts\";\nimport { createProgressRendering } from \"./progress-rendering/presentation.ts\";\n\nconst SYSTEM_MONOTONIC_CLOCK: Invocation[\"clock\"] = Object.freeze({\n now: () => performance.now()\n});\n\nexport interface InvocationCreationInput {\n readonly controls: RunControls;\n readonly definition: ProjectDefinition;\n readonly definitionWarnings: readonly DefinitionWarning[];\n readonly dependencies: RunInvocationDependencies;\n readonly normalized: NormalizedProjectDefinition;\n}\n\n/** Creates immutable invocation-owned output state before any planning or execution work. */\nexport function createInvocation(input: InvocationCreationInput): Invocation {\n const outputConfiguration = effectiveOutputs(input.definition, input.controls);\n const clock = input.dependencies.clock ?? SYSTEM_MONOTONIC_CLOCK;\n const projectRoot = resolve(input.controls.projectRoot ?? process.cwd());\n const startedAtUtc = captureOutputCreationTimestamp(outputConfiguration, input.dependencies);\n const identity = createInvocationIdentity();\n const diagnosticLoggingFile = resolveDiagnosticLoggingFile({\n identity,\n outputConfiguration,\n projectRoot,\n startedAtUtc\n });\n const outputs = createOutputStatuses(outputConfiguration, diagnosticLoggingFile);\n const diagnosticLogger = createDiagnosticLoggerSafely(\n input.dependencies.diagnosticLoggerFactory ?? createDiagnosticLogger,\n {\n clock,\n enabled: outputConfiguration.diagnosticLogging.enabled,\n file: diagnosticLoggingFile === null ? null : resolve(projectRoot, diagnosticLoggingFile)\n }\n );\n\n return Object.freeze({\n clock,\n controls: input.controls,\n declarativeFingerprint: createDeclarativeFingerprint(input.normalized.declarative),\n definition: input.definition,\n definitionWarnings: Object.freeze([...input.definitionWarnings]),\n diagnosticLogger,\n outputConfiguration,\n outputs,\n invocationId: identity.id,\n normalized: input.normalized,\n progressRendering: createProgressRendering(outputConfiguration.progressRendering, outputs, {\n clock,\n refreshScheduler: input.dependencies.progressRefreshScheduler,\n writerFactory: input.dependencies.progressWriterFactory\n }),\n projectRoot,\n startedAtUtc\n });\n}\n\nfunction captureOutputCreationTimestamp(\n outputConfiguration: ProjectDefinition[\"outputs\"],\n dependencies: RunInvocationDependencies\n): string | null {\n if (\n !outputConfiguration.diagnosticLogging.enabled &&\n !outputConfiguration.machinePublication.enabled\n )\n return null;\n return (dependencies.wallClock?.now() ?? new Date()).toISOString();\n}\n\nfunction createInvocationIdentity(): Readonly<{ readonly id: string; readonly uuid: string }> {\n const uuid = randomUUID();\n return Object.freeze({ id: `invocation/v1:${uuid}`, uuid });\n}\n\nfunction resolveDiagnosticLoggingFile(\n input: Readonly<{\n readonly identity: Readonly<{ readonly uuid: string }>;\n readonly outputConfiguration: ProjectDefinition[\"outputs\"];\n readonly projectRoot: string;\n readonly startedAtUtc: string | null;\n }>\n): string | null {\n if (!input.outputConfiguration.diagnosticLogging.enabled) return null;\n return relative(\n input.projectRoot,\n resolve(\n input.projectRoot,\n input.outputConfiguration.diagnosticLogging.directory,\n diagnosticLogFileName(requireStartedAtUtc(input.startedAtUtc), input.identity.uuid)\n )\n );\n}\n\nfunction createDiagnosticLoggerSafely(\n factory: DiagnosticLoggerFactory,\n input: Parameters<DiagnosticLoggerFactory>[0]\n): DiagnosticLogger {\n let delegate: DiagnosticLogger;\n try {\n delegate = factory(input);\n } catch {\n return failedDiagnosticLogger();\n }\n let failed = false;\n return Object.freeze({\n close: () => {\n try {\n const status = delegate.close();\n return failed ? \"failed\" : status;\n } catch {\n return \"failed\";\n }\n },\n observe: (observation: DiagnosticObservation) => {\n if (failed) return;\n try {\n delegate.observe(observation);\n } catch {\n failed = true;\n }\n }\n });\n}\n\nfunction failedDiagnosticLogger(): DiagnosticLogger {\n return Object.freeze({\n close: () => \"failed\" as const,\n observe: () => undefined\n });\n}\n\nfunction diagnosticLogFileName(startedAtUtc: string, invocationUuid: string): string {\n const compactUtc = startedAtUtc.replaceAll(\"-\", \"\").replaceAll(\":\", \"\");\n return `run-${compactUtc}-${invocationUuid}.log`;\n}\n\nfunction requireStartedAtUtc(startedAtUtc: string | null): string {\n if (startedAtUtc === null) throw new Error(\"Enabled output requires an invocation timestamp\");\n return startedAtUtc;\n}\n"]}
|
|
@@ -1,195 +0,0 @@
|
|
|
1
|
-
import { normalizeProjectDefinition } from "../project-definition/project-definition.mjs";
|
|
2
|
-
import { prepareTaskGraph } from "./task-scheduler/graph.mjs";
|
|
3
|
-
import { aggregateCheckOutcomes, validateCheckAggregationSelection } from "./aggregation.mjs";
|
|
4
|
-
import { executeResolvedChecks } from "./check-execution/resolved-checks.mjs";
|
|
5
|
-
import { planStaticCheckGraph } from "./check-execution/plan.mjs";
|
|
6
|
-
import {} from "./progress-rendering/presentation.mjs";
|
|
7
|
-
import { completeInvocation, finalizeInvocation } from "./completion.mjs";
|
|
8
|
-
import { createProjectContext } from "./project-context.mjs";
|
|
9
|
-
import { executionCancellation, isCancelled, planning, preExecutionCancellation } from "./result.mjs";
|
|
10
|
-
import { diagnosticTags } from "./diagnostic-logging/logger.mjs";
|
|
11
|
-
import { createInvocation } from "./invocation-creation.mjs";
|
|
12
|
-
export async function executeValidatedRun(definition, controls, definitionWarnings, dependencies = {}) {
|
|
13
|
-
const normalized = normalizeProjectDefinition(definition);
|
|
14
|
-
const aggregation = validateCheckAggregationSelection(controls.checkAggregation, normalized.checks.map((check) => check.definition.checkId));
|
|
15
|
-
if (!aggregation.ok)
|
|
16
|
-
return Object.freeze({
|
|
17
|
-
kind: "configuration",
|
|
18
|
-
definitionWarnings: Object.freeze([...definitionWarnings]),
|
|
19
|
-
diagnostic: aggregation.error
|
|
20
|
-
});
|
|
21
|
-
const invocation = createInvocation({
|
|
22
|
-
controls,
|
|
23
|
-
definition,
|
|
24
|
-
definitionWarnings,
|
|
25
|
-
dependencies,
|
|
26
|
-
normalized
|
|
27
|
-
});
|
|
28
|
-
let candidate;
|
|
29
|
-
try {
|
|
30
|
-
observeInvocationStarted(invocation, aggregation.value);
|
|
31
|
-
if (isCancelled(controls)) {
|
|
32
|
-
candidate = cancelledBeforeExecution(invocation, "pre-work");
|
|
33
|
-
}
|
|
34
|
-
else if (!validateTaskGraph(invocation)) {
|
|
35
|
-
candidate = planningResult(invocation, "task-graph-invalid");
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
candidate = await executePlannedInvocation(invocation, aggregation.value);
|
|
39
|
-
}
|
|
40
|
-
}
|
|
41
|
-
catch {
|
|
42
|
-
candidate = executionResult(invocation, "task-engine-failed");
|
|
43
|
-
}
|
|
44
|
-
return finalizeInvocation(invocation, candidate);
|
|
45
|
-
}
|
|
46
|
-
function observeInvocationStarted(invocation, aggregation) {
|
|
47
|
-
invocation.diagnosticLogger.observe({
|
|
48
|
-
event: "run.started",
|
|
49
|
-
tags: diagnosticTags("RUN", "STARTED"),
|
|
50
|
-
details: {
|
|
51
|
-
aggregation: aggregation ?? null,
|
|
52
|
-
checkCount: invocation.normalized.checks.length,
|
|
53
|
-
flags: invocation.controls.flags ?? [],
|
|
54
|
-
invocationId: invocation.invocationId,
|
|
55
|
-
outputs: invocation.outputConfiguration,
|
|
56
|
-
scheduler: invocation.normalized.declarative.scheduler
|
|
57
|
-
}
|
|
58
|
-
});
|
|
59
|
-
}
|
|
60
|
-
function validateTaskGraph(invocation) {
|
|
61
|
-
try {
|
|
62
|
-
prepareTaskGraph(planStaticCheckGraph(invocation.normalized.checks), invocation.normalized.declarative.scheduler.maxParallel);
|
|
63
|
-
invocation.diagnosticLogger.observe({
|
|
64
|
-
event: "run.planning.succeeded",
|
|
65
|
-
tags: diagnosticTags("RUN", "PLANNING", "SUCCEEDED"),
|
|
66
|
-
details: {
|
|
67
|
-
checkCount: invocation.normalized.checks.length,
|
|
68
|
-
maxParallel: invocation.normalized.declarative.scheduler.maxParallel
|
|
69
|
-
}
|
|
70
|
-
});
|
|
71
|
-
return true;
|
|
72
|
-
}
|
|
73
|
-
catch {
|
|
74
|
-
invocation.diagnosticLogger.observe({
|
|
75
|
-
event: "run.planning.failed",
|
|
76
|
-
tags: diagnosticTags("RUN", "PLANNING", "FAILED"),
|
|
77
|
-
details: {
|
|
78
|
-
checkCount: invocation.normalized.checks.length,
|
|
79
|
-
maxParallel: invocation.normalized.declarative.scheduler.maxParallel
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
return false;
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
async function executePlannedInvocation(invocation, aggregation) {
|
|
86
|
-
if (isCancelled(invocation.controls))
|
|
87
|
-
return cancelledBeforeExecution(invocation, "pre-work");
|
|
88
|
-
return executePreparedInvocation(invocation, aggregation, createProjectContext({ controls: invocation.controls, root: invocation.projectRoot }));
|
|
89
|
-
}
|
|
90
|
-
async function executePreparedInvocation(invocation, aggregation, project) {
|
|
91
|
-
if (isCancelled(invocation.controls))
|
|
92
|
-
return cancelledBeforeExecution(invocation, "planning");
|
|
93
|
-
invocation.progressRendering.prepared(invocation.normalized.checks.length);
|
|
94
|
-
const executionStartedAt = invocation.clock.now();
|
|
95
|
-
const executed = await executeChecks(invocation, project, invocation.clock);
|
|
96
|
-
if (isExecutionRunResult(executed))
|
|
97
|
-
return executed;
|
|
98
|
-
invocation.progressRendering.final({
|
|
99
|
-
counts: outcomeCounts(executed.snapshot),
|
|
100
|
-
elapsedMs: elapsedSince(executionStartedAt, invocation.clock),
|
|
101
|
-
execution: executed.kind
|
|
102
|
-
});
|
|
103
|
-
if (executed.kind === "cancelled") {
|
|
104
|
-
invocation.diagnosticLogger.observe({
|
|
105
|
-
event: "run.execution.cancelled",
|
|
106
|
-
tags: diagnosticTags("RUN", "EXECUTION", "CANCELLED"),
|
|
107
|
-
details: { checkCount: executed.snapshot.checks.length }
|
|
108
|
-
});
|
|
109
|
-
return executionCancellation({
|
|
110
|
-
checkDurations: executed.checkDurations,
|
|
111
|
-
checkMessages: executed.checkMessages,
|
|
112
|
-
declarativeFingerprint: invocation.declarativeFingerprint,
|
|
113
|
-
definitionWarnings: invocation.definitionWarnings,
|
|
114
|
-
outputs: invocation.outputs.value(),
|
|
115
|
-
snapshot: executed.snapshot
|
|
116
|
-
});
|
|
117
|
-
}
|
|
118
|
-
const aggregate = aggregation === undefined ? null : aggregateCheckOutcomes(executed.snapshot, aggregation);
|
|
119
|
-
invocation.diagnosticLogger.observe({
|
|
120
|
-
event: "run.aggregation.completed",
|
|
121
|
-
tags: diagnosticTags("RUN", "AGGREGATION", "COMPLETED"),
|
|
122
|
-
details: { aggregate, selection: aggregation ?? null }
|
|
123
|
-
});
|
|
124
|
-
const core = Object.freeze({
|
|
125
|
-
aggregate,
|
|
126
|
-
checkDurations: executed.checkDurations,
|
|
127
|
-
checkMessages: executed.checkMessages,
|
|
128
|
-
snapshot: executed.snapshot
|
|
129
|
-
});
|
|
130
|
-
return completeInvocation(invocation, core);
|
|
131
|
-
}
|
|
132
|
-
function cancelledBeforeExecution(invocation, phase) {
|
|
133
|
-
invocation.diagnosticLogger.observe({
|
|
134
|
-
event: "run.cancelled",
|
|
135
|
-
tags: diagnosticTags("RUN", "CANCELLED"),
|
|
136
|
-
details: { phase }
|
|
137
|
-
});
|
|
138
|
-
return preExecutionCancellation(invocation.declarativeFingerprint, invocation.definitionWarnings, invocation.outputs.value(), phase);
|
|
139
|
-
}
|
|
140
|
-
async function executeChecks(invocation, project, clock) {
|
|
141
|
-
try {
|
|
142
|
-
return await executeResolvedChecks({
|
|
143
|
-
checks: invocation.normalized.checks,
|
|
144
|
-
clock,
|
|
145
|
-
diagnosticLogger: invocation.diagnosticLogger,
|
|
146
|
-
maxParallel: invocation.normalized.declarative.scheduler.maxParallel,
|
|
147
|
-
lifecycle: invocation.progressRendering.lifecycle,
|
|
148
|
-
project,
|
|
149
|
-
signal: invocation.controls.signal
|
|
150
|
-
});
|
|
151
|
-
}
|
|
152
|
-
catch {
|
|
153
|
-
return executionResult(invocation, "task-engine-failed");
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
function outcomeCounts(snapshot) {
|
|
157
|
-
let failed = 0, notApplicable = 0, passed = 0, unavailable = 0;
|
|
158
|
-
for (const check of snapshot.checks) {
|
|
159
|
-
switch (check.outcome.status) {
|
|
160
|
-
case "passed":
|
|
161
|
-
passed += 1;
|
|
162
|
-
break;
|
|
163
|
-
case "failed":
|
|
164
|
-
failed += 1;
|
|
165
|
-
break;
|
|
166
|
-
case "not-applicable":
|
|
167
|
-
notApplicable += 1;
|
|
168
|
-
break;
|
|
169
|
-
case "unavailable":
|
|
170
|
-
unavailable += 1;
|
|
171
|
-
break;
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
return Object.freeze({ failed, notApplicable, passed, unavailable });
|
|
175
|
-
}
|
|
176
|
-
function elapsedSince(startedAt, clock) {
|
|
177
|
-
const elapsed = clock.now() - startedAt;
|
|
178
|
-
return Number.isFinite(elapsed) && elapsed >= 0 ? elapsed : 0;
|
|
179
|
-
}
|
|
180
|
-
function planningResult(invocation, code) {
|
|
181
|
-
return planning(invocation.declarativeFingerprint, invocation.definitionWarnings, invocation.outputs.value(), code);
|
|
182
|
-
}
|
|
183
|
-
function executionResult(invocation, code) {
|
|
184
|
-
return Object.freeze({
|
|
185
|
-
kind: "execution",
|
|
186
|
-
declarativeFingerprint: invocation.declarativeFingerprint,
|
|
187
|
-
definitionWarnings: invocation.definitionWarnings,
|
|
188
|
-
diagnostic: Object.freeze({ code }),
|
|
189
|
-
outputs: invocation.outputs.value()
|
|
190
|
-
});
|
|
191
|
-
}
|
|
192
|
-
function isExecutionRunResult(value) {
|
|
193
|
-
return "declarativeFingerprint" in value;
|
|
194
|
-
}
|
|
195
|
-
//# sourceMappingURL=invocation.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"invocation.mjs","sourceRoot":"","sources":["../../../src/project-run/invocation.ts"],"names":[],"mappings":"AAEA,OAAO,EACL,0BAA0B,EAI3B,MAAM,6CAA6C,CAAC;AAErD,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,sBAAsB,EAAE,iCAAiC,EAAE,MAAM,kBAAkB,CAAC;AAC7F,OAAO,EACL,qBAAqB,EAGtB,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,EAIN,MAAM,sCAAsC,CAAC;AAC9C,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAsB,MAAM,iBAAiB,CAAC;AAC7F,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EACL,qBAAqB,EACrB,WAAW,EACX,QAAQ,EACR,wBAAwB,EAIzB,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,cAAc,EAGf,MAAM,gCAAgC,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AA0B5D,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,UAA6B,EAC7B,QAAqB,EACrB,kBAAgD,EAChD,YAAY,GAA8B,EAAE;IAE5C,MAAM,UAAU,GAAG,0BAA0B,CAAC,UAAU,CAAC,CAAC;IAC1D,MAAM,WAAW,GAAG,iCAAiC,CACnD,QAAQ,CAAC,gBAAgB,EACzB,UAAU,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,UAAU,CAAC,OAAO,CAAC,CAC3D,CAAC;IACF,IAAI,CAAC,WAAW,CAAC,EAAE;QACjB,OAAO,MAAM,CAAC,MAAM,CAAC;YACnB,IAAI,EAAE,eAAe;YACrB,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,GAAG,kBAAkB,CAAC,CAAC;YAC1D,UAAU,EAAE,WAAW,CAAC,KAAK;SAC9B,CAAC,CAAC;IAEL,MAAM,UAAU,GAAG,gBAAgB,CAAC;QAClC,QAAQ;QACR,UAAU;QACV,kBAAkB;QAClB,YAAY;QACZ,UAAU;KACX,CAAC,CAAC;IACH,IAAI,SAAoC,CAAC;IACzC,IAAI,CAAC;QACH,wBAAwB,CAAC,UAAU,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;QACxD,IAAI,WAAW,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC1B,SAAS,GAAG,wBAAwB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;QAC/D,CAAC;aAAM,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;YAC1C,SAAS,GAAG,cAAc,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;QAC/D,CAAC;aAAM,CAAC;YACN,SAAS,GAAG,MAAM,wBAAwB,CAAC,UAAU,EAAE,WAAW,CAAC,KAAK,CAAC,CAAC;QAC5E,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,SAAS,GAAG,eAAe,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;IAChE,CAAC;IACD,OAAO,kBAAkB,CAAC,UAAU,EAAE,SAAS,CAAC,CAAC;AACnD,CAAC;AAED,SAAS,wBAAwB,CAC/B,UAAsB,EACtB,WAAyC;IAEzC,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC;QAClC,KAAK,EAAE,aAAa;QACpB,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE,SAAS,CAAC;QACtC,OAAO,EAAE;YACP,WAAW,EAAE,WAAW,IAAI,IAAI;YAChC,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM;YAC/C,KAAK,EAAE,UAAU,CAAC,QAAQ,CAAC,KAAK,IAAI,EAAE;YACtC,YAAY,EAAE,UAAU,CAAC,YAAY;YACrC,OAAO,EAAE,UAAU,CAAC,mBAAmB;YACvC,SAAS,EAAE,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS;SACvD;KACF,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,UAAsB;IAC/C,IAAI,CAAC;QACH,gBAAgB,CACd,oBAAoB,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,EAClD,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW,CACxD,CAAC;QACF,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC;YAClC,KAAK,EAAE,wBAAwB;YAC/B,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,WAAW,CAAC;YACpD,OAAO,EAAE;gBACP,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM;gBAC/C,WAAW,EAAE,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW;aACrE;SACF,CAAC,CAAC;QACH,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC;YAClC,KAAK,EAAE,qBAAqB;YAC5B,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE,UAAU,EAAE,QAAQ,CAAC;YACjD,OAAO,EAAE;gBACP,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM;gBAC/C,WAAW,EAAE,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW;aACrE;SACF,CAAC,CAAC;QACH,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AACD,KAAK,UAAU,wBAAwB,CACrC,UAAsB,EACtB,WAAyC;IAEzC,IAAI,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,wBAAwB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC9F,OAAO,yBAAyB,CAC9B,UAAU,EACV,WAAW,EACX,oBAAoB,CAAC,EAAE,QAAQ,EAAE,UAAU,CAAC,QAAQ,EAAE,IAAI,EAAE,UAAU,CAAC,WAAW,EAAE,CAAC,CACtF,CAAC;AACJ,CAAC;AACD,KAAK,UAAU,yBAAyB,CACtC,UAAsB,EACtB,WAAyC,EACzC,OAA4B;IAE5B,IAAI,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC;QAAE,OAAO,wBAAwB,CAAC,UAAU,EAAE,UAAU,CAAC,CAAC;IAC9F,UAAU,CAAC,iBAAiB,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,MAAM,CAAC,CAAC;IAC3E,MAAM,kBAAkB,GAAG,UAAU,CAAC,KAAK,CAAC,GAAG,EAAE,CAAC;IAClD,MAAM,QAAQ,GAAG,MAAM,aAAa,CAAC,UAAU,EAAE,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;IAC5E,IAAI,oBAAoB,CAAC,QAAQ,CAAC;QAAE,OAAO,QAAQ,CAAC;IACpD,UAAU,CAAC,iBAAiB,CAAC,KAAK,CAAC;QACjC,MAAM,EAAE,aAAa,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACxC,SAAS,EAAE,YAAY,CAAC,kBAAkB,EAAE,UAAU,CAAC,KAAK,CAAC;QAC7D,SAAS,EAAE,QAAQ,CAAC,IAAI;KACzB,CAAC,CAAC;IACH,IAAI,QAAQ,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;QAClC,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC;YAClC,KAAK,EAAE,yBAAyB;YAChC,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE,WAAW,EAAE,WAAW,CAAC;YACrD,OAAO,EAAE,EAAE,UAAU,EAAE,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE;SACzD,CAAC,CAAC;QACH,OAAO,qBAAqB,CAAC;YAC3B,cAAc,EAAE,QAAQ,CAAC,cAAc;YACvC,aAAa,EAAE,QAAQ,CAAC,aAAa;YACrC,sBAAsB,EAAE,UAAU,CAAC,sBAAsB;YACzD,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;YACjD,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE;YACnC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;SAC5B,CAAC,CAAC;IACL,CAAC;IACD,MAAM,SAAS,GACb,WAAW,KAAK,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,sBAAsB,CAAC,QAAQ,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IAC5F,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC;QAClC,KAAK,EAAE,2BAA2B;QAClC,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE,aAAa,EAAE,WAAW,CAAC;QACvD,OAAO,EAAE,EAAE,SAAS,EAAE,SAAS,EAAE,WAAW,IAAI,IAAI,EAAE;KACvD,CAAC,CAAC;IACH,MAAM,IAAI,GAAkB,MAAM,CAAC,MAAM,CAAC;QACxC,SAAS;QACT,cAAc,EAAE,QAAQ,CAAC,cAAc;QACvC,aAAa,EAAE,QAAQ,CAAC,aAAa;QACrC,QAAQ,EAAE,QAAQ,CAAC,QAAQ;KAC5B,CAAC,CAAC;IACH,OAAO,kBAAkB,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;AAC9C,CAAC;AAED,SAAS,wBAAwB,CAC/B,UAAsB,EACtB,KAA8B;IAE9B,UAAU,CAAC,gBAAgB,CAAC,OAAO,CAAC;QAClC,KAAK,EAAE,eAAe;QACtB,IAAI,EAAE,cAAc,CAAC,KAAK,EAAE,WAAW,CAAC;QACxC,OAAO,EAAE,EAAE,KAAK,EAAE;KACnB,CAAC,CAAC;IACH,OAAO,wBAAwB,CAC7B,UAAU,CAAC,sBAAsB,EACjC,UAAU,CAAC,kBAAkB,EAC7B,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAC1B,KAAK,CACN,CAAC;AACJ,CAAC;AAED,KAAK,UAAU,aAAa,CAC1B,UAAsB,EACtB,OAA4B,EAC5B,KAA0B;IAE1B,IAAI,CAAC;QACH,OAAO,MAAM,qBAAqB,CAAC;YACjC,MAAM,EAAE,UAAU,CAAC,UAAU,CAAC,MAAM;YACpC,KAAK;YACL,gBAAgB,EAAE,UAAU,CAAC,gBAAgB;YAC7C,WAAW,EAAE,UAAU,CAAC,UAAU,CAAC,WAAW,CAAC,SAAS,CAAC,WAAW;YACpE,SAAS,EAAE,UAAU,CAAC,iBAAiB,CAAC,SAAS;YACjD,OAAO;YACP,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,MAAM;SACnC,CAAC,CAAC;IACL,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,eAAe,CAAC,UAAU,EAAE,oBAAoB,CAAC,CAAC;IAC3D,CAAC;AACH,CAAC;AACD,SAAS,aAAa,CAAC,QAAsB;IAM3C,IAAI,MAAM,GAAG,CAAC,EACZ,aAAa,GAAG,CAAC,EACjB,MAAM,GAAG,CAAC,EACV,WAAW,GAAG,CAAC,CAAC;IAClB,KAAK,MAAM,KAAK,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpC,QAAQ,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC;YAC7B,KAAK,QAAQ;gBACX,MAAM,IAAI,CAAC,CAAC;gBACZ,MAAM;YACR,KAAK,QAAQ;gBACX,MAAM,IAAI,CAAC,CAAC;gBACZ,MAAM;YACR,KAAK,gBAAgB;gBACnB,aAAa,IAAI,CAAC,CAAC;gBACnB,MAAM;YACR,KAAK,aAAa;gBAChB,WAAW,IAAI,CAAC,CAAC;gBACjB,MAAM;QACV,CAAC;IACH,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,CAAC,CAAC;AACvE,CAAC;AACD,SAAS,YAAY,CAAC,SAAiB,EAAE,KAA0B;IACjE,MAAM,OAAO,GAAG,KAAK,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC;IACxC,OAAO,MAAM,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,OAAO,IAAI,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,CAAC;AAChE,CAAC;AACD,SAAS,cAAc,CACrB,UAAsB,EACtB,IAA0D;IAE1D,OAAO,QAAQ,CACb,UAAU,CAAC,sBAAsB,EACjC,UAAU,CAAC,kBAAkB,EAC7B,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAC1B,IAAI,CACL,CAAC;AACJ,CAAC;AACD,SAAS,eAAe,CACtB,UAAsB,EACtB,IAAuF;IAEvF,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,IAAI,EAAE,WAAW;QACjB,sBAAsB,EAAE,UAAU,CAAC,sBAAsB;QACzD,kBAAkB,EAAE,UAAU,CAAC,kBAAkB;QACjD,UAAU,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,IAAI,EAAE,CAAC;QACnC,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE;KACpC,CAAC,CAAC;AACL,CAAC;AACD,SAAS,oBAAoB,CAC3B,KAAyD;IAEzD,OAAO,wBAAwB,IAAI,KAAK,CAAC;AAC3C,CAAC","sourcesContent":["import type { CheckProjectContext } from \"../check/check.ts\";\nimport type { CoreSnapshot } from \"../check-settlement/facts.ts\";\nimport {\n normalizeProjectDefinition,\n type DefinitionWarning,\n type NormalizedProjectDefinition,\n type ProjectDefinition\n} from \"../project-definition/project-definition.ts\";\nimport type { CheckAggregation, RunControls } from \"./controls/contract.ts\";\nimport { prepareTaskGraph } from \"./task-scheduler/graph.ts\";\nimport { aggregateCheckOutcomes, validateCheckAggregationSelection } from \"./aggregation.ts\";\nimport {\n executeResolvedChecks,\n type CheckExecutionClock,\n type ResolvedCheckExecution\n} from \"./check-execution/resolved-checks.ts\";\nimport { planStaticCheckGraph } from \"./check-execution/plan.ts\";\nimport {\n type ProgressRefreshScheduler,\n type ProgressRendering,\n type ProgressWriterFactory\n} from \"./progress-rendering/presentation.ts\";\nimport { completeInvocation, finalizeInvocation, type CoreExecution } from \"./completion.ts\";\nimport { createProjectContext } from \"./project-context.ts\";\nimport {\n executionCancellation,\n isCancelled,\n planning,\n preExecutionCancellation,\n type NonConfigurationRunResult,\n type RunDiagnostic,\n type RunResult\n} from \"./result.ts\";\nimport {\n diagnosticTags,\n type DiagnosticLogger,\n type DiagnosticLoggerFactory\n} from \"./diagnostic-logging/logger.ts\";\nimport { createInvocation } from \"./invocation-creation.ts\";\nimport type { OutputStatuses } from \"./output-status.ts\";\nexport type Invocation = Readonly<{\n readonly clock: CheckExecutionClock;\n readonly controls: RunControls;\n readonly declarativeFingerprint: string;\n readonly definition: ProjectDefinition;\n readonly definitionWarnings: readonly DefinitionWarning[];\n readonly diagnosticLogger: DiagnosticLogger;\n readonly outputConfiguration: ProjectDefinition[\"outputs\"];\n readonly outputs: OutputStatuses;\n readonly invocationId: string;\n readonly normalized: NormalizedProjectDefinition;\n readonly progressRendering: ProgressRendering;\n readonly projectRoot: string;\n /** Immutable UTC instant captured for enabled diagnostic or machine output, otherwise `null`. */\n readonly startedAtUtc: string | null;\n}>;\nexport interface RunInvocationDependencies {\n readonly clock?: CheckExecutionClock;\n readonly progressRefreshScheduler?: ProgressRefreshScheduler;\n readonly progressWriterFactory?: ProgressWriterFactory;\n readonly diagnosticLoggerFactory?: DiagnosticLoggerFactory;\n /** Test seam for the invocation's machine-readable wall-clock timestamp. */\n readonly wallClock?: Readonly<{ now(): Date }>;\n}\nexport async function executeValidatedRun(\n definition: ProjectDefinition,\n controls: RunControls,\n definitionWarnings: readonly DefinitionWarning[],\n dependencies: RunInvocationDependencies = {}\n): Promise<RunResult> {\n const normalized = normalizeProjectDefinition(definition);\n const aggregation = validateCheckAggregationSelection(\n controls.checkAggregation,\n normalized.checks.map((check) => check.definition.checkId)\n );\n if (!aggregation.ok)\n return Object.freeze({\n kind: \"configuration\",\n definitionWarnings: Object.freeze([...definitionWarnings]),\n diagnostic: aggregation.error\n });\n\n const invocation = createInvocation({\n controls,\n definition,\n definitionWarnings,\n dependencies,\n normalized\n });\n let candidate: NonConfigurationRunResult;\n try {\n observeInvocationStarted(invocation, aggregation.value);\n if (isCancelled(controls)) {\n candidate = cancelledBeforeExecution(invocation, \"pre-work\");\n } else if (!validateTaskGraph(invocation)) {\n candidate = planningResult(invocation, \"task-graph-invalid\");\n } else {\n candidate = await executePlannedInvocation(invocation, aggregation.value);\n }\n } catch {\n candidate = executionResult(invocation, \"task-engine-failed\");\n }\n return finalizeInvocation(invocation, candidate);\n}\n\nfunction observeInvocationStarted(\n invocation: Invocation,\n aggregation: CheckAggregation | undefined\n): void {\n invocation.diagnosticLogger.observe({\n event: \"run.started\",\n tags: diagnosticTags(\"RUN\", \"STARTED\"),\n details: {\n aggregation: aggregation ?? null,\n checkCount: invocation.normalized.checks.length,\n flags: invocation.controls.flags ?? [],\n invocationId: invocation.invocationId,\n outputs: invocation.outputConfiguration,\n scheduler: invocation.normalized.declarative.scheduler\n }\n });\n}\n\nfunction validateTaskGraph(invocation: Invocation): boolean {\n try {\n prepareTaskGraph(\n planStaticCheckGraph(invocation.normalized.checks),\n invocation.normalized.declarative.scheduler.maxParallel\n );\n invocation.diagnosticLogger.observe({\n event: \"run.planning.succeeded\",\n tags: diagnosticTags(\"RUN\", \"PLANNING\", \"SUCCEEDED\"),\n details: {\n checkCount: invocation.normalized.checks.length,\n maxParallel: invocation.normalized.declarative.scheduler.maxParallel\n }\n });\n return true;\n } catch {\n invocation.diagnosticLogger.observe({\n event: \"run.planning.failed\",\n tags: diagnosticTags(\"RUN\", \"PLANNING\", \"FAILED\"),\n details: {\n checkCount: invocation.normalized.checks.length,\n maxParallel: invocation.normalized.declarative.scheduler.maxParallel\n }\n });\n return false;\n }\n}\nasync function executePlannedInvocation(\n invocation: Invocation,\n aggregation: CheckAggregation | undefined\n): Promise<NonConfigurationRunResult> {\n if (isCancelled(invocation.controls)) return cancelledBeforeExecution(invocation, \"pre-work\");\n return executePreparedInvocation(\n invocation,\n aggregation,\n createProjectContext({ controls: invocation.controls, root: invocation.projectRoot })\n );\n}\nasync function executePreparedInvocation(\n invocation: Invocation,\n aggregation: CheckAggregation | undefined,\n project: CheckProjectContext\n): Promise<NonConfigurationRunResult> {\n if (isCancelled(invocation.controls)) return cancelledBeforeExecution(invocation, \"planning\");\n invocation.progressRendering.prepared(invocation.normalized.checks.length);\n const executionStartedAt = invocation.clock.now();\n const executed = await executeChecks(invocation, project, invocation.clock);\n if (isExecutionRunResult(executed)) return executed;\n invocation.progressRendering.final({\n counts: outcomeCounts(executed.snapshot),\n elapsedMs: elapsedSince(executionStartedAt, invocation.clock),\n execution: executed.kind\n });\n if (executed.kind === \"cancelled\") {\n invocation.diagnosticLogger.observe({\n event: \"run.execution.cancelled\",\n tags: diagnosticTags(\"RUN\", \"EXECUTION\", \"CANCELLED\"),\n details: { checkCount: executed.snapshot.checks.length }\n });\n return executionCancellation({\n checkDurations: executed.checkDurations,\n checkMessages: executed.checkMessages,\n declarativeFingerprint: invocation.declarativeFingerprint,\n definitionWarnings: invocation.definitionWarnings,\n outputs: invocation.outputs.value(),\n snapshot: executed.snapshot\n });\n }\n const aggregate =\n aggregation === undefined ? null : aggregateCheckOutcomes(executed.snapshot, aggregation);\n invocation.diagnosticLogger.observe({\n event: \"run.aggregation.completed\",\n tags: diagnosticTags(\"RUN\", \"AGGREGATION\", \"COMPLETED\"),\n details: { aggregate, selection: aggregation ?? null }\n });\n const core: CoreExecution = Object.freeze({\n aggregate,\n checkDurations: executed.checkDurations,\n checkMessages: executed.checkMessages,\n snapshot: executed.snapshot\n });\n return completeInvocation(invocation, core);\n}\n\nfunction cancelledBeforeExecution(\n invocation: Invocation,\n phase: \"pre-work\" | \"planning\"\n): NonConfigurationRunResult {\n invocation.diagnosticLogger.observe({\n event: \"run.cancelled\",\n tags: diagnosticTags(\"RUN\", \"CANCELLED\"),\n details: { phase }\n });\n return preExecutionCancellation(\n invocation.declarativeFingerprint,\n invocation.definitionWarnings,\n invocation.outputs.value(),\n phase\n );\n}\n\nasync function executeChecks(\n invocation: Invocation,\n project: CheckProjectContext,\n clock: CheckExecutionClock\n): Promise<ResolvedCheckExecution | NonConfigurationRunResult> {\n try {\n return await executeResolvedChecks({\n checks: invocation.normalized.checks,\n clock,\n diagnosticLogger: invocation.diagnosticLogger,\n maxParallel: invocation.normalized.declarative.scheduler.maxParallel,\n lifecycle: invocation.progressRendering.lifecycle,\n project,\n signal: invocation.controls.signal\n });\n } catch {\n return executionResult(invocation, \"task-engine-failed\");\n }\n}\nfunction outcomeCounts(snapshot: CoreSnapshot): Readonly<{\n readonly failed: number;\n readonly notApplicable: number;\n readonly passed: number;\n readonly unavailable: number;\n}> {\n let failed = 0,\n notApplicable = 0,\n passed = 0,\n unavailable = 0;\n for (const check of snapshot.checks) {\n switch (check.outcome.status) {\n case \"passed\":\n passed += 1;\n break;\n case \"failed\":\n failed += 1;\n break;\n case \"not-applicable\":\n notApplicable += 1;\n break;\n case \"unavailable\":\n unavailable += 1;\n break;\n }\n }\n return Object.freeze({ failed, notApplicable, passed, unavailable });\n}\nfunction elapsedSince(startedAt: number, clock: CheckExecutionClock): number {\n const elapsed = clock.now() - startedAt;\n return Number.isFinite(elapsed) && elapsed >= 0 ? elapsed : 0;\n}\nfunction planningResult(\n invocation: Invocation,\n code: Extract<RunDiagnostic[\"code\"], \"task-graph-invalid\">\n): NonConfigurationRunResult {\n return planning(\n invocation.declarativeFingerprint,\n invocation.definitionWarnings,\n invocation.outputs.value(),\n code\n );\n}\nfunction executionResult(\n invocation: Invocation,\n code: Extract<RunDiagnostic[\"code\"], \"publication-model-failed\" | \"task-engine-failed\">\n): NonConfigurationRunResult {\n return Object.freeze({\n kind: \"execution\",\n declarativeFingerprint: invocation.declarativeFingerprint,\n definitionWarnings: invocation.definitionWarnings,\n diagnostic: Object.freeze({ code }),\n outputs: invocation.outputs.value()\n });\n}\nfunction isExecutionRunResult(\n value: ResolvedCheckExecution | NonConfigurationRunResult\n): value is NonConfigurationRunResult {\n return \"declarativeFingerprint\" in value;\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"machine-publication.mjs","sourceRoot":"","sources":["../../../src/project-run/machine-publication.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,aAAa,EAAE,MAAM,iCAAiC,CAAC;AAEhE,6EAA6E;AAC7E,MAAM,UAAU,oBAAoB,CAClC,KAKE;IAEF,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,OAAO;QAAE,OAAO,IAAI,CAAC;IAC9C,IAAI,CAAC;QACH,aAAa,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,SAAS,EAAE,KAAK,EAAE,KAAK,CAAC,KAAK,EAAE,CAAC,CAAC;QACpE,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAC;QAC/C,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,KAAK,CAAC,QAAQ,CAAC,MAAM,CAAC,oBAAoB,CAAC,CAAC;QAC5C,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC","sourcesContent":["import type { ProjectOutputs } from \"../project-definition/project-definition.ts\";\nimport type { TrustedPublicationModelV4 } from \"../machine-output/v4/publication-model.ts\";\nimport { publishScanV4 } from \"../machine-output/v4/publish.ts\";\nimport type { OutputStatuses } from \"./output-status.ts\";\n/** Publishes an already-trusted v4 model as the Run-owned machine output. */\nexport function publishMachineOutput(\n input: Readonly<{\n readonly configuration: ProjectOutputs[\"machinePublication\"];\n readonly statuses: OutputStatuses;\n readonly model: TrustedPublicationModelV4;\n readonly directory: string;\n }>\n): boolean {\n if (!input.configuration.enabled) return true;\n try {\n publishScanV4({ artifactDir: input.directory, model: input.model });\n input.statuses.succeeded(\"machinePublication\");\n return true;\n } catch {\n input.statuses.failed(\"machinePublication\");\n return false;\n }\n}\n"]}
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"output-configuration.mjs","sourceRoot":"","sources":["../../../src/project-run/output-configuration.ts"],"names":[],"mappings":"AAKA,MAAM,UAAU,gBAAgB,CAC9B,UAA6B,EAC7B,QAAqB;IAErB,OAAO,MAAM,CAAC,MAAM,CAAC;QACnB,kBAAkB,EAAE,MAAM,CAAC,MAAM,CAAC;YAChC,GAAG,UAAU,CAAC,OAAO,CAAC,kBAAkB;YACxC,GAAG,QAAQ,CAAC,OAAO,EAAE,kBAAkB;SACxC,CAAC;QACF,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC;YAC/B,GAAG,UAAU,CAAC,OAAO,CAAC,iBAAiB;YACvC,GAAG,QAAQ,CAAC,OAAO,EAAE,iBAAiB;SACvC,CAAC;QACF,iBAAiB,EAAE,MAAM,CAAC,MAAM,CAAC;YAC/B,GAAG,UAAU,CAAC,OAAO,CAAC,iBAAiB;YACvC,GAAG,QAAQ,CAAC,OAAO,EAAE,iBAAiB;SACvC,CAAC;KACH,CAAC,CAAC;AACL,CAAC","sourcesContent":["import type {\n ProjectDefinition,\n ProjectOutputs\n} from \"../project-definition/project-definition.ts\";\nimport type { RunControls } from \"./controls/contract.ts\";\nexport function effectiveOutputs(\n definition: ProjectDefinition,\n controls: RunControls\n): ProjectOutputs {\n return Object.freeze({\n machinePublication: Object.freeze({\n ...definition.outputs.machinePublication,\n ...controls.outputs?.machinePublication\n }),\n progressRendering: Object.freeze({\n ...definition.outputs.progressRendering,\n ...controls.outputs?.progressRendering\n }),\n diagnosticLogging: Object.freeze({\n ...definition.outputs.diagnosticLogging,\n ...controls.outputs?.diagnosticLogging\n })\n });\n}\n"]}
|