@lumenflow/core 3.2.0 → 3.2.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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,66 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Options for branch divergence and merge commit checks.
|
|
4
|
+
*/
|
|
5
|
+
export interface CheckBranchOptions {
|
|
6
|
+
/** Automatically rebase if diverged */
|
|
7
|
+
autoRebase?: boolean;
|
|
8
|
+
/** Path to worktree (required if autoRebase=true) */
|
|
9
|
+
worktreePath?: string | null;
|
|
10
|
+
/** WU ID for artifact cleanup (e.g., 'WU-1371') */
|
|
11
|
+
wuId?: string | null;
|
|
12
|
+
}
|
|
13
|
+
/**
|
|
14
|
+
* Check for branch drift (commits behind main)
|
|
15
|
+
* WU-755 pre-flight check
|
|
16
|
+
*
|
|
17
|
+
* @param {string} branch - Lane branch name
|
|
18
|
+
* @returns {Promise<number>} Number of commits behind main
|
|
19
|
+
*/
|
|
20
|
+
export declare function checkBranchDrift(branch: string): Promise<number>;
|
|
21
|
+
/**
|
|
22
|
+
* Check for branch divergence (main has advanced since branch creation)
|
|
23
|
+
* WU-1303: Added autoRebase option (default ON) to automatically rebase diverged branches
|
|
24
|
+
* WU-1371: Added wuId option for post-rebase artifact cleanup
|
|
25
|
+
*
|
|
26
|
+
* @param {string} branch - Lane branch name
|
|
27
|
+
* @param {CheckBranchOptions} [options] - Check options
|
|
28
|
+
* @throws {Error} If divergence detected and auto-rebase fails or is disabled
|
|
29
|
+
*/
|
|
30
|
+
export declare function checkBranchDivergence(branch: string, options?: CheckBranchOptions): Promise<void>;
|
|
31
|
+
/**
|
|
32
|
+
* Check for merge commits in lane branch that would violate linear history
|
|
33
|
+
* WU-1384: GitHub requires linear history; merge commits in lane branches must be eliminated
|
|
34
|
+
* WU-1371: Added wuId option for post-rebase artifact cleanup
|
|
35
|
+
*
|
|
36
|
+
* If merge commits are found, triggers auto-rebase to linearize history.
|
|
37
|
+
*
|
|
38
|
+
* @param {string} branch - Lane branch name
|
|
39
|
+
* @param {CheckBranchOptions} [options] - Check options
|
|
40
|
+
* @throws {Error} If merge commits found and auto-rebase fails or is disabled
|
|
41
|
+
*/
|
|
42
|
+
export declare function checkMergeCommits(branch: string, options?: CheckBranchOptions): Promise<void>;
|
|
43
|
+
/**
|
|
44
|
+
* Check for merge conflicts using git merge-tree
|
|
45
|
+
* WU-755 pre-flight check
|
|
46
|
+
*
|
|
47
|
+
* @param {string} branch - Lane branch name
|
|
48
|
+
*/
|
|
49
|
+
export declare function checkMergeConflicts(branch: string): Promise<void>;
|
|
50
|
+
/**
|
|
51
|
+
* WU-1456: Check for empty merge (no work commits beyond claim)
|
|
52
|
+
* WU-1460: Upgraded to BLOCK when code_paths defined but files not modified
|
|
53
|
+
*
|
|
54
|
+
* Detects when an agent runs wu:done without committing actual work.
|
|
55
|
+
* - If code_paths defined: BLOCK if those files weren't modified
|
|
56
|
+
* - If no code_paths: WARNING only (docs-only or metadata updates are valid)
|
|
57
|
+
*
|
|
58
|
+
* @param {string} branch - Lane branch name
|
|
59
|
+
* @param {object} [doc] - WU document with code_paths array (optional for backwards compatibility)
|
|
60
|
+
* @returns {Promise<void>}
|
|
61
|
+
* @throws {Error} When code_paths defined but files not modified in commits
|
|
62
|
+
*/
|
|
63
|
+
export declare function checkEmptyMerge(branch: string, doc?: {
|
|
64
|
+
code_paths?: string[];
|
|
65
|
+
} | null): Promise<void>;
|
|
66
|
+
//# sourceMappingURL=wu-done-preflight-checks.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wu-done-preflight-checks.d.ts","sourceRoot":"","sources":["../src/wu-done-preflight-checks.ts"],"names":[],"mappings":";AAyCA;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,uCAAuC;IACvC,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,qDAAqD;IACrD,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,mDAAmD;IACnD,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CACtB;AAED;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CA+BtE;AAED;;;;;;;;GAQG;AACH,wBAAsB,qBAAqB,CACzC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,IAAI,CAAC,CAkDf;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,iBAAiB,CACrC,MAAM,EAAE,MAAM,EACd,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,IAAI,CAAC,CA2Df;AAED;;;;;GAKG;AACH,wBAAsB,mBAAmB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAgDvE;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,MAAM,EACd,GAAG,GAAE;IAAE,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAW,GAC3C,OAAO,CAAC,IAAI,CAAC,CA4Df"}
|
|
@@ -0,0 +1,275 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
// Copyright (c) 2026 Hellmai Ltd
|
|
3
|
+
// SPDX-License-Identifier: AGPL-3.0-only
|
|
4
|
+
/**
|
|
5
|
+
* WU-2014: Pre-merge validation checks for wu:done
|
|
6
|
+
*
|
|
7
|
+
* Extracted from wu-done-worktree.ts to enforce single responsibility.
|
|
8
|
+
* Each function performs one specific pre-flight check before merge.
|
|
9
|
+
*
|
|
10
|
+
* Functions:
|
|
11
|
+
* checkBranchDrift - Verify branch is not too far behind main
|
|
12
|
+
* checkBranchDivergence - Detect and optionally auto-rebase diverged branches
|
|
13
|
+
* checkMergeCommits - Detect merge commits that violate linear history
|
|
14
|
+
* checkMergeConflicts - Detect merge conflicts using git merge-tree
|
|
15
|
+
* checkEmptyMerge - Detect empty merges with no work commits
|
|
16
|
+
*/
|
|
17
|
+
import { spawnSync } from 'node:child_process';
|
|
18
|
+
import { getGitForCwd } from './git-adapter.js';
|
|
19
|
+
import { BRANCHES, REMOTES, THRESHOLDS, LOG_PREFIX, STRING_LITERALS, GIT_COMMANDS, GIT_FLAGS, } from './wu-constants.js';
|
|
20
|
+
import { PREFLIGHT } from './wu-done-messages.js';
|
|
21
|
+
import { createError, ErrorCodes, getErrorMessage } from './error-handler.js';
|
|
22
|
+
import { createValidationError } from './wu-done-errors.js';
|
|
23
|
+
import { autoRebaseBranch } from './wu-done-rebase.js';
|
|
24
|
+
function isErrorWithCode(error, code) {
|
|
25
|
+
if (typeof error !== 'object' || error === null || !('code' in error)) {
|
|
26
|
+
return false;
|
|
27
|
+
}
|
|
28
|
+
return error.code === code;
|
|
29
|
+
}
|
|
30
|
+
/**
|
|
31
|
+
* Check for branch drift (commits behind main)
|
|
32
|
+
* WU-755 pre-flight check
|
|
33
|
+
*
|
|
34
|
+
* @param {string} branch - Lane branch name
|
|
35
|
+
* @returns {Promise<number>} Number of commits behind main
|
|
36
|
+
*/
|
|
37
|
+
export async function checkBranchDrift(branch) {
|
|
38
|
+
const gitAdapter = getGitForCwd();
|
|
39
|
+
try {
|
|
40
|
+
const counts = await gitAdapter.revList([
|
|
41
|
+
'--left-right',
|
|
42
|
+
'--count',
|
|
43
|
+
`${BRANCHES.MAIN}...${branch}`,
|
|
44
|
+
]);
|
|
45
|
+
const [mainAheadRaw] = counts.split(/\s+/).map(Number);
|
|
46
|
+
const mainAhead = typeof mainAheadRaw === 'number' && Number.isFinite(mainAheadRaw) ? mainAheadRaw : 0;
|
|
47
|
+
if (mainAhead > THRESHOLDS.BRANCH_DRIFT_MAX) {
|
|
48
|
+
throw createError(ErrorCodes.GIT_ERROR, PREFLIGHT.BRANCH_DRIFT_ERROR(mainAhead, THRESHOLDS.BRANCH_DRIFT_MAX, REMOTES.ORIGIN, BRANCHES.MAIN), { branch, commitsBehind: mainAhead, threshold: THRESHOLDS.BRANCH_DRIFT_MAX });
|
|
49
|
+
}
|
|
50
|
+
return mainAhead;
|
|
51
|
+
}
|
|
52
|
+
catch (e) {
|
|
53
|
+
if (isErrorWithCode(e, ErrorCodes.GIT_ERROR))
|
|
54
|
+
throw e;
|
|
55
|
+
console.warn(`${LOG_PREFIX.DONE} Warning: Could not check branch drift: ${getErrorMessage(e)}`);
|
|
56
|
+
return 0;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Check for branch divergence (main has advanced since branch creation)
|
|
61
|
+
* WU-1303: Added autoRebase option (default ON) to automatically rebase diverged branches
|
|
62
|
+
* WU-1371: Added wuId option for post-rebase artifact cleanup
|
|
63
|
+
*
|
|
64
|
+
* @param {string} branch - Lane branch name
|
|
65
|
+
* @param {CheckBranchOptions} [options] - Check options
|
|
66
|
+
* @throws {Error} If divergence detected and auto-rebase fails or is disabled
|
|
67
|
+
*/
|
|
68
|
+
export async function checkBranchDivergence(branch, options = {}) {
|
|
69
|
+
const { autoRebase = true, worktreePath = null, wuId = null } = options;
|
|
70
|
+
const gitAdapter = getGitForCwd();
|
|
71
|
+
try {
|
|
72
|
+
const mergeBase = await gitAdapter.mergeBase(BRANCHES.MAIN, branch);
|
|
73
|
+
const mainHead = await gitAdapter.getCommitHash(BRANCHES.MAIN);
|
|
74
|
+
if (mergeBase !== mainHead) {
|
|
75
|
+
const mainCommitsAhead = await gitAdapter.revList([
|
|
76
|
+
'--count',
|
|
77
|
+
`${mergeBase}..${BRANCHES.MAIN}`,
|
|
78
|
+
]);
|
|
79
|
+
const commitCount = Number(mainCommitsAhead);
|
|
80
|
+
console.log(PREFLIGHT.DIVERGENCE_DETECTED(commitCount));
|
|
81
|
+
// Attempt auto-rebase if enabled and worktree path provided
|
|
82
|
+
if (autoRebase && worktreePath) {
|
|
83
|
+
const rebaseResult = await autoRebaseBranch(branch, worktreePath, wuId);
|
|
84
|
+
if (rebaseResult.success) {
|
|
85
|
+
// Rebase succeeded - continue with wu:done
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
// Rebase failed - throw with detailed instructions
|
|
89
|
+
throw createError(ErrorCodes.GIT_ERROR, rebaseResult.error, {
|
|
90
|
+
branch,
|
|
91
|
+
mergeBase,
|
|
92
|
+
mainHead,
|
|
93
|
+
mainCommitsAhead: commitCount,
|
|
94
|
+
autoRebaseAttempted: true,
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
// Auto-rebase disabled or no worktree path - throw with manual instructions
|
|
98
|
+
throw createError(ErrorCodes.GIT_ERROR, PREFLIGHT.DIVERGENCE_ERROR(commitCount, REMOTES.ORIGIN, BRANCHES.MAIN, branch), { branch, mergeBase, mainHead, mainCommitsAhead: commitCount });
|
|
99
|
+
}
|
|
100
|
+
console.log(PREFLIGHT.NO_DIVERGENCE);
|
|
101
|
+
}
|
|
102
|
+
catch (e) {
|
|
103
|
+
if (isErrorWithCode(e, ErrorCodes.GIT_ERROR))
|
|
104
|
+
throw e;
|
|
105
|
+
console.warn(`${LOG_PREFIX.DONE} Warning: Could not check branch divergence: ${getErrorMessage(e)}`);
|
|
106
|
+
}
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Check for merge commits in lane branch that would violate linear history
|
|
110
|
+
* WU-1384: GitHub requires linear history; merge commits in lane branches must be eliminated
|
|
111
|
+
* WU-1371: Added wuId option for post-rebase artifact cleanup
|
|
112
|
+
*
|
|
113
|
+
* If merge commits are found, triggers auto-rebase to linearize history.
|
|
114
|
+
*
|
|
115
|
+
* @param {string} branch - Lane branch name
|
|
116
|
+
* @param {CheckBranchOptions} [options] - Check options
|
|
117
|
+
* @throws {Error} If merge commits found and auto-rebase fails or is disabled
|
|
118
|
+
*/
|
|
119
|
+
export async function checkMergeCommits(branch, options = {}) {
|
|
120
|
+
const { autoRebase = true, worktreePath = null, wuId = null } = options;
|
|
121
|
+
const gitAdapter = getGitForCwd();
|
|
122
|
+
try {
|
|
123
|
+
// Find merge commits in lane branch that are not in main
|
|
124
|
+
// --merges: only merge commits
|
|
125
|
+
// main..branch: commits in branch not reachable from main
|
|
126
|
+
const mergeCommitsRaw = await gitAdapter.raw([
|
|
127
|
+
'rev-list',
|
|
128
|
+
'--merges',
|
|
129
|
+
`${BRANCHES.MAIN}..${branch}`,
|
|
130
|
+
]);
|
|
131
|
+
const mergeCommits = mergeCommitsRaw.trim().split(STRING_LITERALS.NEWLINE).filter(Boolean);
|
|
132
|
+
const mergeCount = mergeCommits.length;
|
|
133
|
+
if (mergeCount > 0) {
|
|
134
|
+
console.log(PREFLIGHT.MERGE_COMMITS_DETECTED(mergeCount));
|
|
135
|
+
// Trigger rebase to eliminate merge commits
|
|
136
|
+
if (autoRebase && worktreePath) {
|
|
137
|
+
console.log(PREFLIGHT.MERGE_COMMITS_REBASING);
|
|
138
|
+
const rebaseResult = await autoRebaseBranch(branch, worktreePath, wuId);
|
|
139
|
+
if (rebaseResult.success) {
|
|
140
|
+
// Rebase succeeded - merge commits eliminated
|
|
141
|
+
return;
|
|
142
|
+
}
|
|
143
|
+
// Rebase failed - throw with detailed instructions
|
|
144
|
+
throw createError(ErrorCodes.GIT_ERROR, rebaseResult.error, {
|
|
145
|
+
branch,
|
|
146
|
+
mergeCommitCount: mergeCount,
|
|
147
|
+
autoRebaseAttempted: true,
|
|
148
|
+
});
|
|
149
|
+
}
|
|
150
|
+
// Auto-rebase disabled or no worktree path - throw with manual instructions
|
|
151
|
+
throw createError(ErrorCodes.GIT_ERROR, `Branch ${branch} contains ${mergeCount} merge commit(s).\n\n` +
|
|
152
|
+
`GitHub requires linear history. Merge commits must be eliminated.\n\n` +
|
|
153
|
+
`REQUIRED: Rebase your branch to linearize history:\n` +
|
|
154
|
+
` 1. cd into your worktree\n` +
|
|
155
|
+
` 2. git fetch ${REMOTES.ORIGIN} ${BRANCHES.MAIN}\n` +
|
|
156
|
+
` 3. git rebase ${REMOTES.ORIGIN}/${BRANCHES.MAIN}\n` +
|
|
157
|
+
` 4. git push --force-with-lease ${REMOTES.ORIGIN} ${branch}\n` +
|
|
158
|
+
` 5. Return to main checkout and retry`, { branch, mergeCommitCount: mergeCount });
|
|
159
|
+
}
|
|
160
|
+
console.log(PREFLIGHT.NO_MERGE_COMMITS);
|
|
161
|
+
}
|
|
162
|
+
catch (e) {
|
|
163
|
+
if (isErrorWithCode(e, ErrorCodes.GIT_ERROR))
|
|
164
|
+
throw e;
|
|
165
|
+
console.warn(`${LOG_PREFIX.DONE} Warning: Could not check for merge commits: ${getErrorMessage(e)}`);
|
|
166
|
+
}
|
|
167
|
+
}
|
|
168
|
+
/**
|
|
169
|
+
* Check for merge conflicts using git merge-tree
|
|
170
|
+
* WU-755 pre-flight check
|
|
171
|
+
*
|
|
172
|
+
* @param {string} branch - Lane branch name
|
|
173
|
+
*/
|
|
174
|
+
export async function checkMergeConflicts(branch) {
|
|
175
|
+
const MERGE_TREE_CONFLICT_EXIT_CODE = 1;
|
|
176
|
+
try {
|
|
177
|
+
// Use git exit status for conflict detection (status=1 indicates conflicts).
|
|
178
|
+
// This avoids brittle parsing of merge-tree output text.
|
|
179
|
+
const result = spawnSync(GIT_COMMANDS.GIT, [GIT_COMMANDS.MERGE_TREE, GIT_FLAGS.WRITE_TREE, BRANCHES.MAIN, branch], {
|
|
180
|
+
cwd: process.cwd(),
|
|
181
|
+
encoding: 'utf-8',
|
|
182
|
+
});
|
|
183
|
+
if (result.error) {
|
|
184
|
+
console.warn(`${LOG_PREFIX.DONE} Warning: Could not check merge conflicts: ${result.error.message}`);
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
if (result.status === 0) {
|
|
188
|
+
console.log(PREFLIGHT.NO_CONFLICTS);
|
|
189
|
+
return;
|
|
190
|
+
}
|
|
191
|
+
if (result.status === MERGE_TREE_CONFLICT_EXIT_CODE) {
|
|
192
|
+
throw createError(ErrorCodes.GIT_ERROR, PREFLIGHT.CONFLICT_ERROR(REMOTES.ORIGIN, BRANCHES.MAIN), {
|
|
193
|
+
branch,
|
|
194
|
+
operation: 'merge-tree --write-tree',
|
|
195
|
+
});
|
|
196
|
+
}
|
|
197
|
+
const stderr = typeof result.stderr === 'string' ? result.stderr.trim() : '';
|
|
198
|
+
const detail = stderr ||
|
|
199
|
+
`${GIT_COMMANDS.GIT} ${GIT_COMMANDS.MERGE_TREE} exited with status ${String(result.status)}`;
|
|
200
|
+
console.warn(`${LOG_PREFIX.DONE} Warning: Could not check merge conflicts: ${detail}`);
|
|
201
|
+
}
|
|
202
|
+
catch (e) {
|
|
203
|
+
if (isErrorWithCode(e, ErrorCodes.GIT_ERROR))
|
|
204
|
+
throw e;
|
|
205
|
+
const message = getErrorMessage(e);
|
|
206
|
+
console.warn(`${LOG_PREFIX.DONE} Warning: Could not check merge conflicts: ${message}`);
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
/**
|
|
210
|
+
* WU-1456: Check for empty merge (no work commits beyond claim)
|
|
211
|
+
* WU-1460: Upgraded to BLOCK when code_paths defined but files not modified
|
|
212
|
+
*
|
|
213
|
+
* Detects when an agent runs wu:done without committing actual work.
|
|
214
|
+
* - If code_paths defined: BLOCK if those files weren't modified
|
|
215
|
+
* - If no code_paths: WARNING only (docs-only or metadata updates are valid)
|
|
216
|
+
*
|
|
217
|
+
* @param {string} branch - Lane branch name
|
|
218
|
+
* @param {object} [doc] - WU document with code_paths array (optional for backwards compatibility)
|
|
219
|
+
* @returns {Promise<void>}
|
|
220
|
+
* @throws {Error} When code_paths defined but files not modified in commits
|
|
221
|
+
*/
|
|
222
|
+
export async function checkEmptyMerge(branch, doc = null) {
|
|
223
|
+
const gitAdapter = getGitForCwd();
|
|
224
|
+
try {
|
|
225
|
+
// Count commits on lane branch that are not in main
|
|
226
|
+
const commitCountRaw = await gitAdapter.raw([
|
|
227
|
+
'rev-list',
|
|
228
|
+
'--count',
|
|
229
|
+
`${BRANCHES.MAIN}..${branch}`,
|
|
230
|
+
]);
|
|
231
|
+
const commitCount = Number(commitCountRaw.trim());
|
|
232
|
+
// WU-1460: If code_paths defined, verify those files were modified
|
|
233
|
+
const codePaths = Array.isArray(doc?.code_paths)
|
|
234
|
+
? doc.code_paths.filter((filePath) => typeof filePath === 'string')
|
|
235
|
+
: [];
|
|
236
|
+
const hasCodePaths = codePaths.length > 0;
|
|
237
|
+
if (hasCodePaths) {
|
|
238
|
+
// Get list of files modified in lane branch commits
|
|
239
|
+
const modifiedFilesRaw = await gitAdapter.raw([
|
|
240
|
+
'diff',
|
|
241
|
+
'--name-only',
|
|
242
|
+
`${BRANCHES.MAIN}...${branch}`,
|
|
243
|
+
]);
|
|
244
|
+
const modifiedFiles = modifiedFilesRaw.trim().split('\n').filter(Boolean);
|
|
245
|
+
// Check if code_paths files are in the modified list
|
|
246
|
+
const missingCodePaths = codePaths.filter((codePath) => !modifiedFiles.some((modified) => modified.includes(codePath) || codePath.includes(modified)));
|
|
247
|
+
if (missingCodePaths.length > 0) {
|
|
248
|
+
// BLOCK: code_paths defined but files not modified
|
|
249
|
+
throw createValidationError(PREFLIGHT.CODE_PATHS_NOT_MODIFIED(missingCodePaths), {
|
|
250
|
+
branch,
|
|
251
|
+
codePaths,
|
|
252
|
+
missingCodePaths,
|
|
253
|
+
modifiedFiles,
|
|
254
|
+
});
|
|
255
|
+
}
|
|
256
|
+
// All code_paths files were modified
|
|
257
|
+
console.log(PREFLIGHT.CODE_PATHS_VERIFIED);
|
|
258
|
+
}
|
|
259
|
+
else if (commitCount <= 1) {
|
|
260
|
+
// No code_paths - just warn (backwards compatible behaviour)
|
|
261
|
+
// If only 0-1 commits beyond main, this is likely the claim commit only
|
|
262
|
+
console.log(PREFLIGHT.EMPTY_MERGE_WARNING(commitCount));
|
|
263
|
+
}
|
|
264
|
+
else {
|
|
265
|
+
console.log(PREFLIGHT.EMPTY_MERGE_CHECK);
|
|
266
|
+
}
|
|
267
|
+
}
|
|
268
|
+
catch (e) {
|
|
269
|
+
// Re-throw validation errors (WU-1460 blocker)
|
|
270
|
+
if (isErrorWithCode(e, ErrorCodes.VALIDATION_ERROR))
|
|
271
|
+
throw e;
|
|
272
|
+
console.warn(`${LOG_PREFIX.DONE} Warning: Could not check for empty merge: ${getErrorMessage(e)}`);
|
|
273
|
+
}
|
|
274
|
+
}
|
|
275
|
+
//# sourceMappingURL=wu-done-preflight-checks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wu-done-preflight-checks.js","sourceRoot":"","sources":["../src/wu-done-preflight-checks.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Preflight validation helpers for wu:done.
|
|
3
|
+
*/
|
|
4
|
+
import { validatePreflight } from './wu-preflight-validators.js';
|
|
5
|
+
interface PreflightPaths {
|
|
6
|
+
rootDir: string;
|
|
7
|
+
worktreePath?: string | null;
|
|
8
|
+
}
|
|
9
|
+
interface PreflightCodePathValidationResult {
|
|
10
|
+
valid: boolean;
|
|
11
|
+
errors: string[];
|
|
12
|
+
warnings: string[];
|
|
13
|
+
missingCodePaths: string[];
|
|
14
|
+
missingCoverageCodePaths: string[];
|
|
15
|
+
missingTestPaths: string[];
|
|
16
|
+
suggestedTestPaths?: Record<string, string[]>;
|
|
17
|
+
abortedBeforeGates: boolean;
|
|
18
|
+
}
|
|
19
|
+
interface PreflightTaskValidationResult {
|
|
20
|
+
valid: boolean;
|
|
21
|
+
errors: string[];
|
|
22
|
+
abortedBeforeMerge: boolean;
|
|
23
|
+
localMainModified: boolean;
|
|
24
|
+
hasStampStatusError: boolean;
|
|
25
|
+
}
|
|
26
|
+
/**
|
|
27
|
+
* WU-1781: Build preflight error message with actionable guidance
|
|
28
|
+
*/
|
|
29
|
+
export declare function buildPreflightErrorMessage(id: string, errors: string[]): string;
|
|
30
|
+
/**
|
|
31
|
+
* WU-1805: Execute preflight code_paths and test_paths validation
|
|
32
|
+
*/
|
|
33
|
+
export interface ExecutePreflightCodePathValidationOptions {
|
|
34
|
+
/** Override validatePreflight for testing */
|
|
35
|
+
validatePreflightFn?: typeof validatePreflight;
|
|
36
|
+
/** Optional base ref for reality-phase diff checks */
|
|
37
|
+
baseRef?: string;
|
|
38
|
+
/** Optional head ref for reality-phase diff checks */
|
|
39
|
+
headRef?: string;
|
|
40
|
+
}
|
|
41
|
+
export declare function executePreflightCodePathValidation(id: string, paths: PreflightPaths, options?: ExecutePreflightCodePathValidationOptions): Promise<PreflightCodePathValidationResult>;
|
|
42
|
+
/**
|
|
43
|
+
* WU-1805: Build preflight code_paths error message with actionable guidance
|
|
44
|
+
*/
|
|
45
|
+
export declare function buildPreflightCodePathErrorMessage(id: string, result: PreflightCodePathValidationResult): string;
|
|
46
|
+
/**
|
|
47
|
+
* WU-1781: Run wu:validate as preflight check before git operations
|
|
48
|
+
*/
|
|
49
|
+
export declare function runPreflightTasksValidation(id: string): PreflightTaskValidationResult;
|
|
50
|
+
/**
|
|
51
|
+
* WU-2308: Validate all pre-commit hooks with worktree context
|
|
52
|
+
*/
|
|
53
|
+
export interface ValidateAllPreCommitHooksOptions {
|
|
54
|
+
runGates?: (options: {
|
|
55
|
+
cwd?: string;
|
|
56
|
+
docsOnly?: boolean;
|
|
57
|
+
wuId?: string;
|
|
58
|
+
}) => Promise<boolean>;
|
|
59
|
+
}
|
|
60
|
+
export declare function validateAllPreCommitHooks(id: string, worktreePath?: string | null, options?: ValidateAllPreCommitHooksOptions): Promise<{
|
|
61
|
+
valid: boolean;
|
|
62
|
+
errors: string[];
|
|
63
|
+
}>;
|
|
64
|
+
export {};
|
|
65
|
+
//# sourceMappingURL=wu-done-preflight.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wu-done-preflight.d.ts","sourceRoot":"","sources":["../src/wu-done-preflight.ts"],"names":[],"mappings":"AAGA;;GAEG;AAEH,OAAO,EAAE,iBAAiB,EAAE,MAAM,8BAA8B,CAAC;AAKjE,UAAU,cAAc;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC9B;AAED,UAAU,iCAAiC;IACzC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,wBAAwB,EAAE,MAAM,EAAE,CAAC;IACnC,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAC9C,kBAAkB,EAAE,OAAO,CAAC;CAC7B;AAED,UAAU,6BAA6B;IACrC,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,mBAAmB,EAAE,OAAO,CAAC;CAC9B;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,GAAG,MAAM,CAqC/E;AAED;;GAEG;AACH,MAAM,WAAW,yCAAyC;IACxD,6CAA6C;IAC7C,mBAAmB,CAAC,EAAE,OAAO,iBAAiB,CAAC;IAC/C,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,sDAAsD;IACtD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,wBAAsB,kCAAkC,CACtD,EAAE,EAAE,MAAM,EACV,KAAK,EAAE,cAAc,EACrB,OAAO,GAAE,yCAA8C,GACtD,OAAO,CAAC,iCAAiC,CAAC,CAuC5C;AAED;;GAEG;AACH,wBAAgB,kCAAkC,CAChD,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,iCAAiC,GACxC,MAAM,CA8ER;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,EAAE,EAAE,MAAM,GAAG,6BAA6B,CA0BrF;AAED;;GAEG;AACH,MAAM,WAAW,gCAAgC;IAC/C,QAAQ,CAAC,EAAE,CAAC,OAAO,EAAE;QAAE,GAAG,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAC;QAAC,IAAI,CAAC,EAAE,MAAM,CAAA;KAAE,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC;CAC/F;AAED,wBAAsB,yBAAyB,CAC7C,EAAE,EAAE,MAAM,EACV,YAAY,GAAE,MAAM,GAAG,IAAW,EAClC,OAAO,GAAE,gCAAqC,GAC7C,OAAO,CAAC;IAAE,KAAK,EAAE,OAAO,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAAC,CAqC/C"}
|
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
// Copyright (c) 2026 Hellmai Ltd
|
|
2
|
+
// SPDX-License-Identifier: AGPL-3.0-only
|
|
3
|
+
/**
|
|
4
|
+
* Preflight validation helpers for wu:done.
|
|
5
|
+
*/
|
|
6
|
+
import { validatePreflight } from './wu-preflight-validators.js';
|
|
7
|
+
import { LOG_PREFIX, EMOJI } from './wu-constants.js';
|
|
8
|
+
import { WU_PATHS } from './wu-paths.js';
|
|
9
|
+
import { validateSingleWU } from './validators/wu-tasks.js';
|
|
10
|
+
/**
|
|
11
|
+
* WU-1781: Build preflight error message with actionable guidance
|
|
12
|
+
*/
|
|
13
|
+
export function buildPreflightErrorMessage(id, errors) {
|
|
14
|
+
const hasStampStatusError = errors.some((error) => error.includes('stamp but status is not done'));
|
|
15
|
+
let message = `
|
|
16
|
+
❌ PREFLIGHT VALIDATION FAILED
|
|
17
|
+
|
|
18
|
+
wu:validate found errors that would block pre-push hooks.
|
|
19
|
+
Aborting wu:done BEFORE merge operations to prevent deadlocks.
|
|
20
|
+
|
|
21
|
+
Errors:
|
|
22
|
+
${errors.map((error) => ` - ${error}`).join('\n')}
|
|
23
|
+
|
|
24
|
+
Fix options:
|
|
25
|
+
`;
|
|
26
|
+
if (hasStampStatusError) {
|
|
27
|
+
message += `
|
|
28
|
+
For stamp-status mismatch errors:
|
|
29
|
+
1. Fix the WU status to match the stamp (set status: done, locked: true)
|
|
30
|
+
2. Or add the WU ID to workspace.yaml > software_delivery > exemptions > stamp_status_mismatch
|
|
31
|
+
|
|
32
|
+
`;
|
|
33
|
+
}
|
|
34
|
+
message += `
|
|
35
|
+
General fixes:
|
|
36
|
+
1. Run: pnpm wu:validate to see full errors
|
|
37
|
+
2. Fix the validation errors
|
|
38
|
+
3. Retry: pnpm wu:done --id ${id}
|
|
39
|
+
|
|
40
|
+
This preflight check prevents wu:done from leaving main in a stuck state
|
|
41
|
+
where husky pre-push would block all further operations.
|
|
42
|
+
`;
|
|
43
|
+
return message;
|
|
44
|
+
}
|
|
45
|
+
export async function executePreflightCodePathValidation(id, paths, options = {}) {
|
|
46
|
+
// Use injected validator for testability, default to actual implementation
|
|
47
|
+
const validatePreflightFn = options.validatePreflightFn || validatePreflight;
|
|
48
|
+
console.log(`\n${LOG_PREFIX.DONE} 🔍 Preflight: validating code_paths and test paths...`);
|
|
49
|
+
const result = await validatePreflightFn(id, {
|
|
50
|
+
rootDir: paths.rootDir,
|
|
51
|
+
worktreePath: paths.worktreePath,
|
|
52
|
+
phase: 'reality',
|
|
53
|
+
baseRef: options.baseRef,
|
|
54
|
+
headRef: options.headRef,
|
|
55
|
+
});
|
|
56
|
+
if (result.valid) {
|
|
57
|
+
console.log(`${LOG_PREFIX.DONE} ${EMOJI.SUCCESS} Preflight code_paths validation passed`);
|
|
58
|
+
return {
|
|
59
|
+
valid: true,
|
|
60
|
+
errors: [],
|
|
61
|
+
warnings: result.warnings || [],
|
|
62
|
+
missingCodePaths: [],
|
|
63
|
+
missingCoverageCodePaths: [],
|
|
64
|
+
missingTestPaths: [],
|
|
65
|
+
abortedBeforeGates: false,
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
console.error(`\n${LOG_PREFIX.DONE} ${EMOJI.FAILURE} Preflight code_paths validation failed`);
|
|
69
|
+
return {
|
|
70
|
+
valid: false,
|
|
71
|
+
errors: result.errors,
|
|
72
|
+
warnings: result.warnings || [],
|
|
73
|
+
missingCodePaths: result.missingCodePaths || [],
|
|
74
|
+
missingCoverageCodePaths: result.missingCoverageCodePaths || [],
|
|
75
|
+
missingTestPaths: result.missingTestPaths || [],
|
|
76
|
+
suggestedTestPaths: result.suggestedTestPaths || {},
|
|
77
|
+
abortedBeforeGates: true,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* WU-1805: Build preflight code_paths error message with actionable guidance
|
|
82
|
+
*/
|
|
83
|
+
export function buildPreflightCodePathErrorMessage(id, result) {
|
|
84
|
+
const { errors, missingCodePaths = [], missingCoverageCodePaths = [], missingTestPaths = [], suggestedTestPaths = {}, } = result;
|
|
85
|
+
let message = `
|
|
86
|
+
❌ PREFLIGHT CODE_PATHS VALIDATION FAILED
|
|
87
|
+
|
|
88
|
+
code_paths/test_paths validation found errors that would cause gates to fail.
|
|
89
|
+
Aborting wu:done BEFORE running gates to save time.
|
|
90
|
+
|
|
91
|
+
Errors:
|
|
92
|
+
${errors.map((error) => ` ${error}`).join('\n')}
|
|
93
|
+
|
|
94
|
+
`;
|
|
95
|
+
if (missingCodePaths.length > 0) {
|
|
96
|
+
message += `
|
|
97
|
+
Fix options for missing code_paths:
|
|
98
|
+
1. Create the missing files in your worktree
|
|
99
|
+
2. Update code_paths in ${id}.yaml using: pnpm wu:edit --id ${id} --code-paths "<corrected-paths>"
|
|
100
|
+
3. Remove paths that were intentionally not created
|
|
101
|
+
|
|
102
|
+
`;
|
|
103
|
+
}
|
|
104
|
+
if (missingCoverageCodePaths.length > 0) {
|
|
105
|
+
message += `
|
|
106
|
+
Fix options for code_paths coverage (branch diff):
|
|
107
|
+
1. Commit changes that touch each missing scoped code_path
|
|
108
|
+
2. Update code_paths in ${id}.yaml to match actual branch scope
|
|
109
|
+
3. Re-run: pnpm wu:prep --id ${id} (or wu:done when ready)
|
|
110
|
+
|
|
111
|
+
`;
|
|
112
|
+
}
|
|
113
|
+
if (missingTestPaths.length > 0) {
|
|
114
|
+
message += `
|
|
115
|
+
Fix options for missing test_paths:
|
|
116
|
+
1. Create the missing test files
|
|
117
|
+
2. Update test paths in ${id}.yaml using wu:edit
|
|
118
|
+
3. Use tests.manual for descriptions instead of file paths
|
|
119
|
+
|
|
120
|
+
`;
|
|
121
|
+
}
|
|
122
|
+
// Add suggested paths if available
|
|
123
|
+
const suggestionsMap = suggestedTestPaths;
|
|
124
|
+
const hasSuggestions = Object.keys(suggestionsMap).some((missingPath) => (suggestionsMap[missingPath] ?? []).length > 0);
|
|
125
|
+
if (hasSuggestions) {
|
|
126
|
+
message += `Suggested alternatives found:
|
|
127
|
+
`;
|
|
128
|
+
for (const [missingPath, suggestions] of Object.entries(suggestionsMap)) {
|
|
129
|
+
if (suggestions.length > 0) {
|
|
130
|
+
message += `For "${missingPath}":
|
|
131
|
+
${suggestions.map((s) => ` - ${s}`).join('\n')}
|
|
132
|
+
|
|
133
|
+
`;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
}
|
|
137
|
+
message += `
|
|
138
|
+
After fixing, retry:
|
|
139
|
+
pnpm wu:done --id ${id}
|
|
140
|
+
|
|
141
|
+
This preflight check runs BEFORE gates to catch YAML mismatches early.
|
|
142
|
+
See: https://lumenflow.dev/reference/troubleshooting-wu-done/ for more recovery options.
|
|
143
|
+
`;
|
|
144
|
+
return message;
|
|
145
|
+
}
|
|
146
|
+
/**
|
|
147
|
+
* WU-1781: Run wu:validate as preflight check before git operations
|
|
148
|
+
*/
|
|
149
|
+
export function runPreflightTasksValidation(id) {
|
|
150
|
+
console.log(`\n${LOG_PREFIX.DONE} 🔍 Preflight: running wu:validate...`);
|
|
151
|
+
const wuPath = WU_PATHS.WU(id);
|
|
152
|
+
const result = validateSingleWU(wuPath, { strict: false });
|
|
153
|
+
if (result.valid) {
|
|
154
|
+
console.log(`${LOG_PREFIX.DONE} ${EMOJI.SUCCESS} Preflight wu:validate passed`);
|
|
155
|
+
return {
|
|
156
|
+
valid: true,
|
|
157
|
+
errors: [],
|
|
158
|
+
abortedBeforeMerge: false,
|
|
159
|
+
localMainModified: false,
|
|
160
|
+
hasStampStatusError: false,
|
|
161
|
+
};
|
|
162
|
+
}
|
|
163
|
+
console.error(`\n${LOG_PREFIX.DONE} ${EMOJI.FAILURE} Preflight wu:validate failed`);
|
|
164
|
+
return {
|
|
165
|
+
valid: false,
|
|
166
|
+
errors: result.errors ?? [],
|
|
167
|
+
abortedBeforeMerge: true,
|
|
168
|
+
localMainModified: false,
|
|
169
|
+
hasStampStatusError: false,
|
|
170
|
+
};
|
|
171
|
+
}
|
|
172
|
+
export async function validateAllPreCommitHooks(id, worktreePath = null, options = {}) {
|
|
173
|
+
console.log(`\n${LOG_PREFIX.DONE} 🔍 Pre-flight: validating all pre-commit hooks...`);
|
|
174
|
+
const errors = [];
|
|
175
|
+
try {
|
|
176
|
+
// WU-2308: Run from worktree context when provided to ensure audit checks
|
|
177
|
+
// the worktree's dependencies (with fixes) not main's stale dependencies
|
|
178
|
+
if (!options.runGates) {
|
|
179
|
+
throw new Error('runGates not provided for pre-commit validation.');
|
|
180
|
+
}
|
|
181
|
+
const ok = await options.runGates({
|
|
182
|
+
cwd: worktreePath ?? process.cwd(),
|
|
183
|
+
wuId: id,
|
|
184
|
+
});
|
|
185
|
+
if (ok) {
|
|
186
|
+
console.log(`${LOG_PREFIX.DONE} ${EMOJI.SUCCESS} All pre-commit hooks passed`);
|
|
187
|
+
return { valid: true, errors: [] };
|
|
188
|
+
}
|
|
189
|
+
throw new Error('Pre-commit hooks failed.');
|
|
190
|
+
}
|
|
191
|
+
catch {
|
|
192
|
+
// Pre-commit hooks failed
|
|
193
|
+
errors.push('Pre-commit hook validation failed. Fix these issues before wu:done:');
|
|
194
|
+
errors.push('');
|
|
195
|
+
errors.push('Common fixes:');
|
|
196
|
+
errors.push(' • Formatting issues: Run pnpm format');
|
|
197
|
+
errors.push(' • Lint errors: Run pnpm lint:fix');
|
|
198
|
+
errors.push(' • Type errors: Check pnpm typecheck output');
|
|
199
|
+
errors.push(' • Audit issues: Check pnpm audit output');
|
|
200
|
+
errors.push('');
|
|
201
|
+
errors.push(`After fixing, re-run: pnpm wu:done --id ${id}`);
|
|
202
|
+
return { valid: false, errors };
|
|
203
|
+
}
|
|
204
|
+
}
|
|
205
|
+
//# sourceMappingURL=wu-done-preflight.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wu-done-preflight.js","sourceRoot":"","sources":["../src/wu-done-preflight.ts"],"names":[],"mappings":"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"}
|