@zxyycom/vibe-check 0.0.1 → 0.0.2
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 +47 -74
- package/dist/esm/cache/cache-json-by-key.mjs +189 -0
- package/dist/esm/cache/cache-json-by-key.mjs.map +1 -0
- package/dist/esm/check/check.mjs.map +1 -1
- package/dist/esm/check/finding-presentation.mjs +40 -0
- package/dist/esm/check/finding-presentation.mjs.map +1 -0
- package/dist/esm/check/inherited-collection.mjs +1 -1
- package/dist/esm/check/inherited-collection.mjs.map +1 -1
- 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/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/closed-values.mjs +16 -0
- package/dist/esm/data-boundary/closed-values.mjs.map +1 -1
- 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 +9 -2
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/learned-critical-path/duration-model/bounded-history.mjs +56 -0
- package/dist/esm/learned-critical-path/duration-model/bounded-history.mjs.map +1 -0
- package/dist/esm/learned-critical-path/duration-model/prediction.mjs +122 -0
- package/dist/esm/learned-critical-path/duration-model/prediction.mjs.map +1 -0
- package/dist/esm/learned-critical-path/duration-model/preparation.mjs +41 -0
- package/dist/esm/learned-critical-path/duration-model/preparation.mjs.map +1 -0
- package/dist/esm/learned-critical-path/duration-model/recording.mjs +109 -0
- package/dist/esm/learned-critical-path/duration-model/recording.mjs.map +1 -0
- package/dist/esm/learned-critical-path/duration-model/storage.mjs +187 -0
- package/dist/esm/learned-critical-path/duration-model/storage.mjs.map +1 -0
- package/dist/esm/learned-critical-path/selection-layers.mjs +28 -0
- package/dist/esm/learned-critical-path/selection-layers.mjs.map +1 -0
- package/dist/esm/learned-critical-path/static-decision.mjs +55 -0
- package/dist/esm/learned-critical-path/static-decision.mjs.map +1 -0
- package/dist/esm/learned-critical-path/strategy.mjs +179 -0
- package/dist/esm/learned-critical-path/strategy.mjs.map +1 -0
- package/dist/esm/machine-output/v4/atomic-publication.mjs +1 -15
- package/dist/esm/machine-output/v4/atomic-publication.mjs.map +1 -1
- 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/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 +1 -1
- package/dist/esm/package-checks/duplicate-detection/default-check.mjs.map +1 -1
- package/dist/esm/package-checks/duplicate-detection/execution.mjs +44 -18
- 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 +1 -1
- 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/execution.mjs +10 -17
- 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/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 +1 -1
- package/dist/esm/package-checks/file-metrics/scc/availability.mjs.map +1 -1
- 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 +2 -2
- package/dist/esm/package-checks/file-metrics/scc/scanner.mjs.map +1 -1
- package/dist/esm/package-checks/function-metrics/analysis.mjs +56 -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 +24 -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 +217 -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 +100 -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 +260 -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 +402 -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 +214 -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 +79 -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 +606 -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 +23 -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 +542 -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 +62 -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 +108 -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 +2 -2
- package/dist/esm/package-checks/function-metrics/constructor.mjs.map +1 -1
- package/dist/esm/package-checks/function-metrics/execution.mjs +51 -33
- 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 +161 -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/{file-metrics/scc → 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 +1 -1
- package/dist/esm/package-checks/host-environment/git.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/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-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/maintenance-reminders/final-data.mjs.map +1 -1
- package/dist/esm/package-checks/markdown-link-validation/default-check.mjs +9 -3
- 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/options-resolution.mjs +26 -4
- 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 +24 -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 +185 -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/project-files/collection.mjs +1 -1
- package/dist/esm/package-checks/project-files/collection.mjs.map +1 -1
- package/dist/esm/package-checks/project-files/configuration.mjs +2 -10
- package/dist/esm/package-checks/project-files/configuration.mjs.map +1 -1
- package/dist/esm/package-checks/project-files/gitlink-revision.mjs +1 -1
- package/dist/esm/package-checks/project-files/gitlink-revision.mjs.map +1 -1
- package/dist/esm/package-checks/project-files/gitlink-worktree.mjs +1 -1
- 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-worktree-files.mjs +1 -1
- 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 +39 -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 +153 -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 +85 -0
- package/dist/esm/package-checks/secret-detection/secretlint/adapter.mjs.map +1 -0
- package/dist/esm/project-definition/check-tree/authoring.mjs +12 -172
- package/dist/esm/project-definition/check-tree/authoring.mjs.map +1 -1
- package/dist/esm/project-definition/check-tree/check-fields-authoring.mjs +171 -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/materialization.mjs +9 -1
- package/dist/esm/project-definition/check-tree/materialization.mjs.map +1 -1
- package/dist/esm/project-definition/check-tree/resolution.mjs +45 -13
- 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 +73 -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-definition-validation.mjs +100 -16
- package/dist/esm/project-definition/project-definition-validation.mjs.map +1 -1
- package/dist/esm/project-definition/project-definition.mjs +52 -47
- 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 +54 -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 +7 -5
- package/dist/esm/project-run/aggregation.mjs.map +1 -1
- package/dist/esm/project-run/check-execution/callback.mjs +35 -8
- 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 +21 -3
- package/dist/esm/project-run/check-execution/dependencies.mjs.map +1 -1
- package/dist/esm/project-run/check-execution/execution-finalization.mjs +54 -13
- package/dist/esm/project-run/check-execution/execution-finalization.mjs.map +1 -1
- package/dist/esm/project-run/check-execution/execution-settlement.mjs +13 -9
- package/dist/esm/project-run/check-execution/execution-settlement.mjs.map +1 -1
- package/dist/esm/project-run/check-execution/flag-controls.mjs +87 -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.mjs +18 -32
- package/dist/esm/project-run/check-execution/preflight.mjs.map +1 -1
- package/dist/esm/project-run/check-execution/resolved-checks.mjs +100 -58
- 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/{completion.mjs → completion/completion.mjs} +16 -38
- 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 +75 -11
- package/dist/esm/project-run/controls/validation.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 +61 -0
- package/dist/esm/project-run/invocation/candidate.mjs.map +1 -0
- package/dist/esm/project-run/invocation/creation.mjs +79 -0
- package/dist/esm/project-run/invocation/creation.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.mjs → invocation/run.mjs} +78 -92
- package/dist/esm/project-run/invocation/run.mjs.map +1 -0
- package/dist/esm/project-run/invocation/scheduler.mjs +57 -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 +112 -18
- package/dist/esm/project-run/progress-rendering/presentation.mjs.map +1 -1
- package/dist/esm/project-run/progress-rendering/renderer-formatting.mjs +108 -19
- package/dist/esm/project-run/progress-rendering/renderer-formatting.mjs.map +1 -1
- package/dist/esm/project-run/progress-rendering/renderer-lifecycle.mjs +30 -4
- package/dist/esm/project-run/progress-rendering/renderer-lifecycle.mjs.map +1 -1
- package/dist/esm/project-run/progress-rendering/renderer.mjs +5 -2
- package/dist/esm/project-run/progress-rendering/renderer.mjs.map +1 -1
- package/dist/esm/project-run/project-context.mjs +1 -1
- 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.mjs +166 -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 +198 -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 +151 -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/critical-path-ranking.mjs +46 -0
- package/dist/esm/project-run/task-scheduler/critical-path-ranking.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 +207 -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 +158 -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 +89 -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 +171 -114
- package/dist/esm/project-run/task-scheduler/scheduler.mjs.map +1 -1
- package/docs/api-mechanics.md +64 -137
- package/docs/changelog.md +157 -0
- package/docs/checks/duplicate-detection.md +111 -59
- package/docs/checks/file-metrics.md +46 -43
- package/docs/checks/function-metrics.md +100 -163
- package/docs/checks/json-schema-validation.md +43 -36
- package/docs/checks/json-validation.md +38 -25
- package/docs/checks/maintenance-reminders.md +41 -29
- package/docs/checks/markdown-link-validation.md +82 -54
- package/docs/checks/secret-detection.md +129 -0
- package/docs/examples/artifacts/mixed-outcomes/definition.ts +5 -5
- package/docs/guides/cache-results.md +63 -0
- package/docs/guides/callbacks.md +34 -0
- package/docs/guides/check-dependencies.md +121 -0
- package/docs/guides/collecting-project-files.md +59 -0
- package/docs/guides/extending-check-lifecycle.md +112 -0
- package/docs/guides/finding-waivers.md +45 -0
- package/docs/guides/learned-scheduling.md +83 -0
- package/docs/guides/presenting-findings.md +54 -0
- package/docs/guides/run-outputs.md +145 -0
- package/docs/guides/scheduling.md +208 -0
- package/docs/guides/simulating-admission.md +55 -0
- package/docs/output.md +11 -20
- 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 +18 -6
- package/src/cache/cache-json-by-key.ts +304 -0
- package/src/check/check.ts +67 -17
- package/src/check/finding-presentation.ts +67 -0
- package/src/check/inherited-collection.ts +1 -1
- package/src/check-settlement/fact-validation.ts +29 -39
- 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/closed-values.ts +29 -0
- package/src/data-boundary/value-shapes.ts +12 -0
- package/src/index.ts +70 -2
- package/src/learned-critical-path/duration-model/bounded-history.ts +108 -0
- package/src/learned-critical-path/duration-model/prediction.ts +181 -0
- package/src/learned-critical-path/duration-model/preparation.ts +77 -0
- package/src/learned-critical-path/duration-model/recording.ts +208 -0
- package/src/learned-critical-path/duration-model/storage.ts +252 -0
- package/src/learned-critical-path/selection-layers.ts +72 -0
- package/src/learned-critical-path/static-decision.ts +105 -0
- package/src/learned-critical-path/strategy.ts +299 -0
- package/src/machine-output/v4/atomic-publication.ts +1 -16
- 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/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 +1 -1
- package/src/package-checks/duplicate-detection/execution.ts +82 -22
- 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 +1 -1
- 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 +21 -1
- package/src/package-checks/duplicate-detection/records.ts +65 -12
- package/src/package-checks/file-metrics/execution.ts +16 -17
- 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/records.ts +11 -23
- package/src/package-checks/file-metrics/scc/availability.ts +1 -1
- package/src/package-checks/file-metrics/scc/parser.ts +4 -4
- package/src/package-checks/file-metrics/scc/scanner.ts +2 -2
- package/src/package-checks/function-metrics/analysis.ts +76 -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 +261 -0
- package/src/package-checks/function-metrics/analyzer/extensions/extension-base.ts +33 -0
- package/src/package-checks/function-metrics/analyzer/extensions/lizardcomplextags.ts +27 -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 +311 -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 +107 -0
- package/src/package-checks/function-metrics/analyzer/readers/perl.ts +340 -0
- package/src/package-checks/function-metrics/analyzer/readers/php-states.ts +246 -0
- package/src/package-checks/function-metrics/analyzer/readers/php.ts +63 -0
- package/src/package-checks/function-metrics/analyzer/readers/plsql.ts +306 -0
- package/src/package-checks/function-metrics/analyzer/readers/python.ts +431 -0
- package/src/package-checks/function-metrics/analyzer/readers/r.ts +234 -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 +90 -0
- package/src/package-checks/function-metrics/analyzer/readers/typescript.ts +593 -0
- package/src/package-checks/function-metrics/analyzer/readers/vue.ts +43 -0
- package/src/package-checks/function-metrics/analyzer/readers/zig.ts +35 -0
- package/src/package-checks/function-metrics/analyzer/shared/clike.ts +541 -0
- package/src/package-checks/function-metrics/analyzer/shared/code-reader.ts +682 -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 +75 -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 +150 -0
- package/src/package-checks/function-metrics/analyzer-worker.ts +31 -0
- package/src/package-checks/function-metrics/constructor.ts +2 -2
- package/src/package-checks/function-metrics/execution.ts +94 -39
- 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 +221 -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 +27 -11
- 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 +2 -2
- package/src/package-checks/host-environment/process.ts +10 -0
- 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 +23 -0
- 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/maintenance-reminders/final-data.ts +18 -0
- package/src/package-checks/markdown-link-validation/default-check.ts +9 -3
- 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/options-resolution.ts +31 -3
- package/src/package-checks/markdown-link-validation/options-validation.ts +27 -19
- package/src/package-checks/markdown-link-validation/options.ts +15 -0
- package/src/package-checks/markdown-link-validation/parse-facts-cache-payload.ts +246 -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/project-files/collection.ts +1 -1
- package/src/package-checks/project-files/configuration.ts +3 -14
- package/src/package-checks/project-files/gitlink-revision.ts +1 -1
- package/src/package-checks/project-files/gitlink-worktree.ts +1 -1
- package/src/package-checks/project-files/public-collection.ts +92 -0
- package/src/package-checks/project-files/revision-worktree-files.ts +1 -1
- package/src/package-checks/secret-detection/classification.ts +30 -0
- package/src/package-checks/secret-detection/default-check.ts +50 -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 +233 -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 +36 -0
- package/src/package-checks/secret-detection/records.ts +77 -0
- package/src/package-checks/secret-detection/secretlint/adapter.ts +123 -0
- package/src/project-definition/check-tree/authoring.ts +29 -230
- package/src/project-definition/check-tree/check-fields-authoring.ts +227 -0
- package/src/project-definition/check-tree/collection-authoring.ts +13 -0
- package/src/project-definition/check-tree/materialization.ts +9 -1
- package/src/project-definition/check-tree/resolution.ts +80 -22
- package/src/project-definition/check-tree/scheduling-authoring.ts +114 -0
- package/src/project-definition/declarative-snapshot.ts +87 -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-definition-validation.ts +117 -18
- package/src/project-definition/project-definition.ts +198 -61
- package/src/project-definition/resource-unit-mapping.ts +25 -0
- package/src/project-definition/scheduler-policy.ts +553 -0
- package/src/project-run/admission-strategy-provider/custom-strategy-preparation.ts +80 -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 +10 -5
- package/src/project-run/check-execution/callback.ts +50 -8
- package/src/project-run/check-execution/console-capture.ts +262 -0
- package/src/project-run/check-execution/dependencies.ts +43 -6
- package/src/project-run/check-execution/execution-finalization.ts +99 -25
- package/src/project-run/check-execution/execution-settlement.ts +19 -11
- package/src/project-run/check-execution/flag-controls.ts +132 -0
- package/src/project-run/check-execution/lifecycle.ts +21 -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.ts +23 -43
- package/src/project-run/check-execution/resolved-checks.ts +165 -126
- package/src/project-run/check-execution/resolved-execution-result.ts +22 -0
- package/src/project-run/{completion.ts → completion/completion.ts} +17 -57
- 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 +25 -2
- 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 +107 -12
- 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 +86 -0
- package/src/project-run/invocation/creation.ts +116 -0
- package/src/project-run/invocation/paths.ts +154 -0
- package/src/project-run/invocation/progress.ts +38 -0
- package/src/project-run/{invocation.ts → invocation/run.ts} +125 -120
- package/src/project-run/invocation/scheduler.ts +75 -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 +118 -26
- package/src/project-run/progress-rendering/renderer-formatting.ts +166 -19
- package/src/project-run/progress-rendering/renderer-lifecycle.ts +38 -3
- package/src/project-run/progress-rendering/renderer.ts +13 -2
- package/src/project-run/project-context.ts +3 -2
- package/src/project-run/result.ts +49 -3
- package/src/project-run/run.ts +7 -6
- package/src/project-run/task-scheduler/admission-core/compiled-graph.ts +316 -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 +295 -0
- package/src/project-run/task-scheduler/admission-core/selection-seed.ts +252 -0
- package/src/project-run/task-scheduler/admission-core/selection-transition.ts +236 -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/critical-path-ranking.ts +76 -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 +261 -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 +190 -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 +124 -0
- package/src/project-run/task-scheduler/scheduler-task-lifecycle.ts +150 -0
- package/src/project-run/task-scheduler/scheduler-terminal-measurement.ts +95 -0
- package/src/project-run/task-scheduler/scheduler.ts +216 -171
- package/types/cache/cache-json-by-key.d.ts +53 -0
- package/types/check/check.d.ts +62 -17
- package/types/check/finding-presentation.d.ts +25 -0
- package/types/check/inherited-collection.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/closed-values.d.ts +8 -0
- package/types/data-boundary/value-shapes.d.ts +3 -0
- package/types/index.d.ts +22 -7
- package/types/learned-critical-path/duration-model/bounded-history.d.ts +34 -0
- package/types/learned-critical-path/duration-model/prediction.d.ts +32 -0
- package/types/learned-critical-path/duration-model/preparation.d.ts +28 -0
- package/types/learned-critical-path/duration-model/recording.d.ts +28 -0
- package/types/learned-critical-path/duration-model/storage.d.ts +12 -0
- package/types/learned-critical-path/selection-layers.d.ts +14 -0
- package/types/learned-critical-path/static-decision.d.ts +3 -0
- package/types/learned-critical-path/strategy.d.ts +35 -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/duplicate-detection/area-policy.d.ts +1 -1
- 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 +18 -1
- package/types/package-checks/duplicate-detection/records.d.ts +20 -3
- package/types/package-checks/file-metrics/finding-messages.d.ts +4 -0
- package/types/package-checks/file-metrics/records.d.ts +5 -10
- 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 +1 -1
- 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 +23 -10
- 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 +1 -1
- package/types/package-checks/host-environment/process.d.ts +5 -0
- package/types/package-checks/json-schema-validation/final-data.d.ts +8 -0
- package/types/package-checks/json-schema-validation/options.d.ts +31 -3
- package/types/package-checks/json-validation/final-data.d.ts +5 -0
- package/types/package-checks/maintenance-reminders/final-data.d.ts +18 -0
- package/types/package-checks/markdown-link-validation/default-check.d.ts +9 -3
- 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 +15 -0
- 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/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 +11 -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 +32 -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/project-definition/check-tree/authoring.d.ts +11 -14
- package/types/project-definition/check-tree/check-fields-authoring.d.ts +25 -0
- package/types/project-definition/check-tree/collection-authoring.d.ts +2 -0
- package/types/project-definition/check-tree/resolution.d.ts +8 -3
- package/types/project-definition/check-tree/scheduling-authoring.d.ts +19 -0
- package/types/project-definition/declarative-snapshot.d.ts +7 -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-definition.d.ts +61 -16
- 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 +1 -1
- 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 +1 -1
- package/types/project-run/check-execution/execution-finalization.d.ts +17 -7
- package/types/project-run/check-execution/execution-settlement.d.ts +5 -2
- package/types/project-run/check-execution/flag-controls.d.ts +27 -0
- package/types/project-run/check-execution/lifecycle.d.ts +20 -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.d.ts +6 -5
- package/types/project-run/check-execution/resolved-checks.d.ts +32 -38
- package/types/project-run/check-execution/resolved-execution-result.d.ts +21 -0
- package/types/project-run/{completion.d.ts → completion/completion.d.ts} +4 -4
- 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 +25 -2
- 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-creation.d.ts → invocation/creation.d.ts} +3 -3
- 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 +9 -5
- package/types/project-run/progress-rendering/renderer-formatting.d.ts +8 -0
- package/types/project-run/progress-rendering/renderer-lifecycle.d.ts +6 -1
- package/types/project-run/progress-rendering/renderer.d.ts +7 -1
- package/types/project-run/project-context.d.ts +2 -1
- package/types/project-run/result.d.ts +37 -3
- package/types/project-run/run.d.ts +6 -5
- 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/critical-path-ranking.d.ts +19 -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/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 +0 -17
- 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/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.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/invocation-creation.ts +0 -160
- 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/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,9 +1,17 @@
|
|
|
1
|
+
import type { SchedulerMeasurementContext, SchedulerMeasurementHook } from "../../project-definition/project-definition.ts";
|
|
1
2
|
import type { PlannedTask, PlannedTaskGraph, PlannedTaskScope, TaskGraph } from "./graph.ts";
|
|
3
|
+
import { type AdmissionSelectionPolicy } from "./admission-selection-policy.ts";
|
|
2
4
|
import type { DiagnosticLogger } from "../diagnostic-logging/logger.ts";
|
|
3
5
|
import type { SchedulerSnapshot } from "./scheduler-decision.ts";
|
|
6
|
+
import type { AdmissionPolicyFaultCategory } from "./scheduler-admission-decision.ts";
|
|
7
|
+
import type { SchedulerPerformanceDiagnosticsInput } from "./measurement/diagnostics.ts";
|
|
8
|
+
import { type AdmissionCoreEffect, type AdmissionCoreState } from "./admission-core/core.ts";
|
|
4
9
|
export type TaskSettlement<TResult> = Readonly<{
|
|
5
10
|
readonly kind: "completed";
|
|
6
11
|
readonly value: TResult;
|
|
12
|
+
} | {
|
|
13
|
+
readonly kind: "prerequisite-unsatisfied";
|
|
14
|
+
readonly value: TResult;
|
|
7
15
|
} | {
|
|
8
16
|
readonly kind: "failed";
|
|
9
17
|
readonly error: unknown;
|
|
@@ -20,17 +28,45 @@ export interface SettledTask<TResult> {
|
|
|
20
28
|
export interface TaskExecutionContext {
|
|
21
29
|
readonly signal: AbortSignal | undefined;
|
|
22
30
|
}
|
|
31
|
+
export interface PreAdmissionTaskResult<TResult> {
|
|
32
|
+
readonly taskId: string;
|
|
33
|
+
readonly value: TResult;
|
|
34
|
+
}
|
|
35
|
+
/** Product-private effect hook used to prove that the real shell replays the shared core. */
|
|
36
|
+
export interface SchedulerAdmissionCoreEffect {
|
|
37
|
+
readonly effect: AdmissionCoreEffect;
|
|
38
|
+
readonly state: AdmissionCoreState;
|
|
39
|
+
}
|
|
23
40
|
export interface TaskGraphRun<TResult> {
|
|
41
|
+
readonly admissionPolicyFault: AdmissionPolicyFaultCategory | undefined;
|
|
24
42
|
readonly cancelled: boolean;
|
|
25
43
|
/** One entry per static graph Task, in static graph order. */
|
|
26
44
|
readonly settlements: readonly SettledTask<TResult>[];
|
|
45
|
+
/** Product-private terminal facts retained after terminal Hooks have been drained. */
|
|
46
|
+
readonly terminalMeasurement?: SchedulerMeasurementContext;
|
|
27
47
|
}
|
|
28
48
|
export interface RunTaskGraphOptions<TResult> {
|
|
49
|
+
/** Product-private policy handoff; package consumers cannot author this through the public API. */
|
|
50
|
+
readonly admissionPolicy?: AdmissionSelectionPolicy;
|
|
29
51
|
readonly diagnosticLogger?: DiagnosticLogger;
|
|
52
|
+
/** Explicit enabled-only handoff; no Scheduler behavior is inferred from a logger shape. */
|
|
53
|
+
readonly performanceDiagnostics?: SchedulerPerformanceDiagnosticsInput;
|
|
54
|
+
/** Runtime-only terminal consumers; their context is formed after Scheduler drain. */
|
|
55
|
+
readonly measurementHooks?: readonly SchedulerMeasurementHook[];
|
|
56
|
+
readonly onMeasurementHookFailure?: () => void;
|
|
57
|
+
readonly onMeasurementHooksSettled?: () => void;
|
|
58
|
+
/** Product-private test observer; no package consumer can supply this through `run`. */
|
|
59
|
+
readonly onAdmissionCoreEffect?: (effect: SchedulerAdmissionCoreEffect) => void;
|
|
30
60
|
readonly graph: TaskGraph;
|
|
61
|
+
/** Product-private Task results formed without Scheduler admission in the current Run. */
|
|
62
|
+
readonly preAdmissionTaskResults?: readonly PreAdmissionTaskResult<TResult>[];
|
|
31
63
|
readonly maxParallel: number;
|
|
32
64
|
readonly signal?: AbortSignal;
|
|
33
65
|
readonly execute: (task: PlannedTask, context: TaskExecutionContext) => TResult | Promise<TResult>;
|
|
66
|
+
/** Maps a completed Task's opaque product value to prerequisite satisfaction. */
|
|
67
|
+
readonly isPrerequisiteSatisfied?: (value: TResult) => boolean;
|
|
68
|
+
/** Lets a product close a blocked Task before any terminal observer can be admitted. */
|
|
69
|
+
readonly onTaskBlocked?: (task: PlannedTask, dependencyIds: readonly string[]) => void;
|
|
34
70
|
}
|
|
35
71
|
export type RunningTaskCompletion<TResult> = Readonly<{
|
|
36
72
|
readonly taskId: string;
|
|
@@ -46,18 +82,24 @@ export interface RuntimeScope {
|
|
|
46
82
|
isActive: boolean;
|
|
47
83
|
}
|
|
48
84
|
export interface SchedulerState<TResult> {
|
|
85
|
+
/** The shared immutable legality/transition state; Task and Promise ownership remains below. */
|
|
86
|
+
admissionCore: AdmissionCoreState;
|
|
87
|
+
readonly admissionPolicy: AdmissionSelectionPolicy;
|
|
49
88
|
readonly diagnosticLogger: DiagnosticLogger | undefined;
|
|
50
89
|
readonly graph: PlannedTaskGraph;
|
|
90
|
+
readonly isPrerequisiteSatisfied: RunTaskGraphOptions<TResult>["isPrerequisiteSatisfied"];
|
|
51
91
|
readonly maxParallel: number;
|
|
52
92
|
readonly signal: AbortSignal | undefined;
|
|
53
93
|
readonly execute: RunTaskGraphOptions<TResult>["execute"];
|
|
94
|
+
readonly onTaskBlocked: RunTaskGraphOptions<TResult>["onTaskBlocked"];
|
|
95
|
+
readonly onAdmissionCoreEffect: RunTaskGraphOptions<TResult>["onAdmissionCoreEffect"];
|
|
54
96
|
readonly pending: PlannedTask[];
|
|
55
97
|
readonly runningById: Map<string, RunningTask<TResult>>;
|
|
56
98
|
readonly runningMutexes: Set<string>;
|
|
57
99
|
readonly settlementsByTaskId: Map<string, TaskSettlement<TResult>>;
|
|
58
100
|
readonly scopesById: ReadonlyMap<string, RuntimeScope>;
|
|
59
|
-
reservationTaskId: string | undefined;
|
|
60
101
|
isCancelled: boolean;
|
|
102
|
+
admissionPolicyFault: AdmissionPolicyFaultCategory | undefined;
|
|
61
103
|
}
|
|
62
104
|
export declare function createSchedulerState<TResult>(graph: PlannedTaskGraph, options: RunTaskGraphOptions<TResult>): SchedulerState<TResult>;
|
|
63
105
|
/** Projects mutable execution state into the pure scheduler-decision input. */
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { type AdmissionCoreEffect, type AdmissionCoreState } from "./admission-core/core.ts";
|
|
2
|
+
import type { SchedulerTrigger } from "./scheduler-decision.ts";
|
|
3
|
+
import type { SchedulerState } from "./execution-state.ts";
|
|
4
|
+
import type { SchedulerPerformanceDiagnostics } from "./measurement/diagnostics.ts";
|
|
5
|
+
/**
|
|
6
|
+
* Adapts only canonical forced blocked effects to the real Scheduler shell.
|
|
7
|
+
* Direct admission, running settlement, and cancellation remain in the root shell.
|
|
8
|
+
*/
|
|
9
|
+
export declare function replayCoreForcedBlocks<TResult>(state: SchedulerState<TResult>, effects: readonly AdmissionCoreEffect[], effectStates: readonly AdmissionCoreState[], diagnostics: SchedulerPerformanceDiagnostics | undefined, trigger: SchedulerTrigger): void;
|
|
@@ -1,11 +1,12 @@
|
|
|
1
|
-
import type { PlannedTask, PlannedTaskScope } from "./graph.ts";
|
|
1
|
+
import type { NamedResourceUnits, PlannedTask, PlannedTaskScope } from "./graph.ts";
|
|
2
2
|
interface PreparedTaskGraphValidationInput {
|
|
3
|
+
readonly resourceCapacities: readonly NamedResourceUnits[];
|
|
3
4
|
readonly rootMaxParallel: number | undefined;
|
|
4
5
|
readonly scopeById: ReadonlyMap<string, PlannedTaskScope>;
|
|
5
6
|
readonly scopes: readonly PlannedTaskScope[];
|
|
6
7
|
readonly taskById: ReadonlyMap<string, PlannedTask>;
|
|
7
8
|
readonly tasks: readonly PlannedTask[];
|
|
8
9
|
}
|
|
9
|
-
/** Validates
|
|
10
|
+
/** Validates direct relations and scope structure after graph-shaped input is normalized. */
|
|
10
11
|
export declare function validatePreparedTaskGraph(input: PreparedTaskGraphValidationInput): void;
|
|
11
12
|
export {};
|
|
@@ -1,7 +1,15 @@
|
|
|
1
|
+
import type { SchedulerGraphSnapshot } from "../../project-definition/project-definition.ts";
|
|
2
|
+
export interface NamedResourceUnits {
|
|
3
|
+
readonly resourceId: string;
|
|
4
|
+
readonly units: number;
|
|
5
|
+
}
|
|
1
6
|
export interface TaskNode {
|
|
7
|
+
readonly admissionPriority?: number;
|
|
2
8
|
readonly id: string;
|
|
3
9
|
readonly dependsOn?: readonly string[];
|
|
4
10
|
readonly mutex?: readonly string[];
|
|
11
|
+
readonly observes?: readonly string[];
|
|
12
|
+
readonly resourceClaims?: Readonly<Record<string, number>>;
|
|
5
13
|
readonly scopeId?: string;
|
|
6
14
|
}
|
|
7
15
|
/**
|
|
@@ -16,13 +24,17 @@ export interface TaskScope {
|
|
|
16
24
|
readonly terminalTaskId: string;
|
|
17
25
|
}
|
|
18
26
|
export interface TaskGraph {
|
|
27
|
+
readonly resourceCapacities?: Readonly<Record<string, number>>;
|
|
19
28
|
readonly tasks: readonly TaskNode[];
|
|
20
29
|
readonly scopes?: readonly TaskScope[];
|
|
21
30
|
}
|
|
22
31
|
export interface PlannedTask {
|
|
32
|
+
readonly admissionPriority: number;
|
|
23
33
|
readonly id: string;
|
|
24
34
|
readonly dependsOn: readonly string[];
|
|
25
35
|
readonly mutex: readonly string[];
|
|
36
|
+
readonly observes: readonly string[];
|
|
37
|
+
readonly resourceClaims: readonly NamedResourceUnits[];
|
|
26
38
|
readonly scopeId: string | undefined;
|
|
27
39
|
}
|
|
28
40
|
export interface PlannedTaskScope {
|
|
@@ -32,6 +44,9 @@ export interface PlannedTaskScope {
|
|
|
32
44
|
readonly terminalTaskId: string;
|
|
33
45
|
}
|
|
34
46
|
export interface PlannedTaskGraph {
|
|
47
|
+
readonly resourceCapacities: readonly NamedResourceUnits[];
|
|
48
|
+
/** Immutable public projection shared by every decision and terminal measurement in one run. */
|
|
49
|
+
readonly schedulerGraphSnapshot: SchedulerGraphSnapshot;
|
|
35
50
|
readonly tasks: readonly PlannedTask[];
|
|
36
51
|
readonly scopes: readonly PlannedTaskScope[];
|
|
37
52
|
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { AdmissionPolicyMeasurement, SchedulerMeasurementEffect, SchedulerMeasurementHook, SchedulerRawMeasurement } from "../../../project-definition/project-definition.ts";
|
|
2
|
+
import { type DiagnosticLogger } from "../../diagnostic-logging/logger.ts";
|
|
3
|
+
/** Explicit, enabled-only private handoff; the Scheduler never infers this from logger behavior. */
|
|
4
|
+
export type SchedulerPerformanceDiagnosticsInput = Readonly<{
|
|
5
|
+
readonly clock: Readonly<{
|
|
6
|
+
now(): number;
|
|
7
|
+
}>;
|
|
8
|
+
readonly declarativeFingerprint: string;
|
|
9
|
+
readonly logger?: DiagnosticLogger;
|
|
10
|
+
}>;
|
|
11
|
+
export type AdmissionViablePendingTask = Readonly<{
|
|
12
|
+
readonly kind: "admissible-pending" | "capacity-blocked" | "mutex-blocked";
|
|
13
|
+
readonly taskId: string;
|
|
14
|
+
}>;
|
|
15
|
+
export type SchedulerPerformanceState = Readonly<{
|
|
16
|
+
readonly admissionViablePendingTasks: readonly AdmissionViablePendingTask[];
|
|
17
|
+
readonly effectiveMaxParallel: number;
|
|
18
|
+
readonly rootMaxParallel: number;
|
|
19
|
+
readonly running: number;
|
|
20
|
+
}>;
|
|
21
|
+
/**
|
|
22
|
+
* Scheduler-owned, invocation-local lifecycle projection. Clock boundaries and
|
|
23
|
+
* numeric interval accumulation remain private collaborators of this owner.
|
|
24
|
+
*/
|
|
25
|
+
export declare class SchedulerPerformanceDiagnostics {
|
|
26
|
+
#private;
|
|
27
|
+
constructor(input: SchedulerPerformanceDiagnosticsInput, initial: SchedulerPerformanceState);
|
|
28
|
+
measureControlPath<T>(operation: () => T): T;
|
|
29
|
+
observeDecision(observation: () => void): void;
|
|
30
|
+
/** Flushes the old state before admission changes the real Scheduler state. */
|
|
31
|
+
beforeAdmission(taskId: string, runningTaskIds: readonly string[]): void;
|
|
32
|
+
/** Flushes the old state before blocked/cancelled changes the real Scheduler state. */
|
|
33
|
+
beforePendingSettlement(taskIds?: readonly string[]): void;
|
|
34
|
+
/** Flushes the old running interval before removing the actual running Task. */
|
|
35
|
+
beforeRunningSettlement(taskId: string): void;
|
|
36
|
+
beforeAcceptedWait(): void;
|
|
37
|
+
captureState(state: SchedulerPerformanceState): void;
|
|
38
|
+
rawMeasurement(): SchedulerRawMeasurement;
|
|
39
|
+
beginSelectedPolicyAction(taskId: string): void;
|
|
40
|
+
beginWaitPolicyAction(): void;
|
|
41
|
+
recordEffect(effect: SchedulerMeasurementEffect): void;
|
|
42
|
+
policyMeasurement(): AdmissionPolicyMeasurement;
|
|
43
|
+
completePendingActionObservation(): void;
|
|
44
|
+
admittedTaskIds(): readonly string[];
|
|
45
|
+
/** Internal default terminal hook; it contains writer failure without runner special-casing. */
|
|
46
|
+
defaultSummaryHook(): SchedulerMeasurementHook | undefined;
|
|
47
|
+
}
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import type { SchedulerMeasurementIntervalContribution } from "../../../project-definition/project-definition.ts";
|
|
2
|
+
import type { AdmissionViablePendingTask, SchedulerPerformanceState } from "./diagnostics.ts";
|
|
3
|
+
export type AdmissionDelayBreakdown = Readonly<{
|
|
4
|
+
readonly admissiblePendingMs: number;
|
|
5
|
+
readonly capacityBlockedMs: number;
|
|
6
|
+
readonly mutexBlockedMs: number;
|
|
7
|
+
}>;
|
|
8
|
+
export type SchedulerPerformancePeaks = Readonly<{
|
|
9
|
+
readonly admissionViablePendingTaskCount: number;
|
|
10
|
+
readonly admissiblePendingTaskCount: number;
|
|
11
|
+
readonly capacityBlockedTaskCount: number;
|
|
12
|
+
readonly mutexBlockedTaskCount: number;
|
|
13
|
+
}>;
|
|
14
|
+
/** Accumulates interval-weighted capacity and admission-delay measurements. */
|
|
15
|
+
export declare class SchedulerPerformanceIntegrals {
|
|
16
|
+
#private;
|
|
17
|
+
installPendingProjection(pendingTasks: readonly AdmissionViablePendingTask[], timingAvailable: boolean): void;
|
|
18
|
+
/** Returns false when an interval cannot be represented as finite non-negative totals. */
|
|
19
|
+
addInterval(elapsedMs: number, state: SchedulerPerformanceState): boolean;
|
|
20
|
+
takeAdmissionDelay(taskId: string): AdmissionDelayBreakdown | undefined;
|
|
21
|
+
pendingAdmissionDelays(): readonly Readonly<{
|
|
22
|
+
readonly admissionDelay: AdmissionDelayBreakdown;
|
|
23
|
+
readonly taskId: string;
|
|
24
|
+
}>[];
|
|
25
|
+
peaks(): SchedulerPerformancePeaks;
|
|
26
|
+
totals(): SchedulerMeasurementIntervalContribution;
|
|
27
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { AdmissionPolicyMeasurement, SchedulerDecisionMeasurementCumulative, SchedulerMeasurementEffect, SchedulerMeasurementIntervalContribution, SchedulerMeasurementTiming } from "../../../project-definition/project-definition.ts";
|
|
2
|
+
/** Owns the immutable prefix of observations formed after accepted custom-policy actions. */
|
|
3
|
+
export declare class SchedulerPolicyMeasurement {
|
|
4
|
+
#private;
|
|
5
|
+
beginSelected(taskId: string, baseline: SchedulerMeasurementIntervalContribution): void;
|
|
6
|
+
beginWait(baseline: SchedulerMeasurementIntervalContribution): void;
|
|
7
|
+
recordEffect(effect: SchedulerMeasurementEffect): void;
|
|
8
|
+
complete(totals: SchedulerMeasurementIntervalContribution, timing: SchedulerMeasurementTiming): void;
|
|
9
|
+
snapshot(cumulative: SchedulerDecisionMeasurementCumulative): AdmissionPolicyMeasurement;
|
|
10
|
+
}
|
|
@@ -0,0 +1,3 @@
|
|
|
1
|
+
import type { SchedulerRawMeasurement } from "../../../project-definition/project-definition.ts";
|
|
2
|
+
/** Projects raw Scheduler measurement into the bounded diagnostic summary. */
|
|
3
|
+
export declare function summaryFromSchedulerMeasurement(raw: SchedulerRawMeasurement): Readonly<Record<string, unknown>>;
|
|
@@ -0,0 +1,33 @@
|
|
|
1
|
+
import type { SchedulerMeasurementIntervalContribution, SchedulerMeasurementTiming, SchedulerMeasurementTimingUnavailableReason } from "../../../project-definition/project-definition.ts";
|
|
2
|
+
import type { SchedulerPerformanceState } from "./diagnostics.ts";
|
|
3
|
+
import { SchedulerPerformanceIntegrals, type AdmissionDelayBreakdown, type SchedulerPerformancePeaks } from "./integrals.ts";
|
|
4
|
+
export type SchedulerPerformanceTimingSnapshot = Readonly<{
|
|
5
|
+
readonly acceptedWaitCount: number;
|
|
6
|
+
readonly acceptedWaitMs: number;
|
|
7
|
+
readonly decisionObservationMs: number;
|
|
8
|
+
readonly maxRunning: number;
|
|
9
|
+
readonly peaks: SchedulerPerformancePeaks;
|
|
10
|
+
readonly schedulerControlPathMs: number;
|
|
11
|
+
readonly startedAtMonotonicMs: number | undefined;
|
|
12
|
+
readonly timing: SchedulerMeasurementTiming;
|
|
13
|
+
readonly totals: SchedulerMeasurementIntervalContribution;
|
|
14
|
+
}>;
|
|
15
|
+
/** Owns monotonic clock boundaries and delegates numeric interval accumulation. */
|
|
16
|
+
export declare class SchedulerPerformanceTiming {
|
|
17
|
+
#private;
|
|
18
|
+
constructor(clock: Readonly<{
|
|
19
|
+
now(): number;
|
|
20
|
+
}>, initial: SchedulerPerformanceState);
|
|
21
|
+
/** Accounts a synchronous shell operation, never an await or author callback. */
|
|
22
|
+
measureControlPath<T>(operation: () => T): T;
|
|
23
|
+
/** Keeps decision writer work separate from the shell control-path projection. */
|
|
24
|
+
observeDecision(observation: () => void): void;
|
|
25
|
+
boundary(): number | undefined;
|
|
26
|
+
beginAcceptedWait(): void;
|
|
27
|
+
closeAcceptedWait(boundary: number): void;
|
|
28
|
+
captureState(state: SchedulerPerformanceState): void;
|
|
29
|
+
takeAdmissionDelay(taskId: string): AdmissionDelayBreakdown | undefined;
|
|
30
|
+
pendingAdmissionDelays(): ReturnType<SchedulerPerformanceIntegrals["pendingAdmissionDelays"]>;
|
|
31
|
+
snapshot(): SchedulerPerformanceTimingSnapshot;
|
|
32
|
+
invalidate(reason: SchedulerMeasurementTimingUnavailableReason): void;
|
|
33
|
+
}
|
|
@@ -1,8 +1,20 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { AdmissionPolicyContext } from "../../project-definition/project-definition.ts";
|
|
2
|
+
import type { AdmissionSelectionPolicy } from "./admission-selection-policy.ts";
|
|
2
3
|
import { type SchedulerDecision, type SchedulerDecisionContext, type SchedulerTrigger } from "./scheduler-decision-model.ts";
|
|
4
|
+
import type { SchedulerInspection } from "./scheduler-decision-inspection.ts";
|
|
5
|
+
import { type AdmissionCoreState } from "./admission-core/core.ts";
|
|
3
6
|
export interface SchedulerDecisionCycle {
|
|
7
|
+
readonly admissionCore: AdmissionCoreState;
|
|
4
8
|
readonly context: SchedulerDecisionContext;
|
|
9
|
+
readonly policy: AdmissionSelectionPolicy;
|
|
10
|
+
/** Invoked immediately before the private policy seam enters a custom callback. */
|
|
11
|
+
readonly measurement?: () => AdmissionPolicyContext["measurement"];
|
|
5
12
|
readonly state: SchedulerInspection;
|
|
6
13
|
readonly trigger: SchedulerTrigger;
|
|
7
14
|
}
|
|
8
15
|
export declare function decideAdmission(cycle: SchedulerDecisionCycle): SchedulerDecision;
|
|
16
|
+
export type AdmissionPolicyFaultCategory = "callback-threw" | "thenable-proposal" | "malformed-proposal" | "non-candidate-select" | "capacity-invalid-select" | "lifecycle-invalid-select" | "undrainable-wait";
|
|
17
|
+
export declare class AdmissionPolicyFault extends Error {
|
|
18
|
+
readonly category: AdmissionPolicyFaultCategory;
|
|
19
|
+
constructor(category: AdmissionPolicyFaultCategory);
|
|
20
|
+
}
|
|
@@ -1,24 +1,25 @@
|
|
|
1
|
-
import type { PlannedTask, PlannedTaskGraph
|
|
2
|
-
import type {
|
|
1
|
+
import type { PlannedTask, PlannedTaskGraph } from "./graph.ts";
|
|
2
|
+
import type { SchedulerGraphSnapshot } from "../../project-definition/project-definition.ts";
|
|
3
|
+
import type { SchedulerCapacity, SchedulerDecisionContext, SchedulerSettlementKind } from "./scheduler-decision-model.ts";
|
|
3
4
|
export interface SchedulerInspection {
|
|
4
|
-
readonly activeScopeIds:
|
|
5
|
+
readonly activeScopeIds: readonly string[];
|
|
5
6
|
readonly graph: PlannedTaskGraph;
|
|
7
|
+
readonly isAbortRequested: boolean;
|
|
8
|
+
readonly isCancelled: boolean;
|
|
6
9
|
readonly maxParallel: number;
|
|
7
10
|
readonly pendingTasks: readonly PlannedTask[];
|
|
8
|
-
readonly
|
|
9
|
-
readonly
|
|
10
|
-
|
|
11
|
-
|
|
11
|
+
readonly runningMutexes: readonly string[];
|
|
12
|
+
readonly resources: readonly Readonly<{
|
|
13
|
+
readonly available: number;
|
|
14
|
+
readonly capacity: number;
|
|
15
|
+
readonly inUse: number;
|
|
16
|
+
readonly resourceId: string;
|
|
17
|
+
}>[];
|
|
18
|
+
readonly runningTaskIds: readonly string[];
|
|
19
|
+
readonly settledTasks: readonly Readonly<{
|
|
20
|
+
readonly kind: SchedulerSettlementKind;
|
|
21
|
+
readonly taskId: string;
|
|
22
|
+
}>[];
|
|
12
23
|
}
|
|
13
|
-
export declare function
|
|
14
|
-
export declare function
|
|
15
|
-
export declare function selectBlockedTask(state: SchedulerInspection): Readonly<{
|
|
16
|
-
readonly dependencyIds: readonly string[];
|
|
17
|
-
readonly task: PlannedTask;
|
|
18
|
-
}> | undefined;
|
|
19
|
-
export declare function isDependencyMutexEligible(task: PlannedTask, state: SchedulerInspection): boolean;
|
|
20
|
-
export declare function capacityWaitReason(state: SchedulerInspection): SchedulerAwaitReason;
|
|
21
|
-
export declare function canAdmit(state: SchedulerInspection, task: PlannedTask): boolean;
|
|
22
|
-
export declare function activationScopeFor(state: SchedulerInspection, task: PlannedTask): PlannedTaskScope | undefined;
|
|
23
|
-
export declare function selectTighteningTask(state: SchedulerInspection, eligibleTasks: readonly PlannedTask[], effectiveMaxParallel: number): PlannedTask | undefined;
|
|
24
|
-
export declare function selectConstrainedContinuation(state: SchedulerInspection, eligibleTasks: readonly PlannedTask[], effectiveMaxParallel: number): PlannedTask | undefined;
|
|
24
|
+
export declare function decisionContext(state: SchedulerInspection, graphIdentity: SchedulerGraphSnapshot): SchedulerDecisionContext;
|
|
25
|
+
export declare function capacityFor(state: SchedulerInspection): SchedulerCapacity;
|
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { PlannedTaskGraph } from "./graph.ts";
|
|
2
|
-
|
|
2
|
+
import type { SchedulerGraphSnapshot } from "../../project-definition/project-definition.ts";
|
|
3
|
+
export type SchedulerSettlementKind = "completed" | "prerequisite-unsatisfied" | "failed" | "blocked" | "cancelled-before-start";
|
|
3
4
|
export type SchedulerTrigger = Readonly<{
|
|
4
5
|
readonly kind: "execution-started";
|
|
5
6
|
}> | Readonly<{
|
|
@@ -21,7 +22,6 @@ export interface SchedulerSnapshot {
|
|
|
21
22
|
readonly isAbortRequested: boolean;
|
|
22
23
|
readonly isCancelled: boolean;
|
|
23
24
|
readonly pendingTaskIds: readonly string[];
|
|
24
|
-
readonly reservationTaskId: string | undefined;
|
|
25
25
|
readonly runningMutexes: readonly string[];
|
|
26
26
|
readonly runningTaskIds: readonly string[];
|
|
27
27
|
readonly settledTasks: readonly Readonly<{
|
|
@@ -39,32 +39,48 @@ export interface SchedulerCapacity {
|
|
|
39
39
|
export interface SchedulerBlockerSummary {
|
|
40
40
|
readonly dependency: number;
|
|
41
41
|
readonly mutex: number;
|
|
42
|
+
readonly resourceCapacity: number;
|
|
42
43
|
readonly rootCapacity: boolean;
|
|
43
44
|
readonly scopeCapacity: boolean;
|
|
44
45
|
}
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
readonly
|
|
50
|
-
readonly capacity: SchedulerCapacity;
|
|
51
|
-
readonly reservation: SchedulerReservationContext;
|
|
46
|
+
/** The sole public Scheduler graph DTO; task identity is always `taskId`. */
|
|
47
|
+
export type { SchedulerGraphSnapshot } from "../../project-definition/project-definition.ts";
|
|
48
|
+
export interface SchedulerAdmissionCandidateFact {
|
|
49
|
+
readonly canAdmit: boolean;
|
|
50
|
+
readonly taskId: string;
|
|
52
51
|
}
|
|
53
|
-
export type
|
|
54
|
-
readonly kind: "
|
|
52
|
+
export type SchedulerAdmissionProposal = Readonly<{
|
|
53
|
+
readonly kind: "select";
|
|
54
|
+
readonly taskId: string;
|
|
55
55
|
}> | Readonly<{
|
|
56
|
-
readonly kind: "
|
|
56
|
+
readonly kind: "wait";
|
|
57
|
+
}>;
|
|
58
|
+
export type SchedulerAdmissionHardGuard = Readonly<{
|
|
59
|
+
readonly canAdmit: true;
|
|
60
|
+
readonly isCandidate: true;
|
|
61
|
+
readonly kind: "select";
|
|
62
|
+
readonly lifecycleOpen: true;
|
|
57
63
|
readonly taskId: string;
|
|
58
64
|
}> | Readonly<{
|
|
59
|
-
readonly kind: "
|
|
65
|
+
readonly kind: "wait";
|
|
66
|
+
readonly runningCanDrain: true;
|
|
60
67
|
}>;
|
|
61
|
-
export
|
|
62
|
-
|
|
68
|
+
export interface SchedulerDecisionContext {
|
|
69
|
+
readonly blockers: SchedulerBlockerSummary;
|
|
70
|
+
readonly capacity: SchedulerCapacity;
|
|
71
|
+
readonly graphIdentity: SchedulerGraphSnapshot;
|
|
72
|
+
}
|
|
63
73
|
export type SchedulerDecision = SchedulerDecisionContext & (Readonly<{
|
|
74
|
+
readonly admissionPriority: number;
|
|
75
|
+
readonly candidates: readonly SchedulerAdmissionCandidateFact[];
|
|
64
76
|
readonly eligibleCount: number;
|
|
77
|
+
readonly hardGuard: Extract<SchedulerAdmissionHardGuard, {
|
|
78
|
+
readonly kind: "select";
|
|
79
|
+
}>;
|
|
65
80
|
readonly kind: "admit";
|
|
66
|
-
readonly
|
|
67
|
-
|
|
81
|
+
readonly proposal: Extract<SchedulerAdmissionProposal, {
|
|
82
|
+
readonly kind: "select";
|
|
83
|
+
}>;
|
|
68
84
|
readonly scopeToActivate: string | null;
|
|
69
85
|
readonly taskId: string;
|
|
70
86
|
readonly trigger: SchedulerTrigger;
|
|
@@ -74,10 +90,13 @@ export type SchedulerDecision = SchedulerDecisionContext & (Readonly<{
|
|
|
74
90
|
readonly taskId: string;
|
|
75
91
|
readonly trigger: SchedulerTrigger;
|
|
76
92
|
}> | Readonly<{
|
|
93
|
+
readonly candidates: readonly SchedulerAdmissionCandidateFact[];
|
|
77
94
|
readonly eligibleCount: number;
|
|
95
|
+
readonly hardGuard: Extract<SchedulerAdmissionHardGuard, {
|
|
96
|
+
readonly kind: "wait";
|
|
97
|
+
}>;
|
|
78
98
|
readonly kind: "await-running";
|
|
79
|
-
readonly
|
|
80
|
-
readonly reservationUpdate: ReservationUpdate;
|
|
99
|
+
readonly proposal: SchedulerAdmissionProposal | null;
|
|
81
100
|
readonly trigger: SchedulerTrigger;
|
|
82
101
|
}> | Readonly<{
|
|
83
102
|
readonly kind: "cancel-pending";
|
|
@@ -88,7 +107,4 @@ export type SchedulerDecision = SchedulerDecisionContext & (Readonly<{
|
|
|
88
107
|
readonly kind: "complete";
|
|
89
108
|
readonly trigger: SchedulerTrigger;
|
|
90
109
|
}>);
|
|
91
|
-
export declare function reservationUnchanged(): ReservationUpdate;
|
|
92
|
-
export declare function reservationSet(taskId: string): ReservationUpdate;
|
|
93
|
-
export declare function reservationClear(): ReservationUpdate;
|
|
94
110
|
export declare function freezeDecision(decision: SchedulerDecision): SchedulerDecision;
|
|
@@ -1,8 +1,11 @@
|
|
|
1
|
+
import type { AdmissionSelectionPolicy } from "./admission-selection-policy.ts";
|
|
2
|
+
import type { AdmissionPolicyContext } from "../../project-definition/project-definition.ts";
|
|
1
3
|
import type { SchedulerDecision, SchedulerSnapshot, SchedulerTrigger } from "./scheduler-decision-model.ts";
|
|
4
|
+
import { type AdmissionCoreState } from "./admission-core/core.ts";
|
|
2
5
|
export type { SchedulerDecision, SchedulerSettlementKind, SchedulerSnapshot, SchedulerTrigger } from "./scheduler-decision-model.ts";
|
|
3
6
|
/**
|
|
4
7
|
* Computes the next generic task-engine action from an immutable state projection.
|
|
5
8
|
* Starting work, awaiting promises, cancellation, and diagnostic output remain in
|
|
6
9
|
* the imperative scheduler shell.
|
|
7
10
|
*/
|
|
8
|
-
export declare function decideScheduler(snapshot: SchedulerSnapshot, trigger: SchedulerTrigger): SchedulerDecision;
|
|
11
|
+
export declare function decideScheduler(snapshot: SchedulerSnapshot, trigger: SchedulerTrigger, policy?: AdmissionSelectionPolicy, measurement?: () => AdmissionPolicyContext["measurement"], admissionCore?: AdmissionCoreState): SchedulerDecision;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { type DiagnosticObservation } from "../diagnostic-logging/logger.ts";
|
|
2
|
+
import type { SchedulerDecision } from "./scheduler-decision.ts";
|
|
3
|
+
import type { SchedulerState } from "./execution-state.ts";
|
|
4
|
+
import type { SchedulerPerformanceDiagnostics, SchedulerPerformanceState } from "./measurement/diagnostics.ts";
|
|
5
|
+
import type { AdmissionPolicyFault } from "./scheduler-admission-decision.ts";
|
|
6
|
+
/** Fault logging is observational and therefore excluded from Scheduler control-path timing. */
|
|
7
|
+
export declare function observeAdmissionPolicyFault<TResult>(state: SchedulerState<TResult>, fault: AdmissionPolicyFault): void;
|
|
8
|
+
export declare function observeSchedulerDecision<TResult>(state: SchedulerState<TResult>, decision: SchedulerDecision, diagnostics: SchedulerPerformanceDiagnostics | undefined): void;
|
|
9
|
+
/** One immutable graph record makes the enclosing scheduler channel the self-contained evidence unit. */
|
|
10
|
+
export declare function observeSchedulerGraph<TResult>(state: SchedulerState<TResult>): void;
|
|
11
|
+
export declare function schedulerGraphFingerprint(graph: unknown): string;
|
|
12
|
+
/** Logger failures are observational and must not revise Scheduler lifecycle state. */
|
|
13
|
+
export declare function observeSchedulerDiagnostic<TResult>(state: SchedulerState<TResult>, observation: DiagnosticObservation): void;
|
|
14
|
+
export declare function performanceState<TResult>(state: SchedulerState<TResult>): SchedulerPerformanceState;
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { type RunningTaskCompletion, type SchedulerState, type TaskGraphRun } from "./execution-state.ts";
|
|
2
|
+
import type { SchedulerDecision } from "./scheduler-decision.ts";
|
|
3
|
+
import type { AdmissionPolicyFault } from "./scheduler-admission-decision.ts";
|
|
4
|
+
export declare function applyAdmissionPolicyFault<TResult>(state: SchedulerState<TResult>, fault: AdmissionPolicyFault): void;
|
|
5
|
+
export declare function applyAdmission<TResult>(state: SchedulerState<TResult>, decision: Extract<SchedulerDecision, {
|
|
6
|
+
readonly kind: "admit";
|
|
7
|
+
}>): void;
|
|
8
|
+
export declare function applyBlockedSettlement<TResult>(state: SchedulerState<TResult>, decision: Extract<SchedulerDecision, {
|
|
9
|
+
readonly kind: "settle-blocked";
|
|
10
|
+
}>): void;
|
|
11
|
+
/** Applies one canonical private forced-block effect after the shared reducer selected it. */
|
|
12
|
+
export declare function applyForcedBlockedSettlement<TResult>(state: SchedulerState<TResult>, taskId: string, dependencyIds: readonly string[]): void;
|
|
13
|
+
export declare function applyCancellation<TResult>(state: SchedulerState<TResult>, decision: Extract<SchedulerDecision, {
|
|
14
|
+
readonly kind: "cancel-pending";
|
|
15
|
+
}>): void;
|
|
16
|
+
export declare function nextRunningSettlement<TResult>(state: SchedulerState<TResult>): Promise<RunningTaskCompletion<TResult>>;
|
|
17
|
+
export declare function settleRunningTask<TResult>(state: SchedulerState<TResult>, result: RunningTaskCompletion<TResult>): void;
|
|
18
|
+
export declare function buildTaskGraphRun<TResult>(state: SchedulerState<TResult>): TaskGraphRun<TResult>;
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import type { SchedulerMeasurementContext } from "../../project-definition/project-definition.ts";
|
|
2
|
+
import type { RunTaskGraphOptions, SchedulerState } from "./execution-state.ts";
|
|
3
|
+
import type { SchedulerPerformanceDiagnostics } from "./measurement/diagnostics.ts";
|
|
4
|
+
/** Delivers the terminal measurement to the internal summary and caller hooks exactly once. */
|
|
5
|
+
export declare function observeTerminalMeasurement<TResult>(input: Readonly<{
|
|
6
|
+
readonly diagnostics: SchedulerPerformanceDiagnostics;
|
|
7
|
+
readonly options: RunTaskGraphOptions<TResult>;
|
|
8
|
+
readonly state: SchedulerState<TResult>;
|
|
9
|
+
}>): Promise<SchedulerMeasurementContext>;
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"csv.mjs","sourceRoot":"","sources":["../../../../../src/package-checks/file-metrics/scc/csv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,MAAM,OAAO,GAAY,KAAK,CAAC,GAAG,EAAE;QAClC,GAAG,EAAE,IAAI;QACT,kBAAkB,EAAE,IAAI;QACxB,gBAAgB,EAAE,IAAI;QACtB,IAAI,EAAE,IAAI;KACX,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC;AACjF,CAAC","sourcesContent":["import { parse } from \"csv-parse/sync\";\n\nexport function parseCsvRows(csv: string): string[][] {\n const records: unknown = parse(csv, {\n bom: true,\n relax_column_count: true,\n skip_empty_lines: true,\n trim: true\n });\n\n if (!Array.isArray(records) || !records.every(isStringRow)) {\n throw new Error(\"CSV parser returned non-string rows\");\n }\n\n return records;\n}\n\nfunction isStringRow(value: unknown): value is string[] {\n return Array.isArray(value) && value.every((item) => typeof item === \"string\");\n}\n"]}
|
|
@@ -1,64 +0,0 @@
|
|
|
1
|
-
import { errorMessage } from "../../host-environment/error-message.mjs";
|
|
2
|
-
import { runProcess } from "../../host-environment/process/command.mjs";
|
|
3
|
-
export async function checkLizard(rootDir, dependency) {
|
|
4
|
-
try {
|
|
5
|
-
const result = await runProcess({
|
|
6
|
-
args: ["--version"],
|
|
7
|
-
command: dependency.executable,
|
|
8
|
-
cwd: rootDir
|
|
9
|
-
});
|
|
10
|
-
return availabilityFromVersionResult(result);
|
|
11
|
-
}
|
|
12
|
-
catch (error) {
|
|
13
|
-
return unavailableLizard({
|
|
14
|
-
error: `lizard version error: ${errorMessage(error)}`,
|
|
15
|
-
reason: "execution-error"
|
|
16
|
-
});
|
|
17
|
-
}
|
|
18
|
-
}
|
|
19
|
-
function availabilityFromVersionResult(result) {
|
|
20
|
-
if (result.signal !== null) {
|
|
21
|
-
const output = commandOutput(result);
|
|
22
|
-
return unavailableLizard({
|
|
23
|
-
error: `lizard --version failed, signal ${result.signal}${output ? `: ${output}` : ""}`,
|
|
24
|
-
reason: "execution-error"
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
if (result.error)
|
|
28
|
-
return processErrorAvailability(result.error);
|
|
29
|
-
const output = commandOutput(result);
|
|
30
|
-
if (result.status !== 0) {
|
|
31
|
-
return unavailableLizard({
|
|
32
|
-
error: `lizard --version failed, ${processTermination(result)}${output ? `: ${output}` : ""}`,
|
|
33
|
-
reason: "execution-error"
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
if (output === "") {
|
|
37
|
-
return unavailableLizard({
|
|
38
|
-
error: "lizard --version returned empty output",
|
|
39
|
-
reason: "contract-error"
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
return Object.freeze({ available: true, version: output });
|
|
43
|
-
}
|
|
44
|
-
function processErrorAvailability(error) {
|
|
45
|
-
const isMissingTool = Object.hasOwn(error, "code") && Reflect.get(error, "code") === "ENOENT";
|
|
46
|
-
return unavailableLizard({
|
|
47
|
-
error: isMissingTool
|
|
48
|
-
? `lizard command unavailable: ${error.message}`
|
|
49
|
-
: `lizard version error: ${error.message}`,
|
|
50
|
-
reason: isMissingTool ? "tool-unavailable" : "execution-error"
|
|
51
|
-
});
|
|
52
|
-
}
|
|
53
|
-
function unavailableLizard({ error, reason }) {
|
|
54
|
-
return Object.freeze({ available: false, error, reason });
|
|
55
|
-
}
|
|
56
|
-
function commandOutput(result) {
|
|
57
|
-
return (result.stdout || "").trim() || (result.stderr || "").trim();
|
|
58
|
-
}
|
|
59
|
-
function processTermination(result) {
|
|
60
|
-
return typeof result.status === "number"
|
|
61
|
-
? `exit ${result.status}`
|
|
62
|
-
: `signal ${result.signal || "unknown"}`;
|
|
63
|
-
}
|
|
64
|
-
//# sourceMappingURL=availability.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"availability.mjs","sourceRoot":"","sources":["../../../../../src/package-checks/function-metrics/lizard/availability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,yCAAyC,CAAC;AACvE,OAAO,EAAE,UAAU,EAAE,MAAM,2CAA2C,CAAC;AAsBvE,MAAM,CAAC,KAAK,UAAU,WAAW,CAC/B,OAAe,EACf,UAAiD;IAEjD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,UAAU,CAAC;YAC9B,IAAI,EAAE,CAAC,WAAW,CAAC;YACnB,OAAO,EAAE,UAAU,CAAC,UAAU;YAC9B,GAAG,EAAE,OAAO;SACb,CAAC,CAAC;QACH,OAAO,6BAA6B,CAAC,MAAM,CAAC,CAAC;IAC/C,CAAC;IAAC,OAAO,KAAc,EAAE,CAAC;QACxB,OAAO,iBAAiB,CAAC;YACvB,KAAK,EAAE,yBAAyB,YAAY,CAAC,KAAK,CAAC,EAAE;YACrD,MAAM,EAAE,iBAAiB;SAC1B,CAAC,CAAC;IACL,CAAC;AACH,CAAC;AAED,SAAS,6BAA6B,CAAC,MAAyB;IAC9D,IAAI,MAAM,CAAC,MAAM,KAAK,IAAI,EAAE,CAAC;QAC3B,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;QACrC,OAAO,iBAAiB,CAAC;YACvB,KAAK,EAAE,mCAAmC,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;YACvF,MAAM,EAAE,iBAAiB;SAC1B,CAAC,CAAC;IACL,CAAC;IACD,IAAI,MAAM,CAAC,KAAK;QAAE,OAAO,wBAAwB,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAChE,MAAM,MAAM,GAAG,aAAa,CAAC,MAAM,CAAC,CAAC;IACrC,IAAI,MAAM,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACxB,OAAO,iBAAiB,CAAC;YACvB,KAAK,EAAE,4BAA4B,kBAAkB,CAAC,MAAM,CAAC,GAAG,MAAM,CAAC,CAAC,CAAC,KAAK,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,EAAE;YAC7F,MAAM,EAAE,iBAAiB;SAC1B,CAAC,CAAC;IACL,CAAC;IACD,IAAI,MAAM,KAAK,EAAE,EAAE,CAAC;QAClB,OAAO,iBAAiB,CAAC;YACvB,KAAK,EAAE,wCAAwC;YAC/C,MAAM,EAAE,gBAAgB;SACzB,CAAC,CAAC;IACL,CAAC;IACD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,EAAE,CAAC,CAAC;AAC7D,CAAC;AAED,SAAS,wBAAwB,CAAC,KAAY;IAC5C,MAAM,aAAa,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,OAAO,CAAC,GAAG,CAAC,KAAK,EAAE,MAAM,CAAC,KAAK,QAAQ,CAAC;IAC9F,OAAO,iBAAiB,CAAC;QACvB,KAAK,EAAE,aAAa;YAClB,CAAC,CAAC,+BAA+B,KAAK,CAAC,OAAO,EAAE;YAChD,CAAC,CAAC,yBAAyB,KAAK,CAAC,OAAO,EAAE;QAC5C,MAAM,EAAE,aAAa,CAAC,CAAC,CAAC,kBAAkB,CAAC,CAAC,CAAC,iBAAiB;KAC/D,CAAC,CAAC;AACL,CAAC;AAED,SAAS,iBAAiB,CAAC,EAAE,KAAK,EAAE,MAAM,EAA0B;IAClE,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,SAAS,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;AAC5D,CAAC;AAED,SAAS,aAAa,CAAC,MAAyB;IAC9C,OAAO,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AACtE,CAAC;AAED,SAAS,kBAAkB,CAAC,MAAyB;IACnD,OAAO,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ;QACtC,CAAC,CAAC,QAAQ,MAAM,CAAC,MAAM,EAAE;QACzB,CAAC,CAAC,UAAU,MAAM,CAAC,MAAM,IAAI,SAAS,EAAE,CAAC;AAC7C,CAAC","sourcesContent":["import { errorMessage } from \"../../host-environment/error-message.ts\";\nimport { runProcess } from \"../../host-environment/process/command.ts\";\nimport type { ResolvedFunctionMetricsScannerOptions } from \"../options.ts\";\n\ntype LizardAvailability = Readonly<\n | {\n readonly available: true;\n readonly version: string;\n }\n | {\n readonly available: false;\n readonly error: string;\n readonly reason: \"contract-error\" | \"execution-error\" | \"tool-unavailable\";\n }\n>;\n\ninterface UnavailableLizardInput {\n readonly error: string;\n readonly reason: Extract<LizardAvailability, { available: false }>[\"reason\"];\n}\n\ntype ToolCommandResult = Awaited<ReturnType<typeof runProcess>>;\n\nexport async function checkLizard(\n rootDir: string,\n dependency: ResolvedFunctionMetricsScannerOptions\n): Promise<LizardAvailability> {\n try {\n const result = await runProcess({\n args: [\"--version\"],\n command: dependency.executable,\n cwd: rootDir\n });\n return availabilityFromVersionResult(result);\n } catch (error: unknown) {\n return unavailableLizard({\n error: `lizard version error: ${errorMessage(error)}`,\n reason: \"execution-error\"\n });\n }\n}\n\nfunction availabilityFromVersionResult(result: ToolCommandResult): LizardAvailability {\n if (result.signal !== null) {\n const output = commandOutput(result);\n return unavailableLizard({\n error: `lizard --version failed, signal ${result.signal}${output ? `: ${output}` : \"\"}`,\n reason: \"execution-error\"\n });\n }\n if (result.error) return processErrorAvailability(result.error);\n const output = commandOutput(result);\n if (result.status !== 0) {\n return unavailableLizard({\n error: `lizard --version failed, ${processTermination(result)}${output ? `: ${output}` : \"\"}`,\n reason: \"execution-error\"\n });\n }\n if (output === \"\") {\n return unavailableLizard({\n error: \"lizard --version returned empty output\",\n reason: \"contract-error\"\n });\n }\n return Object.freeze({ available: true, version: output });\n}\n\nfunction processErrorAvailability(error: Error): LizardAvailability {\n const isMissingTool = Object.hasOwn(error, \"code\") && Reflect.get(error, \"code\") === \"ENOENT\";\n return unavailableLizard({\n error: isMissingTool\n ? `lizard command unavailable: ${error.message}`\n : `lizard version error: ${error.message}`,\n reason: isMissingTool ? \"tool-unavailable\" : \"execution-error\"\n });\n}\n\nfunction unavailableLizard({ error, reason }: UnavailableLizardInput): LizardAvailability {\n return Object.freeze({ available: false, error, reason });\n}\n\nfunction commandOutput(result: ToolCommandResult): string {\n return (result.stdout || \"\").trim() || (result.stderr || \"\").trim();\n}\n\nfunction processTermination(result: ToolCommandResult): string {\n return typeof result.status === \"number\"\n ? `exit ${result.status}`\n : `signal ${result.signal || \"unknown\"}`;\n}\n"]}
|
|
@@ -1,17 +0,0 @@
|
|
|
1
|
-
import { parse } from "csv-parse/sync";
|
|
2
|
-
export function parseCsvRows(csv) {
|
|
3
|
-
const records = parse(csv, {
|
|
4
|
-
bom: true,
|
|
5
|
-
relax_column_count: true,
|
|
6
|
-
skip_empty_lines: true,
|
|
7
|
-
trim: true
|
|
8
|
-
});
|
|
9
|
-
if (!Array.isArray(records) || !records.every(isStringRow)) {
|
|
10
|
-
throw new Error("CSV parser returned non-string rows");
|
|
11
|
-
}
|
|
12
|
-
return records;
|
|
13
|
-
}
|
|
14
|
-
function isStringRow(value) {
|
|
15
|
-
return Array.isArray(value) && value.every((item) => typeof item === "string");
|
|
16
|
-
}
|
|
17
|
-
//# sourceMappingURL=csv.mjs.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"csv.mjs","sourceRoot":"","sources":["../../../../../src/package-checks/function-metrics/lizard/csv.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,EAAE,MAAM,gBAAgB,CAAC;AAEvC,MAAM,UAAU,YAAY,CAAC,GAAW;IACtC,MAAM,OAAO,GAAY,KAAK,CAAC,GAAG,EAAE;QAClC,GAAG,EAAE,IAAI;QACT,kBAAkB,EAAE,IAAI;QACxB,gBAAgB,EAAE,IAAI;QACtB,IAAI,EAAE,IAAI;KACX,CAAC,CAAC;IAEH,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,WAAW,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,KAAK,CAAC,qCAAqC,CAAC,CAAC;IACzD,CAAC;IAED,OAAO,OAAO,CAAC;AACjB,CAAC;AAED,SAAS,WAAW,CAAC,KAAc;IACjC,OAAO,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,KAAK,CAAC,KAAK,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC;AACjF,CAAC","sourcesContent":["import { parse } from \"csv-parse/sync\";\n\nexport function parseCsvRows(csv: string): string[][] {\n const records: unknown = parse(csv, {\n bom: true,\n relax_column_count: true,\n skip_empty_lines: true,\n trim: true\n });\n\n if (!Array.isArray(records) || !records.every(isStringRow)) {\n throw new Error(\"CSV parser returned non-string rows\");\n }\n\n return records;\n}\n\nfunction isStringRow(value: unknown): value is string[] {\n return Array.isArray(value) && value.every((item) => typeof item === \"string\");\n}\n"]}
|