@dommaker/harness 1.6.0 → 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +52 -0
- package/bin/harness.js +17 -1
- package/dist/agents/index.d.ts +6 -2
- package/dist/agents/index.d.ts.map +1 -1
- package/dist/agents/index.js +6 -16
- package/dist/agents/index.js.map +1 -1
- package/dist/cli/commands/__tests__/gate-decision.d.ts +18 -0
- package/dist/cli/commands/__tests__/gate-decision.d.ts.map +1 -0
- package/dist/cli/commands/__tests__/gate-decision.js +26 -0
- package/dist/cli/commands/__tests__/gate-decision.js.map +1 -0
- package/dist/cli/commands/acceptance.d.ts.map +1 -1
- package/dist/cli/commands/acceptance.js +17 -28
- package/dist/cli/commands/acceptance.js.map +1 -1
- package/dist/cli/commands/check.d.ts +11 -3
- package/dist/cli/commands/check.d.ts.map +1 -1
- package/dist/cli/commands/check.js +26 -11
- package/dist/cli/commands/check.js.map +1 -1
- package/dist/cli/commands/command.d.ts +0 -1
- package/dist/cli/commands/command.d.ts.map +1 -1
- package/dist/cli/commands/command.js +8 -6
- package/dist/cli/commands/command.js.map +1 -1
- package/dist/cli/commands/constraints-retire.d.ts.map +1 -1
- package/dist/cli/commands/constraints-retire.js +36 -57
- package/dist/cli/commands/constraints-retire.js.map +1 -1
- package/dist/cli/commands/contract.d.ts.map +1 -1
- package/dist/cli/commands/contract.js +36 -42
- package/dist/cli/commands/contract.js.map +1 -1
- package/dist/cli/commands/definitions.d.ts +2 -0
- package/dist/cli/commands/definitions.d.ts.map +1 -1
- package/dist/cli/commands/definitions.js +11 -6
- package/dist/cli/commands/definitions.js.map +1 -1
- package/dist/cli/commands/failure.d.ts.map +1 -1
- package/dist/cli/commands/failure.js +16 -2
- package/dist/cli/commands/failure.js.map +1 -1
- package/dist/cli/commands/init.d.ts +14 -8
- package/dist/cli/commands/init.d.ts.map +1 -1
- package/dist/cli/commands/init.js +172 -364
- package/dist/cli/commands/init.js.map +1 -1
- package/dist/cli/commands/knowledge-view.d.ts +90 -0
- package/dist/cli/commands/knowledge-view.d.ts.map +1 -0
- package/dist/cli/commands/knowledge-view.js +198 -0
- package/dist/cli/commands/knowledge-view.js.map +1 -0
- package/dist/cli/commands/knowledge.d.ts +137 -52
- package/dist/cli/commands/knowledge.d.ts.map +1 -1
- package/dist/cli/commands/knowledge.js +534 -400
- package/dist/cli/commands/knowledge.js.map +1 -1
- package/dist/cli/commands/passes-gate.d.ts +4 -1
- package/dist/cli/commands/passes-gate.d.ts.map +1 -1
- package/dist/cli/commands/passes-gate.js +11 -2
- package/dist/cli/commands/passes-gate.js.map +1 -1
- package/dist/cli/commands/performance.d.ts.map +1 -1
- package/dist/cli/commands/performance.js +19 -31
- package/dist/cli/commands/performance.js.map +1 -1
- package/dist/cli/commands/report.d.ts.map +1 -1
- package/dist/cli/commands/report.js +2 -1
- package/dist/cli/commands/report.js.map +1 -1
- package/dist/cli/commands/review.d.ts.map +1 -1
- package/dist/cli/commands/review.js +13 -25
- package/dist/cli/commands/review.js.map +1 -1
- package/dist/cli/commands/scaffold-templates.d.ts +73 -0
- package/dist/cli/commands/scaffold-templates.d.ts.map +1 -0
- package/dist/cli/commands/scaffold-templates.js +424 -0
- package/dist/cli/commands/scaffold-templates.js.map +1 -0
- package/dist/cli/commands/scaffold.d.ts +105 -0
- package/dist/cli/commands/scaffold.d.ts.map +1 -0
- package/dist/cli/commands/scaffold.js +263 -0
- package/dist/cli/commands/scaffold.js.map +1 -0
- package/dist/cli/commands/security.d.ts.map +1 -1
- package/dist/cli/commands/security.js +22 -24
- package/dist/cli/commands/security.js.map +1 -1
- package/dist/cli/commands/spec-baseline-check.d.ts +43 -0
- package/dist/cli/commands/spec-baseline-check.d.ts.map +1 -1
- package/dist/cli/commands/spec-baseline-check.js +109 -34
- package/dist/cli/commands/spec-baseline-check.js.map +1 -1
- package/dist/cli/commands/sync-docs/context-syncer.d.ts +21 -2
- package/dist/cli/commands/sync-docs/context-syncer.d.ts.map +1 -1
- package/dist/cli/commands/sync-docs/context-syncer.js +112 -28
- package/dist/cli/commands/sync-docs/context-syncer.js.map +1 -1
- package/dist/cli/commands/sync-docs/index.d.ts +1 -1
- package/dist/cli/commands/sync-docs/index.d.ts.map +1 -1
- package/dist/cli/commands/sync-docs/index.js +86 -27
- package/dist/cli/commands/sync-docs/index.js.map +1 -1
- package/dist/cli/commands/sync-docs/project-reader.d.ts +24 -1
- package/dist/cli/commands/sync-docs/project-reader.d.ts.map +1 -1
- package/dist/cli/commands/sync-docs/project-reader.js +33 -7
- package/dist/cli/commands/sync-docs/project-reader.js.map +1 -1
- package/dist/cli/commands/validate.d.ts +0 -16
- package/dist/cli/commands/validate.d.ts.map +1 -1
- package/dist/cli/commands/validate.js +2 -97
- package/dist/cli/commands/validate.js.map +1 -1
- package/dist/cli/gate-command.d.ts +37 -0
- package/dist/cli/gate-command.d.ts.map +1 -0
- package/dist/cli/gate-command.js +64 -0
- package/dist/cli/gate-command.js.map +1 -0
- package/dist/completion-checkers/index.d.ts +1 -1
- package/dist/completion-checkers/index.d.ts.map +1 -1
- package/dist/completion-checkers/index.js +0 -15
- package/dist/completion-checkers/index.js.map +1 -1
- package/dist/context/knowledge-injector.d.ts +4 -2
- package/dist/context/knowledge-injector.d.ts.map +1 -1
- package/dist/context/knowledge-injector.js +13 -6
- package/dist/context/knowledge-injector.js.map +1 -1
- package/dist/core/constraints/agent-prompt-renderer.js +2 -2
- package/dist/core/constraints/agent-prompt-renderer.js.map +1 -1
- package/dist/core/constraints/capabilities-reconcile.d.ts +20 -0
- package/dist/core/constraints/capabilities-reconcile.d.ts.map +1 -1
- package/dist/core/constraints/capabilities-reconcile.js +26 -4
- package/dist/core/constraints/capabilities-reconcile.js.map +1 -1
- package/dist/core/constraints/check-cache.d.ts +1 -1
- package/dist/core/constraints/check-cache.js +1 -1
- package/dist/core/constraints/checker.d.ts +8 -3
- package/dist/core/constraints/checker.d.ts.map +1 -1
- package/dist/core/constraints/checker.js +30 -19
- package/dist/core/constraints/checker.js.map +1 -1
- package/dist/core/constraints/checkers/capability-sync.d.ts +3 -1
- package/dist/core/constraints/checkers/capability-sync.d.ts.map +1 -1
- package/dist/core/constraints/checkers/capability-sync.js +17 -24
- package/dist/core/constraints/checkers/capability-sync.js.map +1 -1
- package/dist/core/constraints/checkers/context-doc-sync.d.ts +1 -1
- package/dist/core/constraints/checkers/context-doc-sync.d.ts.map +1 -1
- package/dist/core/constraints/checkers/context-doc-sync.js +9 -6
- package/dist/core/constraints/checkers/context-doc-sync.js.map +1 -1
- package/dist/core/constraints/checkers/docs-freshness.d.ts.map +1 -1
- package/dist/core/constraints/checkers/docs-freshness.js +24 -30
- package/dist/core/constraints/checkers/docs-freshness.js.map +1 -1
- package/dist/core/constraints/checkers/governance-presence.d.ts.map +1 -1
- package/dist/core/constraints/checkers/governance-presence.js +10 -4
- package/dist/core/constraints/checkers/governance-presence.js.map +1 -1
- package/dist/core/constraints/checkers/types.d.ts +10 -6
- package/dist/core/constraints/checkers/types.d.ts.map +1 -1
- package/dist/core/constraints/checkers/types.js +7 -3
- package/dist/core/constraints/checkers/types.js.map +1 -1
- package/dist/core/constraints/context-builder.d.ts +11 -10
- package/dist/core/constraints/context-builder.d.ts.map +1 -1
- package/dist/core/constraints/context-builder.js +31 -27
- package/dist/core/constraints/context-builder.js.map +1 -1
- package/dist/core/constraints/context-reconcile.d.ts +75 -0
- package/dist/core/constraints/context-reconcile.d.ts.map +1 -0
- package/dist/core/constraints/context-reconcile.js +161 -0
- package/dist/core/constraints/context-reconcile.js.map +1 -0
- package/dist/core/constraints/doc-freshness/runner.d.ts +7 -0
- package/dist/core/constraints/doc-freshness/runner.d.ts.map +1 -1
- package/dist/core/constraints/doc-freshness/runner.js +8 -3
- package/dist/core/constraints/doc-freshness/runner.js.map +1 -1
- package/dist/core/constraints/git-evidence.js +1 -1
- package/dist/core/constraints/git-evidence.js.map +1 -1
- package/dist/core/constraints/injection-drift.d.ts +7 -2
- package/dist/core/constraints/injection-drift.d.ts.map +1 -1
- package/dist/core/constraints/injection-drift.js +13 -7
- package/dist/core/constraints/injection-drift.js.map +1 -1
- package/dist/core/constraints/run-env.d.ts +92 -0
- package/dist/core/constraints/run-env.d.ts.map +1 -0
- package/dist/core/constraints/run-env.js +175 -0
- package/dist/core/constraints/run-env.js.map +1 -0
- package/dist/core/constraints/triggers.d.ts +22 -0
- package/dist/core/constraints/triggers.d.ts.map +1 -0
- package/dist/core/constraints/triggers.js +31 -0
- package/dist/core/constraints/triggers.js.map +1 -0
- package/dist/core/effective-constraints.d.ts +13 -4
- package/dist/core/effective-constraints.d.ts.map +1 -1
- package/dist/core/effective-constraints.js +16 -6
- package/dist/core/effective-constraints.js.map +1 -1
- package/dist/core/effective-set.d.ts +8 -15
- package/dist/core/effective-set.d.ts.map +1 -1
- package/dist/core/effective-set.js +7 -12
- package/dist/core/effective-set.js.map +1 -1
- package/dist/core/index.d.ts +2 -1
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/project-config-loader.d.ts +39 -17
- package/dist/core/project-config-loader.d.ts.map +1 -1
- package/dist/core/project-config-loader.js +51 -122
- package/dist/core/project-config-loader.js.map +1 -1
- package/dist/core/validators/check-handlers/http.d.ts +2 -2
- package/dist/core/validators/check-handlers/http.d.ts.map +1 -1
- package/dist/core/validators/check-handlers/http.js +12 -7
- package/dist/core/validators/check-handlers/http.js.map +1 -1
- package/dist/core/validators/index.d.ts +1 -1
- package/dist/core/validators/index.d.ts.map +1 -1
- package/dist/core/validators/passes-gate.d.ts.map +1 -1
- package/dist/core/validators/passes-gate.js +2 -2
- package/dist/core/validators/passes-gate.js.map +1 -1
- package/dist/failure/classifier.d.ts +1 -1
- package/dist/failure/classifier.d.ts.map +1 -1
- package/dist/failure/classifier.js +8 -8
- package/dist/failure/classifier.js.map +1 -1
- package/dist/failure/index.d.ts +2 -1
- package/dist/failure/index.d.ts.map +1 -1
- package/dist/failure/index.js +9 -17
- package/dist/failure/index.js.map +1 -1
- package/dist/failure/recorder.d.ts +1 -1
- package/dist/failure/recorder.d.ts.map +1 -1
- package/dist/gates/checker-gate.d.ts +2 -1
- package/dist/gates/checker-gate.d.ts.map +1 -1
- package/dist/gates/checker-gate.js +3 -2
- package/dist/gates/checker-gate.js.map +1 -1
- package/dist/gates/command.d.ts +10 -4
- package/dist/gates/command.d.ts.map +1 -1
- package/dist/gates/command.js +36 -62
- package/dist/gates/command.js.map +1 -1
- package/dist/gates/contract.d.ts.map +1 -1
- package/dist/gates/contract.js +0 -4
- package/dist/gates/contract.js.map +1 -1
- package/dist/gates/definitions.d.ts +2 -1
- package/dist/gates/definitions.d.ts.map +1 -1
- package/dist/gates/definitions.js +6 -5
- package/dist/gates/definitions.js.map +1 -1
- package/dist/gates/index.d.ts +0 -4
- package/dist/gates/index.d.ts.map +1 -1
- package/dist/gates/index.js +1 -6
- package/dist/gates/index.js.map +1 -1
- package/dist/gates/performance.d.ts.map +1 -1
- package/dist/gates/performance.js +0 -4
- package/dist/gates/performance.js.map +1 -1
- package/dist/gates/runner.d.ts +1 -1
- package/dist/gates/runner.js +1 -1
- package/dist/gates/security.d.ts +1 -1
- package/dist/gates/security.d.ts.map +1 -1
- package/dist/gates/security.js +5 -6
- package/dist/gates/security.js.map +1 -1
- package/dist/gates/types.d.ts +14 -17
- package/dist/gates/types.d.ts.map +1 -1
- package/dist/gates/types.js.map +1 -1
- package/dist/hooks/bootstrap.d.ts +6 -4
- package/dist/hooks/bootstrap.d.ts.map +1 -1
- package/dist/hooks/bootstrap.js +25 -13
- package/dist/hooks/bootstrap.js.map +1 -1
- package/dist/hooks/config.d.ts +6 -2
- package/dist/hooks/config.d.ts.map +1 -1
- package/dist/hooks/config.js +5 -1
- package/dist/hooks/config.js.map +1 -1
- package/dist/hooks/index.d.ts +1 -1
- package/dist/hooks/index.d.ts.map +1 -1
- package/dist/hooks/index.js +0 -15
- package/dist/hooks/index.js.map +1 -1
- package/dist/hooks/pipeline.d.ts.map +1 -1
- package/dist/hooks/pipeline.js +2 -4
- package/dist/hooks/pipeline.js.map +1 -1
- package/dist/hooks/registry.d.ts +11 -8
- package/dist/hooks/registry.d.ts.map +1 -1
- package/dist/hooks/registry.js +22 -7
- package/dist/hooks/registry.js.map +1 -1
- package/dist/hooks/types.d.ts +23 -7
- package/dist/hooks/types.d.ts.map +1 -1
- package/dist/index.d.ts +4 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +3 -4
- package/dist/index.js.map +1 -1
- package/dist/knowledge/audit-scoring.d.ts +87 -0
- package/dist/knowledge/audit-scoring.d.ts.map +1 -0
- package/dist/knowledge/audit-scoring.js +470 -0
- package/dist/knowledge/audit-scoring.js.map +1 -0
- package/dist/knowledge/audit.d.ts +11 -59
- package/dist/knowledge/audit.d.ts.map +1 -1
- package/dist/knowledge/audit.js +47 -522
- package/dist/knowledge/audit.js.map +1 -1
- package/dist/knowledge/import.d.ts.map +1 -1
- package/dist/knowledge/import.js +2 -0
- package/dist/knowledge/import.js.map +1 -1
- package/dist/knowledge/index-generator.d.ts.map +1 -1
- package/dist/knowledge/index-generator.js +4 -5
- package/dist/knowledge/index-generator.js.map +1 -1
- package/dist/knowledge/index.d.ts +3 -2
- package/dist/knowledge/index.d.ts.map +1 -1
- package/dist/knowledge/index.js +3 -16
- package/dist/knowledge/index.js.map +1 -1
- package/dist/knowledge/ingest.js +1 -1
- package/dist/knowledge/ingest.js.map +1 -1
- package/dist/knowledge/lifecycle.d.ts.map +1 -1
- package/dist/knowledge/lifecycle.js +4 -2
- package/dist/knowledge/lifecycle.js.map +1 -1
- package/dist/knowledge/migration.d.ts +3 -0
- package/dist/knowledge/migration.d.ts.map +1 -1
- package/dist/knowledge/migration.js +8 -2
- package/dist/knowledge/migration.js.map +1 -1
- package/dist/knowledge/query.d.ts +6 -0
- package/dist/knowledge/query.d.ts.map +1 -1
- package/dist/knowledge/query.js +8 -2
- package/dist/knowledge/query.js.map +1 -1
- package/dist/knowledge/reference-tracker.d.ts.map +1 -1
- package/dist/knowledge/reference-tracker.js +4 -6
- package/dist/knowledge/reference-tracker.js.map +1 -1
- package/dist/knowledge/store.d.ts +22 -16
- package/dist/knowledge/store.d.ts.map +1 -1
- package/dist/knowledge/store.js +53 -12
- package/dist/knowledge/store.js.map +1 -1
- package/dist/knowledge/tree-walker.d.ts +19 -0
- package/dist/knowledge/tree-walker.d.ts.map +1 -0
- package/dist/knowledge/tree-walker.js +30 -0
- package/dist/knowledge/tree-walker.js.map +1 -0
- package/dist/knowledge/types.d.ts +16 -0
- package/dist/knowledge/types.d.ts.map +1 -1
- package/dist/monitoring/traces.d.ts +5 -3
- package/dist/monitoring/traces.d.ts.map +1 -1
- package/dist/monitoring/traces.js +19 -5
- package/dist/monitoring/traces.js.map +1 -1
- package/dist/test-setup/jsonl-fake-fs.d.ts +30 -0
- package/dist/test-setup/jsonl-fake-fs.d.ts.map +1 -0
- package/dist/test-setup/jsonl-fake-fs.js +49 -0
- package/dist/test-setup/jsonl-fake-fs.js.map +1 -0
- package/dist/tools/index.d.ts +4 -1
- package/dist/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +7 -15
- package/dist/tools/index.js.map +1 -1
- package/dist/types/checkpoint.d.ts +5 -0
- package/dist/types/checkpoint.d.ts.map +1 -1
- package/dist/types/passes-gate.d.ts +0 -13
- package/dist/types/passes-gate.d.ts.map +1 -1
- package/dist/types/project-config.d.ts +18 -0
- package/dist/types/project-config.d.ts.map +1 -1
- package/dist/types/trace.d.ts +13 -4
- package/dist/types/trace.d.ts.map +1 -1
- package/dist/types/trace.js +4 -3
- package/dist/types/trace.js.map +1 -1
- package/dist/utils/exec.d.ts +4 -27
- package/dist/utils/exec.d.ts.map +1 -1
- package/dist/utils/exec.js +4 -94
- package/dist/utils/exec.js.map +1 -1
- package/dist/utils/jsonl.d.ts +17 -7
- package/dist/utils/jsonl.d.ts.map +1 -1
- package/dist/utils/jsonl.js +144 -17
- package/dist/utils/jsonl.js.map +1 -1
- package/dist/utils/numeric-flag.d.ts +44 -0
- package/dist/utils/numeric-flag.d.ts.map +1 -0
- package/dist/utils/numeric-flag.js +62 -0
- package/dist/utils/numeric-flag.js.map +1 -0
- package/package.json +1 -1
- package/src/CONTEXT.md +5 -2
- package/src/__tests__/acceptance-gate.test.ts +7 -4
- package/src/__tests__/checker-extra.test.ts +3 -2
- package/src/__tests__/checker.test.ts +4 -3
- package/src/__tests__/checkpoint.test.ts +26 -9
- package/src/__tests__/context-files-resolution.test.ts +29 -15
- package/src/__tests__/contract-gate.test.ts +19 -40
- package/src/__tests__/error-classifier.test.ts +1 -1
- package/src/__tests__/exec.test.ts +45 -107
- package/src/__tests__/failure-recorder.test.ts +7 -5
- package/src/__tests__/hooks-pipeline.test.ts +34 -47
- package/src/__tests__/layering.test.ts +217 -25
- package/src/__tests__/passes-gate.test.ts +9 -4
- package/src/__tests__/performance-gate.test.ts +3 -15
- package/src/__tests__/project-config-loader-extra.test.ts +31 -57
- package/src/__tests__/project-config-loader.test.ts +6 -3
- package/src/__tests__/public-exports.test.ts +27 -6
- package/src/__tests__/public-type-surface.test.ts +360 -0
- package/src/__tests__/public-value-surface.test.ts +182 -0
- package/src/__tests__/review-gate.test.ts +4 -6
- package/src/__tests__/security-gate.test.ts +5 -20
- package/src/__tests__/skip-semantics.test.ts +5 -3
- package/src/__tests__/spec-validator.test.ts +3 -2
- package/src/__tests__/sub-barrels-explicit.test.ts +87 -0
- package/src/__tests__/test-fixture-hygiene.test.ts +53 -0
- package/src/__tests__/trace-analyzer-extra.test.ts +5 -3
- package/src/__tests__/trace-analyzer.test.ts +5 -3
- package/src/__tests__/trace-collector.test.ts +5 -3
- package/src/agents/index.ts +13 -2
- package/src/cli/__tests__/gate-command.test.ts +162 -0
- package/src/cli/commands/CONTEXT.md +29 -5
- package/src/cli/commands/__tests__/acceptance.test.ts +24 -25
- package/src/cli/commands/__tests__/bin-exit-mapping.test.ts +15 -0
- package/src/cli/commands/__tests__/check-drift.test.ts +42 -1
- package/src/cli/commands/__tests__/check-read-count.test.ts +167 -0
- package/src/cli/commands/__tests__/check-skip-output.test.ts +4 -1
- package/src/cli/commands/__tests__/check.test.ts +43 -36
- package/src/cli/commands/__tests__/command-gate-dead-options.test.ts +60 -0
- package/src/cli/commands/__tests__/command.test.ts +33 -17
- package/src/cli/commands/__tests__/constraints-retire.test.ts +52 -0
- package/src/cli/commands/__tests__/context-syncer.test.ts +141 -0
- package/src/cli/commands/__tests__/contract.test.ts +20 -20
- package/src/cli/commands/__tests__/failure.test.ts +5 -4
- package/src/cli/commands/__tests__/gate-decision.ts +30 -0
- package/src/cli/commands/__tests__/init-dead-options.test.ts +50 -0
- package/src/cli/commands/__tests__/init-governance-io.test.ts +139 -0
- package/src/cli/commands/__tests__/init-injection.test.ts +3 -3
- package/src/cli/commands/__tests__/init-ondisk.test.ts +867 -0
- package/src/cli/commands/__tests__/init.test.ts +82 -6
- package/src/cli/commands/__tests__/knowledge-audit-threshold.test.ts +146 -0
- package/src/cli/commands/__tests__/knowledge-flywheel-consistency.test.ts +1 -1
- package/src/cli/commands/__tests__/knowledge-tone-mapping.test.ts +244 -0
- package/src/cli/commands/__tests__/knowledge-view.test.ts +839 -0
- package/src/cli/commands/__tests__/knowledge.test.ts +33 -15
- package/src/cli/commands/__tests__/numeric-flag-assembly.test.ts +368 -0
- package/src/cli/commands/__tests__/passes-gate-dead-options.test.ts +89 -1
- package/src/cli/commands/__tests__/performance.test.ts +19 -21
- package/src/cli/commands/__tests__/posteval-plan.test.ts +5 -3
- package/src/cli/commands/__tests__/pre-push-hook.test.ts +181 -0
- package/src/cli/commands/__tests__/project-path-anchoring.test.ts +95 -2
- package/src/cli/commands/__tests__/project-path-convention.test.ts +103 -25
- package/src/cli/commands/__tests__/registry.test.ts +2 -0
- package/src/cli/commands/__tests__/report.test.ts +23 -1
- package/src/cli/commands/__tests__/review.test.ts +10 -17
- package/src/cli/commands/__tests__/scaffold.test.ts +505 -0
- package/src/cli/commands/__tests__/security-default-scan.test.ts +75 -0
- package/src/cli/commands/__tests__/security.test.ts +21 -24
- package/src/cli/commands/__tests__/spec-baseline-check.test.ts +3 -2
- package/src/cli/commands/__tests__/spec-baseline-index-cap.test.ts +131 -0
- package/src/cli/commands/__tests__/spec-baseline-read-count.test.ts +325 -0
- package/src/cli/commands/__tests__/sync-docs-agents.test.ts +19 -4
- package/src/cli/commands/__tests__/sync-docs-context-drift.test.ts +232 -0
- package/src/cli/commands/__tests__/sync-docs-module-order.test.ts +111 -0
- package/src/cli/commands/__tests__/sync-docs-read-count.test.ts +192 -0
- package/src/cli/commands/__tests__/sync-docs.test.ts +3 -2
- package/src/cli/commands/__tests__/validate.test.ts +1 -48
- package/src/cli/commands/acceptance.ts +24 -29
- package/src/cli/commands/check.ts +40 -17
- package/src/cli/commands/command.ts +9 -8
- package/src/cli/commands/constraints-retire.ts +57 -70
- package/src/cli/commands/contract.ts +44 -47
- package/src/cli/commands/definitions.ts +12 -6
- package/src/cli/commands/failure.ts +16 -3
- package/src/cli/commands/init.ts +242 -389
- package/src/cli/commands/knowledge-view.ts +224 -0
- package/src/cli/commands/knowledge.ts +643 -448
- package/src/cli/commands/passes-gate.ts +12 -3
- package/src/cli/commands/performance.ts +31 -38
- package/src/cli/commands/report.ts +3 -2
- package/src/cli/commands/review.ts +22 -28
- package/src/cli/commands/scaffold-templates.ts +406 -0
- package/src/cli/commands/scaffold.ts +302 -0
- package/src/cli/commands/security.ts +27 -23
- package/src/cli/commands/spec-baseline-check.ts +158 -33
- package/src/cli/commands/sync-docs/__tests__/context-export-surface.test.ts +102 -0
- package/src/cli/commands/sync-docs/__tests__/module-descriptions.test.ts +196 -0
- package/src/cli/commands/sync-docs/context-syncer.ts +137 -31
- package/src/cli/commands/sync-docs/index.ts +103 -28
- package/src/cli/commands/sync-docs/project-reader.ts +51 -7
- package/src/cli/commands/validate.ts +1 -104
- package/src/cli/gate-command.ts +87 -0
- package/src/completion-checkers/index.ts +10 -1
- package/src/context/CONTEXT.md +2 -1
- package/src/context/__tests__/knowledge-injector.test.ts +27 -0
- package/src/context/__tests__/session-manager.test.ts +19 -12
- package/src/context/knowledge-injector.ts +14 -7
- package/src/core/CONTEXT.md +10 -7
- package/src/core/__tests__/effective-set.test.ts +36 -60
- package/src/core/constraints/__tests__/context-reconcile.test.ts +246 -0
- package/src/core/constraints/__tests__/run-env.test.ts +377 -0
- package/src/core/constraints/__tests__/triggers.test.ts +70 -0
- package/src/core/constraints/agent-prompt-renderer.ts +1 -1
- package/src/core/constraints/capabilities-reconcile.ts +28 -4
- package/src/core/constraints/check-cache.ts +1 -1
- package/src/core/constraints/checker.ts +30 -14
- package/src/core/constraints/checkers/__tests__/context-doc-sync.test.ts +8 -3
- package/src/core/constraints/checkers/__tests__/governance-presence.test.ts +16 -7
- package/src/core/constraints/checkers/__tests__/no-hardcoded-credentials.test.ts +2 -1
- package/src/core/constraints/checkers/capability-sync.ts +27 -28
- package/src/core/constraints/checkers/context-doc-sync.ts +9 -7
- package/src/core/constraints/checkers/docs-freshness.ts +28 -33
- package/src/core/constraints/checkers/governance-presence.ts +10 -6
- package/src/core/constraints/checkers/types.ts +14 -8
- package/src/core/constraints/context-builder.ts +35 -26
- package/src/core/constraints/context-reconcile.ts +200 -0
- package/src/core/constraints/doc-freshness/__tests__/runner.test.ts +25 -0
- package/src/core/constraints/doc-freshness/runner.ts +18 -4
- package/src/core/constraints/git-evidence.ts +1 -1
- package/src/core/constraints/injection-drift.ts +19 -8
- package/src/core/constraints/run-env.ts +207 -0
- package/src/core/constraints/triggers.ts +33 -0
- package/src/core/effective-constraints.ts +17 -6
- package/src/core/effective-set.ts +8 -24
- package/src/core/index.ts +2 -1
- package/src/core/project-config-loader.ts +54 -102
- package/src/core/validators/__tests__/http-retry-sleep.test.ts +231 -0
- package/src/core/validators/check-handlers/http.ts +18 -7
- package/src/core/validators/index.ts +0 -1
- package/src/core/validators/passes-gate.ts +2 -3
- package/src/failure/CONTEXT.md +2 -1
- package/src/failure/classifier.ts +2 -2
- package/src/failure/index.ts +14 -2
- package/src/failure/recorder.ts +1 -1
- package/src/gates/CONTEXT.md +13 -7
- package/src/gates/__tests__/checker-gate.test.ts +1 -1
- package/src/gates/__tests__/command-single-predicate.test.ts +135 -0
- package/src/gates/__tests__/command.test.ts +8 -15
- package/src/gates/__tests__/contract.test.ts +5 -5
- package/src/gates/__tests__/gate-interface.test.ts +0 -17
- package/src/gates/__tests__/performance.test.ts +0 -13
- package/src/gates/__tests__/review.test.ts +0 -1
- package/src/gates/__tests__/runner.test.ts +1 -1
- package/src/gates/__tests__/security-default-scan.test.ts +97 -0
- package/src/gates/__tests__/security.test.ts +0 -13
- package/src/gates/checker-gate.ts +3 -2
- package/src/gates/command.ts +51 -74
- package/src/gates/contract.ts +0 -5
- package/src/gates/definitions.ts +6 -5
- package/src/gates/index.ts +0 -5
- package/src/gates/performance.ts +1 -6
- package/src/gates/runner.ts +1 -1
- package/src/gates/security.ts +9 -11
- package/src/gates/types.ts +20 -23
- package/src/hooks/CONTEXT.md +10 -9
- package/src/hooks/__tests__/bootstrap.test.ts +29 -6
- package/src/hooks/__tests__/pipeline.test.ts +28 -17
- package/src/hooks/__tests__/registry.test.ts +51 -3
- package/src/hooks/bootstrap.ts +35 -15
- package/src/hooks/config.ts +6 -2
- package/src/hooks/index.ts +10 -1
- package/src/hooks/pipeline.ts +4 -6
- package/src/hooks/registry.ts +31 -12
- package/src/hooks/types.ts +24 -7
- package/src/index.ts +1 -3
- package/src/knowledge/CONTEXT.md +14 -7
- package/src/knowledge/__tests__/audit-labels.test.ts +8 -5
- package/src/knowledge/__tests__/audit-scoring.test.ts +230 -0
- package/src/knowledge/__tests__/audit-write-count.test.ts +131 -0
- package/src/knowledge/__tests__/audit.test.ts +291 -208
- package/src/knowledge/__tests__/doctor.test.ts +3 -2
- package/src/knowledge/__tests__/ingest.test.ts +3 -2
- package/src/knowledge/__tests__/lifecycle.test.ts +57 -2
- package/src/knowledge/__tests__/migration.test.ts +35 -6
- package/src/knowledge/__tests__/query.test.ts +3 -2
- package/src/knowledge/__tests__/reference-tracker.test.ts +23 -2
- package/src/knowledge/__tests__/store.test.ts +149 -4
- package/src/knowledge/__tests__/tree-walker.test.ts +132 -0
- package/src/knowledge/audit-scoring.ts +589 -0
- package/src/knowledge/audit.ts +55 -599
- package/src/knowledge/import.ts +2 -0
- package/src/knowledge/index-generator.ts +4 -6
- package/src/knowledge/index.ts +27 -2
- package/src/knowledge/ingest.ts +1 -1
- package/src/knowledge/lifecycle.ts +5 -2
- package/src/knowledge/migration.ts +8 -2
- package/src/knowledge/query.ts +8 -1
- package/src/knowledge/reference-tracker.ts +5 -7
- package/src/knowledge/store.ts +75 -16
- package/src/knowledge/tree-walker.ts +29 -0
- package/src/knowledge/types.ts +19 -0
- package/src/monitoring/CONTEXT.md +5 -2
- package/src/monitoring/__tests__/context-tracker.test.ts +16 -8
- package/src/monitoring/__tests__/trace-file-anchoring.test.ts +80 -0
- package/src/monitoring/traces.ts +19 -5
- package/src/release/CONTEXT.md +1 -1
- package/src/release/__tests__/integrity.test.ts +21 -12
- package/src/test-setup/__tests__/jsonl-fake-fs.test.ts +98 -0
- package/src/test-setup/jsonl-fake-fs.ts +59 -0
- package/src/tools/index.ts +5 -1
- package/src/types/checkpoint.ts +6 -0
- package/src/types/passes-gate.ts +0 -17
- package/src/types/project-config.ts +21 -0
- package/src/types/trace.ts +14 -4
- package/src/utils/__tests__/file-walk.test.ts +3 -2
- package/src/utils/__tests__/jsonl-bounded-read.test.ts +106 -0
- package/src/utils/__tests__/jsonl-skip-disposition.test.ts +10 -6
- package/src/utils/__tests__/jsonl.test.ts +61 -14
- package/src/utils/__tests__/numeric-flag.test.ts +80 -0
- package/src/utils/__tests__/package-version.test.ts +2 -2
- package/src/utils/exec.ts +4 -64
- package/src/utils/jsonl.ts +159 -20
- package/src/utils/numeric-flag.ts +64 -0
- package/dist/failure/types.d.ts +0 -9
- package/dist/failure/types.d.ts.map +0 -1
- package/dist/failure/types.js +0 -25
- package/dist/failure/types.js.map +0 -1
- package/dist/gates/effective-gates.d.ts +0 -30
- package/dist/gates/effective-gates.d.ts.map +0 -1
- package/dist/gates/effective-gates.js +0 -81
- package/dist/gates/effective-gates.js.map +0 -1
- package/src/failure/types.ts +0 -9
- package/src/gates/__tests__/effective-gates.test.ts +0 -77
- package/src/gates/effective-gates.ts +0 -99
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/gates/contract.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,gDAAkC;AAClC,2CAA6B;AAC7B,mCAAgD;AAEhD,yCAAgD;AAEhD;;GAEG;AACH,MAAa,YAAY;IACd,EAAE,GAAG,UAAU,CAAC;IACzB,KAAK,GAAG,CAAC,CAAC;IACF,MAAM,CAA+B;IAE7C,YAAY,SAAsC,EAAE;QAClD,IAAI,CAAC,MAAM,GAAG;YACZ,
|
|
1
|
+
{"version":3,"file":"contract.js","sourceRoot":"","sources":["../../src/gates/contract.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,8 @@
|
|
|
11
11
|
* bareRunsAction:true(无位置参数时跑默认 action 而非显示帮助)。
|
|
12
12
|
* - 本模块禁止 import 任何门禁/命令实现(仅 type import,运行时零依赖)——
|
|
13
13
|
* bin 启动期只加载本纯数据模块(保持 --help/--version 懒加载,
|
|
14
|
-
* 闭环校验在 registry
|
|
14
|
+
* 闭环校验在 registry 加载期执行)。唯一例外 import:`utils/numeric-flag`
|
|
15
|
+
* 纯函数解析器(harness#154 口径条目指名的数值旗帜唯一解析器)。
|
|
15
16
|
*/
|
|
16
17
|
import type { CommandDefinition } from '../cli/commands/definitions';
|
|
17
18
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/gates/definitions.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"definitions.d.ts","sourceRoot":"","sources":["../../src/gates/definitions.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAGrE;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,4BAA4B;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,YAAY;IACZ,WAAW,EAAE,MAAM,CAAC;IACpB,+CAA+C;IAC/C,KAAK,EAAE,MAAM,CAAC;IACd,8DAA8D;IAC9D,GAAG,EAAE,iBAAiB,CAAC;CACxB;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,EAAE,cAAc,EA+I5C,CAAC"}
|
|
@@ -12,10 +12,12 @@
|
|
|
12
12
|
* bareRunsAction:true(无位置参数时跑默认 action 而非显示帮助)。
|
|
13
13
|
* - 本模块禁止 import 任何门禁/命令实现(仅 type import,运行时零依赖)——
|
|
14
14
|
* bin 启动期只加载本纯数据模块(保持 --help/--version 懒加载,
|
|
15
|
-
* 闭环校验在 registry
|
|
15
|
+
* 闭环校验在 registry 加载期执行)。唯一例外 import:`utils/numeric-flag`
|
|
16
|
+
* 纯函数解析器(harness#154 口径条目指名的数值旗帜唯一解析器)。
|
|
16
17
|
*/
|
|
17
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
19
|
exports.GATE_DEFINITIONS = void 0;
|
|
20
|
+
const numeric_flag_1 = require("../utils/numeric-flag");
|
|
19
21
|
/**
|
|
20
22
|
* 6 门禁定义(默认 order 按字母序,与历史 bin 块顺序一致)
|
|
21
23
|
*/
|
|
@@ -56,7 +58,6 @@ exports.GATE_DEFINITIONS = [
|
|
|
56
58
|
{ flags: '-l, --level', description: '显示风险等级' },
|
|
57
59
|
{ flags: '--list', description: '列出所有黑名单规则' },
|
|
58
60
|
{ flags: '--json', description: 'JSON 格式输出' },
|
|
59
|
-
{ flags: '--strict', description: '严格模式(warn 也阻止)' },
|
|
60
61
|
],
|
|
61
62
|
action: { module: 'command', export: 'executeCommand' },
|
|
62
63
|
mapActionArgs: (positionals, options) => [positionals[0], options],
|
|
@@ -103,9 +104,9 @@ exports.GATE_DEFINITIONS = [
|
|
|
103
104
|
{
|
|
104
105
|
projectPath: options.projectPath,
|
|
105
106
|
coverage: options.coverage,
|
|
106
|
-
coverageThreshold:
|
|
107
|
+
coverageThreshold: (0, numeric_flag_1.requireNumericFlag)('--coverage-threshold', options.coverageThreshold, 'int'),
|
|
107
108
|
bundle: options.bundle,
|
|
108
|
-
bundleThreshold:
|
|
109
|
+
bundleThreshold: (0, numeric_flag_1.requireNumericFlag)('--bundle-threshold', options.bundleThreshold, 'int'),
|
|
109
110
|
},
|
|
110
111
|
],
|
|
111
112
|
},
|
|
@@ -132,7 +133,7 @@ exports.GATE_DEFINITIONS = [
|
|
|
132
133
|
mapActionArgs: (_positionals, options) => [
|
|
133
134
|
{
|
|
134
135
|
projectPath: options.projectPath,
|
|
135
|
-
minReviewers:
|
|
136
|
+
minReviewers: (0, numeric_flag_1.requireNumericFlag)('--min-reviewers', options.minReviewers, 'int'),
|
|
136
137
|
requireApproval: options.requireApproval,
|
|
137
138
|
blockOnChangesRequested: options.blockOnChanges,
|
|
138
139
|
allowedReviewers: options.allowedReviewers,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/gates/definitions.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"definitions.js","sourceRoot":"","sources":["../../src/gates/definitions.ts"],"names":[],"mappings":"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"}
|
package/dist/gates/index.d.ts
CHANGED
|
@@ -20,10 +20,6 @@ export { getGate, listRegisteredGates, registeredGateCount, assertGateRegistryCl
|
|
|
20
20
|
* 门禁执行器:deny 单调 + ask fail-closed
|
|
21
21
|
*/
|
|
22
22
|
export { runGates, type GateRunResult } from './runner';
|
|
23
|
-
/**
|
|
24
|
-
* 生效门禁集:config.yml gates.order / gates.<id>.enabled 声明式裁剪
|
|
25
|
-
*/
|
|
26
|
-
export { getEffectiveGates, type GatesConfig } from './effective-gates';
|
|
27
23
|
/**
|
|
28
24
|
* checker-as-guard 接线点:ConstraintCheck → Gate(studio #129 随动)
|
|
29
25
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/gates/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EACV,UAAU,EACV,WAAW,EACX,IAAI,EACJ,YAAY,EACZ,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAMjB;;GAEG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD;;GAEG;AACH,OAAO,EAAE,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAEtE;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEzG;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAExD;;GAEG;AACH,OAAO,EAAE,iBAAiB,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/gates/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,YAAY,EACV,UAAU,EACV,WAAW,EACX,IAAI,EACJ,YAAY,EACZ,kBAAkB,EAClB,qBAAqB,EACrB,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,EACxB,qBAAqB,EACrB,kBAAkB,EAClB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,SAAS,CAAC;AAMjB;;GAEG;AACH,OAAO,EAAE,kBAAkB,EAAE,MAAM,YAAY,CAAC;AAEhD;;GAEG;AACH,OAAO,EAAE,gBAAgB,EAAE,KAAK,cAAc,EAAE,MAAM,eAAe,CAAC;AAEtE;;GAEG;AACH,OAAO,EAAE,OAAO,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AAEzG;;GAEG;AACH,OAAO,EAAE,QAAQ,EAAE,KAAK,aAAa,EAAE,MAAM,UAAU,CAAC;AAExD;;GAEG;AACH,OAAO,EAAE,iBAAiB,EAAE,MAAM,gBAAgB,CAAC;AAInD,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,WAAW,EAAE,iBAAiB,EAAE,cAAc,EAAE,gBAAgB,EAAE,mBAAmB,EAAE,yBAAyB,EAAE,MAAM,WAAW,CAAC;AAG7I,OAAO,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AACtC,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,eAAe,EAAE,MAAM,eAAe,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,KAAK,EACV,gBAAgB,EAChB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,wBAAwB,EACzB,MAAM,SAAS,CAAC;AAEjB,wBAAgB,gBAAgB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAAG,UAAU,CAE/E;AAED,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,YAAY,CAErF;AAED,wBAAgB,qBAAqB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG,eAAe,CAE9F;AAED,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,kBAAkB,CAAC,GAAG,YAAY,CAErF;AAED,wBAAgB,wBAAwB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,wBAAwB,CAAC,GAAG,kBAAkB,CAEvG"}
|
package/dist/gates/index.js
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
* 统一导出所有门禁类型
|
|
6
6
|
*/
|
|
7
7
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
-
exports.DEFAULT_COMMAND_BLACKLIST = exports.getCommandRiskLevel = exports.isCommandAllowed = exports.getCommandGate = exports.createCommandGate = exports.CommandGate = exports.SpecAcceptanceGate = exports.ContractGate = exports.PerformanceGate = exports.SecurityGate = exports.ReviewGate = exports.createCheckerGate = exports.
|
|
8
|
+
exports.DEFAULT_COMMAND_BLACKLIST = exports.getCommandRiskLevel = exports.isCommandAllowed = exports.getCommandGate = exports.createCommandGate = exports.CommandGate = exports.SpecAcceptanceGate = exports.ContractGate = exports.PerformanceGate = exports.SecurityGate = exports.ReviewGate = exports.createCheckerGate = exports.runGates = exports.assertGateRegistryClosed = exports.registeredGateCount = exports.listRegisteredGates = exports.getGate = exports.GATE_DEFINITIONS = exports.decisionFromResult = void 0;
|
|
9
9
|
exports.createReviewGate = createReviewGate;
|
|
10
10
|
exports.createSecurityGate = createSecurityGate;
|
|
11
11
|
exports.createPerformanceGate = createPerformanceGate;
|
|
@@ -37,11 +37,6 @@ Object.defineProperty(exports, "assertGateRegistryClosed", { enumerable: true, g
|
|
|
37
37
|
*/
|
|
38
38
|
var runner_1 = require("./runner");
|
|
39
39
|
Object.defineProperty(exports, "runGates", { enumerable: true, get: function () { return runner_1.runGates; } });
|
|
40
|
-
/**
|
|
41
|
-
* 生效门禁集:config.yml gates.order / gates.<id>.enabled 声明式裁剪
|
|
42
|
-
*/
|
|
43
|
-
var effective_gates_1 = require("./effective-gates");
|
|
44
|
-
Object.defineProperty(exports, "getEffectiveGates", { enumerable: true, get: function () { return effective_gates_1.getEffectiveGates; } });
|
|
45
40
|
/**
|
|
46
41
|
* checker-as-guard 接线点:ConstraintCheck → Gate(studio #129 随动)
|
|
47
42
|
*/
|
package/dist/gates/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/gates/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/gates/index.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAyEH,4CAEC;AAED,gDAEC;AAED,sDAEC;AAED,gDAEC;AAED,4DAEC;AAtED,2CAA2C;AAC3C,aAAa;AACb,2CAA2C;AAE3C;;GAEG;AACH,uCAAgD;AAAvC,8GAAA,kBAAkB,OAAA;AAE3B;;GAEG;AACH,6CAAsE;AAA7D,+GAAA,gBAAgB,OAAA;AAEzB;;GAEG;AACH,uCAAyG;AAAhG,mGAAA,OAAO,OAAA;AAAE,+GAAA,mBAAmB,OAAA;AAAE,+GAAA,mBAAmB,OAAA;AAAE,oHAAA,wBAAwB,OAAA;AAEpF;;GAEG;AACH,mCAAwD;AAA/C,kGAAA,QAAQ,OAAA;AAEjB;;GAEG;AACH,+CAAmD;AAA1C,iHAAA,iBAAiB,OAAA;AAG1B,QAAQ;AACR,mCAAsC;AAA7B,oGAAA,UAAU,OAAA;AACnB,uCAA0C;AAAjC,wGAAA,YAAY,OAAA;AACrB,6CAAgD;AAAvC,8GAAA,eAAe,OAAA;AACxB,uCAA0C;AAAjC,wGAAA,YAAY,OAAA;AACrB,2CAAkD;AAAzC,gHAAA,kBAAkB,OAAA;AAC3B,qCAA6I;AAApI,sGAAA,WAAW,OAAA;AAAE,4GAAA,iBAAiB,OAAA;AAAE,yGAAA,cAAc,OAAA;AAAE,2GAAA,gBAAgB,OAAA;AAAE,8GAAA,mBAAmB,OAAA;AAAE,oHAAA,yBAAyB,OAAA;AAEzH,SAAS;AACT,qCAAsC;AACtC,yCAA0C;AAC1C,+CAAgD;AAChD,yCAA0C;AAC1C,6CAAkD;AASlD,SAAgB,gBAAgB,CAAC,MAAkC;IACjE,OAAO,IAAI,mBAAU,CAAC,MAAM,CAAC,CAAC;AAChC,CAAC;AAED,SAAgB,kBAAkB,CAAC,MAAoC;IACrE,OAAO,IAAI,uBAAY,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC;AAED,SAAgB,qBAAqB,CAAC,MAAuC;IAC3E,OAAO,IAAI,6BAAe,CAAC,MAAM,CAAC,CAAC;AACrC,CAAC;AAED,SAAgB,kBAAkB,CAAC,MAAoC;IACrE,OAAO,IAAI,uBAAY,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC;AAED,SAAgB,wBAAwB,CAAC,MAA0C;IACjF,OAAO,IAAI,+BAAkB,CAAC,MAAM,CAAC,CAAC;AACxC,CAAC;AAED,kDAAkD"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"performance.d.ts","sourceRoot":"","sources":["../../src/gates/performance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAQzH;;GAEG;AACH,MAAM,WAAW,6BAA8B,SAAQ,qBAAqB;IAC1E,kBAAkB;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,eAAgB,YAAW,IAAI;IAC1C,QAAQ,CAAC,EAAE,iBAAiB;IAC5B,KAAK,SAAK;IACV,OAAO,CAAC,MAAM,CAA0C;gBAE5C,MAAM,GAAE,OAAO,CAAC,6BAA6B,CAAM;
|
|
1
|
+
{"version":3,"file":"performance.d.ts","sourceRoot":"","sources":["../../src/gates/performance.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAMH,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,qBAAqB,EAAE,qBAAqB,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAQzH;;GAEG;AACH,MAAM,WAAW,6BAA8B,SAAQ,qBAAqB;IAC1E,kBAAkB;IAClB,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED;;GAEG;AACH,qBAAa,eAAgB,YAAW,IAAI;IAC1C,QAAQ,CAAC,EAAE,iBAAiB;IAC5B,KAAK,SAAK;IACV,OAAO,CAAC,MAAM,CAA0C;gBAE5C,MAAM,GAAE,OAAO,CAAC,6BAA6B,CAAM;IAO/D;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAI3D;;OAEG;IACG,KAAK,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAoDtD;;OAEG;YACW,cAAc;IAkC5B;;OAEG;YACW,eAAe;IAkC7B;;OAEG;YACW,iBAAiB;IA0B/B;;OAEG;IACH,OAAO,CAAC,aAAa;IAOrB;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,OAAO,CAAC,qBAAqB,CAAC,GAAG,IAAI;IAI/D;;OAEG;IACH,WAAW,CAAC,OAAO,EAAE;QACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;KACnB,GAAG,IAAI;IAIR;;OAEG;IACH,SAAS,IAAI,QAAQ,CAAC,6BAA6B,CAAC;CAGrD"}
|
|
@@ -68,7 +68,6 @@ class PerformanceGate {
|
|
|
68
68
|
config;
|
|
69
69
|
constructor(config = {}) {
|
|
70
70
|
this.config = {
|
|
71
|
-
enabled: config.enabled ?? true,
|
|
72
71
|
thresholds: config.thresholds ?? {},
|
|
73
72
|
coverageTimeout: config.coverageTimeout ?? DEFAULT_TIMEOUTS.coverage,
|
|
74
73
|
};
|
|
@@ -84,9 +83,6 @@ class PerformanceGate {
|
|
|
84
83
|
*/
|
|
85
84
|
async check(context) {
|
|
86
85
|
const startTime = Date.now();
|
|
87
|
-
if (!this.config.enabled) {
|
|
88
|
-
return (0, types_1.pass)('performance', '性能门禁已禁用', startTime);
|
|
89
|
-
}
|
|
90
86
|
try {
|
|
91
87
|
const thresholds = context.performanceThresholds ?? this.config.thresholds;
|
|
92
88
|
const metrics = await this.collectMetrics(context.projectPath, thresholds);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"performance.js","sourceRoot":"","sources":["../../src/gates/performance.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,wCAA0C;AAC1C,gDAAkC;AAClC,2CAA6B;AAC7B,
|
|
1
|
+
{"version":3,"file":"performance.js","sourceRoot":"","sources":["../../src/gates/performance.ts"],"names":[],"mappings":"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"}
|
package/dist/gates/runner.d.ts
CHANGED
|
@@ -23,7 +23,7 @@ export interface GateRunResult {
|
|
|
23
23
|
/**
|
|
24
24
|
* 依次执行门禁链(按 order 升序,稳定排序)
|
|
25
25
|
*
|
|
26
|
-
* @param gates
|
|
26
|
+
* @param gates 参与执行的门禁(顺序由本函数按 order 排定,调用方不必预排)
|
|
27
27
|
* @param ctx 门禁上下文
|
|
28
28
|
*/
|
|
29
29
|
export declare function runGates(gates: readonly Gate[], ctx: GateContext): Promise<GateRunResult>;
|
package/dist/gates/runner.js
CHANGED
package/dist/gates/security.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/gates/security.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG/F;;GAEG;AACH,qBAAa,YAAa,YAAW,IAAI;IACvC,QAAQ,CAAC,EAAE,cAAc;IACzB,KAAK,SAAK;IACV,OAAO,CAAC,MAAM,
|
|
1
|
+
{"version":3,"file":"security.d.ts","sourceRoot":"","sources":["../../src/gates/security.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,KAAK,EAAE,UAAU,EAAE,WAAW,EAAE,kBAAkB,EAAE,IAAI,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAG/F;;GAEG;AACH,qBAAa,YAAa,YAAW,IAAI;IACvC,QAAQ,CAAC,EAAE,cAAc;IACzB,KAAK,SAAK;IACV,OAAO,CAAC,MAAM,CAAqB;gBAEvB,MAAM,GAAE,OAAO,CAAC,kBAAkB,CAAM;IAWpD;;OAEG;IACG,QAAQ,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAI3D;;OAEG;IACG,IAAI,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC;IAuCrD;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAKzB;;OAEG;YACW,OAAO;IAiBrB;;OAEG;IACH,OAAO,CAAC,aAAa;IAsFrB;;OAEG;IACH,OAAO,CAAC,QAAQ;IAsBhB;;OAEG;IACH,oBAAoB,CAAC,SAAS,EAAE,KAAK,GAAG,UAAU,GAAG,MAAM,GAAG,UAAU,GAAG,IAAI;IAI/E;;OAEG;IACH,SAAS,IAAI,kBAAkB;CAGhC"}
|
package/dist/gates/security.js
CHANGED
|
@@ -21,8 +21,9 @@ class SecurityGate {
|
|
|
21
21
|
config;
|
|
22
22
|
constructor(config = {}) {
|
|
23
23
|
this.config = {
|
|
24
|
-
|
|
25
|
-
|
|
24
|
+
// 空串归一为 undefined:`?? ''` 曾把「未提供」表示成空串,令下方 `??` 链恒停在
|
|
25
|
+
// 第二级、detectScanCommand() 不可达(#138)。「未提供」的唯一表示是 undefined。
|
|
26
|
+
scanCommand: config.scanCommand || undefined,
|
|
26
27
|
ignoreWarnings: config.ignoreWarnings ?? false,
|
|
27
28
|
ignoreDevDependencies: config.ignoreDevDependencies ?? false,
|
|
28
29
|
severityThreshold: config.severityThreshold ?? 'high',
|
|
@@ -39,11 +40,9 @@ class SecurityGate {
|
|
|
39
40
|
*/
|
|
40
41
|
async scan(context) {
|
|
41
42
|
const startTime = Date.now();
|
|
42
|
-
if (!this.config.enabled) {
|
|
43
|
-
return (0, types_1.pass)('security', '安全门禁已禁用', startTime);
|
|
44
|
-
}
|
|
45
43
|
try {
|
|
46
|
-
//
|
|
44
|
+
// 三级优先级(自上而下取第一个「已提供」者):context 覆盖 > 构造配置 > 自动探测。
|
|
45
|
+
// 缺省(未给命令)落到 detectScanCommand()——本行曾因构造器兜空串而恒停在第二级(#138)。
|
|
47
46
|
const scanCommand = context.securityScanCommand ??
|
|
48
47
|
this.config.scanCommand ??
|
|
49
48
|
this.detectScanCommand(context.projectPath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/gates/security.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;AAEH,wCAA0C;AAC1C,
|
|
1
|
+
{"version":3,"file":"security.js","sourceRoot":"","sources":["../../src/gates/security.ts"],"names":[],"mappings":"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"}
|
package/dist/gates/types.d.ts
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* 门禁类型定义 + GateResult 构造器
|
|
3
3
|
*/
|
|
4
|
+
import type { RunEnv } from '../core/constraints/run-env';
|
|
4
5
|
/**
|
|
5
6
|
* 门禁结果(报告结构,保留)
|
|
6
7
|
*
|
|
@@ -68,24 +69,26 @@ export interface Gate {
|
|
|
68
69
|
evaluate(ctx: GateContext): Promise<GateDecision> | GateDecision;
|
|
69
70
|
}
|
|
70
71
|
/**
|
|
71
|
-
*
|
|
72
|
+
* 门禁上下文:只带「这次在哪跑、跑什么」这类运行信息
|
|
73
|
+
*
|
|
74
|
+
* 配置一律走构造器(`ReviewGateConfig` 等),不要往这里加字段——
|
|
75
|
+
* 本类型曾有 6 个无人读取的配置型字段与构造器配置平行,填了不生效。
|
|
72
76
|
*/
|
|
73
77
|
export interface GateContext {
|
|
74
|
-
projectId: string;
|
|
75
|
-
taskId?: string;
|
|
76
78
|
projectPath: string;
|
|
79
|
+
taskId?: string;
|
|
77
80
|
prNumber?: number;
|
|
78
|
-
minReviewers?: number;
|
|
79
|
-
reviewers?: string[];
|
|
80
81
|
securityScanCommand?: string;
|
|
81
|
-
ignoreWarnings?: boolean;
|
|
82
82
|
performanceThresholds?: PerformanceThresholds;
|
|
83
83
|
oldContractPath?: string;
|
|
84
84
|
newContractPath?: string;
|
|
85
|
-
openApiSpec?: string;
|
|
86
85
|
command?: string;
|
|
87
86
|
tasksPath?: string;
|
|
88
|
-
|
|
87
|
+
/**
|
|
88
|
+
* 本 run 的运行级观察面(ADR-0023)。一条守卫链传同一枚 → 项目配置文件整链至多读一次;
|
|
89
|
+
* 不传 = 各门禁自造一枚一次性观察面(判定不变,只是不共享读取)
|
|
90
|
+
*/
|
|
91
|
+
runEnv?: RunEnv;
|
|
89
92
|
}
|
|
90
93
|
/**
|
|
91
94
|
* 性能阈值(架构评审候选2:只留有真实现的维度——coverage 走 json-summary、
|
|
@@ -108,7 +111,6 @@ export interface ReviewGateConfig {
|
|
|
108
111
|
* 安全门禁配置
|
|
109
112
|
*/
|
|
110
113
|
export interface SecurityGateConfig {
|
|
111
|
-
enabled: boolean;
|
|
112
114
|
scanCommand?: string;
|
|
113
115
|
ignoreWarnings: boolean;
|
|
114
116
|
ignoreDevDependencies: boolean;
|
|
@@ -118,14 +120,12 @@ export interface SecurityGateConfig {
|
|
|
118
120
|
* 性能门禁配置
|
|
119
121
|
*/
|
|
120
122
|
export interface PerformanceGateConfig {
|
|
121
|
-
enabled: boolean;
|
|
122
123
|
thresholds: PerformanceThresholds;
|
|
123
124
|
}
|
|
124
125
|
/**
|
|
125
126
|
* 契约门禁配置
|
|
126
127
|
*/
|
|
127
128
|
export interface ContractGateConfig {
|
|
128
|
-
enabled: boolean;
|
|
129
129
|
strict: boolean;
|
|
130
130
|
allowBreakingChanges: boolean;
|
|
131
131
|
contractPath?: string;
|
|
@@ -181,14 +181,11 @@ export interface CommandBlacklistRule {
|
|
|
181
181
|
}
|
|
182
182
|
/**
|
|
183
183
|
* 命令门禁配置
|
|
184
|
+
*
|
|
185
|
+
* `strict`(从不被判定读取)与 `customBlacklist`(零生产注入者,运行时扩展点是
|
|
186
|
+
* `CommandGate.addRule()`)两个配置位已删除,裁决见 ADR-0024(#135)。
|
|
184
187
|
*/
|
|
185
188
|
export interface CommandGateConfig {
|
|
186
|
-
/** 是否启用 */
|
|
187
|
-
enabled?: boolean;
|
|
188
|
-
/** 严格模式(warn 也阻止) */
|
|
189
|
-
strict?: boolean;
|
|
190
|
-
/** 自定义黑名单规则 */
|
|
191
|
-
customBlacklist?: CommandBlacklistRule[];
|
|
192
189
|
/** 忽略的类别 */
|
|
193
190
|
ignoreCategories?: string[];
|
|
194
191
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/gates/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH;;;;;GAKG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;IAC9B,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EACZ,MAAM,EAAE,OAAO,EACf,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC5B,UAAU,CASZ;AAED,WAAW;AACX,wBAAgB,IAAI,CAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC5B,UAAU,CAEZ;AAED,YAAY;AACZ,wBAAgB,IAAI,CAClB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC5B,UAAU,CAEZ;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CACvB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,MAAM,EACb,KAAK,EAAE,OAAO,EACd,SAAS,EAAE,MAAM,EACjB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,GAC5B,UAAU,CAGZ;AAED;;;;;;GAMG;AACH,MAAM,MAAM,kBAAkB,GAAG,MAAM,GAAG,SAAS,GAAG,KAAK,CAAC;AAE5D;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC3B,WAAW;IACX,MAAM,EAAE,kBAAkB,CAAC;IAC3B,iCAAiC;IACjC,MAAM,EAAE,UAAU,CAAC;CACpB;AAED;;;;;GAKG;AACH,MAAM,WAAW,IAAI;IACnB,iDAAiD;IACjD,QAAQ,CAAC,EAAE,EAAE,MAAM,CAAC;IACpB,gDAAgD;IAChD,KAAK,EAAE,MAAM,CAAC;IACd,6BAA6B;IAC7B,QAAQ,CAAC,GAAG,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC,GAAG,YAAY,CAAC;CAClE;AAED
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/gates/types.ts"],"names":[],"mappings":"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"}
|
package/dist/gates/types.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/gates/types.ts"],"names":[],"mappings":";AAAA;;GAEG;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../src/gates/types.ts"],"names":[],"mappings":";AAAA;;GAEG;;AAyBH,gCAeC;AAGD,oBAOC;AAGD,oBAOC;AAOD,8BASC;AAzDD;;;;;GAKG;AACH,SAAgB,UAAU,CACxB,IAAY,EACZ,MAAe,EACf,OAAe,EACf,SAAiB,EACjB,OAA6B;IAE7B,OAAO;QACL,IAAI;QACJ,MAAM;QACN,OAAO;QACP,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC/B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;QACnC,QAAQ,EAAE,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS;KACjC,CAAC;AACJ,CAAC;AAED,WAAW;AACX,SAAgB,IAAI,CAClB,IAAY,EACZ,OAAe,EACf,SAAiB,EACjB,OAA6B;IAE7B,OAAO,UAAU,CAAC,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAC7D,CAAC;AAED,YAAY;AACZ,SAAgB,IAAI,CAClB,IAAY,EACZ,OAAe,EACf,SAAiB,EACjB,OAA6B;IAE7B,OAAO,UAAU,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAC9D,CAAC;AAED;;;;GAIG;AACH,SAAgB,SAAS,CACvB,IAAY,EACZ,KAAa,EACb,KAAc,EACd,SAAiB,EACjB,OAA6B;IAE7B,MAAM,MAAM,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IACtE,OAAO,IAAI,CAAC,IAAI,EAAE,GAAG,KAAK,KAAK,MAAM,EAAE,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;AAC/D,CAAC"}
|
|
@@ -11,14 +11,15 @@
|
|
|
11
11
|
* // harness.checker, harness.config, harness.hooks, harness.sessions
|
|
12
12
|
* ```
|
|
13
13
|
*
|
|
14
|
-
* checker 的 trace 记录器在此接线(harness#88:core 不上行依赖 monitoring
|
|
14
|
+
* checker 的 trace 记录器在此接线(harness#88:core 不上行依赖 monitoring),
|
|
15
|
+
* 且锚在本函数收到的 projectPath 上(#139:落点跟根走,不落调用方 cwd)。
|
|
15
16
|
*/
|
|
16
17
|
import { ConstraintChecker } from '../core/constraints/checker';
|
|
17
18
|
import { SessionManager } from '../context/session-manager';
|
|
18
19
|
import { HookRegistry } from './registry';
|
|
19
20
|
import { HookPipeline } from './pipeline';
|
|
20
21
|
import type { MergedConstraintsConfig } from '../types/project-config';
|
|
21
|
-
import type { HookDefinition } from './types';
|
|
22
|
+
import type { HookConfig, HookDefinition } from './types';
|
|
22
23
|
/**
|
|
23
24
|
* Bootstrap 结果
|
|
24
25
|
*/
|
|
@@ -41,12 +42,13 @@ export interface HarnessBootstrap {
|
|
|
41
42
|
*
|
|
42
43
|
* @param projectPath 项目根路径
|
|
43
44
|
* @param hookDefinitions 可选,初始化时注册的 hook
|
|
45
|
+
* @param hookConfigs 可选,与 hookDefinitions 配对的配置声明表(注册定义时必填)
|
|
44
46
|
*/
|
|
45
|
-
export declare function bootstrapHarness(projectPath?: string, hookDefinitions?: HookDefinition[]): Promise<HarnessBootstrap>;
|
|
47
|
+
export declare function bootstrapHarness(projectPath?: string, hookDefinitions?: HookDefinition[], hookConfigs?: HookConfig[]): Promise<HarnessBootstrap>;
|
|
46
48
|
/**
|
|
47
49
|
* 同步 bootstrap(兼容不支持 top-level await 的环境)
|
|
48
50
|
*
|
|
49
51
|
* 配置加载仍为同步(readFileSync),其他组件初始化同上。
|
|
50
52
|
*/
|
|
51
|
-
export declare function bootstrapHarnessSync(projectPath?: string, hookDefinitions?: HookDefinition[]): HarnessBootstrap;
|
|
53
|
+
export declare function bootstrapHarnessSync(projectPath?: string, hookDefinitions?: HookDefinition[], hookConfigs?: HookConfig[]): HarnessBootstrap;
|
|
52
54
|
//# sourceMappingURL=bootstrap.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/hooks/bootstrap.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"bootstrap.d.ts","sourceRoot":"","sources":["../../src/hooks/bootstrap.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,6BAA6B,CAAC;AAChE,OAAO,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AAG5D,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAC1C,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AACvE,OAAO,KAAK,EAAE,UAAU,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAoB1D;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,YAAY;IACZ,OAAO,EAAE,iBAAiB,CAAC;IAC3B,YAAY;IACZ,QAAQ,EAAE,cAAc,CAAC;IACzB,eAAe;IACf,KAAK,EAAE,YAAY,CAAC;IACpB,cAAc;IACd,QAAQ,EAAE,YAAY,CAAC;IACvB,WAAW;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,eAAe;IACf,iBAAiB,EAAE,uBAAuB,CAAC;CAC5C;AAqBD;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CACpC,WAAW,CAAC,EAAE,MAAM,EACpB,eAAe,CAAC,EAAE,cAAc,EAAE,EAClC,WAAW,CAAC,EAAE,UAAU,EAAE,GACzB,OAAO,CAAC,gBAAgB,CAAC,CAyB3B;AAED;;;;GAIG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,CAAC,EAAE,MAAM,EACpB,eAAe,CAAC,EAAE,cAAc,EAAE,EAClC,WAAW,CAAC,EAAE,UAAU,EAAE,GACzB,gBAAgB,CAuBlB"}
|
package/dist/hooks/bootstrap.js
CHANGED
|
@@ -12,7 +12,8 @@
|
|
|
12
12
|
* // harness.checker, harness.config, harness.hooks, harness.sessions
|
|
13
13
|
* ```
|
|
14
14
|
*
|
|
15
|
-
* checker 的 trace 记录器在此接线(harness#88:core 不上行依赖 monitoring
|
|
15
|
+
* checker 的 trace 记录器在此接线(harness#88:core 不上行依赖 monitoring),
|
|
16
|
+
* 且锚在本函数收到的 projectPath 上(#139:落点跟根走,不落调用方 cwd)。
|
|
16
17
|
*/
|
|
17
18
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
19
|
exports.bootstrapHarness = bootstrapHarness;
|
|
@@ -27,8 +28,8 @@ const pipeline_1 = require("./pipeline");
|
|
|
27
28
|
* 异步加载项目配置(S9:异步 I/O)
|
|
28
29
|
*/
|
|
29
30
|
async function loadConfigAsync(projectPath) {
|
|
30
|
-
// config.yml
|
|
31
|
-
//
|
|
31
|
+
// config.yml 的读取只有 loadRawProjectConfig 这一条路(ADR-0023 决策 2 撤销进程级
|
|
32
|
+
// 缓存后,每次调用读当下内容),此处不重复读文件
|
|
32
33
|
const loader = new project_config_loader_1.ProjectConfigLoader(projectPath);
|
|
33
34
|
loader.load();
|
|
34
35
|
return {
|
|
@@ -36,25 +37,38 @@ async function loadConfigAsync(projectPath) {
|
|
|
36
37
|
mergedConstraints: loader.mergeConstraints(),
|
|
37
38
|
};
|
|
38
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* 注册初始 hook(定义必须配对配置声明表——#159 起 HookConfig 是
|
|
42
|
+
* enabled / errorStrategy 的唯一声明点,缺表即抛错)
|
|
43
|
+
*/
|
|
44
|
+
function registerInitialHooks(hooks, hookDefinitions, hookConfigs) {
|
|
45
|
+
if (!hookDefinitions || hookDefinitions.length === 0)
|
|
46
|
+
return;
|
|
47
|
+
if (!hookConfigs) {
|
|
48
|
+
throw new Error('[harness] bootstrap 失败:注册 hook 定义必须同时提供 HookConfig 声明表' +
|
|
49
|
+
'(enabled / errorStrategy 的唯一声明点)。');
|
|
50
|
+
}
|
|
51
|
+
hooks.registerAll(hookDefinitions, hookConfigs);
|
|
52
|
+
}
|
|
39
53
|
/**
|
|
40
54
|
* 初始化 harness 运行环境(异步,不阻塞事件循环)
|
|
41
55
|
*
|
|
42
56
|
* @param projectPath 项目根路径
|
|
43
57
|
* @param hookDefinitions 可选,初始化时注册的 hook
|
|
58
|
+
* @param hookConfigs 可选,与 hookDefinitions 配对的配置声明表(注册定义时必填)
|
|
44
59
|
*/
|
|
45
|
-
async function bootstrapHarness(projectPath, hookDefinitions) {
|
|
60
|
+
async function bootstrapHarness(projectPath, hookDefinitions, hookConfigs) {
|
|
46
61
|
const resolvedPath = projectPath || process.cwd();
|
|
47
62
|
// 1. 异步加载配置(S9 fix)
|
|
48
63
|
const { mergedConstraints } = await loadConfigAsync(resolvedPath);
|
|
49
64
|
// 2. 初始化核心组件
|
|
50
|
-
|
|
65
|
+
// trace 记录器锚根构造(#139):本函数本就收 projectPath,落点必须跟着根走
|
|
66
|
+
const checker = new checker_1.ConstraintChecker(new traces_1.TraceCollector({ projectPath: resolvedPath }));
|
|
51
67
|
const sessions = new session_manager_1.SessionManager(resolvedPath);
|
|
52
68
|
const hooks = new registry_1.HookRegistry();
|
|
53
69
|
const pipeline = new pipeline_1.HookPipeline(hooks);
|
|
54
70
|
// 3. 注册初始 hook
|
|
55
|
-
|
|
56
|
-
hooks.registerAll(hookDefinitions);
|
|
57
|
-
}
|
|
71
|
+
registerInitialHooks(hooks, hookDefinitions, hookConfigs);
|
|
58
72
|
return {
|
|
59
73
|
checker,
|
|
60
74
|
sessions,
|
|
@@ -69,18 +83,16 @@ async function bootstrapHarness(projectPath, hookDefinitions) {
|
|
|
69
83
|
*
|
|
70
84
|
* 配置加载仍为同步(readFileSync),其他组件初始化同上。
|
|
71
85
|
*/
|
|
72
|
-
function bootstrapHarnessSync(projectPath, hookDefinitions) {
|
|
86
|
+
function bootstrapHarnessSync(projectPath, hookDefinitions, hookConfigs) {
|
|
73
87
|
const resolvedPath = projectPath || process.cwd();
|
|
74
88
|
const loader = new project_config_loader_1.ProjectConfigLoader(resolvedPath);
|
|
75
89
|
loader.load();
|
|
76
90
|
const mergedConstraints = loader.mergeConstraints();
|
|
77
|
-
const checker = new checker_1.ConstraintChecker(
|
|
91
|
+
const checker = new checker_1.ConstraintChecker(new traces_1.TraceCollector({ projectPath: resolvedPath }));
|
|
78
92
|
const sessions = new session_manager_1.SessionManager(resolvedPath);
|
|
79
93
|
const hooks = new registry_1.HookRegistry();
|
|
80
94
|
const pipeline = new pipeline_1.HookPipeline(hooks);
|
|
81
|
-
|
|
82
|
-
hooks.registerAll(hookDefinitions);
|
|
83
|
-
}
|
|
95
|
+
registerInitialHooks(hooks, hookDefinitions, hookConfigs);
|
|
84
96
|
return {
|
|
85
97
|
checker,
|
|
86
98
|
sessions,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/hooks/bootstrap.ts"],"names":[],"mappings":";AAAA
|
|
1
|
+
{"version":3,"file":"bootstrap.js","sourceRoot":"","sources":["../../src/hooks/bootstrap.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;;GAeG;;AAyEH,4CA6BC;AAOD,oDA2BC;AAtID,yDAAgE;AAChE,gEAA4D;AAC5D,yEAAoE;AACpE,iDAAsD;AACtD,yCAA0C;AAC1C,yCAA0C;AAI1C;;GAEG;AACH,KAAK,UAAU,eAAe,CAAC,WAAmB;IAIhD,iEAAiE;IACjE,0BAA0B;IAC1B,MAAM,MAAM,GAAG,IAAI,2CAAmB,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,CAAC,IAAI,EAAE,CAAC;IAEd,OAAO;QACL,MAAM,EAAE,MAAM,CAAC,SAAS,EAAE;QAC1B,iBAAiB,EAAE,MAAM,CAAC,gBAAgB,EAAE;KAC7C,CAAC;AACJ,CAAC;AAoBD;;;GAGG;AACH,SAAS,oBAAoB,CAC3B,KAAmB,EACnB,eAA6C,EAC7C,WAAqC;IAErC,IAAI,CAAC,eAAe,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO;IAC7D,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,MAAM,IAAI,KAAK,CACb,wDAAwD;YACxD,mCAAmC,CACpC,CAAC;IACJ,CAAC;IACD,KAAK,CAAC,WAAW,CAAC,eAAe,EAAE,WAAW,CAAC,CAAC;AAClD,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,gBAAgB,CACpC,WAAoB,EACpB,eAAkC,EAClC,WAA0B;IAE1B,MAAM,YAAY,GAAG,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAElD,oBAAoB;IACpB,MAAM,EAAE,iBAAiB,EAAE,GAAG,MAAM,eAAe,CAAC,YAAY,CAAC,CAAC;IAElE,aAAa;IACb,kDAAkD;IAClD,MAAM,OAAO,GAAG,IAAI,2BAAiB,CAAC,IAAI,uBAAc,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;IAEzF,MAAM,QAAQ,GAAG,IAAI,gCAAc,CAAC,YAAY,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,IAAI,uBAAY,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,IAAI,uBAAY,CAAC,KAAK,CAAC,CAAC;IAEzC,eAAe;IACf,oBAAoB,CAAC,KAAK,EAAE,eAAe,EAAE,WAAW,CAAC,CAAC;IAE1D,OAAO;QACL,OAAO;QACP,QAAQ;QACR,KAAK;QACL,QAAQ;QACR,WAAW,EAAE,YAAY;QACzB,iBAAiB;KAClB,CAAC;AACJ,CAAC;AAED;;;;GAIG;AACH,SAAgB,oBAAoB,CAClC,WAAoB,EACpB,eAAkC,EAClC,WAA0B;IAE1B,MAAM,YAAY,GAAG,WAAW,IAAI,OAAO,CAAC,GAAG,EAAE,CAAC;IAElD,MAAM,MAAM,GAAG,IAAI,2CAAmB,CAAC,YAAY,CAAC,CAAC;IACrD,MAAM,CAAC,IAAI,EAAE,CAAC;IACd,MAAM,iBAAiB,GAAG,MAAM,CAAC,gBAAgB,EAAE,CAAC;IAEpD,MAAM,OAAO,GAAG,IAAI,2BAAiB,CAAC,IAAI,uBAAc,CAAC,EAAE,WAAW,EAAE,YAAY,EAAE,CAAC,CAAC,CAAC;IAEzF,MAAM,QAAQ,GAAG,IAAI,gCAAc,CAAC,YAAY,CAAC,CAAC;IAClD,MAAM,KAAK,GAAG,IAAI,uBAAY,EAAE,CAAC;IACjC,MAAM,QAAQ,GAAG,IAAI,uBAAY,CAAC,KAAK,CAAC,CAAC;IAEzC,oBAAoB,CAAC,KAAK,EAAE,eAAe,EAAE,WAAW,CAAC,CAAC;IAE1D,OAAO;QACL,OAAO;QACP,QAAQ;QACR,KAAK;QACL,QAAQ;QACR,WAAW,EAAE,YAAY;QACzB,iBAAiB;KAClB,CAAC;AACJ,CAAC"}
|
package/dist/hooks/config.d.ts
CHANGED
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
* Hook 配置归一(G7)
|
|
3
3
|
*
|
|
4
4
|
* studio 侧 per-hook 运行时配置(`blocking: boolean`)与 harness 侧
|
|
5
|
-
* `
|
|
5
|
+
* `HookConfig.errorStrategy` 双轨归一:以 errorStrategy 为唯一真相,
|
|
6
6
|
* `blocking` → errorStrategy 为无损映射。
|
|
7
7
|
*
|
|
8
8
|
* 映射语义(确认于 H5):
|
|
@@ -12,6 +12,10 @@
|
|
|
12
12
|
* (管线结果 warnings 记名,passed 不受影响)——对应 studio safeCallHook
|
|
13
13
|
* console.warn 继续
|
|
14
14
|
*
|
|
15
|
+
* #159 起 `HookConfig` 是 `enabled` / `errorStrategy` 的唯一声明点:
|
|
16
|
+
* HookDefinition 不再携带这两个字段,注册环节以配置表填充有效值,
|
|
17
|
+
* 有效策略集合收敛为 'block' | 'warn'(原 'ignore' 退出有效面)。
|
|
18
|
+
*
|
|
15
19
|
* studio 侧随动(studio #150 A4):hooks/config.ts 删 DEFAULTS/safeCallHook,
|
|
16
20
|
* blocking→errorStrategy 无损映射进 toHookDef;HARNESS_HOOK_DISABLE 保留 studio。
|
|
17
21
|
*/
|
|
@@ -22,5 +26,5 @@ import type { HookErrorStrategy } from './types';
|
|
|
22
26
|
* @param blocking studio 侧「失败是否阻断」语义
|
|
23
27
|
* @returns 'block'(阻断)| 'warn'(警告继续)
|
|
24
28
|
*/
|
|
25
|
-
export declare function toErrorStrategy(blocking: boolean):
|
|
29
|
+
export declare function toErrorStrategy(blocking: boolean): HookErrorStrategy;
|
|
26
30
|
//# sourceMappingURL=config.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/hooks/config.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/hooks/config.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAEH,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAEjD;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,OAAO,GAAG,iBAAiB,CAEpE"}
|