@lumenflow/core 3.1.3 → 3.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/active-wu-detector.d.ts +25 -0
- package/dist/active-wu-detector.d.ts.map +1 -0
- package/dist/active-wu-detector.js +109 -0
- package/dist/active-wu-detector.js.map +1 -0
- package/dist/adapters/context-adapters.d.ts +101 -0
- package/dist/adapters/context-adapters.d.ts.map +1 -0
- package/dist/adapters/context-adapters.js +98 -0
- package/dist/adapters/context-adapters.js.map +1 -0
- package/dist/adapters/filesystem-metrics.adapter.d.ts +91 -0
- package/dist/adapters/filesystem-metrics.adapter.d.ts.map +1 -0
- package/dist/adapters/filesystem-metrics.adapter.js +530 -0
- package/dist/adapters/filesystem-metrics.adapter.js.map +1 -0
- package/dist/adapters/index.d.ts +15 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +21 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/mock-dashboard-renderer.adapter.d.ts +86 -0
- package/dist/adapters/mock-dashboard-renderer.adapter.d.ts.map +1 -0
- package/dist/adapters/mock-dashboard-renderer.adapter.js +93 -0
- package/dist/adapters/mock-dashboard-renderer.adapter.js.map +1 -0
- package/dist/adapters/recovery-adapters.d.ts +41 -0
- package/dist/adapters/recovery-adapters.d.ts.map +1 -0
- package/dist/adapters/recovery-adapters.js +32 -0
- package/dist/adapters/recovery-adapters.js.map +1 -0
- package/dist/adapters/terminal-renderer.adapter.d.ts +86 -0
- package/dist/adapters/terminal-renderer.adapter.d.ts.map +1 -0
- package/dist/adapters/terminal-renderer.adapter.js +344 -0
- package/dist/adapters/terminal-renderer.adapter.js.map +1 -0
- package/dist/adapters/validation-adapters.d.ts +53 -0
- package/dist/adapters/validation-adapters.d.ts.map +1 -0
- package/dist/adapters/validation-adapters.js +48 -0
- package/dist/adapters/validation-adapters.js.map +1 -0
- package/dist/agent-patterns-registry.d.ts +141 -0
- package/dist/agent-patterns-registry.d.ts.map +1 -0
- package/dist/agent-patterns-registry.js +320 -0
- package/dist/agent-patterns-registry.js.map +1 -0
- package/dist/arg-parser.d.ts +94 -0
- package/dist/arg-parser.d.ts.map +1 -0
- package/dist/arg-parser.js +774 -0
- package/dist/arg-parser.js.map +1 -0
- package/dist/atomic-merge.d.ts +21 -0
- package/dist/atomic-merge.d.ts.map +1 -0
- package/dist/atomic-merge.js +87 -0
- package/dist/atomic-merge.js.map +1 -0
- package/dist/backlog-editor.d.ts +103 -0
- package/dist/backlog-editor.d.ts.map +1 -0
- package/dist/backlog-editor.js +158 -0
- package/dist/backlog-editor.js.map +1 -0
- package/dist/backlog-generator.d.ts +90 -0
- package/dist/backlog-generator.d.ts.map +1 -0
- package/dist/backlog-generator.js +536 -0
- package/dist/backlog-generator.js.map +1 -0
- package/dist/backlog-parser.d.ts +46 -0
- package/dist/backlog-parser.d.ts.map +1 -0
- package/dist/backlog-parser.js +105 -0
- package/dist/backlog-parser.js.map +1 -0
- package/dist/backlog-sync-validator.d.ts +88 -0
- package/dist/backlog-sync-validator.d.ts.map +1 -0
- package/dist/backlog-sync-validator.js +322 -0
- package/dist/backlog-sync-validator.js.map +1 -0
- package/dist/branch-check.d.ts +63 -0
- package/dist/branch-check.d.ts.map +1 -0
- package/dist/branch-check.js +197 -0
- package/dist/branch-check.js.map +1 -0
- package/dist/branch-drift.d.ts +24 -0
- package/dist/branch-drift.d.ts.map +1 -0
- package/dist/branch-drift.js +54 -0
- package/dist/branch-drift.js.map +1 -0
- package/dist/cleanup-install-config.d.ts +24 -0
- package/dist/cleanup-install-config.d.ts.map +1 -0
- package/dist/cleanup-install-config.js +40 -0
- package/dist/cleanup-install-config.js.map +1 -0
- package/dist/cleanup-lock.d.ts +125 -0
- package/dist/cleanup-lock.d.ts.map +1 -0
- package/dist/cleanup-lock.js +322 -0
- package/dist/cleanup-lock.js.map +1 -0
- package/dist/cli/is-agent-branch.d.ts +22 -0
- package/dist/cli/is-agent-branch.d.ts.map +1 -0
- package/dist/cli/is-agent-branch.js.map +1 -0
- package/dist/cloud-detect.d.ts +145 -0
- package/dist/cloud-detect.d.ts.map +1 -0
- package/dist/cloud-detect.js +116 -0
- package/dist/cloud-detect.js.map +1 -0
- package/dist/code-path-validator.d.ts +145 -0
- package/dist/code-path-validator.d.ts.map +1 -0
- package/dist/code-path-validator.js +553 -0
- package/dist/code-path-validator.js.map +1 -0
- package/dist/code-paths-overlap.d.ts +50 -0
- package/dist/code-paths-overlap.d.ts.map +1 -0
- package/dist/code-paths-overlap.js +248 -0
- package/dist/code-paths-overlap.js.map +1 -0
- package/dist/color-support.d.ts +21 -0
- package/dist/color-support.d.ts.map +1 -0
- package/dist/color-support.js +67 -0
- package/dist/color-support.js.map +1 -0
- package/dist/commands-logger.d.ts +71 -0
- package/dist/commands-logger.d.ts.map +1 -0
- package/dist/commands-logger.js +257 -0
- package/dist/commands-logger.js.map +1 -0
- package/dist/commit-message-utils.d.ts +26 -0
- package/dist/commit-message-utils.d.ts.map +1 -0
- package/dist/commit-message-utils.js +44 -0
- package/dist/commit-message-utils.js.map +1 -0
- package/dist/config-contract.d.ts +12 -0
- package/dist/config-contract.d.ts.map +1 -0
- package/dist/config-contract.js +14 -0
- package/dist/config-contract.js.map +1 -0
- package/dist/constants/backlog-patterns.d.ts +21 -0
- package/dist/constants/backlog-patterns.d.ts.map +1 -0
- package/dist/constants/backlog-patterns.js +26 -0
- package/dist/constants/backlog-patterns.js.map +1 -0
- package/dist/constants/display-constants.d.ts +22 -0
- package/dist/constants/display-constants.d.ts.map +1 -0
- package/dist/constants/display-constants.js +26 -0
- package/dist/constants/display-constants.js.map +1 -0
- package/dist/constants/dora-constants.d.ts +50 -0
- package/dist/constants/dora-constants.d.ts.map +1 -0
- package/dist/constants/dora-constants.js +56 -0
- package/dist/constants/dora-constants.js.map +1 -0
- package/dist/constants/duration-constants.d.ts +29 -0
- package/dist/constants/duration-constants.d.ts.map +1 -0
- package/dist/constants/duration-constants.js +31 -0
- package/dist/constants/duration-constants.js.map +1 -0
- package/dist/constants/gate-constants.d.ts +24 -0
- package/dist/constants/gate-constants.d.ts.map +1 -0
- package/dist/constants/gate-constants.js +26 -0
- package/dist/constants/gate-constants.js.map +1 -0
- package/dist/constants/git-constants.d.ts +33 -0
- package/dist/constants/git-constants.d.ts.map +1 -0
- package/dist/constants/git-constants.js +35 -0
- package/dist/constants/git-constants.js.map +1 -0
- package/dist/constants/index.d.ts +20 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/index.js +31 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/constants/linter-constants.d.ts +17 -0
- package/dist/constants/linter-constants.d.ts.map +1 -0
- package/dist/constants/linter-constants.js +19 -0
- package/dist/constants/linter-constants.js.map +1 -0
- package/dist/constants/lock-constants.d.ts +29 -0
- package/dist/constants/lock-constants.d.ts.map +1 -0
- package/dist/constants/lock-constants.js +31 -0
- package/dist/constants/lock-constants.js.map +1 -0
- package/dist/constants/tokenizer-constants.d.ts +16 -0
- package/dist/constants/tokenizer-constants.d.ts.map +1 -0
- package/dist/constants/tokenizer-constants.js +18 -0
- package/dist/constants/tokenizer-constants.js.map +1 -0
- package/dist/constants/validation-constants.d.ts +15 -0
- package/dist/constants/validation-constants.d.ts.map +1 -0
- package/dist/constants/validation-constants.js +17 -0
- package/dist/constants/validation-constants.js.map +1 -0
- package/dist/context/context-computer.d.ts +36 -0
- package/dist/context/context-computer.d.ts.map +1 -0
- package/dist/context/context-computer.js +128 -0
- package/dist/context/context-computer.js.map +1 -0
- package/dist/context/git-state-reader.d.ts +37 -0
- package/dist/context/git-state-reader.d.ts.map +1 -0
- package/dist/context/git-state-reader.js +64 -0
- package/dist/context/git-state-reader.js.map +1 -0
- package/dist/context/index.d.ts +18 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +20 -0
- package/dist/context/index.js.map +1 -0
- package/dist/context/location-resolver.d.ts +34 -0
- package/dist/context/location-resolver.d.ts.map +1 -0
- package/dist/context/location-resolver.js +179 -0
- package/dist/context/location-resolver.js.map +1 -0
- package/dist/context/wu-state-reader.d.ts +30 -0
- package/dist/context/wu-state-reader.d.ts.map +1 -0
- package/dist/context/wu-state-reader.js +126 -0
- package/dist/context/wu-state-reader.js.map +1 -0
- package/dist/context-di.d.ts +185 -0
- package/dist/context-di.d.ts.map +1 -0
- package/dist/context-di.js +165 -0
- package/dist/context-di.js.map +1 -0
- package/dist/context-validation-integration.d.ts +69 -0
- package/dist/context-validation-integration.d.ts.map +1 -0
- package/dist/context-validation-integration.js +161 -0
- package/dist/context-validation-integration.js.map +1 -0
- package/dist/core/scope-checker.d.ts +80 -0
- package/dist/core/scope-checker.d.ts.map +1 -0
- package/dist/core/scope-checker.js +166 -0
- package/dist/core/scope-checker.js.map +1 -0
- package/dist/core/tool-runner.d.ts +136 -0
- package/dist/core/tool-runner.d.ts.map +1 -0
- package/dist/core/tool-runner.js +396 -0
- package/dist/core/tool-runner.js.map +1 -0
- package/dist/core/tool.constants.d.ts +106 -0
- package/dist/core/tool.constants.d.ts.map +1 -0
- package/dist/core/tool.constants.js +104 -0
- package/dist/core/tool.constants.js.map +1 -0
- package/dist/core/tool.schemas.d.ts +227 -0
- package/dist/core/tool.schemas.d.ts.map +1 -0
- package/dist/core/tool.schemas.js +229 -0
- package/dist/core/tool.schemas.js.map +1 -0
- package/dist/core/worktree-guard.d.ts +115 -0
- package/dist/core/worktree-guard.d.ts.map +1 -0
- package/dist/core/worktree-guard.js +245 -0
- package/dist/core/worktree-guard.js.map +1 -0
- package/dist/coverage-gate.d.ts +127 -0
- package/dist/coverage-gate.d.ts.map +1 -0
- package/dist/coverage-gate.js +211 -0
- package/dist/coverage-gate.js.map +1 -0
- package/dist/cycle-detector.d.ts +52 -0
- package/dist/cycle-detector.d.ts.map +1 -0
- package/dist/cycle-detector.js +84 -0
- package/dist/cycle-detector.js.map +1 -0
- package/dist/date-utils.d.ts +66 -0
- package/dist/date-utils.d.ts.map +1 -0
- package/dist/date-utils.js +143 -0
- package/dist/date-utils.js.map +1 -0
- package/dist/delegation-escalation.d.ts +71 -0
- package/dist/delegation-escalation.d.ts.map +1 -0
- package/dist/delegation-escalation.js +264 -0
- package/dist/delegation-escalation.js.map +1 -0
- package/dist/delegation-monitor.d.ts +262 -0
- package/dist/delegation-monitor.d.ts.map +1 -0
- package/dist/delegation-monitor.js +678 -0
- package/dist/delegation-monitor.js.map +1 -0
- package/dist/delegation-recovery.d.ts +62 -0
- package/dist/delegation-recovery.d.ts.map +1 -0
- package/dist/delegation-recovery.js +304 -0
- package/dist/delegation-recovery.js.map +1 -0
- package/dist/delegation-registry-schema.d.ts +75 -0
- package/dist/delegation-registry-schema.d.ts.map +1 -0
- package/dist/delegation-registry-schema.js +93 -0
- package/dist/delegation-registry-schema.js.map +1 -0
- package/dist/delegation-registry-store.d.ts +145 -0
- package/dist/delegation-registry-store.d.ts.map +1 -0
- package/dist/delegation-registry-store.js +308 -0
- package/dist/delegation-registry-store.js.map +1 -0
- package/dist/delegation-tree.d.ts +52 -0
- package/dist/delegation-tree.d.ts.map +1 -0
- package/dist/delegation-tree.js +205 -0
- package/dist/delegation-tree.js.map +1 -0
- package/dist/dependency-graph.d.ts +169 -0
- package/dist/dependency-graph.d.ts.map +1 -0
- package/dist/dependency-graph.js +612 -0
- package/dist/dependency-graph.js.map +1 -0
- package/dist/dependency-guard.d.ts +41 -0
- package/dist/dependency-guard.d.ts.map +1 -0
- package/dist/dependency-guard.js +145 -0
- package/dist/dependency-guard.js.map +1 -0
- package/dist/dependency-validator.d.ts +89 -0
- package/dist/dependency-validator.d.ts.map +1 -0
- package/dist/dependency-validator.js +155 -0
- package/dist/dependency-validator.js.map +1 -0
- package/dist/docs-path-validator.d.ts +16 -0
- package/dist/docs-path-validator.d.ts.map +1 -0
- package/dist/docs-path-validator.js +98 -0
- package/dist/docs-path-validator.js.map +1 -0
- package/dist/domain/context.schemas.d.ts +170 -0
- package/dist/domain/context.schemas.d.ts.map +1 -0
- package/dist/domain/context.schemas.js +151 -0
- package/dist/domain/context.schemas.js.map +1 -0
- package/dist/domain/index.d.ts +15 -0
- package/dist/domain/index.d.ts.map +1 -0
- package/dist/domain/index.js +23 -0
- package/dist/domain/index.js.map +1 -0
- package/dist/domain/orchestration.constants.d.ts +111 -0
- package/dist/domain/orchestration.constants.d.ts.map +1 -0
- package/dist/domain/orchestration.constants.js +130 -0
- package/dist/domain/orchestration.constants.js.map +1 -0
- package/dist/domain/orchestration.schemas.d.ts +307 -0
- package/dist/domain/orchestration.schemas.d.ts.map +1 -0
- package/dist/domain/orchestration.schemas.js +214 -0
- package/dist/domain/orchestration.schemas.js.map +1 -0
- package/dist/domain/orchestration.types.d.ts +134 -0
- package/dist/domain/orchestration.types.d.ts.map +1 -0
- package/dist/domain/orchestration.types.js +5 -0
- package/dist/domain/orchestration.types.js.map +1 -0
- package/dist/domain/recovery.schemas.d.ts +164 -0
- package/dist/domain/recovery.schemas.d.ts.map +1 -0
- package/dist/domain/recovery.schemas.js +134 -0
- package/dist/domain/recovery.schemas.js.map +1 -0
- package/dist/domain/validation.schemas.d.ts +147 -0
- package/dist/domain/validation.schemas.d.ts.map +1 -0
- package/dist/domain/validation.schemas.js +117 -0
- package/dist/domain/validation.schemas.js.map +1 -0
- package/dist/error-handler.d.ts +144 -0
- package/dist/error-handler.d.ts.map +1 -0
- package/dist/error-handler.js +214 -0
- package/dist/error-handler.js.map +1 -0
- package/dist/file-classifiers.d.ts +63 -0
- package/dist/file-classifiers.d.ts.map +1 -0
- package/dist/file-classifiers.js +111 -0
- package/dist/file-classifiers.js.map +1 -0
- package/dist/force-bypass-audit.d.ts +47 -0
- package/dist/force-bypass-audit.d.ts.map +1 -0
- package/dist/force-bypass-audit.js +146 -0
- package/dist/force-bypass-audit.js.map +1 -0
- package/dist/gates-agent-mode.d.ts +107 -0
- package/dist/gates-agent-mode.d.ts.map +1 -0
- package/dist/gates-agent-mode.js +138 -0
- package/dist/gates-agent-mode.js.map +1 -0
- package/dist/gates-config-internal.d.ts +51 -0
- package/dist/gates-config-internal.d.ts.map +1 -0
- package/dist/gates-config-internal.js +105 -0
- package/dist/gates-config-internal.js.map +1 -0
- package/dist/gates-config.d.ts +65 -0
- package/dist/gates-config.d.ts.map +1 -0
- package/dist/gates-config.js +191 -0
- package/dist/gates-config.js.map +1 -0
- package/dist/gates-coverage.d.ts +39 -0
- package/dist/gates-coverage.d.ts.map +1 -0
- package/dist/gates-coverage.js +148 -0
- package/dist/gates-coverage.js.map +1 -0
- package/dist/gates-presets.d.ts +25 -0
- package/dist/gates-presets.d.ts.map +1 -0
- package/dist/gates-presets.js +74 -0
- package/dist/gates-presets.js.map +1 -0
- package/dist/gates-schemas.d.ts +141 -0
- package/dist/gates-schemas.d.ts.map +1 -0
- package/dist/gates-schemas.js +67 -0
- package/dist/gates-schemas.js.map +1 -0
- package/dist/generate-traceability.d.ts +106 -0
- package/dist/generate-traceability.d.ts.map +1 -0
- package/dist/generate-traceability.js +387 -0
- package/dist/generate-traceability.js.map +1 -0
- package/dist/git-adapter.d.ts +406 -0
- package/dist/git-adapter.d.ts.map +1 -0
- package/dist/git-adapter.js +686 -0
- package/dist/git-adapter.js.map +1 -0
- package/dist/git-context-extractor.d.ts +102 -0
- package/dist/git-context-extractor.d.ts.map +1 -0
- package/dist/git-context-extractor.js +569 -0
- package/dist/git-context-extractor.js.map +1 -0
- package/dist/git-staged-validator.d.ts +33 -0
- package/dist/git-staged-validator.d.ts.map +1 -0
- package/dist/git-staged-validator.js +52 -0
- package/dist/git-staged-validator.js.map +1 -0
- package/dist/hardcoded-strings.d.ts +67 -0
- package/dist/hardcoded-strings.d.ts.map +1 -0
- package/dist/hardcoded-strings.js +276 -0
- package/dist/hardcoded-strings.js.map +1 -0
- package/dist/incremental-lint.d.ts +71 -0
- package/dist/incremental-lint.d.ts.map +1 -0
- package/dist/incremental-lint.js +132 -0
- package/dist/incremental-lint.js.map +1 -0
- package/dist/incremental-test.d.ts +33 -0
- package/dist/incremental-test.d.ts.map +1 -0
- package/dist/incremental-test.js +64 -0
- package/dist/incremental-test.js.map +1 -0
- package/dist/index.d.ts +108 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js.map +1 -0
- package/dist/invariants/check-automated-tests.d.ts +42 -0
- package/dist/invariants/check-automated-tests.d.ts.map +1 -0
- package/dist/invariants/check-automated-tests.js +171 -0
- package/dist/invariants/check-automated-tests.js.map +1 -0
- package/dist/invariants-runner.d.ts +166 -0
- package/dist/invariants-runner.d.ts.map +1 -0
- package/dist/invariants-runner.js +583 -0
- package/dist/invariants-runner.js.map +1 -0
- package/dist/lane-checker.d.ts +132 -0
- package/dist/lane-checker.d.ts.map +1 -0
- package/dist/lane-checker.js +687 -0
- package/dist/lane-checker.js.map +1 -0
- package/dist/lane-inference.d.ts +29 -0
- package/dist/lane-inference.d.ts.map +1 -0
- package/dist/lane-inference.js +210 -0
- package/dist/lane-inference.js.map +1 -0
- package/dist/lane-lock.d.ts +220 -0
- package/dist/lane-lock.d.ts.map +1 -0
- package/dist/lane-lock.js +499 -0
- package/dist/lane-lock.js.map +1 -0
- package/dist/lane-suggest-prompt.d.ts +97 -0
- package/dist/lane-suggest-prompt.d.ts.map +1 -0
- package/dist/lane-suggest-prompt.js +362 -0
- package/dist/lane-suggest-prompt.js.map +1 -0
- package/dist/lane-validator.d.ts +49 -0
- package/dist/lane-validator.d.ts.map +1 -0
- package/dist/lane-validator.js +117 -0
- package/dist/lane-validator.js.map +1 -0
- package/dist/logs-lib.d.ts +89 -0
- package/dist/logs-lib.d.ts.map +1 -0
- package/dist/logs-lib.js +214 -0
- package/dist/logs-lib.js.map +1 -0
- package/dist/lumenflow-config-schema.d.ts +643 -0
- package/dist/lumenflow-config-schema.d.ts.map +1 -0
- package/dist/lumenflow-config-schema.js +120 -0
- package/dist/lumenflow-config-schema.js.map +1 -0
- package/dist/lumenflow-config.d.ts +112 -0
- package/dist/lumenflow-config.d.ts.map +1 -0
- package/dist/lumenflow-config.js +328 -0
- package/dist/lumenflow-config.js.map +1 -0
- package/dist/lumenflow-home.d.ts +118 -0
- package/dist/lumenflow-home.d.ts.map +1 -0
- package/dist/lumenflow-home.js +214 -0
- package/dist/lumenflow-home.js.map +1 -0
- package/dist/manual-test-validator.d.ts +84 -0
- package/dist/manual-test-validator.d.ts.map +1 -0
- package/dist/manual-test-validator.js +206 -0
- package/dist/manual-test-validator.js.map +1 -0
- package/dist/merge-lock.d.ts +107 -0
- package/dist/merge-lock.d.ts.map +1 -0
- package/dist/merge-lock.js +260 -0
- package/dist/merge-lock.js.map +1 -0
- package/dist/micro-worktree-shared.d.ts +128 -0
- package/dist/micro-worktree-shared.d.ts.map +1 -0
- package/dist/micro-worktree-shared.js +352 -0
- package/dist/micro-worktree-shared.js.map +1 -0
- package/dist/micro-worktree.d.ts +165 -0
- package/dist/micro-worktree.d.ts.map +1 -0
- package/dist/micro-worktree.js +463 -0
- package/dist/micro-worktree.js.map +1 -0
- package/dist/normalize-config-keys.d.ts +10 -0
- package/dist/normalize-config-keys.d.ts.map +1 -0
- package/dist/normalize-config-keys.js +70 -0
- package/dist/normalize-config-keys.js.map +1 -0
- package/dist/object-guards.d.ts +11 -0
- package/dist/object-guards.d.ts.map +1 -0
- package/dist/object-guards.js +23 -0
- package/dist/object-guards.js.map +1 -0
- package/dist/orchestration-advisory-loader.d.ts +19 -0
- package/dist/orchestration-advisory-loader.d.ts.map +1 -0
- package/dist/orchestration-advisory-loader.js +94 -0
- package/dist/orchestration-advisory-loader.js.map +1 -0
- package/dist/orchestration-advisory.d.ts +49 -0
- package/dist/orchestration-advisory.d.ts.map +1 -0
- package/dist/orchestration-advisory.js +97 -0
- package/dist/orchestration-advisory.js.map +1 -0
- package/dist/orchestration-di.d.ts +36 -0
- package/dist/orchestration-di.d.ts.map +1 -0
- package/dist/orchestration-di.js +60 -0
- package/dist/orchestration-di.js.map +1 -0
- package/dist/orchestration-rules.d.ts +60 -0
- package/dist/orchestration-rules.d.ts.map +1 -0
- package/dist/orchestration-rules.js +212 -0
- package/dist/orchestration-rules.js.map +1 -0
- package/dist/orphan-detector.d.ts +148 -0
- package/dist/orphan-detector.d.ts.map +1 -0
- package/dist/orphan-detector.js +253 -0
- package/dist/orphan-detector.js.map +1 -0
- package/dist/pack-authoring-template-engine.d.ts +54 -0
- package/dist/pack-authoring-template-engine.d.ts.map +1 -0
- package/dist/pack-authoring-template-engine.js +510 -0
- package/dist/pack-authoring-template-engine.js.map +1 -0
- package/dist/package-manager-resolver.d.ts +63 -0
- package/dist/package-manager-resolver.d.ts.map +1 -0
- package/dist/package-manager-resolver.js +193 -0
- package/dist/package-manager-resolver.js.map +1 -0
- package/dist/path-classifiers.d.ts +58 -0
- package/dist/path-classifiers.d.ts.map +1 -0
- package/dist/path-classifiers.js +96 -0
- package/dist/path-classifiers.js.map +1 -0
- package/dist/patrol-loop.d.ts +171 -0
- package/dist/patrol-loop.d.ts.map +1 -0
- package/dist/patrol-loop.js +197 -0
- package/dist/patrol-loop.js.map +1 -0
- package/dist/piped-command-detector.d.ts +25 -0
- package/dist/piped-command-detector.d.ts.map +1 -0
- package/dist/piped-command-detector.js +67 -0
- package/dist/piped-command-detector.js.map +1 -0
- package/dist/ports/config.ports.d.ts +83 -0
- package/dist/ports/config.ports.d.ts.map +1 -0
- package/dist/ports/config.ports.js +4 -0
- package/dist/ports/config.ports.js.map +1 -0
- package/dist/ports/context.ports.d.ts +136 -0
- package/dist/ports/context.ports.d.ts.map +1 -0
- package/dist/ports/context.ports.js +4 -0
- package/dist/ports/context.ports.js.map +1 -0
- package/dist/ports/core-tools.ports.d.ts +282 -0
- package/dist/ports/core-tools.ports.d.ts.map +1 -0
- package/dist/ports/core-tools.ports.js +4 -0
- package/dist/ports/core-tools.ports.js.map +1 -0
- package/dist/ports/dashboard-renderer.port.d.ts +113 -0
- package/dist/ports/dashboard-renderer.port.d.ts.map +1 -0
- package/dist/ports/dashboard-renderer.port.js +4 -0
- package/dist/ports/dashboard-renderer.port.js.map +1 -0
- package/dist/ports/git-validator.ports.d.ts +114 -0
- package/dist/ports/git-validator.ports.d.ts.map +1 -0
- package/dist/ports/git-validator.ports.js +4 -0
- package/dist/ports/git-validator.ports.js.map +1 -0
- package/dist/ports/index.d.ts +23 -0
- package/dist/ports/index.d.ts.map +1 -0
- package/dist/ports/index.js +25 -0
- package/dist/ports/index.js.map +1 -0
- package/dist/ports/metrics-collector.port.d.ts +133 -0
- package/dist/ports/metrics-collector.port.d.ts.map +1 -0
- package/dist/ports/metrics-collector.port.js +4 -0
- package/dist/ports/metrics-collector.port.js.map +1 -0
- package/dist/ports/recovery.ports.d.ts +59 -0
- package/dist/ports/recovery.ports.d.ts.map +1 -0
- package/dist/ports/recovery.ports.js +4 -0
- package/dist/ports/recovery.ports.js.map +1 -0
- package/dist/ports/validation.ports.d.ts +75 -0
- package/dist/ports/validation.ports.d.ts.map +1 -0
- package/dist/ports/validation.ports.js +4 -0
- package/dist/ports/validation.ports.js.map +1 -0
- package/dist/ports/wu-helpers.ports.d.ts +168 -0
- package/dist/ports/wu-helpers.ports.d.ts.map +1 -0
- package/dist/ports/wu-helpers.ports.js +4 -0
- package/dist/ports/wu-helpers.ports.js.map +1 -0
- package/dist/ports/wu-state.ports.d.ts +190 -0
- package/dist/ports/wu-state.ports.d.ts.map +1 -0
- package/dist/ports/wu-state.ports.js +4 -0
- package/dist/ports/wu-state.ports.js.map +1 -0
- package/dist/process-detector.d.ts +69 -0
- package/dist/process-detector.d.ts.map +1 -0
- package/dist/process-detector.js +175 -0
- package/dist/process-detector.js.map +1 -0
- package/dist/prompt-linter.d.ts +73 -0
- package/dist/prompt-linter.d.ts.map +1 -0
- package/dist/prompt-linter.js +338 -0
- package/dist/prompt-linter.js.map +1 -0
- package/dist/prompt-monitor.d.ts +13 -0
- package/dist/prompt-monitor.d.ts.map +1 -0
- package/dist/prompt-monitor.js +233 -0
- package/dist/prompt-monitor.js.map +1 -0
- package/dist/rebase-artifact-cleanup.d.ts +156 -0
- package/dist/rebase-artifact-cleanup.d.ts.map +1 -0
- package/dist/rebase-artifact-cleanup.js +475 -0
- package/dist/rebase-artifact-cleanup.js.map +1 -0
- package/dist/recovery/index.d.ts +12 -0
- package/dist/recovery/index.d.ts.map +1 -0
- package/dist/recovery/index.js +14 -0
- package/dist/recovery/index.js.map +1 -0
- package/dist/recovery/recovery-analyzer.d.ts +49 -0
- package/dist/recovery/recovery-analyzer.d.ts.map +1 -0
- package/dist/recovery/recovery-analyzer.js +149 -0
- package/dist/recovery/recovery-analyzer.js.map +1 -0
- package/dist/resolve-policy.d.ts +257 -0
- package/dist/resolve-policy.d.ts.map +1 -0
- package/dist/resolve-policy.js +269 -0
- package/dist/resolve-policy.js.map +1 -0
- package/dist/retry-strategy.d.ts +191 -0
- package/dist/retry-strategy.d.ts.map +1 -0
- package/dist/retry-strategy.js +286 -0
- package/dist/retry-strategy.js.map +1 -0
- package/dist/rollback-utils.d.ts +129 -0
- package/dist/rollback-utils.d.ts.map +1 -0
- package/dist/rollback-utils.js +217 -0
- package/dist/rollback-utils.js.map +1 -0
- package/dist/sandbox-allowlist.d.ts +16 -0
- package/dist/sandbox-allowlist.d.ts.map +1 -0
- package/dist/sandbox-allowlist.js +77 -0
- package/dist/sandbox-allowlist.js.map +1 -0
- package/dist/sandbox-backend-linux.d.ts +6 -0
- package/dist/sandbox-backend-linux.d.ts.map +1 -0
- package/dist/sandbox-backend-linux.js +67 -0
- package/dist/sandbox-backend-linux.js.map +1 -0
- package/dist/sandbox-backend-macos.d.ts +6 -0
- package/dist/sandbox-backend-macos.d.ts.map +1 -0
- package/dist/sandbox-backend-macos.js +66 -0
- package/dist/sandbox-backend-macos.js.map +1 -0
- package/dist/sandbox-backend-windows.d.ts +6 -0
- package/dist/sandbox-backend-windows.d.ts.map +1 -0
- package/dist/sandbox-backend-windows.js +30 -0
- package/dist/sandbox-backend-windows.js.map +1 -0
- package/dist/sandbox-profile.d.ts +53 -0
- package/dist/sandbox-profile.d.ts.map +1 -0
- package/dist/sandbox-profile.js +64 -0
- package/dist/sandbox-profile.js.map +1 -0
- package/dist/schemas/agents-config.d.ts +130 -0
- package/dist/schemas/agents-config.d.ts.map +1 -0
- package/dist/schemas/agents-config.js +153 -0
- package/dist/schemas/agents-config.js.map +1 -0
- package/dist/schemas/arg-validators.d.ts +58 -0
- package/dist/schemas/arg-validators.d.ts.map +1 -0
- package/dist/schemas/arg-validators.js +193 -0
- package/dist/schemas/arg-validators.js.map +1 -0
- package/dist/schemas/cloud-config.d.ts +66 -0
- package/dist/schemas/cloud-config.d.ts.map +1 -0
- package/dist/schemas/cloud-config.js +81 -0
- package/dist/schemas/cloud-config.js.map +1 -0
- package/dist/schemas/command-schemas.d.ts +171 -0
- package/dist/schemas/command-schemas.d.ts.map +1 -0
- package/dist/schemas/command-schemas.js +145 -0
- package/dist/schemas/command-schemas.js.map +1 -0
- package/dist/schemas/directories-config.d.ts +64 -0
- package/dist/schemas/directories-config.d.ts.map +1 -0
- package/dist/schemas/directories-config.js +103 -0
- package/dist/schemas/directories-config.js.map +1 -0
- package/dist/schemas/flow-arg-validators.d.ts +32 -0
- package/dist/schemas/flow-arg-validators.d.ts.map +1 -0
- package/dist/schemas/flow-arg-validators.js +57 -0
- package/dist/schemas/flow-arg-validators.js.map +1 -0
- package/dist/schemas/flow-schemas.d.ts +152 -0
- package/dist/schemas/flow-schemas.d.ts.map +1 -0
- package/dist/schemas/flow-schemas.js +105 -0
- package/dist/schemas/flow-schemas.js.map +1 -0
- package/dist/schemas/gates-section-config.d.ts +94 -0
- package/dist/schemas/gates-section-config.d.ts.map +1 -0
- package/dist/schemas/gates-section-config.js +105 -0
- package/dist/schemas/gates-section-config.js.map +1 -0
- package/dist/schemas/git-config.d.ts +48 -0
- package/dist/schemas/git-config.d.ts.map +1 -0
- package/dist/schemas/git-config.js +157 -0
- package/dist/schemas/git-config.js.map +1 -0
- package/dist/schemas/index.d.ts +33 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +96 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/initiative-arg-validators.d.ts +64 -0
- package/dist/schemas/initiative-arg-validators.d.ts.map +1 -0
- package/dist/schemas/initiative-arg-validators.js +65 -0
- package/dist/schemas/initiative-arg-validators.js.map +1 -0
- package/dist/schemas/initiative-schemas.d.ts +256 -0
- package/dist/schemas/initiative-schemas.d.ts.map +1 -0
- package/dist/schemas/initiative-schemas.js +186 -0
- package/dist/schemas/initiative-schemas.js.map +1 -0
- package/dist/schemas/lanes-config.d.ts +153 -0
- package/dist/schemas/lanes-config.d.ts.map +1 -0
- package/dist/schemas/lanes-config.js +125 -0
- package/dist/schemas/lanes-config.js.map +1 -0
- package/dist/schemas/memory-arg-validators.d.ts +91 -0
- package/dist/schemas/memory-arg-validators.d.ts.map +1 -0
- package/dist/schemas/memory-arg-validators.js +75 -0
- package/dist/schemas/memory-arg-validators.js.map +1 -0
- package/dist/schemas/memory-config.d.ts +169 -0
- package/dist/schemas/memory-config.d.ts.map +1 -0
- package/dist/schemas/memory-config.js +253 -0
- package/dist/schemas/memory-config.js.map +1 -0
- package/dist/schemas/memory-schemas.d.ts +287 -0
- package/dist/schemas/memory-schemas.d.ts.map +1 -0
- package/dist/schemas/memory-schemas.js +242 -0
- package/dist/schemas/memory-schemas.js.map +1 -0
- package/dist/schemas/operational-config.d.ts +145 -0
- package/dist/schemas/operational-config.d.ts.map +1 -0
- package/dist/schemas/operational-config.js +161 -0
- package/dist/schemas/operational-config.js.map +1 -0
- package/dist/schemas/schema-utils.d.ts +87 -0
- package/dist/schemas/schema-utils.d.ts.map +1 -0
- package/dist/schemas/schema-utils.js +320 -0
- package/dist/schemas/schema-utils.js.map +1 -0
- package/dist/schemas/setup-arg-validators.d.ts +91 -0
- package/dist/schemas/setup-arg-validators.d.ts.map +1 -0
- package/dist/schemas/setup-arg-validators.js +98 -0
- package/dist/schemas/setup-arg-validators.js.map +1 -0
- package/dist/schemas/setup-schemas.d.ts +335 -0
- package/dist/schemas/setup-schemas.d.ts.map +1 -0
- package/dist/schemas/setup-schemas.js +260 -0
- package/dist/schemas/setup-schemas.js.map +1 -0
- package/dist/schemas/validation-arg-validators.d.ts +18 -0
- package/dist/schemas/validation-arg-validators.d.ts.map +1 -0
- package/dist/schemas/validation-arg-validators.js +59 -0
- package/dist/schemas/validation-arg-validators.js.map +1 -0
- package/dist/schemas/validation-schemas.d.ts +80 -0
- package/dist/schemas/validation-schemas.d.ts.map +1 -0
- package/dist/schemas/validation-schemas.js +88 -0
- package/dist/schemas/validation-schemas.js.map +1 -0
- package/dist/schemas/workspace-config.d.ts +48 -0
- package/dist/schemas/workspace-config.d.ts.map +1 -0
- package/dist/schemas/workspace-config.js +33 -0
- package/dist/schemas/workspace-config.js.map +1 -0
- package/dist/schemas/wu-config.d.ts +21 -0
- package/dist/schemas/wu-config.d.ts.map +1 -0
- package/dist/schemas/wu-config.js +28 -0
- package/dist/schemas/wu-config.js.map +1 -0
- package/dist/schemas/wu-lifecycle-arg-validators.d.ts +118 -0
- package/dist/schemas/wu-lifecycle-arg-validators.d.ts.map +1 -0
- package/dist/schemas/wu-lifecycle-arg-validators.js +82 -0
- package/dist/schemas/wu-lifecycle-arg-validators.js.map +1 -0
- package/dist/schemas/wu-lifecycle-schemas.d.ts +362 -0
- package/dist/schemas/wu-lifecycle-schemas.d.ts.map +1 -0
- package/dist/schemas/wu-lifecycle-schemas.js +284 -0
- package/dist/schemas/wu-lifecycle-schemas.js.map +1 -0
- package/dist/section-headings.d.ts +35 -0
- package/dist/section-headings.d.ts.map +1 -0
- package/dist/section-headings.js +54 -0
- package/dist/section-headings.js.map +1 -0
- package/dist/spawn-agent-guidance.d.ts +90 -0
- package/dist/spawn-agent-guidance.d.ts.map +1 -0
- package/dist/spawn-agent-guidance.js +431 -0
- package/dist/spawn-agent-guidance.js.map +1 -0
- package/dist/spawn-constraints-generator.d.ts +30 -0
- package/dist/spawn-constraints-generator.d.ts.map +1 -0
- package/dist/spawn-constraints-generator.js +121 -0
- package/dist/spawn-constraints-generator.js.map +1 -0
- package/dist/spawn-guidance-generators.d.ts +47 -0
- package/dist/spawn-guidance-generators.d.ts.map +1 -0
- package/dist/spawn-guidance-generators.js +346 -0
- package/dist/spawn-guidance-generators.js.map +1 -0
- package/dist/spawn-policy-resolver.d.ts +26 -0
- package/dist/spawn-policy-resolver.d.ts.map +1 -0
- package/dist/spawn-policy-resolver.js +31 -0
- package/dist/spawn-policy-resolver.js.map +1 -0
- package/dist/spawn-prompt-helpers.d.ts +45 -0
- package/dist/spawn-prompt-helpers.d.ts.map +1 -0
- package/dist/spawn-prompt-helpers.js +271 -0
- package/dist/spawn-prompt-helpers.js.map +1 -0
- package/dist/spawn-prompt-schema.d.ts +107 -0
- package/dist/spawn-prompt-schema.d.ts.map +1 -0
- package/dist/spawn-prompt-schema.js +163 -0
- package/dist/spawn-prompt-schema.js.map +1 -0
- package/dist/spawn-strategy.d.ts +60 -0
- package/dist/spawn-strategy.d.ts.map +1 -0
- package/dist/spawn-strategy.js +112 -0
- package/dist/spawn-strategy.js.map +1 -0
- package/dist/spawn-task-builder.d.ts +68 -0
- package/dist/spawn-task-builder.d.ts.map +1 -0
- package/dist/spawn-task-builder.js +356 -0
- package/dist/spawn-task-builder.js.map +1 -0
- package/dist/spawn-template-assembler.d.ts +65 -0
- package/dist/spawn-template-assembler.d.ts.map +1 -0
- package/dist/spawn-template-assembler.js +111 -0
- package/dist/spawn-template-assembler.js.map +1 -0
- package/dist/stamp-status-validator.d.ts +77 -0
- package/dist/stamp-status-validator.d.ts.map +1 -0
- package/dist/stamp-status-validator.js +138 -0
- package/dist/stamp-status-validator.js.map +1 -0
- package/dist/stamp-tracking.d.ts +12 -0
- package/dist/stamp-tracking.d.ts.map +1 -0
- package/dist/stamp-tracking.js +43 -0
- package/dist/stamp-tracking.js.map +1 -0
- package/dist/stamp-utils.d.ts +94 -0
- package/dist/stamp-utils.d.ts.map +1 -0
- package/dist/stamp-utils.js +245 -0
- package/dist/stamp-utils.js.map +1 -0
- package/dist/state-cleanup-core.d.ts +206 -0
- package/dist/state-cleanup-core.d.ts.map +1 -0
- package/dist/state-cleanup-core.js +225 -0
- package/dist/state-cleanup-core.js.map +1 -0
- package/dist/state-doctor-core.d.ts +177 -0
- package/dist/state-doctor-core.d.ts.map +1 -0
- package/dist/state-doctor-core.js +420 -0
- package/dist/state-doctor-core.js.map +1 -0
- package/dist/state-machine.d.ts +10 -0
- package/dist/state-machine.d.ts.map +1 -0
- package/dist/state-machine.js +89 -0
- package/dist/state-machine.js.map +1 -0
- package/dist/stream-error-handler.d.ts +69 -0
- package/dist/stream-error-handler.d.ts.map +1 -0
- package/dist/stream-error-handler.js +80 -0
- package/dist/stream-error-handler.js.map +1 -0
- package/dist/telemetry.d.ts +81 -0
- package/dist/telemetry.d.ts.map +1 -0
- package/dist/telemetry.js +219 -0
- package/dist/telemetry.js.map +1 -0
- package/dist/template-loader.d.ts +151 -0
- package/dist/template-loader.d.ts.map +1 -0
- package/dist/template-loader.js +400 -0
- package/dist/template-loader.js.map +1 -0
- package/dist/test-baseline.d.ts +177 -0
- package/dist/test-baseline.d.ts.map +1 -0
- package/dist/test-baseline.js +286 -0
- package/dist/test-baseline.js.map +1 -0
- package/dist/token-counter.d.ts +50 -0
- package/dist/token-counter.d.ts.map +1 -0
- package/dist/token-counter.js +144 -0
- package/dist/token-counter.js.map +1 -0
- package/dist/usecases/analyze-recovery.usecase.d.ts +43 -0
- package/dist/usecases/analyze-recovery.usecase.d.ts.map +1 -0
- package/dist/usecases/analyze-recovery.usecase.js +34 -0
- package/dist/usecases/analyze-recovery.usecase.js.map +1 -0
- package/dist/usecases/compute-context.usecase.d.ts +63 -0
- package/dist/usecases/compute-context.usecase.d.ts.map +1 -0
- package/dist/usecases/compute-context.usecase.js +91 -0
- package/dist/usecases/compute-context.usecase.js.map +1 -0
- package/dist/usecases/get-dashboard-data.usecase.d.ts +53 -0
- package/dist/usecases/get-dashboard-data.usecase.d.ts.map +1 -0
- package/dist/usecases/get-dashboard-data.usecase.js +54 -0
- package/dist/usecases/get-dashboard-data.usecase.js.map +1 -0
- package/dist/usecases/get-suggestions.usecase.d.ts +101 -0
- package/dist/usecases/get-suggestions.usecase.d.ts.map +1 -0
- package/dist/usecases/get-suggestions.usecase.js +148 -0
- package/dist/usecases/get-suggestions.usecase.js.map +1 -0
- package/dist/usecases/index.d.ts +15 -0
- package/dist/usecases/index.d.ts.map +1 -0
- package/dist/usecases/index.js +21 -0
- package/dist/usecases/index.js.map +1 -0
- package/dist/usecases/validate-command.usecase.d.ts +56 -0
- package/dist/usecases/validate-command.usecase.d.ts.map +1 -0
- package/dist/usecases/validate-command.usecase.js +143 -0
- package/dist/usecases/validate-command.usecase.js.map +1 -0
- package/dist/user-normalizer.d.ts +36 -0
- package/dist/user-normalizer.d.ts.map +1 -0
- package/dist/user-normalizer.js +177 -0
- package/dist/user-normalizer.js.map +1 -0
- package/dist/validation/command-registry.d.ts +26 -0
- package/dist/validation/command-registry.d.ts.map +1 -0
- package/dist/validation/command-registry.js +269 -0
- package/dist/validation/command-registry.js.map +1 -0
- package/dist/validation/index.d.ts +16 -0
- package/dist/validation/index.d.ts.map +1 -0
- package/dist/validation/index.js +18 -0
- package/dist/validation/index.js.map +1 -0
- package/dist/validation/types.d.ts +140 -0
- package/dist/validation/types.d.ts.map +1 -0
- package/dist/validation/types.js +4 -0
- package/dist/validation/types.js.map +1 -0
- package/dist/validation/validate-command.d.ts +16 -0
- package/dist/validation/validate-command.d.ts.map +1 -0
- package/dist/validation/validate-command.js +163 -0
- package/dist/validation/validate-command.js.map +1 -0
- package/dist/validators/backlog-sync.d.ts +11 -0
- package/dist/validators/backlog-sync.d.ts.map +1 -0
- package/dist/validators/backlog-sync.js +65 -0
- package/dist/validators/backlog-sync.js.map +1 -0
- package/dist/validators/claim-validation.d.ts +46 -0
- package/dist/validators/claim-validation.d.ts.map +1 -0
- package/dist/validators/claim-validation.js +491 -0
- package/dist/validators/claim-validation.js.map +1 -0
- package/dist/validators/supabase-docs-linter.d.ts +15 -0
- package/dist/validators/supabase-docs-linter.d.ts.map +1 -0
- package/dist/validators/supabase-docs-linter.js +45 -0
- package/dist/validators/supabase-docs-linter.js.map +1 -0
- package/dist/validators/wu-tasks.d.ts +21 -0
- package/dist/validators/wu-tasks.d.ts.map +1 -0
- package/dist/validators/wu-tasks.js +93 -0
- package/dist/validators/wu-tasks.js.map +1 -0
- package/dist/work-classifier.d.ts +95 -0
- package/dist/work-classifier.d.ts.map +1 -0
- package/dist/work-classifier.js +407 -0
- package/dist/work-classifier.js.map +1 -0
- package/dist/worktree-ownership.d.ts +51 -0
- package/dist/worktree-ownership.d.ts.map +1 -0
- package/dist/worktree-ownership.js +77 -0
- package/dist/worktree-ownership.js.map +1 -0
- package/dist/worktree-scanner.d.ts +118 -0
- package/dist/worktree-scanner.d.ts.map +1 -0
- package/dist/worktree-scanner.js +171 -0
- package/dist/worktree-scanner.js.map +1 -0
- package/dist/worktree-symlink.d.ts +98 -0
- package/dist/worktree-symlink.d.ts.map +1 -0
- package/dist/worktree-symlink.js +530 -0
- package/dist/worktree-symlink.js.map +1 -0
- package/dist/wu-backlog-updater.d.ts +10 -0
- package/dist/wu-backlog-updater.d.ts.map +1 -0
- package/dist/wu-backlog-updater.js +40 -0
- package/dist/wu-backlog-updater.js.map +1 -0
- package/dist/wu-checkpoint.d.ts +110 -0
- package/dist/wu-checkpoint.d.ts.map +1 -0
- package/dist/wu-checkpoint.js +238 -0
- package/dist/wu-checkpoint.js.map +1 -0
- package/dist/wu-claim-helpers.d.ts +21 -0
- package/dist/wu-claim-helpers.d.ts.map +1 -0
- package/dist/wu-claim-helpers.js +66 -0
- package/dist/wu-claim-helpers.js.map +1 -0
- package/dist/wu-claim-resume.d.ts +106 -0
- package/dist/wu-claim-resume.d.ts.map +1 -0
- package/dist/wu-claim-resume.js +279 -0
- package/dist/wu-claim-resume.js.map +1 -0
- package/dist/wu-cli-constants.d.ts +427 -0
- package/dist/wu-cli-constants.d.ts.map +1 -0
- package/dist/wu-cli-constants.js +432 -0
- package/dist/wu-cli-constants.js.map +1 -0
- package/dist/wu-consistency-checker.d.ts +23 -0
- package/dist/wu-consistency-checker.d.ts.map +1 -0
- package/dist/wu-consistency-checker.js +24 -0
- package/dist/wu-consistency-checker.js.map +1 -0
- package/dist/wu-consistency-detector.d.ts +94 -0
- package/dist/wu-consistency-detector.d.ts.map +1 -0
- package/dist/wu-consistency-detector.js +410 -0
- package/dist/wu-consistency-detector.js.map +1 -0
- package/dist/wu-consistency-file-repairs.d.ts +75 -0
- package/dist/wu-consistency-file-repairs.d.ts.map +1 -0
- package/dist/wu-consistency-file-repairs.js +326 -0
- package/dist/wu-consistency-file-repairs.js.map +1 -0
- package/dist/wu-constants.d.ts +29 -0
- package/dist/wu-constants.d.ts.map +1 -0
- package/dist/wu-constants.js +37 -0
- package/dist/wu-constants.js.map +1 -0
- package/dist/wu-context-constants.d.ts +270 -0
- package/dist/wu-context-constants.d.ts.map +1 -0
- package/dist/wu-context-constants.js +267 -0
- package/dist/wu-context-constants.js.map +1 -0
- package/dist/wu-create-defaults.d.ts +11 -0
- package/dist/wu-create-defaults.d.ts.map +1 -0
- package/dist/wu-create-defaults.js +13 -0
- package/dist/wu-create-defaults.js.map +1 -0
- package/dist/wu-create-validators.d.ts +89 -0
- package/dist/wu-create-validators.d.ts.map +1 -0
- package/dist/wu-create-validators.js +215 -0
- package/dist/wu-create-validators.js.map +1 -0
- package/dist/wu-delegation-cutover.d.ts +5 -0
- package/dist/wu-delegation-cutover.d.ts.map +1 -0
- package/dist/wu-delegation-cutover.js +231 -0
- package/dist/wu-delegation-cutover.js.map +1 -0
- package/dist/wu-doc-types.d.ts +48 -0
- package/dist/wu-doc-types.d.ts.map +1 -0
- package/dist/wu-doc-types.js +4 -0
- package/dist/wu-doc-types.js.map +1 -0
- package/dist/wu-domain-constants.d.ts +295 -0
- package/dist/wu-domain-constants.d.ts.map +1 -0
- package/dist/wu-domain-constants.js +399 -0
- package/dist/wu-domain-constants.js.map +1 -0
- package/dist/wu-done-branch-only.d.ts +120 -0
- package/dist/wu-done-branch-only.d.ts.map +1 -0
- package/dist/wu-done-branch-only.js +412 -0
- package/dist/wu-done-branch-only.js.map +1 -0
- package/dist/wu-done-branch-utils.d.ts +8 -0
- package/dist/wu-done-branch-utils.d.ts.map +1 -0
- package/dist/wu-done-branch-utils.js +34 -0
- package/dist/wu-done-branch-utils.js.map +1 -0
- package/dist/wu-done-cleanup.d.ts +6 -0
- package/dist/wu-done-cleanup.d.ts.map +1 -0
- package/dist/wu-done-cleanup.js +161 -0
- package/dist/wu-done-cleanup.js.map +1 -0
- package/dist/wu-done-concurrent-merge.d.ts +103 -0
- package/dist/wu-done-concurrent-merge.d.ts.map +1 -0
- package/dist/wu-done-concurrent-merge.js +375 -0
- package/dist/wu-done-concurrent-merge.js.map +1 -0
- package/dist/wu-done-docs-generate.d.ts +72 -0
- package/dist/wu-done-docs-generate.d.ts.map +1 -0
- package/dist/wu-done-docs-generate.js +129 -0
- package/dist/wu-done-docs-generate.js.map +1 -0
- package/dist/wu-done-docs-only.d.ts +16 -0
- package/dist/wu-done-docs-only.d.ts.map +1 -0
- package/dist/wu-done-docs-only.js +68 -0
- package/dist/wu-done-docs-only.js.map +1 -0
- package/dist/wu-done-error-handling.d.ts +35 -0
- package/dist/wu-done-error-handling.d.ts.map +1 -0
- package/dist/wu-done-error-handling.js +109 -0
- package/dist/wu-done-error-handling.js.map +1 -0
- package/dist/wu-done-errors.d.ts +13 -0
- package/dist/wu-done-errors.d.ts.map +1 -0
- package/dist/wu-done-errors.js +27 -0
- package/dist/wu-done-errors.js.map +1 -0
- package/dist/wu-done-initiative-sync.d.ts +13 -0
- package/dist/wu-done-initiative-sync.d.ts.map +1 -0
- package/dist/wu-done-initiative-sync.js +235 -0
- package/dist/wu-done-initiative-sync.js.map +1 -0
- package/dist/wu-done-inputs.d.ts +10 -0
- package/dist/wu-done-inputs.d.ts.map +1 -0
- package/dist/wu-done-inputs.js +55 -0
- package/dist/wu-done-inputs.js.map +1 -0
- package/dist/wu-done-machine.d.ts +175 -0
- package/dist/wu-done-machine.d.ts.map +1 -0
- package/dist/wu-done-machine.js +227 -0
- package/dist/wu-done-machine.js.map +1 -0
- package/dist/wu-done-main-sync.d.ts +36 -0
- package/dist/wu-done-main-sync.d.ts.map +1 -0
- package/dist/wu-done-main-sync.js +67 -0
- package/dist/wu-done-main-sync.js.map +1 -0
- package/dist/wu-done-merge-phase.d.ts +49 -0
- package/dist/wu-done-merge-phase.d.ts.map +1 -0
- package/dist/wu-done-merge-phase.js +121 -0
- package/dist/wu-done-merge-phase.js.map +1 -0
- package/dist/wu-done-merge.d.ts +46 -0
- package/dist/wu-done-merge.d.ts.map +1 -0
- package/dist/wu-done-merge.js +123 -0
- package/dist/wu-done-merge.js.map +1 -0
- package/dist/wu-done-merged-worktree.d.ts +65 -0
- package/dist/wu-done-merged-worktree.d.ts.map +1 -0
- package/dist/wu-done-merged-worktree.js +197 -0
- package/dist/wu-done-merged-worktree.js.map +1 -0
- package/dist/wu-done-messages.d.ts +120 -0
- package/dist/wu-done-messages.d.ts.map +1 -0
- package/dist/wu-done-messages.js +191 -0
- package/dist/wu-done-messages.js.map +1 -0
- package/dist/wu-done-metadata.d.ts +123 -0
- package/dist/wu-done-metadata.d.ts.map +1 -0
- package/dist/wu-done-metadata.js +240 -0
- package/dist/wu-done-metadata.js.map +1 -0
- package/dist/wu-done-paths.d.ts +79 -0
- package/dist/wu-done-paths.d.ts.map +1 -0
- package/dist/wu-done-paths.js +263 -0
- package/dist/wu-done-paths.js.map +1 -0
- package/dist/wu-done-pr.d.ts +76 -0
- package/dist/wu-done-pr.d.ts.map +1 -0
- package/dist/wu-done-pr.js +189 -0
- package/dist/wu-done-pr.js.map +1 -0
- package/dist/wu-done-preflight-checks.d.ts +66 -0
- package/dist/wu-done-preflight-checks.d.ts.map +1 -0
- package/dist/wu-done-preflight-checks.js +275 -0
- package/dist/wu-done-preflight-checks.js.map +1 -0
- package/dist/wu-done-preflight.d.ts +65 -0
- package/dist/wu-done-preflight.d.ts.map +1 -0
- package/dist/wu-done-preflight.js +205 -0
- package/dist/wu-done-preflight.js.map +1 -0
- package/dist/wu-done-rebase.d.ts +44 -0
- package/dist/wu-done-rebase.d.ts.map +1 -0
- package/dist/wu-done-rebase.js +360 -0
- package/dist/wu-done-rebase.js.map +1 -0
- package/dist/wu-done-retry-helpers.d.ts +75 -0
- package/dist/wu-done-retry-helpers.d.ts.map +1 -0
- package/dist/wu-done-retry-helpers.js +175 -0
- package/dist/wu-done-retry-helpers.js.map +1 -0
- package/dist/wu-done-ui.d.ts +29 -0
- package/dist/wu-done-ui.d.ts.map +1 -0
- package/dist/wu-done-ui.js +74 -0
- package/dist/wu-done-ui.js.map +1 -0
- package/dist/wu-done-utils.d.ts +31 -0
- package/dist/wu-done-utils.d.ts.map +1 -0
- package/dist/wu-done-utils.js +60 -0
- package/dist/wu-done-utils.js.map +1 -0
- package/dist/wu-done-validation.d.ts +128 -0
- package/dist/wu-done-validation.d.ts.map +1 -0
- package/dist/wu-done-validation.js +553 -0
- package/dist/wu-done-validation.js.map +1 -0
- package/dist/wu-done-validators.d.ts +16 -0
- package/dist/wu-done-validators.d.ts.map +1 -0
- package/dist/wu-done-validators.js +16 -0
- package/dist/wu-done-validators.js.map +1 -0
- package/dist/wu-done-worktree-services.d.ts +174 -0
- package/dist/wu-done-worktree-services.d.ts.map +1 -0
- package/dist/wu-done-worktree-services.js +274 -0
- package/dist/wu-done-worktree-services.js.map +1 -0
- package/dist/wu-done-worktree.d.ts +71 -0
- package/dist/wu-done-worktree.d.ts.map +1 -0
- package/dist/wu-done-worktree.js +243 -0
- package/dist/wu-done-worktree.js.map +1 -0
- package/dist/wu-done-zombie-recovery.d.ts +18 -0
- package/dist/wu-done-zombie-recovery.d.ts.map +1 -0
- package/dist/wu-done-zombie-recovery.js +84 -0
- package/dist/wu-done-zombie-recovery.js.map +1 -0
- package/dist/wu-event-sourcer.d.ts +44 -0
- package/dist/wu-event-sourcer.d.ts.map +1 -0
- package/dist/wu-event-sourcer.js +135 -0
- package/dist/wu-event-sourcer.js.map +1 -0
- package/dist/wu-events-cleanup.d.ts +131 -0
- package/dist/wu-events-cleanup.d.ts.map +1 -0
- package/dist/wu-events-cleanup.js +403 -0
- package/dist/wu-events-cleanup.js.map +1 -0
- package/dist/wu-git-constants.d.ts +176 -0
- package/dist/wu-git-constants.d.ts.map +1 -0
- package/dist/wu-git-constants.js +178 -0
- package/dist/wu-git-constants.js.map +1 -0
- package/dist/wu-helpers.d.ts +133 -0
- package/dist/wu-helpers.d.ts.map +1 -0
- package/dist/wu-helpers.js +268 -0
- package/dist/wu-helpers.js.map +1 -0
- package/dist/wu-id-generator.d.ts +51 -0
- package/dist/wu-id-generator.d.ts.map +1 -0
- package/dist/wu-id-generator.js +110 -0
- package/dist/wu-id-generator.js.map +1 -0
- package/dist/wu-inconsistency-repairer.d.ts +69 -0
- package/dist/wu-inconsistency-repairer.d.ts.map +1 -0
- package/dist/wu-inconsistency-repairer.js +271 -0
- package/dist/wu-inconsistency-repairer.js.map +1 -0
- package/dist/wu-lint.d.ts +191 -0
- package/dist/wu-lint.d.ts.map +1 -0
- package/dist/wu-lint.js +338 -0
- package/dist/wu-lint.js.map +1 -0
- package/dist/wu-list.d.ts +76 -0
- package/dist/wu-list.d.ts.map +1 -0
- package/dist/wu-list.js +181 -0
- package/dist/wu-list.js.map +1 -0
- package/dist/wu-lock-manager.d.ts +28 -0
- package/dist/wu-lock-manager.d.ts.map +1 -0
- package/dist/wu-lock-manager.js +164 -0
- package/dist/wu-lock-manager.js.map +1 -0
- package/dist/wu-paths-constants.d.ts +264 -0
- package/dist/wu-paths-constants.d.ts.map +1 -0
- package/dist/wu-paths-constants.js +273 -0
- package/dist/wu-paths-constants.js.map +1 -0
- package/dist/wu-paths.d.ts +211 -0
- package/dist/wu-paths.d.ts.map +1 -0
- package/dist/wu-paths.js +223 -0
- package/dist/wu-paths.js.map +1 -0
- package/dist/wu-preflight-validators.d.ts +64 -0
- package/dist/wu-preflight-validators.d.ts.map +1 -0
- package/dist/wu-preflight-validators.js +277 -0
- package/dist/wu-preflight-validators.js.map +1 -0
- package/dist/wu-recovery.d.ts +220 -0
- package/dist/wu-recovery.d.ts.map +1 -0
- package/dist/wu-recovery.js +470 -0
- package/dist/wu-recovery.js.map +1 -0
- package/dist/wu-repair-core.d.ts +137 -0
- package/dist/wu-repair-core.d.ts.map +1 -0
- package/dist/wu-repair-core.js +719 -0
- package/dist/wu-repair-core.js.map +1 -0
- package/dist/wu-repair-service.d.ts +22 -0
- package/dist/wu-repair-service.d.ts.map +1 -0
- package/dist/wu-repair-service.js +131 -0
- package/dist/wu-repair-service.js.map +1 -0
- package/dist/wu-rules-core.d.ts +95 -0
- package/dist/wu-rules-core.d.ts.map +1 -0
- package/dist/wu-rules-core.js +401 -0
- package/dist/wu-rules-core.js.map +1 -0
- package/dist/wu-rules-engine.d.ts +29 -0
- package/dist/wu-rules-engine.d.ts.map +1 -0
- package/dist/wu-rules-engine.js +61 -0
- package/dist/wu-rules-engine.js.map +1 -0
- package/dist/wu-rules-resolvers.d.ts +19 -0
- package/dist/wu-rules-resolvers.d.ts.map +1 -0
- package/dist/wu-rules-resolvers.js +229 -0
- package/dist/wu-rules-resolvers.js.map +1 -0
- package/dist/wu-schema-normalization.d.ts +18 -0
- package/dist/wu-schema-normalization.d.ts.map +1 -0
- package/dist/wu-schema-normalization.js +87 -0
- package/dist/wu-schema-normalization.js.map +1 -0
- package/dist/wu-schema.d.ts +772 -0
- package/dist/wu-schema.d.ts.map +1 -0
- package/dist/wu-schema.js +897 -0
- package/dist/wu-schema.js.map +1 -0
- package/dist/wu-spawn-context.d.ts +66 -0
- package/dist/wu-spawn-context.d.ts.map +1 -0
- package/dist/wu-spawn-context.js +185 -0
- package/dist/wu-spawn-context.js.map +1 -0
- package/dist/wu-spawn-helpers.d.ts +110 -0
- package/dist/wu-spawn-helpers.d.ts.map +1 -0
- package/dist/wu-spawn-helpers.js +276 -0
- package/dist/wu-spawn-helpers.js.map +1 -0
- package/dist/wu-spawn-skills.d.ts +39 -0
- package/dist/wu-spawn-skills.d.ts.map +1 -0
- package/dist/wu-spawn-skills.js +214 -0
- package/dist/wu-spawn-skills.js.map +1 -0
- package/dist/wu-spawn.d.ts +33 -0
- package/dist/wu-spawn.d.ts.map +1 -0
- package/dist/wu-spawn.js +212 -0
- package/dist/wu-spawn.js.map +1 -0
- package/dist/wu-state-indexer.d.ts +49 -0
- package/dist/wu-state-indexer.d.ts.map +1 -0
- package/dist/wu-state-indexer.js +156 -0
- package/dist/wu-state-indexer.js.map +1 -0
- package/dist/wu-state-schema.d.ts +253 -0
- package/dist/wu-state-schema.d.ts.map +1 -0
- package/dist/wu-state-schema.js +188 -0
- package/dist/wu-state-schema.js.map +1 -0
- package/dist/wu-state-store.d.ts +64 -0
- package/dist/wu-state-store.d.ts.map +1 -0
- package/dist/wu-state-store.js +171 -0
- package/dist/wu-state-store.js.map +1 -0
- package/dist/wu-status-transition.d.ts +58 -0
- package/dist/wu-status-transition.d.ts.map +1 -0
- package/dist/wu-status-transition.js +370 -0
- package/dist/wu-status-transition.js.map +1 -0
- package/dist/wu-status-updater.d.ts +18 -0
- package/dist/wu-status-updater.d.ts.map +1 -0
- package/dist/wu-status-updater.js +123 -0
- package/dist/wu-status-updater.js.map +1 -0
- package/dist/wu-statuses.d.ts +154 -0
- package/dist/wu-statuses.d.ts.map +1 -0
- package/dist/wu-statuses.js +176 -0
- package/dist/wu-statuses.js.map +1 -0
- package/dist/wu-transaction-collectors.d.ts +111 -0
- package/dist/wu-transaction-collectors.d.ts.map +1 -0
- package/dist/wu-transaction-collectors.js +273 -0
- package/dist/wu-transaction-collectors.js.map +1 -0
- package/dist/wu-transaction.d.ts +172 -0
- package/dist/wu-transaction.d.ts.map +1 -0
- package/dist/wu-transaction.js +288 -0
- package/dist/wu-transaction.js.map +1 -0
- package/dist/wu-type-helpers.d.ts +26 -0
- package/dist/wu-type-helpers.d.ts.map +1 -0
- package/dist/wu-type-helpers.js +45 -0
- package/dist/wu-type-helpers.js.map +1 -0
- package/dist/wu-ui-constants.d.ts +235 -0
- package/dist/wu-ui-constants.d.ts.map +1 -0
- package/dist/wu-ui-constants.js +237 -0
- package/dist/wu-ui-constants.js.map +1 -0
- package/dist/wu-validation-constants.d.ts +61 -0
- package/dist/wu-validation-constants.d.ts.map +1 -0
- package/dist/wu-validation-constants.js +69 -0
- package/dist/wu-validation-constants.js.map +1 -0
- package/dist/wu-validation.d.ts +121 -0
- package/dist/wu-validation.d.ts.map +1 -0
- package/dist/wu-validation.js +266 -0
- package/dist/wu-validation.js.map +1 -0
- package/dist/wu-validator.d.ts +128 -0
- package/dist/wu-validator.d.ts.map +1 -0
- package/dist/wu-validator.js +447 -0
- package/dist/wu-validator.js.map +1 -0
- package/dist/wu-yaml-fixer.d.ts +74 -0
- package/dist/wu-yaml-fixer.d.ts.map +1 -0
- package/dist/wu-yaml-fixer.js +273 -0
- package/dist/wu-yaml-fixer.js.map +1 -0
- package/dist/wu-yaml.d.ts +110 -0
- package/dist/wu-yaml.d.ts.map +1 -0
- package/dist/wu-yaml.js +300 -0
- package/dist/wu-yaml.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,146 @@
|
|
|
1
|
+
// Copyright (c) 2026 Hellmai Ltd
|
|
2
|
+
// SPDX-License-Identifier: AGPL-3.0-only
|
|
3
|
+
/**
|
|
4
|
+
* WU-1070: Force Bypass Audit Logging
|
|
5
|
+
*
|
|
6
|
+
* Provides audit logging for LUMENFLOW_FORCE bypass usage.
|
|
7
|
+
* All hooks log bypass events to .lumenflow/force-bypasses.log for accountability.
|
|
8
|
+
*
|
|
9
|
+
* Key principles:
|
|
10
|
+
* - FAIL-OPEN: Audit logging must never block the bypass itself
|
|
11
|
+
* - WARN ON MISSING REASON: stderr warning if LUMENFLOW_FORCE_REASON not set
|
|
12
|
+
* - GIT-TRACKED: .lumenflow/force-bypasses.log is version controlled
|
|
13
|
+
*
|
|
14
|
+
* Log format:
|
|
15
|
+
* ISO_TIMESTAMP | HOOK_NAME | GIT_USER | BRANCH | REASON | CWD
|
|
16
|
+
*
|
|
17
|
+
* Example:
|
|
18
|
+
* 2026-01-23T10:30:00.000Z | pre-commit | tom@hellm.ai | lane/ops/wu-1070 | Emergency hotfix | /project
|
|
19
|
+
*/
|
|
20
|
+
import { appendFileSync, existsSync, mkdirSync } from 'node:fs';
|
|
21
|
+
import { execSync } from 'node:child_process';
|
|
22
|
+
import { join } from 'node:path';
|
|
23
|
+
import { LUMENFLOW_PATHS } from './wu-constants.js';
|
|
24
|
+
/**
|
|
25
|
+
* Environment variable names for force bypass
|
|
26
|
+
*/
|
|
27
|
+
export const FORCE_ENV_VAR = 'LUMENFLOW_FORCE';
|
|
28
|
+
export const FORCE_REASON_ENV_VAR = 'LUMENFLOW_FORCE_REASON';
|
|
29
|
+
/**
|
|
30
|
+
* Log file path relative to project root
|
|
31
|
+
*/
|
|
32
|
+
const LOG_FILE_NAME = LUMENFLOW_PATHS.FORCE_BYPASSES;
|
|
33
|
+
/**
|
|
34
|
+
* Check if LUMENFLOW_FORCE bypass is active
|
|
35
|
+
*
|
|
36
|
+
* @returns true if LUMENFLOW_FORCE=1
|
|
37
|
+
*/
|
|
38
|
+
export function shouldBypass() {
|
|
39
|
+
return process.env[FORCE_ENV_VAR] === '1';
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Get the audit log file path
|
|
43
|
+
*
|
|
44
|
+
* @param projectRoot - Project root directory
|
|
45
|
+
* @returns Full path to the audit log file
|
|
46
|
+
*/
|
|
47
|
+
export function getAuditLogPath(projectRoot) {
|
|
48
|
+
return join(projectRoot, LOG_FILE_NAME);
|
|
49
|
+
}
|
|
50
|
+
/**
|
|
51
|
+
* Get git user.name for audit logging
|
|
52
|
+
*
|
|
53
|
+
* @returns Git user name or 'unknown' if not configured
|
|
54
|
+
*/
|
|
55
|
+
function getGitUser() {
|
|
56
|
+
try {
|
|
57
|
+
// eslint-disable-next-line sonarjs/no-os-command-from-path -- git resolved from PATH; workflow tooling requires git
|
|
58
|
+
return execSync('git config user.name', { encoding: 'utf8' }).trim();
|
|
59
|
+
}
|
|
60
|
+
catch {
|
|
61
|
+
return 'unknown';
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Get current git branch name
|
|
66
|
+
*
|
|
67
|
+
* @returns Branch name or 'unknown' if not in a git repo
|
|
68
|
+
*/
|
|
69
|
+
function getGitBranch() {
|
|
70
|
+
try {
|
|
71
|
+
// eslint-disable-next-line sonarjs/no-os-command-from-path -- git resolved from PATH; workflow tooling requires git
|
|
72
|
+
return execSync('git rev-parse --abbrev-ref HEAD', { encoding: 'utf8' }).trim();
|
|
73
|
+
}
|
|
74
|
+
catch {
|
|
75
|
+
return 'unknown';
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
/**
|
|
79
|
+
* Log a force bypass event to the audit log
|
|
80
|
+
*
|
|
81
|
+
* This function is FAIL-OPEN: if logging fails, it warns to stderr
|
|
82
|
+
* but does NOT throw or block the bypass operation.
|
|
83
|
+
*
|
|
84
|
+
* @param hookName - Name of the hook being bypassed (pre-commit, pre-push, etc.)
|
|
85
|
+
* @param projectRoot - Project root directory
|
|
86
|
+
*/
|
|
87
|
+
export function logForceBypass(hookName, projectRoot) {
|
|
88
|
+
// Only log when bypass is active
|
|
89
|
+
if (!shouldBypass()) {
|
|
90
|
+
return;
|
|
91
|
+
}
|
|
92
|
+
// Get reason from environment (warn if missing)
|
|
93
|
+
const reason = process.env[FORCE_REASON_ENV_VAR];
|
|
94
|
+
if (!reason) {
|
|
95
|
+
console.warn(`[${hookName}] Warning: ${FORCE_REASON_ENV_VAR} not set. ` +
|
|
96
|
+
'Consider providing a reason for the bypass: ' +
|
|
97
|
+
`${FORCE_REASON_ENV_VAR}="reason here" LUMENFLOW_FORCE=1 git ...`);
|
|
98
|
+
}
|
|
99
|
+
// Collect audit data
|
|
100
|
+
const timestamp = new Date().toISOString();
|
|
101
|
+
const user = getGitUser();
|
|
102
|
+
const branch = getGitBranch();
|
|
103
|
+
const cwd = projectRoot;
|
|
104
|
+
const reasonText = reason || '(no reason provided)';
|
|
105
|
+
// Format log line: ISO timestamp | hook | user | branch | reason | cwd
|
|
106
|
+
const logLine = `${timestamp} | ${hookName} | ${user} | ${branch} | ${reasonText} | ${cwd}\n`;
|
|
107
|
+
// Write to log file (fail-open)
|
|
108
|
+
try {
|
|
109
|
+
const logPath = getAuditLogPath(projectRoot);
|
|
110
|
+
const lumenflowDir = join(projectRoot, LUMENFLOW_PATHS.BASE);
|
|
111
|
+
// Ensure .lumenflow directory exists
|
|
112
|
+
if (!existsSync(lumenflowDir)) {
|
|
113
|
+
mkdirSync(lumenflowDir, { recursive: true });
|
|
114
|
+
}
|
|
115
|
+
appendFileSync(logPath, logLine);
|
|
116
|
+
}
|
|
117
|
+
catch (error) {
|
|
118
|
+
// Fail-open: warn but don't block
|
|
119
|
+
console.error(`[${hookName}] Warning: Failed to write to audit log: ${error instanceof Error ? error.message : String(error)}`);
|
|
120
|
+
}
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Parse a single line from the audit log
|
|
124
|
+
*
|
|
125
|
+
* @param line - Raw log line
|
|
126
|
+
* @returns Parsed entry or null if invalid
|
|
127
|
+
*/
|
|
128
|
+
export function parseAuditLogLine(line) {
|
|
129
|
+
if (!line || line.trim() === '') {
|
|
130
|
+
return null;
|
|
131
|
+
}
|
|
132
|
+
const parts = line.split(' | ');
|
|
133
|
+
if (parts.length !== 6) {
|
|
134
|
+
return null;
|
|
135
|
+
}
|
|
136
|
+
const [timestamp, hook, user, branch, reason, cwd] = parts;
|
|
137
|
+
return {
|
|
138
|
+
timestamp: timestamp.trim(),
|
|
139
|
+
hook: hook.trim(),
|
|
140
|
+
user: user.trim(),
|
|
141
|
+
branch: branch.trim(),
|
|
142
|
+
reason: reason.trim(),
|
|
143
|
+
cwd: cwd.trim(),
|
|
144
|
+
};
|
|
145
|
+
}
|
|
146
|
+
//# sourceMappingURL=force-bypass-audit.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"force-bypass-audit.js","sourceRoot":"","sources":["../src/force-bypass-audit.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Options for agent mode detection
|
|
3
|
+
*/
|
|
4
|
+
interface GatesAgentModeOptions {
|
|
5
|
+
/** Command line arguments */
|
|
6
|
+
argv?: string[];
|
|
7
|
+
/** Environment variables */
|
|
8
|
+
env?: Record<string, string | undefined>;
|
|
9
|
+
/** stdout stream */
|
|
10
|
+
stdout?: {
|
|
11
|
+
isTTY?: boolean;
|
|
12
|
+
};
|
|
13
|
+
}
|
|
14
|
+
/**
|
|
15
|
+
* Options for log path functions
|
|
16
|
+
*/
|
|
17
|
+
interface GatesLogOptions {
|
|
18
|
+
/** Working directory */
|
|
19
|
+
cwd: string;
|
|
20
|
+
/** Environment variables */
|
|
21
|
+
env?: Record<string, string | undefined>;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Options for building gate log path
|
|
25
|
+
*/
|
|
26
|
+
interface BuildGatesLogPathOptions extends GatesLogOptions {
|
|
27
|
+
/** WU ID */
|
|
28
|
+
wuId?: string;
|
|
29
|
+
/** Lane name */
|
|
30
|
+
lane?: string;
|
|
31
|
+
/** Current timestamp */
|
|
32
|
+
now?: Date;
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Options for updating symlink
|
|
36
|
+
*/
|
|
37
|
+
interface UpdateGatesLatestSymlinkOptions extends GatesLogOptions {
|
|
38
|
+
/** Path to the actual gate log file */
|
|
39
|
+
logPath: string;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Determine whether gates should run in low-noise "agent mode".
|
|
43
|
+
*
|
|
44
|
+
* Agent mode is intended for Claude Code sessions, where tool output is injected into the
|
|
45
|
+
* conversation context and can trigger "prompt too long".
|
|
46
|
+
*
|
|
47
|
+
* Detection strategy (WU-1827):
|
|
48
|
+
* 1. --verbose flag always forces full output (returns false)
|
|
49
|
+
* 2. CLAUDE_PROJECT_DIR env var is a strong hint (returns true if set)
|
|
50
|
+
* 3. TTY check: non-TTY + non-CI = likely agent mode (returns true)
|
|
51
|
+
* 4. Interactive TTY = human user (returns false)
|
|
52
|
+
*
|
|
53
|
+
* @param {GatesAgentModeOptions} options
|
|
54
|
+
* @returns {boolean} True if gates should run in agent mode
|
|
55
|
+
*/
|
|
56
|
+
export declare function shouldUseGatesAgentMode({ argv, env, stdout }?: GatesAgentModeOptions): boolean;
|
|
57
|
+
export declare function getGatesLogDir({ cwd, env }: GatesLogOptions): string;
|
|
58
|
+
export declare function buildGatesLogPath({ cwd, env, wuId, lane, now, }: BuildGatesLogPathOptions): string;
|
|
59
|
+
/**
|
|
60
|
+
* Get the path to the gates-latest.log symlink (WU-2064)
|
|
61
|
+
*
|
|
62
|
+
* @param {Object} options
|
|
63
|
+
* @param {string} options.cwd - Working directory
|
|
64
|
+
* @param {Object} [options.env] - Environment variables
|
|
65
|
+
* @returns {string} Path to the symlink
|
|
66
|
+
*/
|
|
67
|
+
export declare function getGatesLatestSymlinkPath({ cwd, env }: GatesLogOptions): string;
|
|
68
|
+
/**
|
|
69
|
+
* Create or update the gates-latest.log symlink to point to the most recent gate run (WU-2064)
|
|
70
|
+
*
|
|
71
|
+
* This provides a stable path for agents to access the most recent gate log
|
|
72
|
+
* without needing to know the timestamp-based filename.
|
|
73
|
+
*
|
|
74
|
+
* @param {Object} options
|
|
75
|
+
* @param {string} options.logPath - Path to the actual gate log file
|
|
76
|
+
* @param {string} options.cwd - Working directory
|
|
77
|
+
* @param {Object} [options.env] - Environment variables
|
|
78
|
+
* @returns {boolean} True if symlink was created/updated successfully
|
|
79
|
+
*/
|
|
80
|
+
export declare function updateGatesLatestSymlink({ logPath, cwd, env }: UpdateGatesLatestSymlinkOptions): boolean;
|
|
81
|
+
export declare const WU_DONE_PRE_COMMIT_GATE_DECISION_REASONS: {
|
|
82
|
+
readonly SKIP_GATES_FLAG: "skip-gates-flag";
|
|
83
|
+
readonly REUSE_STEP_ZERO: "reuse-step-zero";
|
|
84
|
+
readonly REUSE_CHECKPOINT: "reuse-checkpoint";
|
|
85
|
+
readonly RUN_REQUIRED: "run-required";
|
|
86
|
+
};
|
|
87
|
+
export type WuDonePreCommitGateDecisionReason = (typeof WU_DONE_PRE_COMMIT_GATE_DECISION_REASONS)[keyof typeof WU_DONE_PRE_COMMIT_GATE_DECISION_REASONS];
|
|
88
|
+
export interface WuDonePreCommitGateDecisionInput {
|
|
89
|
+
skipGates: boolean;
|
|
90
|
+
fullGatesRanInCurrentRun: boolean;
|
|
91
|
+
skippedByCheckpoint: boolean;
|
|
92
|
+
checkpointId?: string | null;
|
|
93
|
+
}
|
|
94
|
+
export interface WuDonePreCommitGateDecision {
|
|
95
|
+
runPreCommitFullSuite: boolean;
|
|
96
|
+
reason: WuDonePreCommitGateDecisionReason;
|
|
97
|
+
message: string;
|
|
98
|
+
}
|
|
99
|
+
/**
|
|
100
|
+
* Decide whether wu:done pre-flight hook validation should rerun full gates.
|
|
101
|
+
*
|
|
102
|
+
* WU-1659: Avoid duplicate full-suite execution when Step 0 already ran gates
|
|
103
|
+
* (or reused a valid checkpoint), while keeping operator-visible reasoning.
|
|
104
|
+
*/
|
|
105
|
+
export declare function resolveWuDonePreCommitGateDecision(input: WuDonePreCommitGateDecisionInput): WuDonePreCommitGateDecision;
|
|
106
|
+
export {};
|
|
107
|
+
//# sourceMappingURL=gates-agent-mode.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gates-agent-mode.d.ts","sourceRoot":"","sources":["../src/gates-agent-mode.ts"],"names":[],"mappings":"AAMA;;GAEG;AACH,UAAU,qBAAqB;IAC7B,6BAA6B;IAC7B,IAAI,CAAC,EAAE,MAAM,EAAE,CAAC;IAChB,4BAA4B;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;IACzC,oBAAoB;IACpB,MAAM,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,OAAO,CAAA;KAAE,CAAC;CAC9B;AAED;;GAEG;AACH,UAAU,eAAe;IACvB,wBAAwB;IACxB,GAAG,EAAE,MAAM,CAAC;IACZ,4BAA4B;IAC5B,GAAG,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,CAAC;CAC1C;AAED;;GAEG;AACH,UAAU,wBAAyB,SAAQ,eAAe;IACxD,YAAY;IACZ,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,gBAAgB;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wBAAwB;IACxB,GAAG,CAAC,EAAE,IAAI,CAAC;CACZ;AAED;;GAEG;AACH,UAAU,+BAAgC,SAAQ,eAAe;IAC/D,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,uBAAuB,CAAC,EAAE,IAAI,EAAE,GAAG,EAAE,MAAM,EAAE,GAAE,qBAA0B,WA4BxF;AAED,wBAAgB,cAAc,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,eAAe,UAG3D;AAED,wBAAgB,iBAAiB,CAAC,EAChC,GAAG,EACH,GAAG,EACH,IAAI,EACJ,IAAI,EACJ,GAAgB,GACjB,EAAE,wBAAwB,UAM1B;AAED;;;;;;;GAOG;AACH,wBAAgB,yBAAyB,CAAC,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,eAAe,UAGtE;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,wBAAwB,CAAC,EAAE,OAAO,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE,+BAA+B,WAmB9F;AAED,eAAO,MAAM,wCAAwC;;;;;CAK3C,CAAC;AAEX,MAAM,MAAM,iCAAiC,GAC3C,CAAC,OAAO,wCAAwC,CAAC,CAAC,MAAM,OAAO,wCAAwC,CAAC,CAAC;AAE3G,MAAM,WAAW,gCAAgC;IAC/C,SAAS,EAAE,OAAO,CAAC;IACnB,wBAAwB,EAAE,OAAO,CAAC;IAClC,mBAAmB,EAAE,OAAO,CAAC;IAC7B,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,MAAM,WAAW,2BAA2B;IAC1C,qBAAqB,EAAE,OAAO,CAAC;IAC/B,MAAM,EAAE,iCAAiC,CAAC;IAC1C,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;;;;GAKG;AACH,wBAAgB,kCAAkC,CAChD,KAAK,EAAE,gCAAgC,GACtC,2BAA2B,CAiC7B"}
|
|
@@ -0,0 +1,138 @@
|
|
|
1
|
+
// Copyright (c) 2026 Hellmai Ltd
|
|
2
|
+
// SPDX-License-Identifier: AGPL-3.0-only
|
|
3
|
+
import path from 'node:path';
|
|
4
|
+
import { existsSync, unlinkSync, symlinkSync } from 'node:fs';
|
|
5
|
+
/**
|
|
6
|
+
* Determine whether gates should run in low-noise "agent mode".
|
|
7
|
+
*
|
|
8
|
+
* Agent mode is intended for Claude Code sessions, where tool output is injected into the
|
|
9
|
+
* conversation context and can trigger "prompt too long".
|
|
10
|
+
*
|
|
11
|
+
* Detection strategy (WU-1827):
|
|
12
|
+
* 1. --verbose flag always forces full output (returns false)
|
|
13
|
+
* 2. CLAUDE_PROJECT_DIR env var is a strong hint (returns true if set)
|
|
14
|
+
* 3. TTY check: non-TTY + non-CI = likely agent mode (returns true)
|
|
15
|
+
* 4. Interactive TTY = human user (returns false)
|
|
16
|
+
*
|
|
17
|
+
* @param {GatesAgentModeOptions} options
|
|
18
|
+
* @returns {boolean} True if gates should run in agent mode
|
|
19
|
+
*/
|
|
20
|
+
export function shouldUseGatesAgentMode({ argv, env, stdout } = {}) {
|
|
21
|
+
// --verbose flag always forces full output
|
|
22
|
+
const isVerbose = Array.isArray(argv) && argv.includes('--verbose');
|
|
23
|
+
if (isVerbose) {
|
|
24
|
+
return false;
|
|
25
|
+
}
|
|
26
|
+
// CLAUDE_PROJECT_DIR is a strong hint that we're in Claude Code
|
|
27
|
+
const hasClaudeProjectDir = Boolean(env?.CLAUDE_PROJECT_DIR);
|
|
28
|
+
if (hasClaudeProjectDir) {
|
|
29
|
+
return true;
|
|
30
|
+
}
|
|
31
|
+
// CI environments should get full output for debugging
|
|
32
|
+
const isCI = Boolean(env?.CI);
|
|
33
|
+
if (isCI) {
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
// Use provided stdout or fall back to process.stdout
|
|
37
|
+
const stdoutStream = stdout ?? process.stdout;
|
|
38
|
+
// TTY check: non-TTY = likely agent mode (Claude Code Bash tool doesn't have TTY)
|
|
39
|
+
// If stdout is undefined or isTTY is falsy, assume agent mode (safer default)
|
|
40
|
+
const isTTY = stdoutStream?.isTTY ?? false;
|
|
41
|
+
// Non-TTY + non-CI = likely agent mode
|
|
42
|
+
return !isTTY;
|
|
43
|
+
}
|
|
44
|
+
export function getGatesLogDir({ cwd, env }) {
|
|
45
|
+
const configured = env?.LUMENFLOW_LOG_DIR;
|
|
46
|
+
return path.resolve(cwd, configured || '.logs');
|
|
47
|
+
}
|
|
48
|
+
export function buildGatesLogPath({ cwd, env, wuId, lane, now = new Date(), }) {
|
|
49
|
+
const logDir = getGatesLogDir({ cwd, env });
|
|
50
|
+
const safeLane = (lane || 'unknown').toLowerCase().replace(/[^a-z0-9]+/g, '-');
|
|
51
|
+
const safeWu = (wuId || 'unknown').toLowerCase().replace(/[^a-z0-9]+/g, '-');
|
|
52
|
+
const stamp = now.toISOString().replace(/[:.]/g, '-');
|
|
53
|
+
return path.join(logDir, `gates-${safeLane}-${safeWu}-${stamp}.log`);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* Get the path to the gates-latest.log symlink (WU-2064)
|
|
57
|
+
*
|
|
58
|
+
* @param {Object} options
|
|
59
|
+
* @param {string} options.cwd - Working directory
|
|
60
|
+
* @param {Object} [options.env] - Environment variables
|
|
61
|
+
* @returns {string} Path to the symlink
|
|
62
|
+
*/
|
|
63
|
+
export function getGatesLatestSymlinkPath({ cwd, env }) {
|
|
64
|
+
const logDir = getGatesLogDir({ cwd, env });
|
|
65
|
+
return path.join(logDir, 'gates-latest.log');
|
|
66
|
+
}
|
|
67
|
+
/**
|
|
68
|
+
* Create or update the gates-latest.log symlink to point to the most recent gate run (WU-2064)
|
|
69
|
+
*
|
|
70
|
+
* This provides a stable path for agents to access the most recent gate log
|
|
71
|
+
* without needing to know the timestamp-based filename.
|
|
72
|
+
*
|
|
73
|
+
* @param {Object} options
|
|
74
|
+
* @param {string} options.logPath - Path to the actual gate log file
|
|
75
|
+
* @param {string} options.cwd - Working directory
|
|
76
|
+
* @param {Object} [options.env] - Environment variables
|
|
77
|
+
* @returns {boolean} True if symlink was created/updated successfully
|
|
78
|
+
*/
|
|
79
|
+
export function updateGatesLatestSymlink({ logPath, cwd, env }) {
|
|
80
|
+
const symlinkPath = getGatesLatestSymlinkPath({ cwd, env });
|
|
81
|
+
try {
|
|
82
|
+
// Remove existing symlink if present
|
|
83
|
+
if (existsSync(symlinkPath)) {
|
|
84
|
+
unlinkSync(symlinkPath);
|
|
85
|
+
}
|
|
86
|
+
// Create relative symlink (so it works regardless of absolute path)
|
|
87
|
+
const logDir = path.dirname(symlinkPath);
|
|
88
|
+
const relativePath = path.relative(logDir, logPath);
|
|
89
|
+
symlinkSync(relativePath, symlinkPath);
|
|
90
|
+
return true;
|
|
91
|
+
}
|
|
92
|
+
catch {
|
|
93
|
+
// Symlink creation is best-effort, don't fail gates
|
|
94
|
+
return false;
|
|
95
|
+
}
|
|
96
|
+
}
|
|
97
|
+
export const WU_DONE_PRE_COMMIT_GATE_DECISION_REASONS = {
|
|
98
|
+
SKIP_GATES_FLAG: 'skip-gates-flag',
|
|
99
|
+
REUSE_STEP_ZERO: 'reuse-step-zero',
|
|
100
|
+
REUSE_CHECKPOINT: 'reuse-checkpoint',
|
|
101
|
+
RUN_REQUIRED: 'run-required',
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* Decide whether wu:done pre-flight hook validation should rerun full gates.
|
|
105
|
+
*
|
|
106
|
+
* WU-1659: Avoid duplicate full-suite execution when Step 0 already ran gates
|
|
107
|
+
* (or reused a valid checkpoint), while keeping operator-visible reasoning.
|
|
108
|
+
*/
|
|
109
|
+
export function resolveWuDonePreCommitGateDecision(input) {
|
|
110
|
+
if (input.skipGates) {
|
|
111
|
+
return {
|
|
112
|
+
runPreCommitFullSuite: false,
|
|
113
|
+
reason: WU_DONE_PRE_COMMIT_GATE_DECISION_REASONS.SKIP_GATES_FLAG,
|
|
114
|
+
message: 'Pre-flight hook validation skipped because --skip-gates is active.',
|
|
115
|
+
};
|
|
116
|
+
}
|
|
117
|
+
if (input.fullGatesRanInCurrentRun) {
|
|
118
|
+
return {
|
|
119
|
+
runPreCommitFullSuite: false,
|
|
120
|
+
reason: WU_DONE_PRE_COMMIT_GATE_DECISION_REASONS.REUSE_STEP_ZERO,
|
|
121
|
+
message: 'Pre-flight hook validation reuses Step 0 gate results; duplicate full-suite run skipped.',
|
|
122
|
+
};
|
|
123
|
+
}
|
|
124
|
+
if (input.skippedByCheckpoint) {
|
|
125
|
+
const checkpointSuffix = input.checkpointId ? ` (${input.checkpointId})` : '';
|
|
126
|
+
return {
|
|
127
|
+
runPreCommitFullSuite: false,
|
|
128
|
+
reason: WU_DONE_PRE_COMMIT_GATE_DECISION_REASONS.REUSE_CHECKPOINT,
|
|
129
|
+
message: `Pre-flight hook validation reuses checkpoint gate attestation${checkpointSuffix}; duplicate full-suite run skipped.`,
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
return {
|
|
133
|
+
runPreCommitFullSuite: true,
|
|
134
|
+
reason: WU_DONE_PRE_COMMIT_GATE_DECISION_REASONS.RUN_REQUIRED,
|
|
135
|
+
message: 'No gate attestation found for this wu:done run; executing pre-flight hook gate suite.',
|
|
136
|
+
};
|
|
137
|
+
}
|
|
138
|
+
//# sourceMappingURL=gates-agent-mode.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gates-agent-mode.js","sourceRoot":"","sources":["../src/gates-agent-mode.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,51 @@
|
|
|
1
|
+
export declare const GATES_RUNTIME_DEFAULTS: {
|
|
2
|
+
readonly COMMAND_TIMEOUT_MS: 120000;
|
|
3
|
+
readonly MAX_ESLINT_WARNINGS: 100;
|
|
4
|
+
readonly DEFAULT_MIN_COVERAGE: number;
|
|
5
|
+
readonly DEFAULT_ENABLE_COVERAGE: true;
|
|
6
|
+
readonly DEFAULT_PACKAGE_MANAGER: "pnpm";
|
|
7
|
+
readonly DEFAULT_TEST_RUNNER: "vitest";
|
|
8
|
+
};
|
|
9
|
+
export declare const SOFTWARE_DELIVERY_FIELDS: {
|
|
10
|
+
readonly GATES: "gates";
|
|
11
|
+
readonly METHODOLOGY: "methodology";
|
|
12
|
+
readonly PACKAGE_MANAGER: "package_manager";
|
|
13
|
+
readonly PACKAGE_MANAGER_CAMEL: "packageManager";
|
|
14
|
+
readonly TEST_RUNNER: "test_runner";
|
|
15
|
+
readonly TEST_RUNNER_CAMEL: "testRunner";
|
|
16
|
+
readonly BUILD_COMMAND: "build_command";
|
|
17
|
+
readonly BUILD_COMMAND_CAMEL: "buildCommand";
|
|
18
|
+
};
|
|
19
|
+
export declare const GATES_FIELDS: {
|
|
20
|
+
readonly EXECUTION: "execution";
|
|
21
|
+
readonly LANE_HEALTH: "lane_health";
|
|
22
|
+
readonly LANE_HEALTH_CAMEL: "laneHealth";
|
|
23
|
+
readonly MIN_COVERAGE: "minCoverage";
|
|
24
|
+
readonly MIN_COVERAGE_SNAKE: "min_coverage";
|
|
25
|
+
readonly ENABLE_COVERAGE: "enableCoverage";
|
|
26
|
+
readonly ENABLE_COVERAGE_SNAKE: "enable_coverage";
|
|
27
|
+
readonly COMMANDS: "commands";
|
|
28
|
+
};
|
|
29
|
+
export declare const GATES_COMMAND_FIELDS: {
|
|
30
|
+
readonly TEST_FULL: "test_full";
|
|
31
|
+
readonly TEST_DOCS_ONLY: "test_docs_only";
|
|
32
|
+
readonly TEST_INCREMENTAL: "test_incremental";
|
|
33
|
+
readonly LINT: "lint";
|
|
34
|
+
readonly TYPECHECK: "typecheck";
|
|
35
|
+
readonly FORMAT: "format";
|
|
36
|
+
};
|
|
37
|
+
/**
|
|
38
|
+
* Load the software_delivery section from workspace.yaml
|
|
39
|
+
*
|
|
40
|
+
* @param projectRoot - Project root directory
|
|
41
|
+
* @returns Parsed software_delivery record, or null
|
|
42
|
+
*/
|
|
43
|
+
export declare function loadSoftwareDeliveryConfig(projectRoot: string): Record<string, unknown> | null;
|
|
44
|
+
/**
|
|
45
|
+
* Load the gates sub-section from workspace.yaml software_delivery
|
|
46
|
+
*
|
|
47
|
+
* @param projectRoot - Project root directory
|
|
48
|
+
* @returns Parsed gates record, or null
|
|
49
|
+
*/
|
|
50
|
+
export declare function getGatesSection(projectRoot: string): Record<string, unknown> | null;
|
|
51
|
+
//# sourceMappingURL=gates-config-internal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gates-config-internal.d.ts","sourceRoot":"","sources":["../src/gates-config-internal.ts"],"names":[],"mappings":"AA8BA,eAAO,MAAM,sBAAsB;;;;;;;CAOzB,CAAC;AAQX,eAAO,MAAM,wBAAwB;;;;;;;;;CAS3B,CAAC;AAEX,eAAO,MAAM,YAAY;;;;;;;;;CASf,CAAC;AAEX,eAAO,MAAM,oBAAoB;;;;;;;CAOvB,CAAC;AAMX;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAiB9F;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAMnF"}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
// Copyright (c) 2026 Hellmai Ltd
|
|
2
|
+
// SPDX-License-Identifier: AGPL-3.0-only
|
|
3
|
+
/**
|
|
4
|
+
* Gates Configuration Internals
|
|
5
|
+
*
|
|
6
|
+
* WU-2037: Shared infrastructure for gates modules
|
|
7
|
+
*
|
|
8
|
+
* Contains runtime defaults, field-name constants, and config-loading helpers
|
|
9
|
+
* used by gates-config.ts, gates-coverage.ts, and package-manager-resolver.ts.
|
|
10
|
+
*
|
|
11
|
+
* This module exists to break circular imports between the facade (gates-config.ts)
|
|
12
|
+
* and its extracted sub-modules.
|
|
13
|
+
*
|
|
14
|
+
* @module gates-config-internal
|
|
15
|
+
*/
|
|
16
|
+
import * as fs from 'node:fs';
|
|
17
|
+
import * as path from 'node:path';
|
|
18
|
+
import * as yaml from 'yaml';
|
|
19
|
+
import { WORKSPACE_CONFIG_FILE_NAME, WORKSPACE_V2_KEYS } from './config-contract.js';
|
|
20
|
+
import { asRecord } from './object-guards.js';
|
|
21
|
+
import { getDefaultPolicy } from './resolve-policy.js';
|
|
22
|
+
// ---------------------------------------------------------------------------
|
|
23
|
+
// Runtime defaults
|
|
24
|
+
// ---------------------------------------------------------------------------
|
|
25
|
+
const DEFAULT_POLICY = getDefaultPolicy();
|
|
26
|
+
export const GATES_RUNTIME_DEFAULTS = {
|
|
27
|
+
COMMAND_TIMEOUT_MS: 120000,
|
|
28
|
+
MAX_ESLINT_WARNINGS: 100,
|
|
29
|
+
DEFAULT_MIN_COVERAGE: DEFAULT_POLICY.coverage_threshold,
|
|
30
|
+
DEFAULT_ENABLE_COVERAGE: true,
|
|
31
|
+
DEFAULT_PACKAGE_MANAGER: 'pnpm',
|
|
32
|
+
DEFAULT_TEST_RUNNER: 'vitest',
|
|
33
|
+
};
|
|
34
|
+
// ---------------------------------------------------------------------------
|
|
35
|
+
// Field-name constants (avoid magic strings across modules)
|
|
36
|
+
// ---------------------------------------------------------------------------
|
|
37
|
+
const SOFTWARE_DELIVERY_KEY = WORKSPACE_V2_KEYS.SOFTWARE_DELIVERY;
|
|
38
|
+
export const SOFTWARE_DELIVERY_FIELDS = {
|
|
39
|
+
GATES: 'gates',
|
|
40
|
+
METHODOLOGY: 'methodology',
|
|
41
|
+
PACKAGE_MANAGER: 'package_manager',
|
|
42
|
+
PACKAGE_MANAGER_CAMEL: 'packageManager',
|
|
43
|
+
TEST_RUNNER: 'test_runner',
|
|
44
|
+
TEST_RUNNER_CAMEL: 'testRunner',
|
|
45
|
+
BUILD_COMMAND: 'build_command',
|
|
46
|
+
BUILD_COMMAND_CAMEL: 'buildCommand',
|
|
47
|
+
};
|
|
48
|
+
export const GATES_FIELDS = {
|
|
49
|
+
EXECUTION: 'execution',
|
|
50
|
+
LANE_HEALTH: 'lane_health',
|
|
51
|
+
LANE_HEALTH_CAMEL: 'laneHealth',
|
|
52
|
+
MIN_COVERAGE: 'minCoverage',
|
|
53
|
+
MIN_COVERAGE_SNAKE: 'min_coverage',
|
|
54
|
+
ENABLE_COVERAGE: 'enableCoverage',
|
|
55
|
+
ENABLE_COVERAGE_SNAKE: 'enable_coverage',
|
|
56
|
+
COMMANDS: 'commands',
|
|
57
|
+
};
|
|
58
|
+
export const GATES_COMMAND_FIELDS = {
|
|
59
|
+
TEST_FULL: 'test_full',
|
|
60
|
+
TEST_DOCS_ONLY: 'test_docs_only',
|
|
61
|
+
TEST_INCREMENTAL: 'test_incremental',
|
|
62
|
+
LINT: 'lint',
|
|
63
|
+
TYPECHECK: 'typecheck',
|
|
64
|
+
FORMAT: 'format',
|
|
65
|
+
};
|
|
66
|
+
// ---------------------------------------------------------------------------
|
|
67
|
+
// Config loading helpers
|
|
68
|
+
// ---------------------------------------------------------------------------
|
|
69
|
+
/**
|
|
70
|
+
* Load the software_delivery section from workspace.yaml
|
|
71
|
+
*
|
|
72
|
+
* @param projectRoot - Project root directory
|
|
73
|
+
* @returns Parsed software_delivery record, or null
|
|
74
|
+
*/
|
|
75
|
+
export function loadSoftwareDeliveryConfig(projectRoot) {
|
|
76
|
+
const configPath = path.join(projectRoot, WORKSPACE_CONFIG_FILE_NAME);
|
|
77
|
+
if (!fs.existsSync(configPath)) {
|
|
78
|
+
return null;
|
|
79
|
+
}
|
|
80
|
+
try {
|
|
81
|
+
const content = fs.readFileSync(configPath, 'utf8');
|
|
82
|
+
const data = asRecord(yaml.parse(content));
|
|
83
|
+
if (!data) {
|
|
84
|
+
return null;
|
|
85
|
+
}
|
|
86
|
+
return asRecord(data[SOFTWARE_DELIVERY_KEY]);
|
|
87
|
+
}
|
|
88
|
+
catch {
|
|
89
|
+
return null;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
/**
|
|
93
|
+
* Load the gates sub-section from workspace.yaml software_delivery
|
|
94
|
+
*
|
|
95
|
+
* @param projectRoot - Project root directory
|
|
96
|
+
* @returns Parsed gates record, or null
|
|
97
|
+
*/
|
|
98
|
+
export function getGatesSection(projectRoot) {
|
|
99
|
+
const softwareDelivery = loadSoftwareDeliveryConfig(projectRoot);
|
|
100
|
+
if (!softwareDelivery) {
|
|
101
|
+
return null;
|
|
102
|
+
}
|
|
103
|
+
return asRecord(softwareDelivery[SOFTWARE_DELIVERY_FIELDS.GATES]);
|
|
104
|
+
}
|
|
105
|
+
//# sourceMappingURL=gates-config-internal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gates-config-internal.js","sourceRoot":"","sources":["../src/gates-config-internal.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import type { GateCommandConfig, GatesExecutionConfig, ParsedGateCommand, LaneHealthMode } from './gates-schemas.js';
|
|
2
|
+
export type { GateCommandConfig, GatesExecutionConfig, ParsedGateCommand, LaneHealthMode, CoverageConfig, CoveragePolicy, TestRunnerPolicy, TestPolicy, GatesCommands, } from './gates-schemas.js';
|
|
3
|
+
export { GateCommandConfigSchema, GatesExecutionConfigSchema, LaneHealthModeSchema, DEFAULT_LANE_HEALTH_MODE, } from './gates-schemas.js';
|
|
4
|
+
export { GATE_PRESETS, expandPreset } from './gates-presets.js';
|
|
5
|
+
export { resolveCoverageConfig, resolveTestPolicy } from './gates-coverage.js';
|
|
6
|
+
export { resolvePackageManager, resolveTestRunner, resolveBuildCommand, resolveGatesCommands, getIgnorePatterns, } from './package-manager-resolver.js';
|
|
7
|
+
export { GATES_RUNTIME_DEFAULTS, SOFTWARE_DELIVERY_FIELDS, GATES_FIELDS, GATES_COMMAND_FIELDS, loadSoftwareDeliveryConfig, getGatesSection, } from './gates-config-internal.js';
|
|
8
|
+
/**
|
|
9
|
+
* Parse a gate command configuration into executable form
|
|
10
|
+
*
|
|
11
|
+
* @param config - Gate command configuration (string or object)
|
|
12
|
+
* @returns Parsed command with defaults applied, or null if undefined
|
|
13
|
+
*/
|
|
14
|
+
export declare function parseGateCommand(config: GateCommandConfig | undefined): ParsedGateCommand | null;
|
|
15
|
+
/**
|
|
16
|
+
* Load gates configuration from workspace.yaml software_delivery.gates.execution
|
|
17
|
+
*
|
|
18
|
+
* @param projectRoot - Project root directory
|
|
19
|
+
* @returns Gates execution config, or null if not configured
|
|
20
|
+
*/
|
|
21
|
+
export declare function loadGatesConfig(projectRoot: string): GatesExecutionConfig | null;
|
|
22
|
+
/**
|
|
23
|
+
* Get default gates configuration for auto-detection fallback
|
|
24
|
+
*
|
|
25
|
+
* Used when no gates config is present in workspace.yaml software_delivery.
|
|
26
|
+
* These are generic commands that work across common setups.
|
|
27
|
+
*
|
|
28
|
+
* @returns Default gates configuration
|
|
29
|
+
*/
|
|
30
|
+
export declare function getDefaultGatesConfig(): GatesExecutionConfig;
|
|
31
|
+
/**
|
|
32
|
+
* Resolve the effective gates configuration
|
|
33
|
+
*
|
|
34
|
+
* Priority order:
|
|
35
|
+
* 1. Explicit config from workspace.yaml software_delivery
|
|
36
|
+
* 2. Preset defaults (if preset specified)
|
|
37
|
+
* 3. Auto-detection defaults
|
|
38
|
+
*
|
|
39
|
+
* @param projectRoot - Project root directory
|
|
40
|
+
* @returns Resolved gates configuration
|
|
41
|
+
*/
|
|
42
|
+
export declare function resolveGatesConfig(projectRoot: string): GatesExecutionConfig;
|
|
43
|
+
/**
|
|
44
|
+
* Check if a specific gate should be skipped
|
|
45
|
+
*
|
|
46
|
+
* @param gateName - Name of the gate (format, lint, typecheck, test)
|
|
47
|
+
* @param config - Gates execution configuration
|
|
48
|
+
* @param skipFlags - Map of skip flags from CLI/Action inputs
|
|
49
|
+
* @returns True if the gate should be skipped
|
|
50
|
+
*/
|
|
51
|
+
export declare function shouldSkipGate(gateName: keyof Omit<GatesExecutionConfig, 'preset' | 'coverage'>, config: GatesExecutionConfig, skipFlags: Record<string, boolean>): boolean;
|
|
52
|
+
/**
|
|
53
|
+
* WU-1191: Load lane health configuration from workspace.yaml software_delivery
|
|
54
|
+
*
|
|
55
|
+
* Configuration format:
|
|
56
|
+
* ```yaml
|
|
57
|
+
* gates:
|
|
58
|
+
* lane_health: warn|error|off
|
|
59
|
+
* ```
|
|
60
|
+
*
|
|
61
|
+
* @param projectRoot - Project root directory
|
|
62
|
+
* @returns Lane health mode ('warn', 'error', or 'off'), defaults to 'warn'
|
|
63
|
+
*/
|
|
64
|
+
export declare function loadLaneHealthConfig(projectRoot: string): LaneHealthMode;
|
|
65
|
+
//# sourceMappingURL=gates-config.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gates-config.d.ts","sourceRoot":"","sources":["../src/gates-config.ts"],"names":[],"mappings":"AA+BA,OAAO,KAAK,EACV,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACf,MAAM,oBAAoB,CAAC;AAQ5B,YAAY,EACV,iBAAiB,EACjB,oBAAoB,EACpB,iBAAiB,EACjB,cAAc,EACd,cAAc,EACd,cAAc,EACd,gBAAgB,EAChB,UAAU,EACV,aAAa,GACd,MAAM,oBAAoB,CAAC;AAE5B,OAAO,EACL,uBAAuB,EACvB,0BAA0B,EAC1B,oBAAoB,EACpB,wBAAwB,GACzB,MAAM,oBAAoB,CAAC;AAG5B,OAAO,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGhE,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAG/E,OAAO,EACL,qBAAqB,EACrB,iBAAiB,EACjB,mBAAmB,EACnB,oBAAoB,EACpB,iBAAiB,GAClB,MAAM,+BAA+B,CAAC;AAGvC,OAAO,EACL,sBAAsB,EACtB,wBAAwB,EACxB,YAAY,EACZ,oBAAoB,EACpB,0BAA0B,EAC1B,eAAe,GAChB,MAAM,4BAA4B,CAAC;AAQpC;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,iBAAiB,GAAG,SAAS,GAAG,iBAAiB,GAAG,IAAI,CAkBhG;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,oBAAoB,GAAG,IAAI,CAmChF;AAED;;;;;;;GAOG;AACH,wBAAgB,qBAAqB,IAAI,oBAAoB,CAS5D;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,kBAAkB,CAAC,WAAW,EAAE,MAAM,GAAG,oBAAoB,CAS5E;AAED;;;;;;;GAOG;AACH,wBAAgB,cAAc,CAC5B,QAAQ,EAAE,MAAM,IAAI,CAAC,oBAAoB,EAAE,QAAQ,GAAG,UAAU,CAAC,EACjE,MAAM,EAAE,oBAAoB,EAC5B,SAAS,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,OAAO,CAaT;AAED;;;;;;;;;;;GAWG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,MAAM,GAAG,cAAc,CA+BxE"}
|