@zxyycom/vibe-check 0.0.1 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +79 -75
- package/dist/esm/check/check.mjs +4 -0
- package/dist/esm/check/check.mjs.map +1 -1
- package/dist/esm/check/flag-enablement.mjs +32 -0
- package/dist/esm/check/flag-enablement.mjs.map +1 -0
- package/dist/esm/check/handoff-provider-identity.mjs +18 -0
- package/dist/esm/check/handoff-provider-identity.mjs.map +1 -0
- package/dist/esm/check/inherited-collection.mjs +2 -2
- package/dist/esm/check/inherited-collection.mjs.map +1 -1
- package/dist/esm/check/project-changes.mjs +2 -0
- package/dist/esm/check/project-changes.mjs.map +1 -0
- package/dist/esm/check/project-context.mjs +2 -0
- package/dist/esm/check/project-context.mjs.map +1 -0
- package/dist/esm/check-settlement/fact-validation.mjs +17 -23
- package/dist/esm/check-settlement/fact-validation.mjs.map +1 -1
- package/dist/esm/check-settlement/facts.mjs.map +1 -1
- package/dist/esm/check-settlement/outcome-normalization.mjs +9 -19
- package/dist/esm/check-settlement/outcome-normalization.mjs.map +1 -1
- package/dist/esm/check-settlement/reason-shape.mjs +12 -0
- package/dist/esm/check-settlement/reason-shape.mjs.map +1 -0
- package/dist/esm/check-settlement/record-store.mjs +14 -17
- package/dist/esm/check-settlement/record-store.mjs.map +1 -1
- package/dist/esm/check-settlement/session.mjs +8 -2
- package/dist/esm/check-settlement/session.mjs.map +1 -1
- package/dist/esm/data-boundary/canonical-data.mjs +36 -7
- package/dist/esm/data-boundary/canonical-data.mjs.map +1 -1
- package/dist/esm/data-boundary/canonical-json.mjs.map +1 -1
- package/dist/esm/data-boundary/closed-values.mjs +43 -3
- package/dist/esm/data-boundary/closed-values.mjs.map +1 -1
- package/dist/esm/{package-checks/project-files → data-boundary}/config-glob.mjs +3 -3
- package/dist/esm/data-boundary/config-glob.mjs.map +1 -0
- package/dist/esm/data-boundary/project-path.mjs +19 -0
- package/dist/esm/data-boundary/project-path.mjs.map +1 -0
- package/dist/esm/data-boundary/value-shapes.mjs +9 -0
- package/dist/esm/data-boundary/value-shapes.mjs.map +1 -1
- package/dist/esm/index.mjs +16 -2
- package/dist/esm/index.mjs.map +1 -1
- package/dist/esm/machine-output/v4/atomic-publication.mjs +5 -16
- package/dist/esm/machine-output/v4/atomic-publication.mjs.map +1 -1
- package/dist/esm/package-checks/check-authoring.mjs +69 -0
- package/dist/esm/package-checks/check-authoring.mjs.map +1 -0
- package/dist/esm/package-checks/code-quality-findings/finding-waiver-authoring.mjs +40 -0
- package/dist/esm/package-checks/code-quality-findings/finding-waiver-authoring.mjs.map +1 -0
- package/dist/esm/package-checks/code-quality-findings/finding-waiver-evidence.mjs +48 -0
- package/dist/esm/package-checks/code-quality-findings/finding-waiver-evidence.mjs.map +1 -0
- package/dist/esm/package-checks/code-quality-findings/policy.mjs +20 -0
- package/dist/esm/package-checks/code-quality-findings/policy.mjs.map +1 -1
- package/dist/esm/package-checks/command-check/command-check.mjs +55 -0
- package/dist/esm/package-checks/command-check/command-check.mjs.map +1 -0
- package/dist/esm/package-checks/command-check/contract.mjs +2 -0
- package/dist/esm/package-checks/command-check/contract.mjs.map +1 -0
- package/dist/esm/package-checks/command-check/execution.mjs +134 -0
- package/dist/esm/package-checks/command-check/execution.mjs.map +1 -0
- package/dist/esm/package-checks/command-check/options.mjs +284 -0
- package/dist/esm/package-checks/command-check/options.mjs.map +1 -0
- package/dist/esm/package-checks/command-check/transcript.mjs +26 -0
- package/dist/esm/package-checks/command-check/transcript.mjs.map +1 -0
- package/dist/esm/package-checks/duplicate-detection/area-policy.mjs +15 -7
- package/dist/esm/package-checks/duplicate-detection/area-policy.mjs.map +1 -1
- package/dist/esm/package-checks/duplicate-detection/cache/identity.mjs +1 -1
- package/dist/esm/package-checks/duplicate-detection/cache/identity.mjs.map +1 -1
- package/dist/esm/package-checks/duplicate-detection/default-check.mjs +10 -12
- package/dist/esm/package-checks/duplicate-detection/default-check.mjs.map +1 -1
- package/dist/esm/package-checks/duplicate-detection/execution.mjs +44 -20
- package/dist/esm/package-checks/duplicate-detection/execution.mjs.map +1 -1
- package/dist/esm/package-checks/duplicate-detection/finding-messages.mjs +59 -0
- package/dist/esm/package-checks/duplicate-detection/finding-messages.mjs.map +1 -0
- package/dist/esm/package-checks/duplicate-detection/finding-waiver-identity.mjs +55 -0
- package/dist/esm/package-checks/duplicate-detection/finding-waiver-identity.mjs.map +1 -0
- package/dist/esm/package-checks/duplicate-detection/jscpd/availability.mjs +2 -2
- package/dist/esm/package-checks/duplicate-detection/jscpd/availability.mjs.map +1 -1
- package/dist/esm/package-checks/duplicate-detection/jscpd/command-resolution.mjs +1 -1
- package/dist/esm/package-checks/duplicate-detection/jscpd/command-resolution.mjs.map +1 -1
- package/dist/esm/package-checks/duplicate-detection/jscpd/json-report.mjs +15 -5
- package/dist/esm/package-checks/duplicate-detection/jscpd/json-report.mjs.map +1 -1
- package/dist/esm/package-checks/duplicate-detection/jscpd/scanner.mjs +5 -4
- package/dist/esm/package-checks/duplicate-detection/jscpd/scanner.mjs.map +1 -1
- package/dist/esm/package-checks/duplicate-detection/options-resolution.mjs +22 -47
- package/dist/esm/package-checks/duplicate-detection/options-resolution.mjs.map +1 -1
- package/dist/esm/package-checks/duplicate-detection/options-validation.mjs +20 -25
- package/dist/esm/package-checks/duplicate-detection/options-validation.mjs.map +1 -1
- package/dist/esm/package-checks/duplicate-detection/options.mjs.map +1 -1
- package/dist/esm/package-checks/duplicate-detection/records.mjs +27 -6
- package/dist/esm/package-checks/duplicate-detection/records.mjs.map +1 -1
- package/dist/esm/package-checks/file-metrics/constructor.mjs +9 -11
- package/dist/esm/package-checks/file-metrics/constructor.mjs.map +1 -1
- package/dist/esm/package-checks/file-metrics/execution.mjs +11 -20
- package/dist/esm/package-checks/file-metrics/execution.mjs.map +1 -1
- package/dist/esm/package-checks/file-metrics/finding-messages.mjs +22 -0
- package/dist/esm/package-checks/file-metrics/finding-messages.mjs.map +1 -0
- package/dist/esm/package-checks/file-metrics/options-resolution.mjs +11 -43
- package/dist/esm/package-checks/file-metrics/options-resolution.mjs.map +1 -1
- package/dist/esm/package-checks/file-metrics/options-validation.mjs +15 -25
- package/dist/esm/package-checks/file-metrics/options-validation.mjs.map +1 -1
- package/dist/esm/package-checks/file-metrics/options.mjs.map +1 -1
- package/dist/esm/package-checks/file-metrics/records.mjs +2 -9
- package/dist/esm/package-checks/file-metrics/records.mjs.map +1 -1
- package/dist/esm/package-checks/file-metrics/scc/availability.mjs +2 -2
- package/dist/esm/package-checks/file-metrics/scc/availability.mjs.map +1 -1
- package/dist/esm/package-checks/file-metrics/scc/batch-planner.mjs +38 -0
- package/dist/esm/package-checks/file-metrics/scc/batch-planner.mjs.map +1 -0
- package/dist/esm/package-checks/file-metrics/scc/logical-scan-resources.mjs +35 -0
- package/dist/esm/package-checks/file-metrics/scc/logical-scan-resources.mjs.map +1 -0
- package/dist/esm/package-checks/file-metrics/scc/parser.mjs +4 -4
- package/dist/esm/package-checks/file-metrics/scc/parser.mjs.map +1 -1
- package/dist/esm/package-checks/file-metrics/scc/scanner.mjs +104 -31
- package/dist/esm/package-checks/file-metrics/scc/scanner.mjs.map +1 -1
- package/dist/esm/package-checks/function-metrics/analysis.mjs +61 -15
- package/dist/esm/package-checks/function-metrics/analysis.mjs.map +1 -1
- package/dist/esm/package-checks/function-metrics/analyzer/analysis-context.mjs +550 -0
- package/dist/esm/package-checks/function-metrics/analyzer/analysis-context.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/analysis-model.mjs +332 -0
- package/dist/esm/package-checks/function-metrics/analyzer/analysis-model.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/contracts.mjs +7 -0
- package/dist/esm/package-checks/function-metrics/analyzer/contracts.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/extensions/lizardcomplextags.mjs +22 -0
- package/dist/esm/package-checks/function-metrics/analyzer/extensions/lizardcomplextags.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/extensions/lizardnd.mjs +113 -0
- package/dist/esm/package-checks/function-metrics/analyzer/extensions/lizardnd.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/extensions/protocol.mjs +180 -0
- package/dist/esm/package-checks/function-metrics/analyzer/extensions/protocol.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/extensions/registry.mjs +121 -0
- package/dist/esm/package-checks/function-metrics/analyzer/extensions/registry.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/pipeline.mjs +218 -0
- package/dist/esm/package-checks/function-metrics/analyzer/pipeline.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/port-facade.mjs +96 -0
- package/dist/esm/package-checks/function-metrics/analyzer/port-facade.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/reader-registry.mjs +76 -0
- package/dist/esm/package-checks/function-metrics/analyzer/reader-registry.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/csharp.mjs +88 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/csharp.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/erlang.mjs +466 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/erlang.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/fortran.mjs +289 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/fortran.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/gdscript.mjs +38 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/gdscript.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/go.mjs +44 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/go.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/java-body-states.mjs +113 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/java-body-states.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/java.mjs +247 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/java.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/javascript.mjs +16 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/javascript.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/kotlin.mjs +103 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/kotlin.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/lua.mjs +55 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/lua.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/objc.mjs +106 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/objc.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/perl.mjs +367 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/perl.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/php-states.mjs +265 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/php-states.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/php.mjs +53 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/php.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/plsql.mjs +306 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/plsql.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/python.mjs +404 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/python.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/r.mjs +216 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/r.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/ruby.mjs +75 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/ruby.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/rust.mjs +32 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/rust.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/scala.mjs +47 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/scala.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/solidity.mjs +22 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/solidity.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/st.mjs +142 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/st.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/swift.mjs +94 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/swift.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/tsx.mjs +149 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/tsx.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/ttcn.mjs +85 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/ttcn.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/typescript.mjs +612 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/typescript.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/vue.mjs +31 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/vue.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/zig.mjs +25 -0
- package/dist/esm/package-checks/function-metrics/analyzer/readers/zig.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/shared/clike.mjs +492 -0
- package/dist/esm/package-checks/function-metrics/analyzer/shared/clike.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/shared/code-reader.mjs +544 -0
- package/dist/esm/package-checks/function-metrics/analyzer/shared/code-reader.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/shared/golike.mjs +141 -0
- package/dist/esm/package-checks/function-metrics/analyzer/shared/golike.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/shared/js-style-regex.mjs +69 -0
- package/dist/esm/package-checks/function-metrics/analyzer/shared/js-style-regex.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/shared/rubylike.mjs +154 -0
- package/dist/esm/package-checks/function-metrics/analyzer/shared/rubylike.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer/shared/script-language.mjs +36 -0
- package/dist/esm/package-checks/function-metrics/analyzer/shared/script-language.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer-adapter.mjs +56 -0
- package/dist/esm/package-checks/function-metrics/analyzer-adapter.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer-worker-contract.mjs +2 -0
- package/dist/esm/package-checks/function-metrics/analyzer-worker-contract.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer-worker-port.mjs +120 -0
- package/dist/esm/package-checks/function-metrics/analyzer-worker-port.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/analyzer-worker.mjs +24 -0
- package/dist/esm/package-checks/function-metrics/analyzer-worker.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/constructor.mjs +10 -12
- package/dist/esm/package-checks/function-metrics/constructor.mjs.map +1 -1
- package/dist/esm/package-checks/function-metrics/execution.mjs +51 -35
- package/dist/esm/package-checks/function-metrics/execution.mjs.map +1 -1
- package/dist/esm/package-checks/function-metrics/finding-messages.mjs +75 -0
- package/dist/esm/package-checks/function-metrics/finding-messages.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/finding-waiver-identity.mjs +28 -0
- package/dist/esm/package-checks/function-metrics/finding-waiver-identity.mjs.map +1 -0
- package/dist/esm/package-checks/function-metrics/measurement-model.mjs.map +1 -1
- package/dist/esm/package-checks/function-metrics/measurement.mjs +163 -26
- package/dist/esm/package-checks/function-metrics/measurement.mjs.map +1 -1
- package/dist/esm/package-checks/function-metrics/options-resolution.mjs +30 -63
- package/dist/esm/package-checks/function-metrics/options-resolution.mjs.map +1 -1
- package/dist/esm/package-checks/function-metrics/options-validation.mjs +27 -32
- package/dist/esm/package-checks/function-metrics/options-validation.mjs.map +1 -1
- package/dist/esm/package-checks/function-metrics/options.mjs.map +1 -1
- package/dist/esm/package-checks/function-metrics/records.mjs +31 -1
- package/dist/esm/package-checks/function-metrics/records.mjs.map +1 -1
- package/dist/esm/package-checks/function-metrics/target-files.mjs +6 -67
- package/dist/esm/package-checks/function-metrics/target-files.mjs.map +1 -1
- package/dist/esm/package-checks/{function-metrics/lizard → host-environment}/csv.mjs +1 -0
- package/dist/esm/package-checks/host-environment/csv.mjs.map +1 -0
- package/dist/esm/package-checks/host-environment/git.mjs +12 -1
- package/dist/esm/package-checks/host-environment/git.mjs.map +1 -1
- package/dist/esm/package-checks/host-environment/path.mjs +1 -17
- package/dist/esm/package-checks/host-environment/path.mjs.map +1 -1
- package/dist/esm/package-checks/host-environment/process/contract.mjs.map +1 -1
- package/dist/esm/package-checks/host-environment/process/result.mjs +43 -17
- package/dist/esm/package-checks/host-environment/process/result.mjs.map +1 -1
- package/dist/esm/package-checks/host-environment/process/runner.mjs +7 -5
- package/dist/esm/package-checks/host-environment/process/runner.mjs.map +1 -1
- package/dist/esm/package-checks/host-environment/process.mjs +5 -0
- package/dist/esm/package-checks/host-environment/process.mjs.map +1 -0
- package/dist/esm/package-checks/json-schema-validation/default-check.mjs +9 -11
- package/dist/esm/package-checks/json-schema-validation/default-check.mjs.map +1 -1
- package/dist/esm/package-checks/json-schema-validation/final-data.mjs.map +1 -1
- package/dist/esm/package-checks/json-schema-validation/options-validation.mjs +15 -17
- package/dist/esm/package-checks/json-schema-validation/options-validation.mjs.map +1 -1
- package/dist/esm/package-checks/json-schema-validation/options.mjs.map +1 -1
- package/dist/esm/package-checks/json-schema-validation/reference-resolver.mjs +6 -2
- package/dist/esm/package-checks/json-schema-validation/reference-resolver.mjs.map +1 -1
- package/dist/esm/package-checks/json-schema-validation/schema-policy.mjs +11 -3
- package/dist/esm/package-checks/json-schema-validation/schema-policy.mjs.map +1 -1
- package/dist/esm/package-checks/json-validation/default-check.mjs +9 -11
- package/dist/esm/package-checks/json-validation/default-check.mjs.map +1 -1
- package/dist/esm/package-checks/json-validation/final-data.mjs.map +1 -1
- package/dist/esm/package-checks/json-validation/options-validation.mjs +4 -10
- package/dist/esm/package-checks/json-validation/options-validation.mjs.map +1 -1
- package/dist/esm/package-checks/json-validation/options.mjs.map +1 -1
- package/dist/esm/package-checks/local-cache-options.mjs +28 -0
- package/dist/esm/package-checks/local-cache-options.mjs.map +1 -0
- package/dist/esm/package-checks/maintenance-reminders/final-data.mjs.map +1 -1
- package/dist/esm/package-checks/maintenance-reminders/maintenance-reminders.mjs +37 -45
- package/dist/esm/package-checks/maintenance-reminders/maintenance-reminders.mjs.map +1 -1
- package/dist/esm/package-checks/maintenance-reminders/maintenance-support.mjs +3 -1
- package/dist/esm/package-checks/maintenance-reminders/maintenance-support.mjs.map +1 -1
- package/dist/esm/package-checks/markdown-link-validation/default-check.mjs +19 -27
- package/dist/esm/package-checks/markdown-link-validation/default-check.mjs.map +1 -1
- package/dist/esm/package-checks/markdown-link-validation/execution.mjs +27 -24
- package/dist/esm/package-checks/markdown-link-validation/execution.mjs.map +1 -1
- package/dist/esm/package-checks/markdown-link-validation/filesystem-probes.mjs +82 -53
- package/dist/esm/package-checks/markdown-link-validation/filesystem-probes.mjs.map +1 -1
- package/dist/esm/package-checks/markdown-link-validation/final-data.mjs.map +1 -1
- package/dist/esm/package-checks/markdown-link-validation/finding-messages.mjs +36 -0
- package/dist/esm/package-checks/markdown-link-validation/finding-messages.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-link-validation/local-resolution.mjs.map +1 -1
- package/dist/esm/package-checks/markdown-link-validation/local-resolver.mjs +2 -2
- package/dist/esm/package-checks/markdown-link-validation/local-resolver.mjs.map +1 -1
- package/dist/esm/package-checks/markdown-link-validation/markdown-parser.mjs +1 -3
- package/dist/esm/package-checks/markdown-link-validation/markdown-parser.mjs.map +1 -1
- package/dist/esm/package-checks/markdown-link-validation/options-resolution.mjs +10 -3
- package/dist/esm/package-checks/markdown-link-validation/options-resolution.mjs.map +1 -1
- package/dist/esm/package-checks/markdown-link-validation/options-validation.mjs +12 -11
- package/dist/esm/package-checks/markdown-link-validation/options-validation.mjs.map +1 -1
- package/dist/esm/package-checks/markdown-link-validation/options.mjs.map +1 -1
- package/dist/esm/package-checks/markdown-link-validation/parse-facts-cache-payload.mjs +184 -0
- package/dist/esm/package-checks/markdown-link-validation/parse-facts-cache-payload.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-link-validation/parse-facts-cache.mjs +131 -0
- package/dist/esm/package-checks/markdown-link-validation/parse-facts-cache.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-link-validation/resolver-engine.mjs +58 -57
- package/dist/esm/package-checks/markdown-link-validation/resolver-engine.mjs.map +1 -1
- package/dist/esm/package-checks/markdown-link-validation/source-reader.mjs +54 -0
- package/dist/esm/package-checks/markdown-link-validation/source-reader.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-link-validation/unavailable-reasons.mjs +16 -0
- package/dist/esm/package-checks/markdown-link-validation/unavailable-reasons.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-lint/adapter.mjs +125 -0
- package/dist/esm/package-checks/markdown-lint/adapter.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-lint/default-check.mjs +37 -0
- package/dist/esm/package-checks/markdown-lint/default-check.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-lint/execution.mjs +202 -0
- package/dist/esm/package-checks/markdown-lint/execution.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-lint/final-data.mjs +16 -0
- package/dist/esm/package-checks/markdown-lint/final-data.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-lint/finding-messages.mjs +72 -0
- package/dist/esm/package-checks/markdown-lint/finding-messages.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-lint/finding-waiver-identity.mjs +41 -0
- package/dist/esm/package-checks/markdown-lint/finding-waiver-identity.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-lint/findings-cache.mjs +110 -0
- package/dist/esm/package-checks/markdown-lint/findings-cache.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-lint/options-resolution.mjs +74 -0
- package/dist/esm/package-checks/markdown-lint/options-resolution.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-lint/options-validation.mjs +41 -0
- package/dist/esm/package-checks/markdown-lint/options-validation.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-lint/options.mjs +13 -0
- package/dist/esm/package-checks/markdown-lint/options.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-lint/records.mjs +65 -0
- package/dist/esm/package-checks/markdown-lint/records.mjs.map +1 -0
- package/dist/esm/package-checks/markdown-lint/unavailable-reasons.mjs +14 -0
- package/dist/esm/package-checks/markdown-lint/unavailable-reasons.mjs.map +1 -0
- package/dist/esm/package-checks/project-files/collection.mjs +24 -20
- package/dist/esm/package-checks/project-files/collection.mjs.map +1 -1
- package/dist/esm/package-checks/project-files/configuration.mjs +3 -11
- package/dist/esm/package-checks/project-files/configuration.mjs.map +1 -1
- package/dist/esm/package-checks/project-files/gitlink-revision.mjs +3 -6
- package/dist/esm/package-checks/project-files/gitlink-revision.mjs.map +1 -1
- package/dist/esm/package-checks/project-files/gitlink-worktree.mjs +23 -7
- package/dist/esm/package-checks/project-files/gitlink-worktree.mjs.map +1 -1
- package/dist/esm/package-checks/project-files/public-collection.mjs +56 -0
- package/dist/esm/package-checks/project-files/public-collection.mjs.map +1 -0
- package/dist/esm/package-checks/project-files/revision-paths.mjs +3 -3
- package/dist/esm/package-checks/project-files/revision-paths.mjs.map +1 -1
- package/dist/esm/package-checks/project-files/revision-worktree-files.mjs +12 -16
- package/dist/esm/package-checks/project-files/revision-worktree-files.mjs.map +1 -1
- package/dist/esm/package-checks/secret-detection/classification.mjs +15 -0
- package/dist/esm/package-checks/secret-detection/classification.mjs.map +1 -0
- package/dist/esm/package-checks/secret-detection/default-check.mjs +37 -0
- package/dist/esm/package-checks/secret-detection/default-check.mjs.map +1 -0
- package/dist/esm/package-checks/secret-detection/execution.mjs +172 -0
- package/dist/esm/package-checks/secret-detection/execution.mjs.map +1 -0
- package/dist/esm/package-checks/secret-detection/final-data.mjs +33 -0
- package/dist/esm/package-checks/secret-detection/final-data.mjs.map +1 -0
- package/dist/esm/package-checks/secret-detection/finding-waiver-identity.mjs +30 -0
- package/dist/esm/package-checks/secret-detection/finding-waiver-identity.mjs.map +1 -0
- package/dist/esm/package-checks/secret-detection/input-preparation.mjs +192 -0
- package/dist/esm/package-checks/secret-detection/input-preparation.mjs.map +1 -0
- package/dist/esm/package-checks/secret-detection/options-resolution.mjs +40 -0
- package/dist/esm/package-checks/secret-detection/options-resolution.mjs.map +1 -0
- package/dist/esm/package-checks/secret-detection/options-validation.mjs +22 -0
- package/dist/esm/package-checks/secret-detection/options-validation.mjs.map +1 -0
- package/dist/esm/package-checks/secret-detection/options.mjs +2 -0
- package/dist/esm/package-checks/secret-detection/options.mjs.map +1 -0
- package/dist/esm/package-checks/secret-detection/records.mjs +31 -0
- package/dist/esm/package-checks/secret-detection/records.mjs.map +1 -0
- package/dist/esm/package-checks/secret-detection/secretlint/adapter.mjs +84 -0
- package/dist/esm/package-checks/secret-detection/secretlint/adapter.mjs.map +1 -0
- package/dist/esm/package-tools/admission-policy/define-admission-policy.mjs +10 -0
- package/dist/esm/package-tools/admission-policy/define-admission-policy.mjs.map +1 -0
- package/dist/esm/package-tools/cache/cache-json-by-key.mjs +188 -0
- package/dist/esm/package-tools/cache/cache-json-by-key.mjs.map +1 -0
- package/dist/esm/package-tools/finding-presentation/finding-presentation.mjs +40 -0
- package/dist/esm/package-tools/finding-presentation/finding-presentation.mjs.map +1 -0
- package/dist/esm/{finding-waivers → package-tools/finding-waivers}/reconciliation.mjs +14 -5
- package/dist/esm/package-tools/finding-waivers/reconciliation.mjs.map +1 -0
- package/dist/esm/package-tools/learned-critical-path/critical-path-ranking.mjs +46 -0
- package/dist/esm/package-tools/learned-critical-path/critical-path-ranking.mjs.map +1 -0
- package/dist/esm/package-tools/learned-critical-path/duration-model/bounded-history.mjs +56 -0
- package/dist/esm/package-tools/learned-critical-path/duration-model/bounded-history.mjs.map +1 -0
- package/dist/esm/package-tools/learned-critical-path/duration-model/prediction.mjs +122 -0
- package/dist/esm/package-tools/learned-critical-path/duration-model/prediction.mjs.map +1 -0
- package/dist/esm/package-tools/learned-critical-path/duration-model/preparation.mjs +43 -0
- package/dist/esm/package-tools/learned-critical-path/duration-model/preparation.mjs.map +1 -0
- package/dist/esm/package-tools/learned-critical-path/duration-model/recording.mjs +109 -0
- package/dist/esm/package-tools/learned-critical-path/duration-model/recording.mjs.map +1 -0
- package/dist/esm/package-tools/learned-critical-path/duration-model/storage.mjs +187 -0
- package/dist/esm/package-tools/learned-critical-path/duration-model/storage.mjs.map +1 -0
- package/dist/esm/package-tools/learned-critical-path/selection-layers.mjs +27 -0
- package/dist/esm/package-tools/learned-critical-path/selection-layers.mjs.map +1 -0
- package/dist/esm/package-tools/learned-critical-path/static-decision.mjs +55 -0
- package/dist/esm/package-tools/learned-critical-path/static-decision.mjs.map +1 -0
- package/dist/esm/package-tools/learned-critical-path/strategy.mjs +179 -0
- package/dist/esm/package-tools/learned-critical-path/strategy.mjs.map +1 -0
- package/dist/esm/project-definition/check-tree/authoring.mjs +19 -176
- package/dist/esm/project-definition/check-tree/authoring.mjs.map +1 -1
- package/dist/esm/project-definition/check-tree/check-fields-authoring.mjs +184 -0
- package/dist/esm/project-definition/check-tree/check-fields-authoring.mjs.map +1 -0
- package/dist/esm/project-definition/check-tree/collection-authoring.mjs +16 -0
- package/dist/esm/project-definition/check-tree/collection-authoring.mjs.map +1 -0
- package/dist/esm/project-definition/check-tree/flag-conditions.mjs +71 -0
- package/dist/esm/project-definition/check-tree/flag-conditions.mjs.map +1 -0
- package/dist/esm/project-definition/check-tree/materialization.mjs +22 -9
- package/dist/esm/project-definition/check-tree/materialization.mjs.map +1 -1
- package/dist/esm/project-definition/check-tree/resolution.mjs +52 -19
- package/dist/esm/project-definition/check-tree/resolution.mjs.map +1 -1
- package/dist/esm/project-definition/check-tree/scheduling-authoring.mjs +73 -0
- package/dist/esm/project-definition/check-tree/scheduling-authoring.mjs.map +1 -0
- package/dist/esm/project-definition/declarative-snapshot.mjs +74 -0
- package/dist/esm/project-definition/declarative-snapshot.mjs.map +1 -0
- package/dist/esm/project-definition/output-defaults.mjs +18 -1
- package/dist/esm/project-definition/output-defaults.mjs.map +1 -1
- package/dist/esm/project-definition/output-validation.mjs +15 -15
- package/dist/esm/project-definition/output-validation.mjs.map +1 -1
- package/dist/esm/project-definition/progress-rendering-output.mjs +52 -0
- package/dist/esm/project-definition/progress-rendering-output.mjs.map +1 -0
- package/dist/esm/project-definition/project-changes.mjs +70 -0
- package/dist/esm/project-definition/project-changes.mjs.map +1 -0
- package/dist/esm/project-definition/project-definition-validation.mjs +132 -16
- package/dist/esm/project-definition/project-definition-validation.mjs.map +1 -1
- package/dist/esm/project-definition/project-definition.mjs +62 -50
- package/dist/esm/project-definition/project-definition.mjs.map +1 -1
- package/dist/esm/project-definition/resource-unit-mapping.mjs +21 -0
- package/dist/esm/project-definition/resource-unit-mapping.mjs.map +1 -0
- package/dist/esm/project-definition/scheduler-policy.mjs +2 -0
- package/dist/esm/project-definition/scheduler-policy.mjs.map +1 -0
- package/dist/esm/project-run/admission-strategy-provider/custom-strategy-preparation.mjs +57 -0
- package/dist/esm/project-run/admission-strategy-provider/custom-strategy-preparation.mjs.map +1 -0
- package/dist/esm/project-run/admission-strategy-provider/prepared-admission-strategy.mjs +2 -0
- package/dist/esm/project-run/admission-strategy-provider/prepared-admission-strategy.mjs.map +1 -0
- package/dist/esm/project-run/admission-strategy-provider/provider.mjs +23 -0
- package/dist/esm/project-run/admission-strategy-provider/provider.mjs.map +1 -0
- package/dist/esm/project-run/aggregation.mjs +42 -57
- package/dist/esm/project-run/aggregation.mjs.map +1 -1
- package/dist/esm/project-run/changes/git.mjs +161 -0
- package/dist/esm/project-run/changes/git.mjs.map +1 -0
- package/dist/esm/project-run/check-execution/admitted-check-execution.mjs +41 -0
- package/dist/esm/project-run/check-execution/admitted-check-execution.mjs.map +1 -0
- package/dist/esm/project-run/check-execution/callback.mjs +37 -9
- package/dist/esm/project-run/check-execution/callback.mjs.map +1 -1
- package/dist/esm/project-run/check-execution/console-capture.mjs +220 -0
- package/dist/esm/project-run/check-execution/console-capture.mjs.map +1 -0
- package/dist/esm/project-run/check-execution/dependencies.mjs +99 -6
- package/dist/esm/project-run/check-execution/dependencies.mjs.map +1 -1
- package/dist/esm/project-run/check-execution/execution-finalization.mjs +57 -14
- package/dist/esm/project-run/check-execution/execution-finalization.mjs.map +1 -1
- package/dist/esm/project-run/check-execution/execution-settlement.mjs +44 -19
- package/dist/esm/project-run/check-execution/execution-settlement.mjs.map +1 -1
- package/dist/esm/project-run/check-execution/flag-controls.mjs +95 -0
- package/dist/esm/project-run/check-execution/flag-controls.mjs.map +1 -0
- package/dist/esm/project-run/check-execution/lifecycle.mjs +2 -0
- package/dist/esm/project-run/check-execution/lifecycle.mjs.map +1 -0
- package/dist/esm/project-run/check-execution/messages.mjs +5 -0
- package/dist/esm/project-run/check-execution/messages.mjs.map +1 -1
- package/dist/esm/project-run/check-execution/plan.mjs +9 -5
- package/dist/esm/project-run/check-execution/plan.mjs.map +1 -1
- package/dist/esm/project-run/check-execution/{preflight-result.mjs → preparation-result.mjs} +24 -24
- package/dist/esm/project-run/check-execution/preparation-result.mjs.map +1 -0
- package/dist/esm/project-run/check-execution/preparation.mjs +172 -0
- package/dist/esm/project-run/check-execution/preparation.mjs.map +1 -0
- package/dist/esm/project-run/check-execution/ready-check-execution.mjs +71 -0
- package/dist/esm/project-run/check-execution/ready-check-execution.mjs.map +1 -0
- package/dist/esm/project-run/check-execution/resolved-checks.mjs +44 -139
- package/dist/esm/project-run/check-execution/resolved-checks.mjs.map +1 -1
- package/dist/esm/project-run/check-execution/resolved-execution-result.mjs +2 -0
- package/dist/esm/project-run/check-execution/resolved-execution-result.mjs.map +1 -0
- package/dist/esm/project-run/check-execution/scheduled-check-run.mjs +79 -0
- package/dist/esm/project-run/check-execution/scheduled-check-run.mjs.map +1 -0
- package/dist/esm/project-run/check-execution/terminal-result.mjs +70 -25
- package/dist/esm/project-run/check-execution/terminal-result.mjs.map +1 -1
- package/dist/esm/project-run/{completion.mjs → completion/completion.mjs} +34 -39
- package/dist/esm/project-run/completion/completion.mjs.map +1 -0
- package/dist/esm/project-run/{machine-publication.mjs → completion/machine-publication.mjs} +1 -1
- package/dist/esm/project-run/completion/machine-publication.mjs.map +1 -0
- package/dist/esm/project-run/completion/result-resolver.mjs +36 -0
- package/dist/esm/project-run/completion/result-resolver.mjs.map +1 -0
- package/dist/esm/project-run/controls/contract.mjs.map +1 -1
- package/dist/esm/project-run/controls/outputs-override-validation.mjs +67 -47
- package/dist/esm/project-run/controls/outputs-override-validation.mjs.map +1 -1
- package/dist/esm/project-run/controls/validation-result.mjs.map +1 -1
- package/dist/esm/project-run/controls/validation.mjs +79 -62
- package/dist/esm/project-run/controls/validation.mjs.map +1 -1
- package/dist/esm/project-run/diagnostic-logging/diagnostic-detail-rendering.mjs +3 -3
- package/dist/esm/project-run/diagnostic-logging/diagnostic-detail-rendering.mjs.map +1 -1
- package/dist/esm/project-run/diagnostic-logging/logger.mjs +100 -161
- package/dist/esm/project-run/diagnostic-logging/logger.mjs.map +1 -1
- package/dist/esm/project-run/diagnostic-logging/observation-rendering.mjs +159 -0
- package/dist/esm/project-run/diagnostic-logging/observation-rendering.mjs.map +1 -0
- package/dist/esm/project-run/invocation/candidate.mjs +65 -0
- package/dist/esm/project-run/invocation/candidate.mjs.map +1 -0
- package/dist/esm/project-run/invocation/candidates.mjs +26 -0
- package/dist/esm/project-run/invocation/candidates.mjs.map +1 -0
- package/dist/esm/project-run/invocation/creation.mjs +83 -0
- package/dist/esm/project-run/invocation/creation.mjs.map +1 -0
- package/dist/esm/project-run/invocation/execution.mjs +98 -0
- package/dist/esm/project-run/invocation/execution.mjs.map +1 -0
- package/dist/esm/project-run/invocation/paths.mjs +77 -0
- package/dist/esm/project-run/invocation/paths.mjs.map +1 -0
- package/dist/esm/project-run/invocation/progress.mjs +30 -0
- package/dist/esm/project-run/invocation/progress.mjs.map +1 -0
- package/dist/esm/project-run/invocation/run.mjs +82 -0
- package/dist/esm/project-run/invocation/run.mjs.map +1 -0
- package/dist/esm/project-run/invocation/scheduler.mjs +64 -0
- package/dist/esm/project-run/invocation/scheduler.mjs.map +1 -0
- package/dist/esm/project-run/{output-configuration.mjs → outputs/configuration.mjs} +3 -2
- package/dist/esm/project-run/outputs/configuration.mjs.map +1 -0
- package/dist/esm/project-run/outputs/status.mjs +105 -0
- package/dist/esm/project-run/outputs/status.mjs.map +1 -0
- package/dist/esm/project-run/progress-rendering/presentation.mjs +140 -26
- package/dist/esm/project-run/progress-rendering/presentation.mjs.map +1 -1
- package/dist/esm/project-run/progress-rendering/renderer-formatting.mjs +118 -22
- package/dist/esm/project-run/progress-rendering/renderer-formatting.mjs.map +1 -1
- package/dist/esm/project-run/progress-rendering/renderer-lifecycle.mjs +50 -10
- package/dist/esm/project-run/progress-rendering/renderer-lifecycle.mjs.map +1 -1
- package/dist/esm/project-run/progress-rendering/renderer.mjs +11 -4
- package/dist/esm/project-run/progress-rendering/renderer.mjs.map +1 -1
- package/dist/esm/project-run/project-context.mjs +3 -2
- package/dist/esm/project-run/project-context.mjs.map +1 -1
- package/dist/esm/project-run/result.mjs +2 -0
- package/dist/esm/project-run/result.mjs.map +1 -1
- package/dist/esm/project-run/run.mjs +1 -1
- package/dist/esm/project-run/run.mjs.map +1 -1
- package/dist/esm/project-run/task-scheduler/admission-core/compiled-graph-lookup.mjs +45 -0
- package/dist/esm/project-run/task-scheduler/admission-core/compiled-graph-lookup.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/admission-core/compiled-graph.mjs +171 -0
- package/dist/esm/project-run/task-scheduler/admission-core/compiled-graph.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/admission-core/core.mjs +163 -0
- package/dist/esm/project-run/task-scheduler/admission-core/core.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/admission-core/input.mjs +119 -0
- package/dist/esm/project-run/task-scheduler/admission-core/input.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/admission-core/projection.mjs +124 -0
- package/dist/esm/project-run/task-scheduler/admission-core/projection.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/admission-core/selection-index.mjs +99 -0
- package/dist/esm/project-run/task-scheduler/admission-core/selection-index.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/admission-core/selection-query.mjs +196 -0
- package/dist/esm/project-run/task-scheduler/admission-core/selection-query.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/admission-core/selection-seed.mjs +168 -0
- package/dist/esm/project-run/task-scheduler/admission-core/selection-seed.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/admission-core/selection-transition.mjs +121 -0
- package/dist/esm/project-run/task-scheduler/admission-core/selection-transition.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/admission-core/selection.mjs +65 -0
- package/dist/esm/project-run/task-scheduler/admission-core/selection.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/admission-scope-layers.mjs +25 -0
- package/dist/esm/project-run/task-scheduler/admission-scope-layers.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/admission-selection-policy.mjs +55 -0
- package/dist/esm/project-run/task-scheduler/admission-selection-policy.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/custom-admission-policy.mjs +110 -0
- package/dist/esm/project-run/task-scheduler/custom-admission-policy.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/execution-state.mjs +34 -5
- package/dist/esm/project-run/task-scheduler/execution-state.mjs.map +1 -1
- package/dist/esm/project-run/task-scheduler/forced-block-effect-replay.mjs +46 -0
- package/dist/esm/project-run/task-scheduler/forced-block-effect-replay.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/graph-validation.mjs +54 -26
- package/dist/esm/project-run/task-scheduler/graph-validation.mjs.map +1 -1
- package/dist/esm/project-run/task-scheduler/graph.mjs +79 -3
- package/dist/esm/project-run/task-scheduler/graph.mjs.map +1 -1
- package/dist/esm/project-run/task-scheduler/measurement/diagnostics.mjs +211 -0
- package/dist/esm/project-run/task-scheduler/measurement/diagnostics.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/measurement/integrals.mjs +116 -0
- package/dist/esm/project-run/task-scheduler/measurement/integrals.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/measurement/policy.mjs +67 -0
- package/dist/esm/project-run/task-scheduler/measurement/policy.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/measurement/summary.mjs +123 -0
- package/dist/esm/project-run/task-scheduler/measurement/summary.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/measurement/timing.mjs +164 -0
- package/dist/esm/project-run/task-scheduler/measurement/timing.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/scheduler-admission-decision.mjs +90 -62
- package/dist/esm/project-run/task-scheduler/scheduler-admission-decision.mjs.map +1 -1
- package/dist/esm/project-run/task-scheduler/scheduler-blocker-summary.mjs +20 -6
- package/dist/esm/project-run/task-scheduler/scheduler-blocker-summary.mjs.map +1 -1
- package/dist/esm/project-run/task-scheduler/scheduler-decision-inspection.mjs +5 -105
- package/dist/esm/project-run/task-scheduler/scheduler-decision-inspection.mjs.map +1 -1
- package/dist/esm/project-run/task-scheduler/scheduler-decision-model.mjs +0 -9
- package/dist/esm/project-run/task-scheduler/scheduler-decision-model.mjs.map +1 -1
- package/dist/esm/project-run/task-scheduler/scheduler-decision.mjs +48 -28
- package/dist/esm/project-run/task-scheduler/scheduler-decision.mjs.map +1 -1
- package/dist/esm/project-run/task-scheduler/scheduler-observation.mjs +91 -0
- package/dist/esm/project-run/task-scheduler/scheduler-observation.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/scheduler-task-lifecycle.mjs +94 -0
- package/dist/esm/project-run/task-scheduler/scheduler-task-lifecycle.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/scheduler-terminal-measurement.mjs +66 -0
- package/dist/esm/project-run/task-scheduler/scheduler-terminal-measurement.mjs.map +1 -0
- package/dist/esm/project-run/task-scheduler/scheduler.mjs +183 -114
- package/dist/esm/project-run/task-scheduler/scheduler.mjs.map +1 -1
- package/docs/api-mechanics.md +167 -121
- package/docs/changelog.md +300 -0
- package/docs/checks/duplicate-detection.md +131 -60
- package/docs/checks/file-metrics.md +68 -46
- package/docs/checks/function-metrics.md +119 -163
- package/docs/checks/json-schema-validation.md +65 -37
- package/docs/checks/json-validation.md +59 -27
- package/docs/checks/maintenance-reminders.md +68 -32
- package/docs/checks/markdown-link-validation.md +104 -56
- package/docs/checks/markdown-lint.md +167 -0
- package/docs/checks/secret-detection.md +153 -0
- package/docs/examples/artifacts/mixed-outcomes/definition.ts +14 -14
- package/docs/guides/building-project-gate.md +706 -0
- package/docs/guides/cache-results.md +63 -0
- package/docs/guides/callbacks.md +93 -0
- package/docs/guides/check-dependencies.md +152 -0
- package/docs/guides/collecting-project-files.md +59 -0
- package/docs/guides/command-check.md +155 -0
- package/docs/guides/data-boundaries.md +140 -0
- package/docs/guides/extending-check-lifecycle.md +164 -0
- package/docs/guides/finding-waivers.md +87 -0
- package/docs/guides/learned-scheduling.md +83 -0
- package/docs/guides/presenting-findings.md +54 -0
- package/docs/guides/run-outputs.md +171 -0
- package/docs/guides/scheduling.md +208 -0
- package/docs/guides/simulating-admission.md +55 -0
- package/docs/output.md +13 -21
- package/licenses/Lizard-1.24.0-MIT.txt +30 -0
- package/{third-party-licenses/momoa-3.3.12-LICENSE → licenses/Lizard-1.24.0-lizard.py-Apache-2.0.txt} +1 -0
- package/licenses/Pygments-2.18.0-BSD-2-Clause.txt +25 -0
- package/licenses/analyzer-translations-NOTICE.md +24 -0
- package/licenses/lizard-1.24.0-provenance.json +957 -0
- package/package.json +19 -6
- package/src/check/check.ts +382 -92
- package/src/check/flag-enablement.ts +76 -0
- package/src/check/handoff-provider-identity.ts +34 -0
- package/src/check/inherited-collection.ts +2 -2
- package/src/check/project-changes.ts +14 -0
- package/src/check/project-context.ts +11 -0
- package/src/check-settlement/fact-validation.ts +29 -39
- package/src/check-settlement/facts.ts +1 -1
- package/src/check-settlement/outcome-normalization.ts +17 -35
- package/src/check-settlement/reason-shape.ts +20 -0
- package/src/check-settlement/record-store.ts +18 -15
- package/src/check-settlement/session.ts +12 -3
- package/src/data-boundary/canonical-data.ts +36 -9
- package/src/data-boundary/canonical-json.ts +18 -1
- package/src/data-boundary/closed-values.ts +54 -5
- package/src/data-boundary/config-glob.ts +17 -0
- package/src/data-boundary/project-path.ts +21 -0
- package/src/data-boundary/value-shapes.ts +12 -0
- package/src/index.ts +134 -5
- package/src/machine-output/v4/atomic-publication.ts +4 -17
- package/src/package-checks/check-authoring.ts +136 -0
- package/src/package-checks/code-quality-findings/finding-waiver-authoring.ts +46 -0
- package/src/package-checks/code-quality-findings/finding-waiver-evidence.ts +95 -0
- package/src/package-checks/code-quality-findings/policy.ts +23 -0
- package/src/package-checks/command-check/command-check.ts +152 -0
- package/src/package-checks/command-check/contract.ts +168 -0
- package/src/package-checks/command-check/execution.ts +211 -0
- package/src/package-checks/command-check/options.ts +331 -0
- package/src/package-checks/command-check/transcript.ts +35 -0
- package/src/package-checks/duplicate-detection/area-policy.ts +24 -13
- package/src/package-checks/duplicate-detection/cache/identity.ts +1 -1
- package/src/package-checks/duplicate-detection/default-check.ts +38 -7
- package/src/package-checks/duplicate-detection/execution.ts +82 -24
- package/src/package-checks/duplicate-detection/finding-messages.ts +75 -0
- package/src/package-checks/duplicate-detection/finding-waiver-identity.ts +68 -0
- package/src/package-checks/duplicate-detection/jscpd/availability.ts +2 -2
- package/src/package-checks/duplicate-detection/jscpd/command-resolution.ts +1 -1
- package/src/package-checks/duplicate-detection/jscpd/json-report.ts +24 -5
- package/src/package-checks/duplicate-detection/jscpd/scanner.ts +6 -7
- package/src/package-checks/duplicate-detection/options-resolution.ts +32 -57
- package/src/package-checks/duplicate-detection/options-validation.ts +23 -31
- package/src/package-checks/duplicate-detection/options.ts +26 -3
- package/src/package-checks/duplicate-detection/records.ts +65 -12
- package/src/package-checks/file-metrics/constructor.ts +29 -6
- package/src/package-checks/file-metrics/execution.ts +17 -20
- package/src/package-checks/file-metrics/finding-messages.ts +29 -0
- package/src/package-checks/file-metrics/options-resolution.ts +19 -52
- package/src/package-checks/file-metrics/options-validation.ts +23 -32
- package/src/package-checks/file-metrics/options.ts +6 -3
- package/src/package-checks/file-metrics/records.ts +11 -23
- package/src/package-checks/file-metrics/scc/availability.ts +2 -2
- package/src/package-checks/file-metrics/scc/batch-planner.ts +56 -0
- package/src/package-checks/file-metrics/scc/logical-scan-resources.ts +59 -0
- package/src/package-checks/file-metrics/scc/parser.ts +4 -4
- package/src/package-checks/file-metrics/scc/scanner.ts +135 -33
- package/src/package-checks/function-metrics/analysis.ts +81 -21
- package/src/package-checks/function-metrics/analyzer/analysis-context.ts +749 -0
- package/src/package-checks/function-metrics/analyzer/analysis-model.ts +421 -0
- package/src/package-checks/function-metrics/analyzer/contracts.ts +54 -0
- package/src/package-checks/function-metrics/analyzer/extension-output.ts +269 -0
- package/src/package-checks/function-metrics/analyzer/extensions/extension-base.ts +33 -0
- package/src/package-checks/function-metrics/analyzer/extensions/lizardcomplextags.ts +25 -0
- package/src/package-checks/function-metrics/analyzer/extensions/lizardnd.ts +144 -0
- package/src/package-checks/function-metrics/analyzer/extensions/protocol.ts +345 -0
- package/src/package-checks/function-metrics/analyzer/extensions/registry.ts +157 -0
- package/src/package-checks/function-metrics/analyzer/pipeline.ts +313 -0
- package/src/package-checks/function-metrics/analyzer/port-facade.ts +142 -0
- package/src/package-checks/function-metrics/analyzer/reader-registry.ts +84 -0
- package/src/package-checks/function-metrics/analyzer/readers/csharp.ts +110 -0
- package/src/package-checks/function-metrics/analyzer/readers/erlang.ts +501 -0
- package/src/package-checks/function-metrics/analyzer/readers/fortran.ts +294 -0
- package/src/package-checks/function-metrics/analyzer/readers/gdscript.ts +42 -0
- package/src/package-checks/function-metrics/analyzer/readers/go.ts +53 -0
- package/src/package-checks/function-metrics/analyzer/readers/java-body-states.ts +141 -0
- package/src/package-checks/function-metrics/analyzer/readers/java.ts +270 -0
- package/src/package-checks/function-metrics/analyzer/readers/javascript.ts +19 -0
- package/src/package-checks/function-metrics/analyzer/readers/kotlin.ts +120 -0
- package/src/package-checks/function-metrics/analyzer/readers/lua.ts +68 -0
- package/src/package-checks/function-metrics/analyzer/readers/objc.ts +113 -0
- package/src/package-checks/function-metrics/analyzer/readers/perl.ts +340 -0
- package/src/package-checks/function-metrics/analyzer/readers/php-states.ts +253 -0
- package/src/package-checks/function-metrics/analyzer/readers/php.ts +63 -0
- package/src/package-checks/function-metrics/analyzer/readers/plsql.ts +310 -0
- package/src/package-checks/function-metrics/analyzer/readers/python.ts +432 -0
- package/src/package-checks/function-metrics/analyzer/readers/r.ts +235 -0
- package/src/package-checks/function-metrics/analyzer/readers/ruby.ts +88 -0
- package/src/package-checks/function-metrics/analyzer/readers/rust.ts +47 -0
- package/src/package-checks/function-metrics/analyzer/readers/scala.ts +60 -0
- package/src/package-checks/function-metrics/analyzer/readers/solidity.ts +32 -0
- package/src/package-checks/function-metrics/analyzer/readers/st.ts +161 -0
- package/src/package-checks/function-metrics/analyzer/readers/swift.ts +116 -0
- package/src/package-checks/function-metrics/analyzer/readers/tsx.ts +165 -0
- package/src/package-checks/function-metrics/analyzer/readers/ttcn.ts +96 -0
- package/src/package-checks/function-metrics/analyzer/readers/typescript.ts +599 -0
- package/src/package-checks/function-metrics/analyzer/readers/vue.ts +43 -0
- package/src/package-checks/function-metrics/analyzer/readers/zig.ts +36 -0
- package/src/package-checks/function-metrics/analyzer/shared/clike.ts +541 -0
- package/src/package-checks/function-metrics/analyzer/shared/code-reader.ts +684 -0
- package/src/package-checks/function-metrics/analyzer/shared/golike.ts +143 -0
- package/src/package-checks/function-metrics/analyzer/shared/js-style-regex.ts +80 -0
- package/src/package-checks/function-metrics/analyzer/shared/rubylike.ts +161 -0
- package/src/package-checks/function-metrics/analyzer/shared/script-language.ts +50 -0
- package/src/package-checks/function-metrics/analyzer-adapter.ts +84 -0
- package/src/package-checks/function-metrics/analyzer-worker-contract.ts +10 -0
- package/src/package-checks/function-metrics/analyzer-worker-port.ts +164 -0
- package/src/package-checks/function-metrics/analyzer-worker.ts +31 -0
- package/src/package-checks/function-metrics/constructor.ts +32 -9
- package/src/package-checks/function-metrics/execution.ts +94 -41
- package/src/package-checks/function-metrics/finding-messages.ts +95 -0
- package/src/package-checks/function-metrics/finding-waiver-identity.ts +36 -0
- package/src/package-checks/function-metrics/measurement-model.ts +15 -1
- package/src/package-checks/function-metrics/measurement.ts +223 -36
- package/src/package-checks/function-metrics/options-resolution.ts +39 -75
- package/src/package-checks/function-metrics/options-validation.ts +30 -39
- package/src/package-checks/function-metrics/options.ts +32 -13
- package/src/package-checks/function-metrics/records.ts +73 -7
- package/src/package-checks/function-metrics/target-files.ts +10 -70
- package/src/package-checks/{file-metrics/scc → host-environment}/csv.ts +1 -2
- package/src/package-checks/host-environment/git.ts +13 -2
- package/src/package-checks/host-environment/path.ts +1 -20
- package/src/package-checks/host-environment/process/contract.ts +17 -9
- package/src/package-checks/host-environment/process/result.ts +48 -20
- package/src/package-checks/host-environment/process/runner.ts +8 -4
- package/src/package-checks/host-environment/process.ts +10 -0
- package/src/package-checks/json-schema-validation/default-check.ts +38 -5
- package/src/package-checks/json-schema-validation/final-data.ts +8 -0
- package/src/package-checks/json-schema-validation/options-validation.ts +16 -23
- package/src/package-checks/json-schema-validation/options.ts +27 -1
- package/src/package-checks/json-schema-validation/reference-resolver.ts +6 -2
- package/src/package-checks/json-schema-validation/schema-policy.ts +10 -5
- package/src/package-checks/json-validation/default-check.ts +27 -6
- package/src/package-checks/json-validation/final-data.ts +5 -0
- package/src/package-checks/json-validation/options-validation.ts +4 -18
- package/src/package-checks/json-validation/options.ts +4 -1
- package/src/package-checks/local-cache-options.ts +40 -0
- package/src/package-checks/maintenance-reminders/final-data.ts +18 -0
- package/src/package-checks/maintenance-reminders/maintenance-reminders.ts +89 -9
- package/src/package-checks/maintenance-reminders/maintenance-support.ts +3 -3
- package/src/package-checks/markdown-link-validation/default-check.ts +57 -8
- package/src/package-checks/markdown-link-validation/execution.ts +51 -57
- package/src/package-checks/markdown-link-validation/filesystem-probes.ts +108 -51
- package/src/package-checks/markdown-link-validation/final-data.ts +5 -0
- package/src/package-checks/markdown-link-validation/finding-messages.ts +48 -0
- package/src/package-checks/markdown-link-validation/local-resolution.ts +17 -9
- package/src/package-checks/markdown-link-validation/local-resolver.ts +5 -2
- package/src/package-checks/markdown-link-validation/markdown-parser.ts +1 -5
- package/src/package-checks/markdown-link-validation/options-resolution.ts +14 -3
- package/src/package-checks/markdown-link-validation/options-validation.ts +12 -19
- package/src/package-checks/markdown-link-validation/options.ts +15 -1
- package/src/package-checks/markdown-link-validation/parse-facts-cache-payload.ts +245 -0
- package/src/package-checks/markdown-link-validation/parse-facts-cache.ts +154 -0
- package/src/package-checks/markdown-link-validation/resolver-engine.ts +75 -65
- package/src/package-checks/markdown-link-validation/source-reader.ts +86 -0
- package/src/package-checks/markdown-link-validation/unavailable-reasons.ts +42 -0
- package/src/package-checks/markdown-lint/adapter.ts +167 -0
- package/src/package-checks/markdown-lint/default-check.ts +92 -0
- package/src/package-checks/markdown-lint/execution.ts +266 -0
- package/src/package-checks/markdown-lint/final-data.ts +33 -0
- package/src/package-checks/markdown-lint/finding-messages.ts +87 -0
- package/src/package-checks/markdown-lint/finding-waiver-identity.ts +54 -0
- package/src/package-checks/markdown-lint/findings-cache.ts +141 -0
- package/src/package-checks/markdown-lint/options-resolution.ts +102 -0
- package/src/package-checks/markdown-lint/options-validation.ts +50 -0
- package/src/package-checks/markdown-lint/options.ts +82 -0
- package/src/package-checks/markdown-lint/records.ts +132 -0
- package/src/package-checks/markdown-lint/unavailable-reasons.ts +33 -0
- package/src/package-checks/project-files/collection.ts +39 -23
- package/src/package-checks/project-files/config-glob.ts +1 -17
- package/src/package-checks/project-files/configuration.ts +4 -15
- package/src/package-checks/project-files/gitlink-revision.ts +5 -7
- package/src/package-checks/project-files/gitlink-worktree.ts +36 -8
- package/src/package-checks/project-files/public-collection.ts +92 -0
- package/src/package-checks/project-files/revision-paths.ts +3 -3
- package/src/package-checks/project-files/revision-worktree-files.ts +17 -17
- package/src/package-checks/secret-detection/classification.ts +30 -0
- package/src/package-checks/secret-detection/default-check.ts +73 -0
- package/src/package-checks/secret-detection/execution.ts +247 -0
- package/src/package-checks/secret-detection/final-data.ts +57 -0
- package/src/package-checks/secret-detection/finding-waiver-identity.ts +37 -0
- package/src/package-checks/secret-detection/input-preparation.ts +290 -0
- package/src/package-checks/secret-detection/options-resolution.ts +65 -0
- package/src/package-checks/secret-detection/options-validation.ts +27 -0
- package/src/package-checks/secret-detection/options.ts +39 -0
- package/src/package-checks/secret-detection/records.ts +77 -0
- package/src/package-checks/secret-detection/secretlint/adapter.ts +122 -0
- package/src/package-tools/admission-policy/define-admission-policy.ts +54 -0
- package/src/package-tools/cache/cache-json-by-key.ts +300 -0
- package/src/package-tools/finding-presentation/finding-presentation.ts +69 -0
- package/src/{finding-waivers → package-tools/finding-waivers}/reconciliation.ts +16 -8
- package/src/package-tools/learned-critical-path/critical-path-ranking.ts +76 -0
- package/src/package-tools/learned-critical-path/duration-model/bounded-history.ts +108 -0
- package/src/package-tools/learned-critical-path/duration-model/prediction.ts +184 -0
- package/src/package-tools/learned-critical-path/duration-model/preparation.ts +79 -0
- package/src/package-tools/learned-critical-path/duration-model/recording.ts +209 -0
- package/src/package-tools/learned-critical-path/duration-model/storage.ts +251 -0
- package/src/package-tools/learned-critical-path/selection-layers.ts +71 -0
- package/src/package-tools/learned-critical-path/static-decision.ts +105 -0
- package/src/package-tools/learned-critical-path/strategy.ts +302 -0
- package/src/project-definition/check-tree/authoring.ts +40 -234
- package/src/project-definition/check-tree/check-fields-authoring.ts +242 -0
- package/src/project-definition/check-tree/collection-authoring.ts +13 -0
- package/src/project-definition/check-tree/flag-conditions.ts +99 -0
- package/src/project-definition/check-tree/materialization.ts +21 -9
- package/src/project-definition/check-tree/resolution.ts +84 -28
- package/src/project-definition/check-tree/scheduling-authoring.ts +114 -0
- package/src/project-definition/declarative-snapshot.ts +94 -0
- package/src/project-definition/output-defaults.ts +32 -1
- package/src/project-definition/output-validation.ts +15 -15
- package/src/project-definition/progress-rendering-output.ts +121 -0
- package/src/project-definition/project-changes.ts +112 -0
- package/src/project-definition/project-definition-validation.ts +166 -19
- package/src/project-definition/project-definition.ts +177 -67
- package/src/project-definition/resource-unit-mapping.ts +25 -0
- package/src/project-definition/scheduler-policy.ts +556 -0
- package/src/project-run/admission-strategy-provider/custom-strategy-preparation.ts +83 -0
- package/src/project-run/admission-strategy-provider/prepared-admission-strategy.ts +27 -0
- package/src/project-run/admission-strategy-provider/provider.ts +45 -0
- package/src/project-run/aggregation.ts +52 -70
- package/src/project-run/changes/git.ts +206 -0
- package/src/project-run/check-execution/admitted-check-execution.ts +62 -0
- package/src/project-run/check-execution/callback.ts +52 -9
- package/src/project-run/check-execution/console-capture.ts +262 -0
- package/src/project-run/check-execution/dependencies.ts +161 -10
- package/src/project-run/check-execution/execution-finalization.ts +103 -27
- package/src/project-run/check-execution/execution-settlement.ts +99 -32
- package/src/project-run/check-execution/flag-controls.ts +146 -0
- package/src/project-run/check-execution/lifecycle.ts +29 -0
- package/src/project-run/check-execution/messages.ts +8 -0
- package/src/project-run/check-execution/plan.ts +12 -8
- package/src/project-run/check-execution/{preflight-result.ts → preparation-result.ts} +34 -32
- package/src/project-run/check-execution/preparation.ts +309 -0
- package/src/project-run/check-execution/ready-check-execution.ts +97 -0
- package/src/project-run/check-execution/resolved-checks.ts +92 -232
- package/src/project-run/check-execution/resolved-execution-result.ts +22 -0
- package/src/project-run/check-execution/scheduled-check-run.ts +119 -0
- package/src/project-run/check-execution/terminal-result.ts +108 -29
- package/src/project-run/{completion.ts → completion/completion.ts} +33 -59
- package/src/project-run/{machine-publication.ts → completion/machine-publication.ts} +4 -4
- package/src/project-run/completion/result-resolver.ts +60 -0
- package/src/project-run/controls/contract.ts +22 -9
- package/src/project-run/controls/outputs-override-validation.ts +83 -60
- package/src/project-run/controls/validation-result.ts +17 -6
- package/src/project-run/controls/validation.ts +110 -68
- package/src/project-run/diagnostic-logging/diagnostic-detail-rendering.ts +1 -2
- package/src/project-run/diagnostic-logging/logger.ts +132 -207
- package/src/project-run/diagnostic-logging/observation-rendering.ts +203 -0
- package/src/project-run/invocation/candidate.ts +99 -0
- package/src/project-run/invocation/candidates.ts +56 -0
- package/src/project-run/invocation/creation.ts +120 -0
- package/src/project-run/invocation/execution.ts +136 -0
- package/src/project-run/invocation/paths.ts +154 -0
- package/src/project-run/invocation/progress.ts +38 -0
- package/src/project-run/invocation/run.ts +144 -0
- package/src/project-run/invocation/scheduler.ts +82 -0
- package/src/project-run/{output-configuration.ts → outputs/configuration.ts} +6 -5
- package/src/project-run/outputs/status.ts +161 -0
- package/src/project-run/progress-rendering/presentation.ts +150 -36
- package/src/project-run/progress-rendering/renderer-formatting.ts +185 -25
- package/src/project-run/progress-rendering/renderer-lifecycle.ts +61 -9
- package/src/project-run/progress-rendering/renderer.ts +23 -6
- package/src/project-run/project-context.ts +10 -5
- package/src/project-run/result.ts +50 -4
- package/src/project-run/run.ts +7 -6
- package/src/project-run/task-scheduler/admission-core/compiled-graph-lookup.ts +71 -0
- package/src/project-run/task-scheduler/admission-core/compiled-graph.ts +321 -0
- package/src/project-run/task-scheduler/admission-core/core.ts +278 -0
- package/src/project-run/task-scheduler/admission-core/input.ts +138 -0
- package/src/project-run/task-scheduler/admission-core/projection.ts +164 -0
- package/src/project-run/task-scheduler/admission-core/selection-index.ts +165 -0
- package/src/project-run/task-scheduler/admission-core/selection-query.ts +297 -0
- package/src/project-run/task-scheduler/admission-core/selection-seed.ts +282 -0
- package/src/project-run/task-scheduler/admission-core/selection-transition.ts +245 -0
- package/src/project-run/task-scheduler/admission-core/selection.ts +140 -0
- package/src/project-run/task-scheduler/admission-core/trace.ts +177 -0
- package/src/project-run/task-scheduler/admission-scope-layers.ts +44 -0
- package/src/project-run/task-scheduler/admission-selection-policy.ts +116 -0
- package/src/project-run/task-scheduler/custom-admission-policy.ts +128 -0
- package/src/project-run/task-scheduler/execution-state.ts +97 -6
- package/src/project-run/task-scheduler/forced-block-effect-replay.ts +68 -0
- package/src/project-run/task-scheduler/graph-validation.ts +77 -31
- package/src/project-run/task-scheduler/graph.ts +111 -3
- package/src/project-run/task-scheduler/measurement/diagnostics.ts +267 -0
- package/src/project-run/task-scheduler/measurement/integrals.ts +177 -0
- package/src/project-run/task-scheduler/measurement/policy.ts +105 -0
- package/src/project-run/task-scheduler/measurement/summary.ts +175 -0
- package/src/project-run/task-scheduler/measurement/timing.ts +198 -0
- package/src/project-run/task-scheduler/scheduler-admission-decision.ts +143 -134
- package/src/project-run/task-scheduler/scheduler-blocker-summary.ts +34 -9
- package/src/project-run/task-scheduler/scheduler-decision-inspection.ts +28 -170
- package/src/project-run/task-scheduler/scheduler-decision-model.ts +36 -40
- package/src/project-run/task-scheduler/scheduler-decision.ts +68 -36
- package/src/project-run/task-scheduler/scheduler-observation.ts +126 -0
- package/src/project-run/task-scheduler/scheduler-task-lifecycle.ts +150 -0
- package/src/project-run/task-scheduler/scheduler-terminal-measurement.ts +97 -0
- package/src/project-run/task-scheduler/scheduler.ts +233 -171
- package/types/check/check.d.ts +225 -69
- package/types/check/flag-enablement.d.ts +42 -0
- package/types/check/handoff-provider-identity.d.ts +12 -0
- package/types/check/inherited-collection.d.ts +1 -1
- package/types/check/project-changes.d.ts +13 -0
- package/types/check/project-context.d.ts +10 -0
- package/types/check-settlement/facts.d.ts +1 -1
- package/types/check-settlement/reason-shape.d.ts +5 -0
- package/types/check-settlement/record-store.d.ts +2 -2
- package/types/check-settlement/session.d.ts +3 -1
- package/types/data-boundary/canonical-data.d.ts +28 -5
- package/types/data-boundary/canonical-json.d.ts +18 -1
- package/types/data-boundary/closed-values.d.ts +24 -0
- package/types/data-boundary/config-glob.d.ts +5 -0
- package/types/data-boundary/project-path.d.ts +4 -0
- package/types/data-boundary/value-shapes.d.ts +3 -0
- package/types/index.d.ts +40 -9
- package/types/package-checks/check-authoring.d.ts +45 -0
- package/types/package-checks/code-quality-findings/finding-waiver-authoring.d.ts +7 -0
- package/types/package-checks/code-quality-findings/finding-waiver-evidence.d.ts +34 -0
- package/types/package-checks/code-quality-findings/policy.d.ts +4 -0
- package/types/package-checks/command-check/command-check.d.ts +48 -0
- package/types/package-checks/command-check/contract.d.ts +108 -0
- package/types/package-checks/command-check/execution.d.ts +7 -0
- package/types/package-checks/command-check/options.d.ts +11 -0
- package/types/package-checks/command-check/transcript.d.ts +8 -0
- package/types/package-checks/duplicate-detection/area-policy.d.ts +1 -1
- package/types/package-checks/duplicate-detection/default-check.d.ts +5 -2
- package/types/package-checks/duplicate-detection/finding-messages.d.ts +7 -0
- package/types/package-checks/duplicate-detection/finding-waiver-identity.d.ts +3 -0
- package/types/package-checks/duplicate-detection/jscpd/command-resolution.d.ts +1 -1
- package/types/package-checks/duplicate-detection/options.d.ts +21 -3
- package/types/package-checks/duplicate-detection/records.d.ts +20 -3
- package/types/package-checks/file-metrics/constructor.d.ts +5 -2
- package/types/package-checks/file-metrics/finding-messages.d.ts +4 -0
- package/types/package-checks/file-metrics/options.d.ts +4 -3
- package/types/package-checks/file-metrics/records.d.ts +5 -10
- package/types/package-checks/file-metrics/scc/batch-planner.d.ts +18 -0
- package/types/package-checks/file-metrics/scc/logical-scan-resources.d.ts +14 -0
- package/types/package-checks/file-metrics/scc/parser.d.ts +4 -4
- package/types/package-checks/function-metrics/analysis.d.ts +1 -1
- package/types/package-checks/function-metrics/analyzer/analysis-context.d.ts +174 -0
- package/types/package-checks/function-metrics/analyzer/analysis-model.d.ts +135 -0
- package/types/package-checks/function-metrics/analyzer/contracts.d.ts +48 -0
- package/types/package-checks/function-metrics/analyzer/extensions/lizardcomplextags.d.ts +13 -0
- package/types/package-checks/function-metrics/analyzer/extensions/lizardnd.d.ts +28 -0
- package/types/package-checks/function-metrics/analyzer/extensions/protocol.d.ts +99 -0
- package/types/package-checks/function-metrics/analyzer/extensions/registry.d.ts +34 -0
- package/types/package-checks/function-metrics/analyzer/pipeline.d.ts +67 -0
- package/types/package-checks/function-metrics/analyzer/port-facade.d.ts +38 -0
- package/types/package-checks/function-metrics/analyzer/reader-registry.d.ts +18 -0
- package/types/package-checks/function-metrics/analyzer/readers/csharp.d.ts +22 -0
- package/types/package-checks/function-metrics/analyzer/readers/erlang.d.ts +22 -0
- package/types/package-checks/function-metrics/analyzer/readers/fortran.d.ts +29 -0
- package/types/package-checks/function-metrics/analyzer/readers/gdscript.d.ts +18 -0
- package/types/package-checks/function-metrics/analyzer/readers/go.d.ts +18 -0
- package/types/package-checks/function-metrics/analyzer/readers/java-body-states.d.ts +18 -0
- package/types/package-checks/function-metrics/analyzer/readers/java.d.ts +44 -0
- package/types/package-checks/function-metrics/analyzer/readers/javascript.d.ts +14 -0
- package/types/package-checks/function-metrics/analyzer/readers/kotlin.d.ts +23 -0
- package/types/package-checks/function-metrics/analyzer/readers/lua.d.ts +16 -0
- package/types/package-checks/function-metrics/analyzer/readers/objc.d.ts +18 -0
- package/types/package-checks/function-metrics/analyzer/readers/perl.d.ts +28 -0
- package/types/package-checks/function-metrics/analyzer/readers/php-states.d.ts +41 -0
- package/types/package-checks/function-metrics/analyzer/readers/php.d.ts +22 -0
- package/types/package-checks/function-metrics/analyzer/readers/plsql.d.ts +24 -0
- package/types/package-checks/function-metrics/analyzer/readers/python.d.ts +50 -0
- package/types/package-checks/function-metrics/analyzer/readers/r.d.ts +22 -0
- package/types/package-checks/function-metrics/analyzer/readers/ruby.d.ts +16 -0
- package/types/package-checks/function-metrics/analyzer/readers/rust.d.ts +20 -0
- package/types/package-checks/function-metrics/analyzer/readers/scala.d.ts +20 -0
- package/types/package-checks/function-metrics/analyzer/readers/solidity.d.ts +19 -0
- package/types/package-checks/function-metrics/analyzer/readers/st.d.ts +37 -0
- package/types/package-checks/function-metrics/analyzer/readers/swift.d.ts +30 -0
- package/types/package-checks/function-metrics/analyzer/readers/tsx.d.ts +15 -0
- package/types/package-checks/function-metrics/analyzer/readers/ttcn.d.ts +22 -0
- package/types/package-checks/function-metrics/analyzer/readers/typescript.d.ts +35 -0
- package/types/package-checks/function-metrics/analyzer/readers/vue.d.ts +18 -0
- package/types/package-checks/function-metrics/analyzer/readers/zig.d.ts +19 -0
- package/types/package-checks/function-metrics/analyzer/shared/clike.d.ts +101 -0
- package/types/package-checks/function-metrics/analyzer/shared/code-reader.d.ts +176 -0
- package/types/package-checks/function-metrics/analyzer/shared/golike.d.ts +39 -0
- package/types/package-checks/function-metrics/analyzer/shared/js-style-regex.d.ts +16 -0
- package/types/package-checks/function-metrics/analyzer/shared/rubylike.d.ts +40 -0
- package/types/package-checks/function-metrics/analyzer/shared/script-language.d.ts +17 -0
- package/types/package-checks/function-metrics/analyzer-adapter.d.ts +26 -0
- package/types/package-checks/function-metrics/analyzer-worker-contract.d.ts +5 -0
- package/types/package-checks/function-metrics/analyzer-worker-port.d.ts +24 -0
- package/types/package-checks/function-metrics/analyzer-worker.d.ts +1 -0
- package/types/package-checks/function-metrics/constructor.d.ts +6 -3
- package/types/package-checks/function-metrics/execution.d.ts +5 -2
- package/types/package-checks/function-metrics/finding-messages.d.ts +9 -0
- package/types/package-checks/function-metrics/finding-waiver-identity.d.ts +2 -0
- package/types/package-checks/function-metrics/measurement-model.d.ts +13 -1
- package/types/package-checks/function-metrics/measurement.d.ts +22 -7
- package/types/package-checks/function-metrics/options.d.ts +26 -12
- package/types/package-checks/function-metrics/records.d.ts +24 -5
- package/types/package-checks/function-metrics/target-files.d.ts +4 -3
- package/types/package-checks/host-environment/csv.d.ts +2 -0
- package/types/package-checks/host-environment/git.d.ts +3 -1
- package/types/package-checks/host-environment/path.d.ts +1 -3
- package/types/package-checks/host-environment/process/contract.d.ts +17 -9
- package/types/package-checks/host-environment/process.d.ts +5 -0
- package/types/package-checks/json-schema-validation/default-check.d.ts +4 -1
- package/types/package-checks/json-schema-validation/final-data.d.ts +8 -0
- package/types/package-checks/json-schema-validation/options.d.ts +33 -4
- package/types/package-checks/json-validation/default-check.d.ts +4 -1
- package/types/package-checks/json-validation/final-data.d.ts +5 -0
- package/types/package-checks/json-validation/options.d.ts +2 -1
- package/types/package-checks/local-cache-options.d.ts +9 -0
- package/types/package-checks/maintenance-reminders/final-data.d.ts +18 -0
- package/types/package-checks/maintenance-reminders/maintenance-reminders.d.ts +11 -2
- package/types/package-checks/markdown-link-validation/default-check.d.ts +13 -4
- package/types/package-checks/markdown-link-validation/execution.d.ts +1 -3
- package/types/package-checks/markdown-link-validation/final-data.d.ts +5 -0
- package/types/package-checks/markdown-link-validation/finding-messages.d.ts +4 -0
- package/types/package-checks/markdown-link-validation/local-resolution.d.ts +12 -6
- package/types/package-checks/markdown-link-validation/local-resolver.d.ts +2 -1
- package/types/package-checks/markdown-link-validation/options.d.ts +13 -1
- package/types/package-checks/markdown-link-validation/parse-facts-cache-payload.d.ts +24 -0
- package/types/package-checks/markdown-link-validation/parse-facts-cache.d.ts +13 -0
- package/types/package-checks/markdown-link-validation/resolver-engine.d.ts +6 -4
- package/types/package-checks/markdown-link-validation/source-reader.d.ts +11 -0
- package/types/package-checks/markdown-link-validation/unavailable-reasons.d.ts +4 -0
- package/types/package-checks/markdown-lint/adapter.d.ts +10 -0
- package/types/package-checks/markdown-lint/default-check.d.ts +37 -0
- package/types/package-checks/markdown-lint/execution.d.ts +24 -0
- package/types/package-checks/markdown-lint/final-data.d.ts +8 -0
- package/types/package-checks/markdown-lint/finding-messages.d.ts +6 -0
- package/types/package-checks/markdown-lint/finding-waiver-identity.d.ts +3 -0
- package/types/package-checks/markdown-lint/findings-cache.d.ts +17 -0
- package/types/package-checks/markdown-lint/options-resolution.d.ts +3 -0
- package/types/package-checks/markdown-lint/options-validation.d.ts +2 -0
- package/types/package-checks/markdown-lint/options.d.ts +65 -0
- package/types/package-checks/markdown-lint/records.d.ts +39 -0
- package/types/package-checks/markdown-lint/unavailable-reasons.d.ts +3 -0
- package/types/package-checks/project-files/public-collection.d.ts +16 -0
- package/types/package-checks/secret-detection/classification.d.ts +12 -0
- package/types/package-checks/secret-detection/default-check.d.ts +14 -0
- package/types/package-checks/secret-detection/execution.d.ts +14 -0
- package/types/package-checks/secret-detection/final-data.d.ts +15 -0
- package/types/package-checks/secret-detection/finding-waiver-identity.d.ts +5 -0
- package/types/package-checks/secret-detection/input-preparation.d.ts +24 -0
- package/types/package-checks/secret-detection/options-resolution.d.ts +6 -0
- package/types/package-checks/secret-detection/options-validation.d.ts +3 -0
- package/types/package-checks/secret-detection/options.d.ts +33 -0
- package/types/package-checks/secret-detection/records.d.ts +35 -0
- package/types/package-checks/secret-detection/secretlint/adapter.d.ts +28 -0
- package/types/package-tools/admission-policy/define-admission-policy.d.ts +26 -0
- package/types/package-tools/cache/cache-json-by-key.d.ts +53 -0
- package/types/package-tools/finding-presentation/finding-presentation.d.ts +27 -0
- package/types/{finding-waivers → package-tools/finding-waivers}/reconciliation.d.ts +3 -3
- package/types/package-tools/learned-critical-path/critical-path-ranking.d.ts +19 -0
- package/types/package-tools/learned-critical-path/duration-model/bounded-history.d.ts +34 -0
- package/types/package-tools/learned-critical-path/duration-model/prediction.d.ts +32 -0
- package/types/package-tools/learned-critical-path/duration-model/preparation.d.ts +28 -0
- package/types/package-tools/learned-critical-path/duration-model/recording.d.ts +28 -0
- package/types/package-tools/learned-critical-path/duration-model/storage.d.ts +12 -0
- package/types/package-tools/learned-critical-path/selection-layers.d.ts +14 -0
- package/types/package-tools/learned-critical-path/static-decision.d.ts +3 -0
- package/types/package-tools/learned-critical-path/strategy.d.ts +35 -0
- package/types/project-definition/check-tree/authoring.d.ts +13 -14
- package/types/project-definition/check-tree/check-fields-authoring.d.ts +30 -0
- package/types/project-definition/check-tree/collection-authoring.d.ts +2 -0
- package/types/project-definition/check-tree/flag-conditions.d.ts +5 -0
- package/types/project-definition/check-tree/resolution.d.ts +13 -6
- package/types/project-definition/check-tree/scheduling-authoring.d.ts +19 -0
- package/types/project-definition/declarative-snapshot.d.ts +10 -0
- package/types/project-definition/output-defaults.d.ts +7 -0
- package/types/project-definition/output-validation.d.ts +2 -1
- package/types/project-definition/progress-rendering-output.d.ts +41 -0
- package/types/project-definition/project-changes.d.ts +30 -0
- package/types/project-definition/project-definition.d.ts +49 -19
- package/types/project-definition/resource-unit-mapping.d.ts +4 -0
- package/types/project-definition/scheduler-policy.d.ts +497 -0
- package/types/project-run/admission-strategy-provider/custom-strategy-preparation.d.ts +9 -0
- package/types/project-run/admission-strategy-provider/prepared-admission-strategy.d.ts +23 -0
- package/types/project-run/admission-strategy-provider/provider.d.ts +13 -0
- package/types/project-run/aggregation.d.ts +8 -6
- package/types/project-run/changes/git.d.ts +14 -0
- package/types/project-run/check-execution/admitted-check-execution.d.ts +18 -0
- package/types/project-run/check-execution/callback.d.ts +5 -1
- package/types/project-run/check-execution/console-capture.d.ts +18 -0
- package/types/project-run/check-execution/dependencies.d.ts +4 -1
- package/types/project-run/check-execution/execution-finalization.d.ts +18 -8
- package/types/project-run/check-execution/execution-settlement.d.ts +18 -7
- package/types/project-run/check-execution/flag-controls.d.ts +27 -0
- package/types/project-run/check-execution/lifecycle.d.ts +24 -0
- package/types/project-run/check-execution/messages.d.ts +2 -0
- package/types/project-run/check-execution/plan.d.ts +2 -3
- package/types/project-run/check-execution/{preflight-result.d.ts → preparation-result.d.ts} +3 -3
- package/types/project-run/check-execution/preparation.d.ts +29 -0
- package/types/project-run/check-execution/ready-check-execution.d.ts +18 -0
- package/types/project-run/check-execution/resolved-checks.d.ts +37 -44
- package/types/project-run/check-execution/resolved-execution-result.d.ts +21 -0
- package/types/project-run/check-execution/scheduled-check-run.d.ts +10 -0
- package/types/project-run/check-execution/terminal-result.d.ts +13 -1
- package/types/project-run/{completion.d.ts → completion/completion.d.ts} +7 -5
- package/types/project-run/{machine-publication.d.ts → completion/machine-publication.d.ts} +3 -3
- package/types/project-run/completion/result-resolver.d.ts +4 -0
- package/types/project-run/controls/contract.d.ts +22 -9
- package/types/project-run/controls/outputs-override-validation.d.ts +2 -1
- package/types/project-run/controls/validation-result.d.ts +12 -4
- package/types/project-run/diagnostic-logging/logger.d.ts +34 -4
- package/types/project-run/diagnostic-logging/observation-rendering.d.ts +7 -0
- package/types/project-run/invocation/candidate.d.ts +12 -0
- package/types/project-run/invocation/candidates.d.ts +8 -0
- package/types/project-run/{invocation-creation.d.ts → invocation/creation.d.ts} +3 -3
- package/types/project-run/invocation/execution.d.ts +5 -0
- package/types/project-run/invocation/paths.d.ts +40 -0
- package/types/project-run/invocation/progress.d.ts +11 -0
- package/types/project-run/invocation/run.d.ts +43 -0
- package/types/project-run/invocation/scheduler.d.ts +16 -0
- package/types/project-run/outputs/configuration.d.ts +3 -0
- package/types/project-run/outputs/status.d.ts +48 -0
- package/types/project-run/progress-rendering/presentation.d.ts +12 -7
- package/types/project-run/progress-rendering/renderer-formatting.d.ts +13 -2
- package/types/project-run/progress-rendering/renderer-lifecycle.d.ts +8 -1
- package/types/project-run/progress-rendering/renderer.d.ts +11 -3
- package/types/project-run/project-context.d.ts +5 -4
- package/types/project-run/result.d.ts +38 -4
- package/types/project-run/run.d.ts +6 -5
- package/types/project-run/task-scheduler/admission-core/compiled-graph-lookup.d.ts +10 -0
- package/types/project-run/task-scheduler/admission-core/compiled-graph.d.ts +31 -0
- package/types/project-run/task-scheduler/admission-core/core.d.ts +57 -0
- package/types/project-run/task-scheduler/admission-core/input.d.ts +4 -0
- package/types/project-run/task-scheduler/admission-core/projection.d.ts +22 -0
- package/types/project-run/task-scheduler/admission-core/selection-index.d.ts +61 -0
- package/types/project-run/task-scheduler/admission-core/selection-query.d.ts +28 -0
- package/types/project-run/task-scheduler/admission-core/selection-seed.d.ts +9 -0
- package/types/project-run/task-scheduler/admission-core/selection-transition.d.ts +4 -0
- package/types/project-run/task-scheduler/admission-core/selection.d.ts +20 -0
- package/types/project-run/task-scheduler/admission-scope-layers.d.ts +8 -0
- package/types/project-run/task-scheduler/admission-selection-policy.d.ts +31 -0
- package/types/project-run/task-scheduler/custom-admission-policy.d.ts +6 -0
- package/types/project-run/task-scheduler/execution-state.d.ts +43 -1
- package/types/project-run/task-scheduler/forced-block-effect-replay.d.ts +9 -0
- package/types/project-run/task-scheduler/graph-validation.d.ts +3 -2
- package/types/project-run/task-scheduler/graph.d.ts +15 -0
- package/types/project-run/task-scheduler/measurement/diagnostics.d.ts +47 -0
- package/types/project-run/task-scheduler/measurement/integrals.d.ts +27 -0
- package/types/project-run/task-scheduler/measurement/policy.d.ts +10 -0
- package/types/project-run/task-scheduler/measurement/summary.d.ts +3 -0
- package/types/project-run/task-scheduler/measurement/timing.d.ts +33 -0
- package/types/project-run/task-scheduler/scheduler-admission-decision.d.ts +13 -1
- package/types/project-run/task-scheduler/scheduler-decision-inspection.d.ts +20 -19
- package/types/project-run/task-scheduler/scheduler-decision-model.d.ts +38 -22
- package/types/project-run/task-scheduler/scheduler-decision.d.ts +4 -1
- package/types/project-run/task-scheduler/scheduler-observation.d.ts +14 -0
- package/types/project-run/task-scheduler/scheduler-task-lifecycle.d.ts +18 -0
- package/types/project-run/task-scheduler/scheduler-terminal-measurement.d.ts +9 -0
- package/dist/esm/finding-waivers/reconciliation.mjs.map +0 -1
- package/dist/esm/package-checks/file-metrics/scc/csv.mjs +0 -17
- package/dist/esm/package-checks/file-metrics/scc/csv.mjs.map +0 -1
- package/dist/esm/package-checks/function-metrics/lizard/availability.mjs +0 -64
- package/dist/esm/package-checks/function-metrics/lizard/availability.mjs.map +0 -1
- package/dist/esm/package-checks/function-metrics/lizard/csv.mjs.map +0 -1
- package/dist/esm/package-checks/function-metrics/lizard/parser.mjs +0 -138
- package/dist/esm/package-checks/function-metrics/lizard/parser.mjs.map +0 -1
- package/dist/esm/package-checks/function-metrics/lizard/scanner.mjs +0 -35
- package/dist/esm/package-checks/function-metrics/lizard/scanner.mjs.map +0 -1
- package/dist/esm/package-checks/host-environment/process/command.mjs +0 -13
- package/dist/esm/package-checks/host-environment/process/command.mjs.map +0 -1
- package/dist/esm/package-checks/project-files/config-glob.mjs.map +0 -1
- package/dist/esm/project-run/check-execution/preflight-result.mjs.map +0 -1
- package/dist/esm/project-run/check-execution/preflight.mjs +0 -186
- package/dist/esm/project-run/check-execution/preflight.mjs.map +0 -1
- package/dist/esm/project-run/completion.mjs.map +0 -1
- package/dist/esm/project-run/invocation-creation.mjs +0 -111
- package/dist/esm/project-run/invocation-creation.mjs.map +0 -1
- package/dist/esm/project-run/invocation.mjs +0 -195
- package/dist/esm/project-run/invocation.mjs.map +0 -1
- package/dist/esm/project-run/machine-publication.mjs.map +0 -1
- package/dist/esm/project-run/output-configuration.mjs.map +0 -1
- package/dist/esm/project-run/output-status.mjs +0 -43
- package/dist/esm/project-run/output-status.mjs.map +0 -1
- package/src/package-checks/function-metrics/lizard/availability.ts +0 -90
- package/src/package-checks/function-metrics/lizard/csv.ts +0 -20
- package/src/package-checks/function-metrics/lizard/parser.ts +0 -179
- package/src/package-checks/function-metrics/lizard/scanner.ts +0 -62
- package/src/package-checks/host-environment/process/command.ts +0 -21
- package/src/project-run/check-execution/preflight.ts +0 -321
- package/src/project-run/invocation-creation.ts +0 -160
- package/src/project-run/invocation.ts +0 -303
- package/src/project-run/output-status.ts +0 -69
- package/types/package-checks/file-metrics/scc/csv.d.ts +0 -1
- package/types/package-checks/function-metrics/lizard/availability.d.ts +0 -11
- package/types/package-checks/function-metrics/lizard/csv.d.ts +0 -1
- package/types/package-checks/function-metrics/lizard/parser.d.ts +0 -17
- package/types/package-checks/function-metrics/lizard/scanner.d.ts +0 -15
- package/types/package-checks/host-environment/process/command.d.ts +0 -7
- package/types/package-checks/project-files/config-glob.d.ts +0 -5
- package/types/project-run/check-execution/preflight.d.ts +0 -27
- package/types/project-run/invocation.d.ts +0 -34
- package/types/project-run/output-configuration.d.ts +0 -3
- package/types/project-run/output-status.d.ts +0 -21
|
@@ -0,0 +1,550 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Derived from terryyin/lizard 1.24.0.
|
|
3
|
+
* Sources: lizard.py nesting stack and FileInfoBuilder lifecycle;
|
|
4
|
+
* lizard_ext/lizardnd.py typed FileInfoBuilder lifecycle seam.
|
|
5
|
+
* Upstream revision: 308b1c3efd8c1c69bcc3eb82deeaec64fd3662ec.
|
|
6
|
+
* SPDX-License-Identifier: Apache-2.0 AND MIT
|
|
7
|
+
* Modified: mutable analysis context isolated from result models and pipeline.
|
|
8
|
+
*/
|
|
9
|
+
import { FunctionInfo, FileInformation, Nesting, Namespace, BARE_NESTING } from "./analysis-model.mjs";
|
|
10
|
+
/** The nesting stack that readers use to qualify and complete functions. */
|
|
11
|
+
export class NestingStack {
|
|
12
|
+
nestingStack = [];
|
|
13
|
+
pendingFunction;
|
|
14
|
+
/** Source-name aliases retain the mutable stack storage for decorators. */
|
|
15
|
+
get nesting_stack() {
|
|
16
|
+
return this.nestingStack;
|
|
17
|
+
}
|
|
18
|
+
set nesting_stack(value) {
|
|
19
|
+
this.nestingStack = value;
|
|
20
|
+
}
|
|
21
|
+
get pending_function() {
|
|
22
|
+
return this.pendingFunction;
|
|
23
|
+
}
|
|
24
|
+
set pending_function(value) {
|
|
25
|
+
this.pendingFunction = value;
|
|
26
|
+
}
|
|
27
|
+
withNamespace(name) {
|
|
28
|
+
return `${this.nestingStack.map((nesting) => nesting.nameInSpace).join("")}${name}`;
|
|
29
|
+
}
|
|
30
|
+
with_namespace(name) {
|
|
31
|
+
return this.withNamespace(name);
|
|
32
|
+
}
|
|
33
|
+
addBareNesting() {
|
|
34
|
+
this.nestingStack.push(this.createNesting());
|
|
35
|
+
}
|
|
36
|
+
add_bare_nesting() {
|
|
37
|
+
this.addBareNesting();
|
|
38
|
+
}
|
|
39
|
+
addNamespace(token) {
|
|
40
|
+
this.pendingFunction = undefined;
|
|
41
|
+
this.nestingStack.push(new Namespace(token));
|
|
42
|
+
}
|
|
43
|
+
add_namespace(token) {
|
|
44
|
+
this.addNamespace(token);
|
|
45
|
+
}
|
|
46
|
+
startNewFunctionNesting(functionInfo) {
|
|
47
|
+
this.pendingFunction = functionInfo;
|
|
48
|
+
}
|
|
49
|
+
start_new_function_nesting(functionInfo) {
|
|
50
|
+
this.startNewFunctionNesting(functionInfo);
|
|
51
|
+
}
|
|
52
|
+
popNesting() {
|
|
53
|
+
this.pendingFunction = undefined;
|
|
54
|
+
return this.nestingStack.pop();
|
|
55
|
+
}
|
|
56
|
+
pop_nesting() {
|
|
57
|
+
return this.popNesting();
|
|
58
|
+
}
|
|
59
|
+
get currentNestingLevel() {
|
|
60
|
+
return this.nestingStack.length;
|
|
61
|
+
}
|
|
62
|
+
get current_nesting_level() {
|
|
63
|
+
return this.currentNestingLevel;
|
|
64
|
+
}
|
|
65
|
+
get lastFunction() {
|
|
66
|
+
for (let index = this.nestingStack.length - 1; index >= 0; index -= 1) {
|
|
67
|
+
const nesting = this.nestingStack[index];
|
|
68
|
+
if (nesting instanceof FunctionInfo)
|
|
69
|
+
return nesting;
|
|
70
|
+
}
|
|
71
|
+
return undefined;
|
|
72
|
+
}
|
|
73
|
+
get last_function() {
|
|
74
|
+
return this.lastFunction;
|
|
75
|
+
}
|
|
76
|
+
createNesting() {
|
|
77
|
+
const pendingFunction = this.pendingFunction;
|
|
78
|
+
this.pendingFunction = undefined;
|
|
79
|
+
return pendingFunction ?? BARE_NESTING;
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* Reifies Python's decorator fallback for the finite NestingStack surface.
|
|
84
|
+
* A TypeScript decorator cannot implement Python's dynamic __getattr__, so we
|
|
85
|
+
* retain the decorated stack as the explicit fallback for source spellings.
|
|
86
|
+
*/
|
|
87
|
+
class SourceSpellingNestingStackAdapter {
|
|
88
|
+
decorated;
|
|
89
|
+
decoratedStackFallbacks;
|
|
90
|
+
constructor(decorated, decoratedStackFallbacks) {
|
|
91
|
+
this.decorated = decorated;
|
|
92
|
+
this.decoratedStackFallbacks = decoratedStackFallbacks;
|
|
93
|
+
}
|
|
94
|
+
get nesting_stack() {
|
|
95
|
+
return asNestingArray(this.read("nesting_stack", "nesting_stack"), "nesting_stack");
|
|
96
|
+
}
|
|
97
|
+
set nesting_stack(value) {
|
|
98
|
+
this.write("nesting_stack", value);
|
|
99
|
+
}
|
|
100
|
+
get pending_function() {
|
|
101
|
+
return asFunctionInfoOrUndefined(this.read("pending_function", "pending_function"), "pending_function");
|
|
102
|
+
}
|
|
103
|
+
set pending_function(value) {
|
|
104
|
+
this.write("pending_function", value);
|
|
105
|
+
}
|
|
106
|
+
withNamespace(name) {
|
|
107
|
+
return asString(this.call("withNamespace", "with_namespace", name), "withNamespace");
|
|
108
|
+
}
|
|
109
|
+
with_namespace(name) {
|
|
110
|
+
return asString(this.call("with_namespace", "withNamespace", name), "with_namespace");
|
|
111
|
+
}
|
|
112
|
+
addBareNesting() {
|
|
113
|
+
this.call("addBareNesting", "add_bare_nesting");
|
|
114
|
+
}
|
|
115
|
+
add_bare_nesting() {
|
|
116
|
+
this.call("add_bare_nesting", "addBareNesting");
|
|
117
|
+
}
|
|
118
|
+
addNamespace(token) {
|
|
119
|
+
this.call("addNamespace", "add_namespace", token);
|
|
120
|
+
}
|
|
121
|
+
add_namespace(token) {
|
|
122
|
+
this.call("add_namespace", "addNamespace", token);
|
|
123
|
+
}
|
|
124
|
+
startNewFunctionNesting(functionInfo) {
|
|
125
|
+
this.call("startNewFunctionNesting", "start_new_function_nesting", functionInfo);
|
|
126
|
+
}
|
|
127
|
+
start_new_function_nesting(functionInfo) {
|
|
128
|
+
this.call("start_new_function_nesting", "startNewFunctionNesting", functionInfo);
|
|
129
|
+
}
|
|
130
|
+
popNesting() {
|
|
131
|
+
return asNestingOrUndefined(this.call("popNesting", "pop_nesting"), "popNesting");
|
|
132
|
+
}
|
|
133
|
+
pop_nesting() {
|
|
134
|
+
return asNestingOrUndefined(this.call("pop_nesting", "popNesting"), "pop_nesting");
|
|
135
|
+
}
|
|
136
|
+
get currentNestingLevel() {
|
|
137
|
+
return asNumber(this.read("currentNestingLevel", "current_nesting_level"), "currentNestingLevel");
|
|
138
|
+
}
|
|
139
|
+
get current_nesting_level() {
|
|
140
|
+
return asNumber(this.read("current_nesting_level", "currentNestingLevel"), "current_nesting_level");
|
|
141
|
+
}
|
|
142
|
+
get lastFunction() {
|
|
143
|
+
return asFunctionInfoOrUndefined(this.read("lastFunction", "last_function"), "lastFunction");
|
|
144
|
+
}
|
|
145
|
+
get last_function() {
|
|
146
|
+
return asFunctionInfoOrUndefined(this.read("last_function", "lastFunction"), "last_function");
|
|
147
|
+
}
|
|
148
|
+
call(preferredName, fallbackName, ...arguments_) {
|
|
149
|
+
const member = this.findMember(preferredName, fallbackName);
|
|
150
|
+
if (member === undefined || typeof member.value !== "function") {
|
|
151
|
+
throw new TypeError(`Decorated NestingStack is missing callable ${preferredName}.`);
|
|
152
|
+
}
|
|
153
|
+
return Reflect.apply(member.value, member.owner, arguments_);
|
|
154
|
+
}
|
|
155
|
+
read(preferredName, fallbackName) {
|
|
156
|
+
const member = this.findMember(preferredName, fallbackName);
|
|
157
|
+
if (member === undefined) {
|
|
158
|
+
throw new TypeError(`Decorated NestingStack is missing ${preferredName}.`);
|
|
159
|
+
}
|
|
160
|
+
return member.value;
|
|
161
|
+
}
|
|
162
|
+
write(name, value) {
|
|
163
|
+
Reflect.set(this.decorated, name, value);
|
|
164
|
+
}
|
|
165
|
+
findMember(preferredName, fallbackName) {
|
|
166
|
+
const visited = new Set();
|
|
167
|
+
let candidate = this.decorated;
|
|
168
|
+
while (candidate !== undefined && !visited.has(candidate)) {
|
|
169
|
+
visited.add(candidate);
|
|
170
|
+
if (preferredName in candidate) {
|
|
171
|
+
return {
|
|
172
|
+
owner: candidate,
|
|
173
|
+
value: Reflect.get(candidate, preferredName)
|
|
174
|
+
};
|
|
175
|
+
}
|
|
176
|
+
if (fallbackName in candidate) {
|
|
177
|
+
return {
|
|
178
|
+
owner: candidate,
|
|
179
|
+
value: Reflect.get(candidate, fallbackName)
|
|
180
|
+
};
|
|
181
|
+
}
|
|
182
|
+
candidate = this.decoratedStackFallbacks.get(candidate);
|
|
183
|
+
}
|
|
184
|
+
return undefined;
|
|
185
|
+
}
|
|
186
|
+
}
|
|
187
|
+
function asNestingArray(value, name) {
|
|
188
|
+
if (isNestingArray(value))
|
|
189
|
+
return value;
|
|
190
|
+
throw new TypeError(`Decorated NestingStack ${name} is not an array.`);
|
|
191
|
+
}
|
|
192
|
+
function isNestingArray(value) {
|
|
193
|
+
return Array.isArray(value) && value.every((item) => item instanceof Nesting);
|
|
194
|
+
}
|
|
195
|
+
function asFunctionInfoOrUndefined(value, name) {
|
|
196
|
+
if (value === undefined || value instanceof FunctionInfo)
|
|
197
|
+
return value;
|
|
198
|
+
throw new TypeError(`Decorated NestingStack ${name} is not a FunctionInfo.`);
|
|
199
|
+
}
|
|
200
|
+
function asNestingOrUndefined(value, name) {
|
|
201
|
+
if (value === undefined || value instanceof Nesting)
|
|
202
|
+
return value;
|
|
203
|
+
throw new TypeError(`Decorated NestingStack ${name} did not return a Nesting.`);
|
|
204
|
+
}
|
|
205
|
+
function asNumber(value, name) {
|
|
206
|
+
if (typeof value === "number")
|
|
207
|
+
return value;
|
|
208
|
+
throw new TypeError(`Decorated NestingStack ${name} is not a number.`);
|
|
209
|
+
}
|
|
210
|
+
function asString(value, name) {
|
|
211
|
+
if (typeof value === "string")
|
|
212
|
+
return value;
|
|
213
|
+
throw new TypeError(`Decorated NestingStack ${name} did not return a string.`);
|
|
214
|
+
}
|
|
215
|
+
function asNestingStackAdapter(nestingStack, decoratedStackFallbacks) {
|
|
216
|
+
if (hasCompleteNestingStackSurface(nestingStack))
|
|
217
|
+
return nestingStack;
|
|
218
|
+
return new SourceSpellingNestingStackAdapter(nestingStack, decoratedStackFallbacks);
|
|
219
|
+
}
|
|
220
|
+
function hasCompleteNestingStackSurface(value) {
|
|
221
|
+
return [
|
|
222
|
+
"nesting_stack",
|
|
223
|
+
"pending_function",
|
|
224
|
+
"withNamespace",
|
|
225
|
+
"with_namespace",
|
|
226
|
+
"addBareNesting",
|
|
227
|
+
"add_bare_nesting",
|
|
228
|
+
"addNamespace",
|
|
229
|
+
"add_namespace",
|
|
230
|
+
"startNewFunctionNesting",
|
|
231
|
+
"start_new_function_nesting",
|
|
232
|
+
"popNesting",
|
|
233
|
+
"pop_nesting",
|
|
234
|
+
"currentNestingLevel",
|
|
235
|
+
"current_nesting_level",
|
|
236
|
+
"lastFunction",
|
|
237
|
+
"last_function"
|
|
238
|
+
].every((memberName) => memberName in value);
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* The reader context used to build one file and its function list. It keeps
|
|
242
|
+
* the mutable state that upstream readers intentionally share across stages.
|
|
243
|
+
*/
|
|
244
|
+
export class FileInfoBuilder {
|
|
245
|
+
fileinfo;
|
|
246
|
+
currentLine = 0;
|
|
247
|
+
forgive = false;
|
|
248
|
+
forgiveGlobal = false;
|
|
249
|
+
newline = true;
|
|
250
|
+
globalPseudoFunction;
|
|
251
|
+
currentFunction;
|
|
252
|
+
stackedFunctions = [];
|
|
253
|
+
nestingStack = new NestingStack();
|
|
254
|
+
decoratedStackFallbacks = new WeakMap();
|
|
255
|
+
constructor(filename) {
|
|
256
|
+
this.fileinfo = new FileInformation(filename, 0);
|
|
257
|
+
this.globalPseudoFunction = new FunctionInfo("*global*", filename, 0);
|
|
258
|
+
this.currentFunction = this.globalPseudoFunction;
|
|
259
|
+
}
|
|
260
|
+
/**
|
|
261
|
+
* These aliases preserve the source extension/context protocol while keeping
|
|
262
|
+
* a single mutable storage location for each analyzer value.
|
|
263
|
+
*/
|
|
264
|
+
get current_line() {
|
|
265
|
+
return this.currentLine;
|
|
266
|
+
}
|
|
267
|
+
set current_line(value) {
|
|
268
|
+
this.currentLine = value;
|
|
269
|
+
}
|
|
270
|
+
get forgive_global() {
|
|
271
|
+
return this.forgiveGlobal;
|
|
272
|
+
}
|
|
273
|
+
set forgive_global(value) {
|
|
274
|
+
this.forgiveGlobal = value;
|
|
275
|
+
}
|
|
276
|
+
get global_pseudo_function() {
|
|
277
|
+
return this.globalPseudoFunction;
|
|
278
|
+
}
|
|
279
|
+
set global_pseudo_function(value) {
|
|
280
|
+
this.globalPseudoFunction = value;
|
|
281
|
+
}
|
|
282
|
+
get current_function() {
|
|
283
|
+
return this.currentFunction;
|
|
284
|
+
}
|
|
285
|
+
set current_function(value) {
|
|
286
|
+
this.currentFunction = value;
|
|
287
|
+
}
|
|
288
|
+
get stacked_functions() {
|
|
289
|
+
return this.stackedFunctions;
|
|
290
|
+
}
|
|
291
|
+
set stacked_functions(value) {
|
|
292
|
+
this.stackedFunctions = value;
|
|
293
|
+
}
|
|
294
|
+
get _nesting_stack() {
|
|
295
|
+
return this.nestingStack;
|
|
296
|
+
}
|
|
297
|
+
set _nesting_stack(value) {
|
|
298
|
+
this.nestingStack = value;
|
|
299
|
+
}
|
|
300
|
+
withNamespace(name) {
|
|
301
|
+
return this.nestingStackAdapter.withNamespace(name);
|
|
302
|
+
}
|
|
303
|
+
with_namespace(name) {
|
|
304
|
+
return this.nestingStackAdapter.with_namespace(name);
|
|
305
|
+
}
|
|
306
|
+
addBareNesting() {
|
|
307
|
+
this.nestingStackAdapter.addBareNesting();
|
|
308
|
+
}
|
|
309
|
+
add_bare_nesting() {
|
|
310
|
+
this.nestingStackAdapter.add_bare_nesting();
|
|
311
|
+
}
|
|
312
|
+
addNamespace(token) {
|
|
313
|
+
this.nestingStackAdapter.addNamespace(token);
|
|
314
|
+
}
|
|
315
|
+
add_namespace(token) {
|
|
316
|
+
this.nestingStackAdapter.add_namespace(token);
|
|
317
|
+
}
|
|
318
|
+
startNewFunctionNesting(functionInfo) {
|
|
319
|
+
this.nestingStackAdapter.startNewFunctionNesting(functionInfo);
|
|
320
|
+
}
|
|
321
|
+
start_new_function_nesting(functionInfo) {
|
|
322
|
+
this.nestingStackAdapter.start_new_function_nesting(functionInfo);
|
|
323
|
+
}
|
|
324
|
+
get currentNestingLevel() {
|
|
325
|
+
return this.nestingStackAdapter.currentNestingLevel;
|
|
326
|
+
}
|
|
327
|
+
get current_nesting_level() {
|
|
328
|
+
return this.nestingStackAdapter.current_nesting_level;
|
|
329
|
+
}
|
|
330
|
+
get lastFunction() {
|
|
331
|
+
return this.nestingStackAdapter.lastFunction;
|
|
332
|
+
}
|
|
333
|
+
get last_function() {
|
|
334
|
+
return this.nestingStackAdapter.last_function;
|
|
335
|
+
}
|
|
336
|
+
/** Equivalent to Python's decorate_nesting_stack extension seam. */
|
|
337
|
+
decorateNestingStack(decorateClass) {
|
|
338
|
+
const previousNestingStack = this.nestingStack;
|
|
339
|
+
const decoratedNestingStack = new decorateClass(this.nestingStackAdapter);
|
|
340
|
+
this.decoratedStackFallbacks.set(decoratedNestingStack, previousNestingStack);
|
|
341
|
+
this.nestingStack = decoratedNestingStack;
|
|
342
|
+
return decoratedNestingStack;
|
|
343
|
+
}
|
|
344
|
+
decorate_nesting_stack(decorateClass) {
|
|
345
|
+
return this.decorateNestingStack(decorateClass);
|
|
346
|
+
}
|
|
347
|
+
popNesting() {
|
|
348
|
+
this.finishPoppedNesting(this.nestingStackAdapter.popNesting());
|
|
349
|
+
}
|
|
350
|
+
pop_nesting() {
|
|
351
|
+
this.finishPoppedNesting(this.nestingStackAdapter.pop_nesting());
|
|
352
|
+
}
|
|
353
|
+
finishPoppedNesting(nesting) {
|
|
354
|
+
if (!(nesting instanceof FunctionInfo))
|
|
355
|
+
return;
|
|
356
|
+
const endLine = this.currentFunction.endLine;
|
|
357
|
+
this.endOfFunction();
|
|
358
|
+
this.currentFunction = this.nestingStackAdapter.lastFunction ?? this.globalPseudoFunction;
|
|
359
|
+
this.currentFunction.endLine = endLine;
|
|
360
|
+
}
|
|
361
|
+
addNloc(count) {
|
|
362
|
+
this.fileinfo.nloc += count;
|
|
363
|
+
this.currentFunction.nloc += count;
|
|
364
|
+
this.currentFunction.endLine = this.currentLine;
|
|
365
|
+
this.newline = count > 0;
|
|
366
|
+
}
|
|
367
|
+
add_nloc(count) {
|
|
368
|
+
this.addNloc(count);
|
|
369
|
+
}
|
|
370
|
+
tryNewFunction(name) {
|
|
371
|
+
this.currentFunction = new FunctionInfo(this.withNamespace(name), this.fileinfo.filename, this.currentLine);
|
|
372
|
+
this.currentFunction.topNestingLevel = this.currentNestingLevel;
|
|
373
|
+
}
|
|
374
|
+
try_new_function(name) {
|
|
375
|
+
this.tryNewFunction(name);
|
|
376
|
+
}
|
|
377
|
+
confirmNewFunction() {
|
|
378
|
+
this.startNewFunctionNesting(this.currentFunction);
|
|
379
|
+
this.currentFunction.cyclomaticComplexity = 1;
|
|
380
|
+
}
|
|
381
|
+
confirm_new_function() {
|
|
382
|
+
this.confirmNewFunction();
|
|
383
|
+
}
|
|
384
|
+
restartNewFunction(name) {
|
|
385
|
+
this.tryNewFunction(name);
|
|
386
|
+
this.confirmNewFunction();
|
|
387
|
+
}
|
|
388
|
+
restart_new_function(name) {
|
|
389
|
+
this.restartNewFunction(name);
|
|
390
|
+
}
|
|
391
|
+
pushNewFunction(name) {
|
|
392
|
+
this.stackedFunctions.push(this.currentFunction);
|
|
393
|
+
this.restartNewFunction(name);
|
|
394
|
+
}
|
|
395
|
+
push_new_function(name) {
|
|
396
|
+
this.pushNewFunction(name);
|
|
397
|
+
}
|
|
398
|
+
addCondition(increment = 1) {
|
|
399
|
+
this.currentFunction.cyclomaticComplexity += increment;
|
|
400
|
+
}
|
|
401
|
+
add_condition(increment = 1) {
|
|
402
|
+
this.addCondition(increment);
|
|
403
|
+
}
|
|
404
|
+
/** Source lizardnd.py's monkey-patched FileInfoBuilder method surface. */
|
|
405
|
+
addNdCondition(increment = 1) {
|
|
406
|
+
this.currentFunction.nestingDepth += increment;
|
|
407
|
+
const nestingDepth = this.currentFunction.nestingDepth;
|
|
408
|
+
if (this.currentFunction.maxNestingDepth < nestingDepth) {
|
|
409
|
+
this.currentFunction.maxNestingDepth = nestingDepth;
|
|
410
|
+
}
|
|
411
|
+
return nestingDepth;
|
|
412
|
+
}
|
|
413
|
+
add_nd_condition(increment = 1) {
|
|
414
|
+
return this.addNdCondition(increment);
|
|
415
|
+
}
|
|
416
|
+
resetNdComplexity() {
|
|
417
|
+
this.currentFunction.nestingDepth = 0;
|
|
418
|
+
this.currentFunction.hiddenBracket = 0;
|
|
419
|
+
this.currentFunction.bracketLoop = false;
|
|
420
|
+
this.currentFunction.prevWasElse = false;
|
|
421
|
+
this.resetConditionTracking();
|
|
422
|
+
}
|
|
423
|
+
reset_nd_complexity() {
|
|
424
|
+
this.resetNdComplexity();
|
|
425
|
+
}
|
|
426
|
+
addHiddenBracketCondition(increment = 1) {
|
|
427
|
+
this.currentFunction.hiddenBracket += increment;
|
|
428
|
+
}
|
|
429
|
+
add_hidden_bracket_condition(increment = 1) {
|
|
430
|
+
this.addHiddenBracketCondition(increment);
|
|
431
|
+
}
|
|
432
|
+
getHiddenBracket() {
|
|
433
|
+
return this.currentFunction.hiddenBracket;
|
|
434
|
+
}
|
|
435
|
+
get_hidden_bracket() {
|
|
436
|
+
return this.getHiddenBracket();
|
|
437
|
+
}
|
|
438
|
+
loopBracketStatus() {
|
|
439
|
+
this.currentFunction.bracketLoop = !this.currentFunction.bracketLoop;
|
|
440
|
+
}
|
|
441
|
+
loop_bracket_status() {
|
|
442
|
+
this.loopBracketStatus();
|
|
443
|
+
}
|
|
444
|
+
getLoopStatus() {
|
|
445
|
+
return this.currentFunction.bracketLoop;
|
|
446
|
+
}
|
|
447
|
+
get_loop_status() {
|
|
448
|
+
return this.getLoopStatus();
|
|
449
|
+
}
|
|
450
|
+
setInCondition(inCondition) {
|
|
451
|
+
this.currentFunction.inCondition = inCondition;
|
|
452
|
+
}
|
|
453
|
+
set_in_condition(inCondition) {
|
|
454
|
+
this.setInCondition(inCondition);
|
|
455
|
+
}
|
|
456
|
+
getInCondition() {
|
|
457
|
+
return this.currentFunction.inCondition;
|
|
458
|
+
}
|
|
459
|
+
get_in_condition() {
|
|
460
|
+
return this.getInCondition();
|
|
461
|
+
}
|
|
462
|
+
incrementConditionDepth() {
|
|
463
|
+
this.currentFunction.conditionDepth += 1;
|
|
464
|
+
}
|
|
465
|
+
increment_condition_depth() {
|
|
466
|
+
this.incrementConditionDepth();
|
|
467
|
+
}
|
|
468
|
+
decrementConditionDepth() {
|
|
469
|
+
if (this.currentFunction.conditionDepth > 0)
|
|
470
|
+
this.currentFunction.conditionDepth -= 1;
|
|
471
|
+
}
|
|
472
|
+
decrement_condition_depth() {
|
|
473
|
+
this.decrementConditionDepth();
|
|
474
|
+
}
|
|
475
|
+
getConditionDepth() {
|
|
476
|
+
return this.currentFunction.conditionDepth;
|
|
477
|
+
}
|
|
478
|
+
get_condition_depth() {
|
|
479
|
+
return this.getConditionDepth();
|
|
480
|
+
}
|
|
481
|
+
resetConditionTracking() {
|
|
482
|
+
this.currentFunction.inCondition = false;
|
|
483
|
+
this.currentFunction.conditionDepth = 0;
|
|
484
|
+
this.currentFunction.logicalOperatorAdded = false;
|
|
485
|
+
}
|
|
486
|
+
reset_condition_tracking() {
|
|
487
|
+
this.resetConditionTracking();
|
|
488
|
+
}
|
|
489
|
+
setLogicalOperatorAdded(added) {
|
|
490
|
+
this.currentFunction.logicalOperatorAdded = added;
|
|
491
|
+
}
|
|
492
|
+
set_logical_operator_added(added) {
|
|
493
|
+
this.setLogicalOperatorAdded(added);
|
|
494
|
+
}
|
|
495
|
+
getLogicalOperatorAdded() {
|
|
496
|
+
return this.currentFunction.logicalOperatorAdded;
|
|
497
|
+
}
|
|
498
|
+
get_logical_operator_added() {
|
|
499
|
+
return this.getLogicalOperatorAdded();
|
|
500
|
+
}
|
|
501
|
+
setPrevWasElse(value) {
|
|
502
|
+
this.currentFunction.prevWasElse = value;
|
|
503
|
+
}
|
|
504
|
+
set_prev_was_else(value) {
|
|
505
|
+
this.setPrevWasElse(value);
|
|
506
|
+
}
|
|
507
|
+
getPrevWasElse() {
|
|
508
|
+
return this.currentFunction.prevWasElse;
|
|
509
|
+
}
|
|
510
|
+
get_prev_was_else() {
|
|
511
|
+
return this.getPrevWasElse();
|
|
512
|
+
}
|
|
513
|
+
clearPrevWasElse() {
|
|
514
|
+
this.currentFunction.prevWasElse = false;
|
|
515
|
+
}
|
|
516
|
+
clear_prev_was_else() {
|
|
517
|
+
this.clearPrevWasElse();
|
|
518
|
+
}
|
|
519
|
+
addToLongFunctionName(appended) {
|
|
520
|
+
this.currentFunction.addToLongName(appended);
|
|
521
|
+
}
|
|
522
|
+
add_to_long_function_name(appended) {
|
|
523
|
+
this.addToLongFunctionName(appended);
|
|
524
|
+
}
|
|
525
|
+
addToFunctionName(appended) {
|
|
526
|
+
this.currentFunction.addToFunctionName(appended);
|
|
527
|
+
}
|
|
528
|
+
add_to_function_name(appended) {
|
|
529
|
+
this.addToFunctionName(appended);
|
|
530
|
+
}
|
|
531
|
+
parameter(token) {
|
|
532
|
+
this.currentFunction.addParameter(token);
|
|
533
|
+
}
|
|
534
|
+
endOfFunction() {
|
|
535
|
+
if (!this.forgive) {
|
|
536
|
+
if (this.currentFunction.name !== "*global*" || !this.forgiveGlobal) {
|
|
537
|
+
this.fileinfo.functionList.push(this.currentFunction);
|
|
538
|
+
}
|
|
539
|
+
}
|
|
540
|
+
this.forgive = false;
|
|
541
|
+
this.currentFunction = this.stackedFunctions.pop() ?? this.globalPseudoFunction;
|
|
542
|
+
}
|
|
543
|
+
end_of_function() {
|
|
544
|
+
this.endOfFunction();
|
|
545
|
+
}
|
|
546
|
+
get nestingStackAdapter() {
|
|
547
|
+
return asNestingStackAdapter(this.nestingStack, this.decoratedStackFallbacks);
|
|
548
|
+
}
|
|
549
|
+
}
|
|
550
|
+
//# sourceMappingURL=analysis-context.mjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"analysis-context.mjs","sourceRoot":"","sources":["../../../../../src/package-checks/function-metrics/analyzer/analysis-context.ts"],"names":[],"mappings":"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","sourcesContent":["/**\n * Derived from terryyin/lizard 1.24.0.\n * Sources: lizard.py nesting stack and FileInfoBuilder lifecycle;\n * lizard_ext/lizardnd.py typed FileInfoBuilder lifecycle seam.\n * Upstream revision: 308b1c3efd8c1c69bcc3eb82deeaec64fd3662ec.\n * SPDX-License-Identifier: Apache-2.0 AND MIT\n * Modified: mutable analysis context isolated from result models and pipeline.\n */\n\nimport {\n FunctionInfo,\n FileInformation,\n Nesting,\n Namespace,\n BARE_NESTING\n} from \"./analysis-model.ts\";\n\nexport interface NestingStackLike {\n withNamespace(name: string): string;\n addBareNesting(): void;\n addNamespace(token: string): void;\n startNewFunctionNesting(functionInfo: FunctionInfo): void;\n popNesting(): Nesting | undefined;\n readonly currentNestingLevel: number;\n readonly lastFunction: FunctionInfo | undefined;\n}\n\n/**\n * The source spelling exposed by Python's FileInfoBuilder.__getattr__.\n *\n * A translated extension may only implement the methods it decorates, as\n * lizardduplicate's NestingStackWithUnifiedTokens does. The adapter below\n * supplies all remaining names from its wrapped stack just like __getattr__.\n */\nexport interface SourceNestingStackLike {\n nesting_stack: Nesting[];\n pending_function: FunctionInfo | undefined;\n with_namespace(name: string): string;\n add_bare_nesting(): void;\n add_namespace(token: string): void;\n start_new_function_nesting(functionInfo: FunctionInfo): void;\n pop_nesting(): Nesting | undefined;\n readonly current_nesting_level: number;\n readonly last_function: FunctionInfo | undefined;\n}\n\n/** The complete spelling bridge passed to source-aligned nesting decorators. */\nexport interface NestingStackAdapter extends NestingStackLike, SourceNestingStackLike {}\n\n/** A source-aligned nesting-stack decorator constructor. */\nexport interface NestingStackDecorator<Decorated extends object = NestingStackLike> {\n new (decorated: NestingStackAdapter): Decorated;\n}\n\n/** The nesting stack that readers use to qualify and complete functions. */\nexport class NestingStack implements NestingStackAdapter {\n private nestingStack: Nesting[] = [];\n private pendingFunction: FunctionInfo | undefined;\n\n /** Source-name aliases retain the mutable stack storage for decorators. */\n public get nesting_stack(): Nesting[] {\n return this.nestingStack;\n }\n\n public set nesting_stack(value: Nesting[]) {\n this.nestingStack = value;\n }\n\n public get pending_function(): FunctionInfo | undefined {\n return this.pendingFunction;\n }\n\n public set pending_function(value: FunctionInfo | undefined) {\n this.pendingFunction = value;\n }\n\n public withNamespace(name: string): string {\n return `${this.nestingStack.map((nesting) => nesting.nameInSpace).join(\"\")}${name}`;\n }\n\n public with_namespace(name: string): string {\n return this.withNamespace(name);\n }\n\n public addBareNesting(): void {\n this.nestingStack.push(this.createNesting());\n }\n\n public add_bare_nesting(): void {\n this.addBareNesting();\n }\n\n public addNamespace(token: string): void {\n this.pendingFunction = undefined;\n this.nestingStack.push(new Namespace(token));\n }\n\n public add_namespace(token: string): void {\n this.addNamespace(token);\n }\n\n public startNewFunctionNesting(functionInfo: FunctionInfo): void {\n this.pendingFunction = functionInfo;\n }\n\n public start_new_function_nesting(functionInfo: FunctionInfo): void {\n this.startNewFunctionNesting(functionInfo);\n }\n\n public popNesting(): Nesting | undefined {\n this.pendingFunction = undefined;\n return this.nestingStack.pop();\n }\n\n public pop_nesting(): Nesting | undefined {\n return this.popNesting();\n }\n\n public get currentNestingLevel(): number {\n return this.nestingStack.length;\n }\n\n public get current_nesting_level(): number {\n return this.currentNestingLevel;\n }\n\n public get lastFunction(): FunctionInfo | undefined {\n for (let index = this.nestingStack.length - 1; index >= 0; index -= 1) {\n const nesting = this.nestingStack[index];\n if (nesting instanceof FunctionInfo) return nesting;\n }\n return undefined;\n }\n\n public get last_function(): FunctionInfo | undefined {\n return this.lastFunction;\n }\n\n private createNesting(): Nesting {\n const pendingFunction = this.pendingFunction;\n this.pendingFunction = undefined;\n return pendingFunction ?? BARE_NESTING;\n }\n}\n\n/**\n * Reifies Python's decorator fallback for the finite NestingStack surface.\n * A TypeScript decorator cannot implement Python's dynamic __getattr__, so we\n * retain the decorated stack as the explicit fallback for source spellings.\n */\nclass SourceSpellingNestingStackAdapter implements NestingStackAdapter {\n private readonly decorated: object;\n private readonly decoratedStackFallbacks: WeakMap<object, object>;\n\n public constructor(decorated: object, decoratedStackFallbacks: WeakMap<object, object>) {\n this.decorated = decorated;\n this.decoratedStackFallbacks = decoratedStackFallbacks;\n }\n\n public get nesting_stack(): Nesting[] {\n return asNestingArray(this.read(\"nesting_stack\", \"nesting_stack\"), \"nesting_stack\");\n }\n\n public set nesting_stack(value: Nesting[]) {\n this.write(\"nesting_stack\", value);\n }\n\n public get pending_function(): FunctionInfo | undefined {\n return asFunctionInfoOrUndefined(\n this.read(\"pending_function\", \"pending_function\"),\n \"pending_function\"\n );\n }\n\n public set pending_function(value: FunctionInfo | undefined) {\n this.write(\"pending_function\", value);\n }\n\n public withNamespace(name: string): string {\n return asString(this.call(\"withNamespace\", \"with_namespace\", name), \"withNamespace\");\n }\n\n public with_namespace(name: string): string {\n return asString(this.call(\"with_namespace\", \"withNamespace\", name), \"with_namespace\");\n }\n\n public addBareNesting(): void {\n this.call(\"addBareNesting\", \"add_bare_nesting\");\n }\n\n public add_bare_nesting(): void {\n this.call(\"add_bare_nesting\", \"addBareNesting\");\n }\n\n public addNamespace(token: string): void {\n this.call(\"addNamespace\", \"add_namespace\", token);\n }\n\n public add_namespace(token: string): void {\n this.call(\"add_namespace\", \"addNamespace\", token);\n }\n\n public startNewFunctionNesting(functionInfo: FunctionInfo): void {\n this.call(\"startNewFunctionNesting\", \"start_new_function_nesting\", functionInfo);\n }\n\n public start_new_function_nesting(functionInfo: FunctionInfo): void {\n this.call(\"start_new_function_nesting\", \"startNewFunctionNesting\", functionInfo);\n }\n\n public popNesting(): Nesting | undefined {\n return asNestingOrUndefined(this.call(\"popNesting\", \"pop_nesting\"), \"popNesting\");\n }\n\n public pop_nesting(): Nesting | undefined {\n return asNestingOrUndefined(this.call(\"pop_nesting\", \"popNesting\"), \"pop_nesting\");\n }\n\n public get currentNestingLevel(): number {\n return asNumber(\n this.read(\"currentNestingLevel\", \"current_nesting_level\"),\n \"currentNestingLevel\"\n );\n }\n\n public get current_nesting_level(): number {\n return asNumber(\n this.read(\"current_nesting_level\", \"currentNestingLevel\"),\n \"current_nesting_level\"\n );\n }\n\n public get lastFunction(): FunctionInfo | undefined {\n return asFunctionInfoOrUndefined(this.read(\"lastFunction\", \"last_function\"), \"lastFunction\");\n }\n\n public get last_function(): FunctionInfo | undefined {\n return asFunctionInfoOrUndefined(this.read(\"last_function\", \"lastFunction\"), \"last_function\");\n }\n\n private call(preferredName: string, fallbackName: string, ...arguments_: unknown[]): unknown {\n const member = this.findMember(preferredName, fallbackName);\n if (member === undefined || typeof member.value !== \"function\") {\n throw new TypeError(`Decorated NestingStack is missing callable ${preferredName}.`);\n }\n return Reflect.apply(member.value, member.owner, arguments_);\n }\n\n private read(preferredName: string, fallbackName: string): unknown {\n const member = this.findMember(preferredName, fallbackName);\n if (member === undefined) {\n throw new TypeError(`Decorated NestingStack is missing ${preferredName}.`);\n }\n return member.value;\n }\n\n private write(name: string, value: unknown): void {\n Reflect.set(this.decorated, name, value);\n }\n\n private findMember(preferredName: string, fallbackName: string): NestingStackMember | undefined {\n const visited = new Set<object>();\n let candidate: object | undefined = this.decorated;\n\n while (candidate !== undefined && !visited.has(candidate)) {\n visited.add(candidate);\n if (preferredName in candidate) {\n return {\n owner: candidate,\n value: Reflect.get(candidate, preferredName)\n };\n }\n if (fallbackName in candidate) {\n return {\n owner: candidate,\n value: Reflect.get(candidate, fallbackName)\n };\n }\n candidate = this.decoratedStackFallbacks.get(candidate);\n }\n\n return undefined;\n }\n}\n\ninterface NestingStackMember {\n readonly owner: object;\n readonly value: unknown;\n}\n\nfunction asNestingArray(value: unknown, name: string): Nesting[] {\n if (isNestingArray(value)) return value;\n throw new TypeError(`Decorated NestingStack ${name} is not an array.`);\n}\n\nfunction isNestingArray(value: unknown): value is Nesting[] {\n return Array.isArray(value) && value.every((item) => item instanceof Nesting);\n}\n\nfunction asFunctionInfoOrUndefined(value: unknown, name: string): FunctionInfo | undefined {\n if (value === undefined || value instanceof FunctionInfo) return value;\n throw new TypeError(`Decorated NestingStack ${name} is not a FunctionInfo.`);\n}\n\nfunction asNestingOrUndefined(value: unknown, name: string): Nesting | undefined {\n if (value === undefined || value instanceof Nesting) return value;\n throw new TypeError(`Decorated NestingStack ${name} did not return a Nesting.`);\n}\n\nfunction asNumber(value: unknown, name: string): number {\n if (typeof value === \"number\") return value;\n throw new TypeError(`Decorated NestingStack ${name} is not a number.`);\n}\n\nfunction asString(value: unknown, name: string): string {\n if (typeof value === \"string\") return value;\n throw new TypeError(`Decorated NestingStack ${name} did not return a string.`);\n}\n\nfunction asNestingStackAdapter(\n nestingStack: object,\n decoratedStackFallbacks: WeakMap<object, object>\n): NestingStackAdapter {\n if (hasCompleteNestingStackSurface(nestingStack)) return nestingStack;\n return new SourceSpellingNestingStackAdapter(nestingStack, decoratedStackFallbacks);\n}\n\nfunction hasCompleteNestingStackSurface(value: object): value is NestingStackAdapter {\n return [\n \"nesting_stack\",\n \"pending_function\",\n \"withNamespace\",\n \"with_namespace\",\n \"addBareNesting\",\n \"add_bare_nesting\",\n \"addNamespace\",\n \"add_namespace\",\n \"startNewFunctionNesting\",\n \"start_new_function_nesting\",\n \"popNesting\",\n \"pop_nesting\",\n \"currentNestingLevel\",\n \"current_nesting_level\",\n \"lastFunction\",\n \"last_function\"\n ].every((memberName) => memberName in value);\n}\n\n/**\n * The reader context used to build one file and its function list. It keeps\n * the mutable state that upstream readers intentionally share across stages.\n */\nexport class FileInfoBuilder {\n public fileinfo: FileInformation;\n public currentLine = 0;\n public forgive = false;\n public forgiveGlobal = false;\n public newline = true;\n public globalPseudoFunction: FunctionInfo;\n public currentFunction: FunctionInfo;\n public stackedFunctions: FunctionInfo[] = [];\n private nestingStack: object = new NestingStack();\n private readonly decoratedStackFallbacks = new WeakMap<object, object>();\n\n public constructor(filename: string) {\n this.fileinfo = new FileInformation(filename, 0);\n this.globalPseudoFunction = new FunctionInfo(\"*global*\", filename, 0);\n this.currentFunction = this.globalPseudoFunction;\n }\n\n /**\n * These aliases preserve the source extension/context protocol while keeping\n * a single mutable storage location for each analyzer value.\n */\n public get current_line(): number {\n return this.currentLine;\n }\n\n public set current_line(value: number) {\n this.currentLine = value;\n }\n\n public get forgive_global(): boolean {\n return this.forgiveGlobal;\n }\n\n public set forgive_global(value: boolean) {\n this.forgiveGlobal = value;\n }\n\n public get global_pseudo_function(): FunctionInfo {\n return this.globalPseudoFunction;\n }\n\n public set global_pseudo_function(value: FunctionInfo) {\n this.globalPseudoFunction = value;\n }\n\n public get current_function(): FunctionInfo {\n return this.currentFunction;\n }\n\n public set current_function(value: FunctionInfo) {\n this.currentFunction = value;\n }\n\n public get stacked_functions(): FunctionInfo[] {\n return this.stackedFunctions;\n }\n\n public set stacked_functions(value: FunctionInfo[]) {\n this.stackedFunctions = value;\n }\n\n public get _nesting_stack(): object {\n return this.nestingStack;\n }\n\n public set _nesting_stack(value: object) {\n this.nestingStack = value;\n }\n\n public withNamespace(name: string): string {\n return this.nestingStackAdapter.withNamespace(name);\n }\n\n public with_namespace(name: string): string {\n return this.nestingStackAdapter.with_namespace(name);\n }\n\n public addBareNesting(): void {\n this.nestingStackAdapter.addBareNesting();\n }\n\n public add_bare_nesting(): void {\n this.nestingStackAdapter.add_bare_nesting();\n }\n\n public addNamespace(token: string): void {\n this.nestingStackAdapter.addNamespace(token);\n }\n\n public add_namespace(token: string): void {\n this.nestingStackAdapter.add_namespace(token);\n }\n\n public startNewFunctionNesting(functionInfo: FunctionInfo): void {\n this.nestingStackAdapter.startNewFunctionNesting(functionInfo);\n }\n\n public start_new_function_nesting(functionInfo: FunctionInfo): void {\n this.nestingStackAdapter.start_new_function_nesting(functionInfo);\n }\n\n public get currentNestingLevel(): number {\n return this.nestingStackAdapter.currentNestingLevel;\n }\n\n public get current_nesting_level(): number {\n return this.nestingStackAdapter.current_nesting_level;\n }\n\n public get lastFunction(): FunctionInfo | undefined {\n return this.nestingStackAdapter.lastFunction;\n }\n\n public get last_function(): FunctionInfo | undefined {\n return this.nestingStackAdapter.last_function;\n }\n\n /** Equivalent to Python's decorate_nesting_stack extension seam. */\n public decorateNestingStack<Decorated extends object>(\n decorateClass: NestingStackDecorator<Decorated>\n ): Decorated {\n const previousNestingStack = this.nestingStack;\n const decoratedNestingStack = new decorateClass(this.nestingStackAdapter);\n this.decoratedStackFallbacks.set(decoratedNestingStack, previousNestingStack);\n this.nestingStack = decoratedNestingStack;\n return decoratedNestingStack;\n }\n\n public decorate_nesting_stack<Decorated extends object>(\n decorateClass: NestingStackDecorator<Decorated>\n ): Decorated {\n return this.decorateNestingStack(decorateClass);\n }\n\n public popNesting(): void {\n this.finishPoppedNesting(this.nestingStackAdapter.popNesting());\n }\n\n public pop_nesting(): void {\n this.finishPoppedNesting(this.nestingStackAdapter.pop_nesting());\n }\n\n private finishPoppedNesting(nesting: Nesting | undefined): void {\n if (!(nesting instanceof FunctionInfo)) return;\n\n const endLine = this.currentFunction.endLine;\n this.endOfFunction();\n this.currentFunction = this.nestingStackAdapter.lastFunction ?? this.globalPseudoFunction;\n this.currentFunction.endLine = endLine;\n }\n\n public addNloc(count: number): void {\n this.fileinfo.nloc += count;\n this.currentFunction.nloc += count;\n this.currentFunction.endLine = this.currentLine;\n this.newline = count > 0;\n }\n\n public add_nloc(count: number): void {\n this.addNloc(count);\n }\n\n public tryNewFunction(name: string): void {\n this.currentFunction = new FunctionInfo(\n this.withNamespace(name),\n this.fileinfo.filename,\n this.currentLine\n );\n this.currentFunction.topNestingLevel = this.currentNestingLevel;\n }\n\n public try_new_function(name: string): void {\n this.tryNewFunction(name);\n }\n\n public confirmNewFunction(): void {\n this.startNewFunctionNesting(this.currentFunction);\n this.currentFunction.cyclomaticComplexity = 1;\n }\n\n public confirm_new_function(): void {\n this.confirmNewFunction();\n }\n\n public restartNewFunction(name: string): void {\n this.tryNewFunction(name);\n this.confirmNewFunction();\n }\n\n public restart_new_function(name: string): void {\n this.restartNewFunction(name);\n }\n\n public pushNewFunction(name: string): void {\n this.stackedFunctions.push(this.currentFunction);\n this.restartNewFunction(name);\n }\n\n public push_new_function(name: string): void {\n this.pushNewFunction(name);\n }\n\n public addCondition(increment = 1): void {\n this.currentFunction.cyclomaticComplexity += increment;\n }\n\n public add_condition(increment = 1): void {\n this.addCondition(increment);\n }\n\n /** Source lizardnd.py's monkey-patched FileInfoBuilder method surface. */\n public addNdCondition(increment = 1): number {\n this.currentFunction.nestingDepth += increment;\n const nestingDepth = this.currentFunction.nestingDepth;\n if (this.currentFunction.maxNestingDepth < nestingDepth) {\n this.currentFunction.maxNestingDepth = nestingDepth;\n }\n return nestingDepth;\n }\n\n public add_nd_condition(increment = 1): number {\n return this.addNdCondition(increment);\n }\n\n public resetNdComplexity(): void {\n this.currentFunction.nestingDepth = 0;\n this.currentFunction.hiddenBracket = 0;\n this.currentFunction.bracketLoop = false;\n this.currentFunction.prevWasElse = false;\n this.resetConditionTracking();\n }\n\n public reset_nd_complexity(): void {\n this.resetNdComplexity();\n }\n\n public addHiddenBracketCondition(increment = 1): void {\n this.currentFunction.hiddenBracket += increment;\n }\n\n public add_hidden_bracket_condition(increment = 1): void {\n this.addHiddenBracketCondition(increment);\n }\n\n public getHiddenBracket(): number {\n return this.currentFunction.hiddenBracket;\n }\n\n public get_hidden_bracket(): number {\n return this.getHiddenBracket();\n }\n\n public loopBracketStatus(): void {\n this.currentFunction.bracketLoop = !this.currentFunction.bracketLoop;\n }\n\n public loop_bracket_status(): void {\n this.loopBracketStatus();\n }\n\n public getLoopStatus(): boolean {\n return this.currentFunction.bracketLoop;\n }\n\n public get_loop_status(): boolean {\n return this.getLoopStatus();\n }\n\n public setInCondition(inCondition: boolean): void {\n this.currentFunction.inCondition = inCondition;\n }\n\n public set_in_condition(inCondition: boolean): void {\n this.setInCondition(inCondition);\n }\n\n public getInCondition(): boolean {\n return this.currentFunction.inCondition;\n }\n\n public get_in_condition(): boolean {\n return this.getInCondition();\n }\n\n public incrementConditionDepth(): void {\n this.currentFunction.conditionDepth += 1;\n }\n\n public increment_condition_depth(): void {\n this.incrementConditionDepth();\n }\n\n public decrementConditionDepth(): void {\n if (this.currentFunction.conditionDepth > 0) this.currentFunction.conditionDepth -= 1;\n }\n\n public decrement_condition_depth(): void {\n this.decrementConditionDepth();\n }\n\n public getConditionDepth(): number {\n return this.currentFunction.conditionDepth;\n }\n\n public get_condition_depth(): number {\n return this.getConditionDepth();\n }\n\n public resetConditionTracking(): void {\n this.currentFunction.inCondition = false;\n this.currentFunction.conditionDepth = 0;\n this.currentFunction.logicalOperatorAdded = false;\n }\n\n public reset_condition_tracking(): void {\n this.resetConditionTracking();\n }\n\n public setLogicalOperatorAdded(added: boolean): void {\n this.currentFunction.logicalOperatorAdded = added;\n }\n\n public set_logical_operator_added(added: boolean): void {\n this.setLogicalOperatorAdded(added);\n }\n\n public getLogicalOperatorAdded(): boolean {\n return this.currentFunction.logicalOperatorAdded;\n }\n\n public get_logical_operator_added(): boolean {\n return this.getLogicalOperatorAdded();\n }\n\n public setPrevWasElse(value: boolean): void {\n this.currentFunction.prevWasElse = value;\n }\n\n public set_prev_was_else(value: boolean): void {\n this.setPrevWasElse(value);\n }\n\n public getPrevWasElse(): boolean {\n return this.currentFunction.prevWasElse;\n }\n\n public get_prev_was_else(): boolean {\n return this.getPrevWasElse();\n }\n\n public clearPrevWasElse(): void {\n this.currentFunction.prevWasElse = false;\n }\n\n public clear_prev_was_else(): void {\n this.clearPrevWasElse();\n }\n\n public addToLongFunctionName(appended: string): void {\n this.currentFunction.addToLongName(appended);\n }\n\n public add_to_long_function_name(appended: string): void {\n this.addToLongFunctionName(appended);\n }\n\n public addToFunctionName(appended: string): void {\n this.currentFunction.addToFunctionName(appended);\n }\n\n public add_to_function_name(appended: string): void {\n this.addToFunctionName(appended);\n }\n\n public parameter(token: string): void {\n this.currentFunction.addParameter(token);\n }\n\n public endOfFunction(): void {\n if (!this.forgive) {\n if (this.currentFunction.name !== \"*global*\" || !this.forgiveGlobal) {\n this.fileinfo.functionList.push(this.currentFunction);\n }\n }\n this.forgive = false;\n this.currentFunction = this.stackedFunctions.pop() ?? this.globalPseudoFunction;\n }\n\n public end_of_function(): void {\n this.endOfFunction();\n }\n\n private get nestingStackAdapter(): NestingStackAdapter {\n return asNestingStackAdapter(this.nestingStack, this.decoratedStackFallbacks);\n }\n}\n"]}
|