@lumenflow/core 2.20.0 → 2.21.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/active-wu-detector.d.ts +2 -2
- package/dist/active-wu-detector.d.ts.map +1 -1
- package/dist/active-wu-detector.js +1 -1
- package/dist/active-wu-detector.js.map +1 -1
- package/dist/adapters/context-adapters.d.ts +10 -0
- package/dist/adapters/context-adapters.d.ts.map +1 -1
- package/dist/adapters/context-adapters.js +15 -3
- package/dist/adapters/context-adapters.js.map +1 -1
- package/dist/adapters/filesystem-metrics.adapter.d.ts.map +1 -1
- package/dist/adapters/filesystem-metrics.adapter.js +13 -7
- package/dist/adapters/filesystem-metrics.adapter.js.map +1 -1
- package/dist/adapters/mock-dashboard-renderer.adapter.d.ts +1 -1
- package/dist/adapters/mock-dashboard-renderer.adapter.js +1 -1
- package/dist/agent-patterns-registry.d.ts +2 -2
- package/dist/agent-patterns-registry.js +5 -5
- package/dist/agent-patterns-registry.js.map +1 -1
- package/dist/arg-parser.d.ts.map +1 -1
- package/dist/arg-parser.js +2 -0
- package/dist/arg-parser.js.map +1 -1
- package/dist/backlog-editor.d.ts +21 -17
- package/dist/backlog-editor.d.ts.map +1 -1
- package/dist/backlog-editor.js +6 -29
- package/dist/backlog-editor.js.map +1 -1
- package/dist/backlog-generator.d.ts +14 -8
- package/dist/backlog-generator.d.ts.map +1 -1
- package/dist/backlog-generator.js +53 -20
- package/dist/backlog-generator.js.map +1 -1
- package/dist/backlog-parser.d.ts +2 -2
- package/dist/backlog-parser.d.ts.map +1 -1
- package/dist/backlog-parser.js.map +1 -1
- package/dist/backlog-sync-validator.d.ts +19 -10
- package/dist/backlog-sync-validator.d.ts.map +1 -1
- package/dist/backlog-sync-validator.js +41 -16
- package/dist/backlog-sync-validator.js.map +1 -1
- package/dist/branch-drift.d.ts +1 -1
- package/dist/branch-drift.d.ts.map +1 -1
- package/dist/branch-drift.js.map +1 -1
- package/dist/cleanup-lock.d.ts +4 -4
- package/dist/cleanup-lock.d.ts.map +1 -1
- package/dist/cleanup-lock.js.map +1 -1
- package/dist/cloud-detect.d.ts +1 -1
- package/dist/cloud-detect.d.ts.map +1 -1
- package/dist/code-path-validator.d.ts.map +1 -1
- package/dist/code-path-validator.js +15 -4
- package/dist/code-path-validator.js.map +1 -1
- package/dist/code-paths-overlap.d.ts +6 -3
- package/dist/code-paths-overlap.d.ts.map +1 -1
- package/dist/code-paths-overlap.js +1 -1
- package/dist/code-paths-overlap.js.map +1 -1
- package/dist/color-support.d.ts +1 -1
- package/dist/color-support.js +2 -2
- package/dist/color-support.js.map +1 -1
- package/dist/commands-logger.d.ts +11 -4
- package/dist/commands-logger.d.ts.map +1 -1
- package/dist/commands-logger.js +1 -1
- package/dist/commands-logger.js.map +1 -1
- package/dist/commit-message-utils.d.ts +1 -1
- package/dist/commit-message-utils.d.ts.map +1 -1
- package/dist/commit-message-utils.js.map +1 -1
- package/dist/compliance-parser.d.ts +86 -112
- package/dist/compliance-parser.d.ts.map +1 -1
- package/dist/compliance-parser.js +10 -61
- package/dist/compliance-parser.js.map +1 -1
- package/dist/constants/backlog-patterns.d.ts +1 -1
- package/dist/constants/backlog-patterns.d.ts.map +1 -1
- package/dist/constants/backlog-patterns.js.map +1 -1
- package/dist/context/location-resolver.js +1 -1
- package/dist/context/location-resolver.js.map +1 -1
- package/dist/context-validation-integration.d.ts +1 -1
- package/dist/context-validation-integration.d.ts.map +1 -1
- package/dist/context-validation-integration.js +1 -1
- package/dist/context-validation-integration.js.map +1 -1
- package/dist/core/scope-checker.d.ts +4 -4
- package/dist/core/scope-checker.d.ts.map +1 -1
- package/dist/core/scope-checker.js.map +1 -1
- package/dist/core/tool.schemas.d.ts +1 -1
- package/dist/core/tool.schemas.d.ts.map +1 -1
- package/dist/core/worktree-guard.d.ts +1 -1
- package/dist/core/worktree-guard.d.ts.map +1 -1
- package/dist/core/worktree-guard.js.map +1 -1
- package/dist/coverage-gate.d.ts +14 -9
- package/dist/coverage-gate.d.ts.map +1 -1
- package/dist/coverage-gate.js +2 -2
- package/dist/coverage-gate.js.map +1 -1
- package/dist/date-utils.d.ts +3 -3
- package/dist/date-utils.d.ts.map +1 -1
- package/dist/date-utils.js.map +1 -1
- package/dist/delegation-escalation.d.ts +2 -2
- package/dist/delegation-escalation.d.ts.map +1 -1
- package/dist/delegation-escalation.js +6 -2
- package/dist/delegation-escalation.js.map +1 -1
- package/dist/delegation-monitor.d.ts +76 -22
- package/dist/delegation-monitor.d.ts.map +1 -1
- package/dist/delegation-monitor.js +3 -2
- package/dist/delegation-monitor.js.map +1 -1
- package/dist/delegation-recovery.d.ts +2 -2
- package/dist/delegation-recovery.d.ts.map +1 -1
- package/dist/delegation-recovery.js +4 -1
- package/dist/delegation-recovery.js.map +1 -1
- package/dist/delegation-registry-schema.d.ts +4 -4
- package/dist/delegation-registry-store.d.ts.map +1 -1
- package/dist/delegation-registry-store.js +8 -1
- package/dist/delegation-registry-store.js.map +1 -1
- package/dist/delegation-tree.d.ts +1 -1
- package/dist/delegation-tree.d.ts.map +1 -1
- package/dist/delegation-tree.js.map +1 -1
- package/dist/dependency-graph.d.ts +44 -24
- package/dist/dependency-graph.d.ts.map +1 -1
- package/dist/dependency-graph.js +60 -32
- package/dist/dependency-graph.js.map +1 -1
- package/dist/dependency-guard.d.ts +2 -2
- package/dist/dependency-guard.d.ts.map +1 -1
- package/dist/dependency-guard.js.map +1 -1
- package/dist/dependency-validator.d.ts +4 -4
- package/dist/dependency-validator.d.ts.map +1 -1
- package/dist/dependency-validator.js +2 -1
- package/dist/dependency-validator.js.map +1 -1
- package/dist/docs-path-validator.d.ts +1 -1
- package/dist/docs-path-validator.d.ts.map +1 -1
- package/dist/docs-path-validator.js.map +1 -1
- package/dist/domain/orchestration.constants.d.ts +2 -2
- package/dist/domain/orchestration.constants.js +2 -2
- package/dist/domain/orchestration.schemas.d.ts +2 -2
- package/dist/domain/recovery.schemas.js +2 -2
- package/dist/domain/recovery.schemas.js.map +1 -1
- package/dist/domain/validation.schemas.js +1 -1
- package/dist/domain/validation.schemas.js.map +1 -1
- package/dist/error-handler.d.ts +3 -3
- package/dist/error-handler.d.ts.map +1 -1
- package/dist/error-handler.js.map +1 -1
- package/dist/file-classifiers.d.ts +3 -3
- package/dist/file-classifiers.d.ts.map +1 -1
- package/dist/file-classifiers.js.map +1 -1
- package/dist/force-bypass-audit.d.ts.map +1 -1
- package/dist/force-bypass-audit.js.map +1 -1
- package/dist/gates-config.d.ts +1 -1
- package/dist/gates-config.js +1 -1
- package/dist/gates-config.js.map +1 -1
- package/dist/generate-traceability.d.ts +61 -51
- package/dist/generate-traceability.d.ts.map +1 -1
- package/dist/generate-traceability.js +34 -61
- package/dist/generate-traceability.js.map +1 -1
- package/dist/git-adapter.d.ts +3 -16
- package/dist/git-adapter.d.ts.map +1 -1
- package/dist/git-adapter.js +1 -1
- package/dist/git-adapter.js.map +1 -1
- package/dist/git-context-extractor.d.ts.map +1 -1
- package/dist/git-context-extractor.js +21 -10
- package/dist/git-context-extractor.js.map +1 -1
- package/dist/git-staged-validator.d.ts +1 -1
- package/dist/git-staged-validator.d.ts.map +1 -1
- package/dist/git-staged-validator.js +3 -2
- package/dist/git-staged-validator.js.map +1 -1
- package/dist/hardcoded-strings.d.ts +8 -3
- package/dist/hardcoded-strings.d.ts.map +1 -1
- package/dist/hardcoded-strings.js +4 -1
- package/dist/hardcoded-strings.js.map +1 -1
- package/dist/incremental-lint.d.ts +2 -2
- package/dist/incremental-lint.d.ts.map +1 -1
- package/dist/incremental-lint.js.map +1 -1
- package/dist/incremental-test.d.ts +1 -1
- package/dist/incremental-test.d.ts.map +1 -1
- package/dist/incremental-test.js.map +1 -1
- package/dist/index.d.ts +1 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js.map +1 -1
- package/dist/invariants/check-automated-tests.d.ts +11 -4
- package/dist/invariants/check-automated-tests.d.ts.map +1 -1
- package/dist/invariants/check-automated-tests.js +1 -1
- package/dist/invariants/check-automated-tests.js.map +1 -1
- package/dist/invariants-runner.d.ts +32 -7
- package/dist/invariants-runner.d.ts.map +1 -1
- package/dist/invariants-runner.js +20 -6
- package/dist/invariants-runner.js.map +1 -1
- package/dist/lane-checker.d.ts.map +1 -1
- package/dist/lane-checker.js +3 -0
- package/dist/lane-checker.js.map +1 -1
- package/dist/lane-inference.d.ts +7 -6
- package/dist/lane-inference.d.ts.map +1 -1
- package/dist/lane-inference.js +16 -9
- package/dist/lane-inference.js.map +1 -1
- package/dist/lane-suggest-prompt.d.ts +1 -1
- package/dist/lane-suggest-prompt.d.ts.map +1 -1
- package/dist/lane-validator.d.ts +5 -5
- package/dist/lane-validator.d.ts.map +1 -1
- package/dist/lane-validator.js +6 -6
- package/dist/lane-validator.js.map +1 -1
- package/dist/logs-lib.d.ts +1 -1
- package/dist/logs-lib.d.ts.map +1 -1
- package/dist/logs-lib.js +4 -1
- package/dist/logs-lib.js.map +1 -1
- package/dist/lumenflow-config-schema.d.ts +104 -57
- package/dist/lumenflow-config-schema.d.ts.map +1 -1
- package/dist/lumenflow-config-schema.js +13 -0
- package/dist/lumenflow-config-schema.js.map +1 -1
- package/dist/manual-test-validator.d.ts +9 -9
- package/dist/manual-test-validator.d.ts.map +1 -1
- package/dist/manual-test-validator.js +4 -4
- package/dist/manual-test-validator.js.map +1 -1
- package/dist/merge-lock.d.ts +2 -2
- package/dist/merge-lock.d.ts.map +1 -1
- package/dist/merge-lock.js.map +1 -1
- package/dist/micro-worktree.d.ts +2 -2
- package/dist/micro-worktree.js +3 -3
- package/dist/micro-worktree.js.map +1 -1
- package/dist/orchestration-advisory-loader.d.ts +2 -2
- package/dist/orchestration-advisory-loader.d.ts.map +1 -1
- package/dist/orchestration-advisory-loader.js +1 -1
- package/dist/orchestration-advisory-loader.js.map +1 -1
- package/dist/orchestration-rules.d.ts +21 -9
- package/dist/orchestration-rules.d.ts.map +1 -1
- package/dist/orchestration-rules.js +1 -1
- package/dist/orchestration-rules.js.map +1 -1
- package/dist/orphan-detector.d.ts +11 -11
- package/dist/orphan-detector.d.ts.map +1 -1
- package/dist/orphan-detector.js.map +1 -1
- package/dist/path-classifiers.d.ts +2 -2
- package/dist/path-classifiers.d.ts.map +1 -1
- package/dist/path-classifiers.js.map +1 -1
- package/dist/piped-command-detector.d.ts +3 -3
- package/dist/piped-command-detector.d.ts.map +1 -1
- package/dist/piped-command-detector.js +1 -1
- package/dist/piped-command-detector.js.map +1 -1
- package/dist/ports/core-tools.ports.d.ts +1 -1
- package/dist/ports/core-tools.ports.js +1 -1
- package/dist/ports/dashboard-renderer.port.d.ts +2 -2
- package/dist/ports/dashboard-renderer.port.js +1 -1
- package/dist/ports/git-validator.ports.d.ts +70 -271
- package/dist/ports/git-validator.ports.d.ts.map +1 -1
- package/dist/ports/git-validator.ports.js +4 -5
- package/dist/ports/git-validator.ports.js.map +1 -1
- package/dist/ports/validation.ports.d.ts +1 -1
- package/dist/process-detector.d.ts +6 -10
- package/dist/process-detector.d.ts.map +1 -1
- package/dist/process-detector.js.map +1 -1
- package/dist/prompt-linter.d.ts +1 -1
- package/dist/prompt-linter.d.ts.map +1 -1
- package/dist/prompt-linter.js +4 -3
- package/dist/prompt-linter.js.map +1 -1
- package/dist/prompt-monitor.d.ts.map +1 -1
- package/dist/prompt-monitor.js +2 -2
- package/dist/prompt-monitor.js.map +1 -1
- package/dist/rebase-artifact-cleanup.d.ts +42 -33
- package/dist/rebase-artifact-cleanup.d.ts.map +1 -1
- package/dist/rebase-artifact-cleanup.js +8 -9
- package/dist/rebase-artifact-cleanup.js.map +1 -1
- package/dist/recovery/recovery-analyzer.d.ts +3 -2
- package/dist/recovery/recovery-analyzer.d.ts.map +1 -1
- package/dist/recovery/recovery-analyzer.js +18 -1
- package/dist/recovery/recovery-analyzer.js.map +1 -1
- package/dist/resolve-policy.d.ts +1 -1
- package/dist/resolve-policy.d.ts.map +1 -1
- package/dist/resolve-policy.js +3 -5
- package/dist/resolve-policy.js.map +1 -1
- package/dist/retry-strategy.d.ts +43 -27
- package/dist/retry-strategy.d.ts.map +1 -1
- package/dist/retry-strategy.js.map +1 -1
- package/dist/risk-detector.d.ts +1 -1
- package/dist/risk-detector.js +1 -1
- package/dist/rollback-utils.d.ts +6 -6
- package/dist/rollback-utils.d.ts.map +1 -1
- package/dist/rollback-utils.js +2 -2
- package/dist/rollback-utils.js.map +1 -1
- package/dist/schemas/flow-arg-validators.d.ts +18 -18
- package/dist/schemas/initiative-arg-validators.d.ts +28 -28
- package/dist/schemas/initiative-schemas.d.ts +3 -3
- package/dist/schemas/memory-arg-validators.d.ts +40 -40
- package/dist/schemas/schema-utils.js.map +1 -1
- package/dist/schemas/setup-arg-validators.d.ts +32 -32
- package/dist/schemas/validation-arg-validators.d.ts +4 -4
- package/dist/schemas/wu-lifecycle-arg-validators.d.ts +51 -51
- package/dist/section-headings.d.ts +6 -6
- package/dist/section-headings.d.ts.map +1 -1
- package/dist/section-headings.js +7 -5
- package/dist/section-headings.js.map +1 -1
- package/dist/stamp-status-validator.d.ts +7 -4
- package/dist/stamp-status-validator.d.ts.map +1 -1
- package/dist/stamp-status-validator.js.map +1 -1
- package/dist/stamp-utils.d.ts +15 -21
- package/dist/stamp-utils.d.ts.map +1 -1
- package/dist/stamp-utils.js +21 -5
- package/dist/stamp-utils.js.map +1 -1
- package/dist/state-machine.d.ts +1 -1
- package/dist/state-machine.d.ts.map +1 -1
- package/dist/state-machine.js +4 -2
- package/dist/state-machine.js.map +1 -1
- package/dist/system-map-validator.d.ts +25 -13
- package/dist/system-map-validator.d.ts.map +1 -1
- package/dist/system-map-validator.js +43 -21
- package/dist/system-map-validator.js.map +1 -1
- package/dist/telemetry.d.ts +9 -9
- package/dist/telemetry.d.ts.map +1 -1
- package/dist/telemetry.js +6 -5
- package/dist/telemetry.js.map +1 -1
- package/dist/template-loader.d.ts.map +1 -1
- package/dist/template-loader.js +13 -8
- package/dist/template-loader.js.map +1 -1
- package/dist/token-counter.d.ts +19 -13
- package/dist/token-counter.d.ts.map +1 -1
- package/dist/token-counter.js +1 -1
- package/dist/token-counter.js.map +1 -1
- package/dist/usecases/get-dashboard-data.usecase.d.ts +1 -1
- package/dist/usecases/get-dashboard-data.usecase.js +1 -1
- package/dist/usecases/get-suggestions.usecase.d.ts.map +1 -1
- package/dist/usecases/get-suggestions.usecase.js +4 -2
- package/dist/usecases/get-suggestions.usecase.js.map +1 -1
- package/dist/user-normalizer.d.ts +4 -4
- package/dist/user-normalizer.d.ts.map +1 -1
- package/dist/user-normalizer.js +2 -2
- package/dist/user-normalizer.js.map +1 -1
- package/dist/validation/command-registry.d.ts +1 -1
- package/dist/validation/command-registry.js +3 -3
- package/dist/validation/command-registry.js.map +1 -1
- package/dist/validation/types.d.ts +3 -1
- package/dist/validation/types.d.ts.map +1 -1
- package/dist/worktree-ownership.d.ts +4 -4
- package/dist/worktree-ownership.d.ts.map +1 -1
- package/dist/worktree-ownership.js +1 -1
- package/dist/worktree-ownership.js.map +1 -1
- package/dist/worktree-scanner.d.ts +36 -8
- package/dist/worktree-scanner.d.ts.map +1 -1
- package/dist/worktree-scanner.js +2 -2
- package/dist/worktree-scanner.js.map +1 -1
- package/dist/worktree-symlink.d.ts +25 -29
- package/dist/worktree-symlink.d.ts.map +1 -1
- package/dist/worktree-symlink.js +12 -7
- package/dist/worktree-symlink.js.map +1 -1
- package/dist/wu-backlog-updater.d.ts +1 -1
- package/dist/wu-backlog-updater.d.ts.map +1 -1
- package/dist/wu-backlog-updater.js.map +1 -1
- package/dist/wu-checkpoint.d.ts +6 -6
- package/dist/wu-checkpoint.d.ts.map +1 -1
- package/dist/wu-checkpoint.js.map +1 -1
- package/dist/wu-claim-helpers.d.ts +2 -2
- package/dist/wu-claim-helpers.d.ts.map +1 -1
- package/dist/wu-claim-helpers.js.map +1 -1
- package/dist/wu-claim-resume.d.ts +22 -8
- package/dist/wu-claim-resume.d.ts.map +1 -1
- package/dist/wu-claim-resume.js.map +1 -1
- package/dist/wu-cli-constants.d.ts +1 -3
- package/dist/wu-cli-constants.d.ts.map +1 -1
- package/dist/wu-cli-constants.js +1 -3
- package/dist/wu-cli-constants.js.map +1 -1
- package/dist/wu-consistency-checker.d.ts +83 -8
- package/dist/wu-consistency-checker.d.ts.map +1 -1
- package/dist/wu-consistency-checker.js +15 -8
- package/dist/wu-consistency-checker.js.map +1 -1
- package/dist/wu-constants.d.ts +2 -2
- package/dist/wu-constants.d.ts.map +1 -1
- package/dist/wu-constants.js +2 -2
- package/dist/wu-constants.js.map +1 -1
- package/dist/wu-context-constants.d.ts +4 -0
- package/dist/wu-context-constants.d.ts.map +1 -1
- package/dist/wu-context-constants.js +4 -0
- package/dist/wu-context-constants.js.map +1 -1
- package/dist/wu-create-validators.d.ts +3 -3
- package/dist/wu-create-validators.d.ts.map +1 -1
- package/dist/wu-create-validators.js +1 -1
- package/dist/wu-create-validators.js.map +1 -1
- package/dist/wu-domain-constants.d.ts +3 -3
- package/dist/wu-domain-constants.d.ts.map +1 -1
- package/dist/wu-domain-constants.js +7 -11
- package/dist/wu-domain-constants.js.map +1 -1
- package/dist/wu-done-branch-only.d.ts +16 -13
- package/dist/wu-done-branch-only.d.ts.map +1 -1
- package/dist/wu-done-branch-only.js +1 -1
- package/dist/wu-done-branch-only.js.map +1 -1
- package/dist/wu-done-branch-utils.d.ts +1 -1
- package/dist/wu-done-branch-utils.d.ts.map +1 -1
- package/dist/wu-done-branch-utils.js.map +1 -1
- package/dist/wu-done-cleanup.d.ts +1 -1
- package/dist/wu-done-cleanup.d.ts.map +1 -1
- package/dist/wu-done-cleanup.js.map +1 -1
- package/dist/wu-done-concurrent-merge.d.ts +1 -1
- package/dist/wu-done-concurrent-merge.d.ts.map +1 -1
- package/dist/wu-done-concurrent-merge.js +4 -2
- package/dist/wu-done-concurrent-merge.js.map +1 -1
- package/dist/wu-done-docs-generate.d.ts +2 -2
- package/dist/wu-done-docs-generate.js +2 -2
- package/dist/wu-done-docs-only.d.ts +1 -1
- package/dist/wu-done-docs-only.d.ts.map +1 -1
- package/dist/wu-done-docs-only.js.map +1 -1
- package/dist/wu-done-errors.d.ts +3 -3
- package/dist/wu-done-errors.d.ts.map +1 -1
- package/dist/wu-done-errors.js.map +1 -1
- package/dist/wu-done-inputs.d.ts +1 -1
- package/dist/wu-done-inputs.d.ts.map +1 -1
- package/dist/wu-done-inputs.js.map +1 -1
- package/dist/wu-done-machine.d.ts +2 -2
- package/dist/wu-done-merged-worktree.d.ts +89 -0
- package/dist/wu-done-merged-worktree.d.ts.map +1 -0
- package/dist/wu-done-merged-worktree.js +195 -0
- package/dist/wu-done-merged-worktree.js.map +1 -0
- package/dist/wu-done-messages.d.ts +30 -30
- package/dist/wu-done-messages.d.ts.map +1 -1
- package/dist/wu-done-messages.js +16 -13
- package/dist/wu-done-messages.js.map +1 -1
- package/dist/wu-done-metadata.d.ts +46 -35
- package/dist/wu-done-metadata.d.ts.map +1 -1
- package/dist/wu-done-metadata.js +12 -10
- package/dist/wu-done-metadata.js.map +1 -1
- package/dist/wu-done-paths.d.ts +33 -19
- package/dist/wu-done-paths.d.ts.map +1 -1
- package/dist/wu-done-paths.js +15 -9
- package/dist/wu-done-paths.js.map +1 -1
- package/dist/wu-done-pr.d.ts +9 -5
- package/dist/wu-done-pr.d.ts.map +1 -1
- package/dist/wu-done-pr.js +1 -1
- package/dist/wu-done-pr.js.map +1 -1
- package/dist/wu-done-preflight.d.ts +29 -31
- package/dist/wu-done-preflight.d.ts.map +1 -1
- package/dist/wu-done-preflight.js +7 -7
- package/dist/wu-done-preflight.js.map +1 -1
- package/dist/wu-done-retry-helpers.d.ts +5 -5
- package/dist/wu-done-retry-helpers.d.ts.map +1 -1
- package/dist/wu-done-retry-helpers.js +2 -2
- package/dist/wu-done-retry-helpers.js.map +1 -1
- package/dist/wu-done-ui.d.ts +5 -5
- package/dist/wu-done-ui.d.ts.map +1 -1
- package/dist/wu-done-ui.js +4 -2
- package/dist/wu-done-ui.js.map +1 -1
- package/dist/wu-done-validation.d.ts +34 -18
- package/dist/wu-done-validation.d.ts.map +1 -1
- package/dist/wu-done-validation.js +30 -16
- package/dist/wu-done-validation.js.map +1 -1
- package/dist/wu-done-worktree-services.d.ts +1 -1
- package/dist/wu-done-worktree-services.js +2 -2
- package/dist/wu-done-worktree-services.js.map +1 -1
- package/dist/wu-done-worktree.d.ts +60 -29
- package/dist/wu-done-worktree.d.ts.map +1 -1
- package/dist/wu-done-worktree.js +62 -45
- package/dist/wu-done-worktree.js.map +1 -1
- package/dist/wu-events-cleanup.d.ts.map +1 -1
- package/dist/wu-events-cleanup.js +6 -2
- package/dist/wu-events-cleanup.js.map +1 -1
- package/dist/wu-helpers.d.ts +21 -25
- package/dist/wu-helpers.d.ts.map +1 -1
- package/dist/wu-helpers.js +6 -4
- package/dist/wu-helpers.js.map +1 -1
- package/dist/wu-id-generator.d.ts.map +1 -1
- package/dist/wu-id-generator.js +5 -1
- package/dist/wu-id-generator.js.map +1 -1
- package/dist/wu-lint.d.ts +78 -8
- package/dist/wu-lint.d.ts.map +1 -1
- package/dist/wu-lint.js +1 -1
- package/dist/wu-lint.js.map +1 -1
- package/dist/wu-paths-constants.d.ts +1 -39
- package/dist/wu-paths-constants.d.ts.map +1 -1
- package/dist/wu-paths-constants.js +1 -39
- package/dist/wu-paths-constants.js.map +1 -1
- package/dist/wu-preflight-validators.d.ts +32 -41
- package/dist/wu-preflight-validators.d.ts.map +1 -1
- package/dist/wu-preflight-validators.js +11 -4
- package/dist/wu-preflight-validators.js.map +1 -1
- package/dist/wu-recovery.d.ts +49 -36
- package/dist/wu-recovery.d.ts.map +1 -1
- package/dist/wu-recovery.js +22 -14
- package/dist/wu-recovery.js.map +1 -1
- package/dist/wu-repair-core.d.ts +62 -32
- package/dist/wu-repair-core.d.ts.map +1 -1
- package/dist/wu-repair-core.js +31 -19
- package/dist/wu-repair-core.js.map +1 -1
- package/dist/wu-rules-core.d.ts +1 -1
- package/dist/wu-rules-core.d.ts.map +1 -1
- package/dist/wu-schema-normalization.d.ts +1 -1
- package/dist/wu-schema-normalization.d.ts.map +1 -1
- package/dist/wu-schema-normalization.js +5 -2
- package/dist/wu-schema-normalization.js.map +1 -1
- package/dist/wu-schema.d.ts +141 -187
- package/dist/wu-schema.d.ts.map +1 -1
- package/dist/wu-schema.js +22 -35
- package/dist/wu-schema.js.map +1 -1
- package/dist/wu-spawn-helpers.d.ts +7 -7
- package/dist/wu-spawn-helpers.d.ts.map +1 -1
- package/dist/wu-spawn-helpers.js.map +1 -1
- package/dist/wu-spawn-skills.d.ts +6 -6
- package/dist/wu-spawn-skills.d.ts.map +1 -1
- package/dist/wu-spawn-skills.js.map +1 -1
- package/dist/wu-spawn.d.ts +29 -8
- package/dist/wu-spawn.d.ts.map +1 -1
- package/dist/wu-spawn.js +33 -20
- package/dist/wu-spawn.js.map +1 -1
- package/dist/wu-state-schema.d.ts +4 -4
- package/dist/wu-state-schema.d.ts.map +1 -1
- package/dist/wu-state-schema.js.map +1 -1
- package/dist/wu-state-store.d.ts.map +1 -1
- package/dist/wu-state-store.js +10 -2
- package/dist/wu-state-store.js.map +1 -1
- package/dist/wu-status-transition.d.ts +21 -13
- package/dist/wu-status-transition.d.ts.map +1 -1
- package/dist/wu-status-transition.js +15 -8
- package/dist/wu-status-transition.js.map +1 -1
- package/dist/wu-status-updater.d.ts +2 -2
- package/dist/wu-status-updater.d.ts.map +1 -1
- package/dist/wu-status-updater.js +7 -2
- package/dist/wu-status-updater.js.map +1 -1
- package/dist/wu-transaction-collectors.d.ts +35 -37
- package/dist/wu-transaction-collectors.d.ts.map +1 -1
- package/dist/wu-transaction-collectors.js +7 -2
- package/dist/wu-transaction-collectors.js.map +1 -1
- package/dist/wu-transaction.d.ts +3 -3
- package/dist/wu-transaction.d.ts.map +1 -1
- package/dist/wu-transaction.js +4 -9
- package/dist/wu-transaction.js.map +1 -1
- package/dist/wu-type-helpers.d.ts +1 -1
- package/dist/wu-type-helpers.js +1 -1
- package/dist/wu-validation.d.ts +26 -10
- package/dist/wu-validation.d.ts.map +1 -1
- package/dist/wu-validation.js +3 -3
- package/dist/wu-validation.js.map +1 -1
- package/dist/wu-validator.d.ts +29 -15
- package/dist/wu-validator.d.ts.map +1 -1
- package/dist/wu-validator.js +23 -15
- package/dist/wu-validator.js.map +1 -1
- package/dist/wu-yaml-fixer.d.ts +26 -35
- package/dist/wu-yaml-fixer.d.ts.map +1 -1
- package/dist/wu-yaml-fixer.js +8 -5
- package/dist/wu-yaml-fixer.js.map +1 -1
- package/dist/wu-yaml.d.ts +9 -9
- package/dist/wu-yaml.d.ts.map +1 -1
- package/dist/wu-yaml.js +2 -1
- package/dist/wu-yaml.js.map +1 -1
- package/package.json +12 -18
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wu-done-worktree-services.js","sourceRoot":"","sources":["../src/wu-done-worktree-services.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"wu-done-worktree-services.js","sourceRoot":"","sources":["../src/wu-done-worktree-services.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,IAAI,MAAM,WAAW,CAAC;AAC7B,OAAO,EACL,4BAA4B,EAC5B,sBAAsB,EACtB,qBAAqB,EACrB,iBAAiB,EACjB,YAAY,EACZ,oBAAoB,GACrB,MAAM,yBAAyB,CAAC;AACjC,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,gBAAgB,CAAC;AAC5E,OAAO,EAAE,gBAAgB,EAAE,MAAM,oBAAoB,CAAC;AACtD,OAAO,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,MAAM,uBAAuB,CAAC;AAClG,OAAO,EAAE,2BAA2B,EAAE,MAAM,0BAA0B,CAAC;AACvE,OAAO,EAAE,wBAAwB,EAAE,MAAM,iBAAiB,CAAC;AAC3D,OAAO,EAAE,qBAAqB,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAC;AAC5E,OAAO,EACL,+BAA+B,EAC/B,gCAAgC,GACjC,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AACpG,OAAO,EAAE,2BAA2B,EAAE,MAAM,4BAA4B,CAAC;AACzE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAChD,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,QAAQ,EAAE,UAAU,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AACpE,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,MAAM,oBAAoB,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,qBAAqB,CAAC;AAyF5D;;;;;;;;;;;;GAYG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,KAAiC;IAEjC,MAAM,EAAE,IAAI,EAAE,YAAY,EAAE,GAAG,EAAE,iBAAiB,EAAE,GAAG,KAAK,CAAC;IAC7D,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,IAAI,cAAc,GAAG,KAAK,CAAC;IAC3B,IAAI,aAAa,GAAG,GAAG,CAAC;IAExB,mDAAmD;IACnD,IAAI,iBAAiB,CAAC,GAAG,EAAE,YAAY,CAAC,EAAE,CAAC;QACzC,cAAc,GAAG,IAAI,CAAC;QACtB,yEAAyE;QACzE,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,aAAa,EAAE,GAAG,EAAE,CAAC;IACzE,CAAC;IAED,4BAA4B;IAC5B,MAAM,aAAa,GAAI,GAAG,CAAC,MAAiB,IAAI,SAAS,CAAC,WAAW,CAAC;IACtE,IAAI,CAAC;QACH,gBAAgB,CAAC,aAAa,EAAE,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;IACxD,CAAC;IAAC,OAAO,GAAG,EAAE,CAAC;QACb,MAAM,CAAC,IAAI,CAAC,6BAA8B,GAAa,CAAC,OAAO,EAAE,CAAC,CAAC;QACnE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IAClD,CAAC;IAED,kCAAkC;IAClC,IAAI,CAAC;QACH,MAAM,UAAU,GAAG,MAAM,2BAA2B,CAAC,iBAA0B,CAAC,CAAC;QACjF,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CACT,iBAAiB,UAAU,CAAC,aAAa,iCAAiC;gBACxE,2BAA2B,CAC9B,CAAC;YACF,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;QAClD,CAAC;IACH,CAAC;IAAC,MAAM,CAAC;QACP,+BAA+B;IACjC,CAAC;IAED,wCAAwC;IACxC,MAAM,eAAe,GAAG,0BAA0B,CAAC,GAAG,CAAC,CAAC;IACxD,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAC3B,MAAM,CAAC,IAAI,CAAC,8BAA8B,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC/E,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IAClD,CAAC;IACD,aAAa,GAAG,eAAe,CAAC,UAAU,IAAI,GAAG,CAAC;IAElD,sCAAsC;IACtC,MAAM,kBAAkB,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;IACzD,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;QAC9B,MAAM,CAAC,IAAI,CAAC,oBAAoB,kBAAkB,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACxE,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,CAAC;IAClD,CAAC;IAED,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,EAAE,aAAa,EAAE,CAAC;AACpE,CAAC;AAaD;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAA8B;IAE9B,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,EAAE,YAAY,EAAE,GAAG,KAAK,CAAC;IAEjD,MAAM,SAAS,GAAG,4BAA4B,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IACnE,MAAM,WAAW,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,CAAC;IAE5C,MAAM,4BAA4B,CAAC;QACjC,EAAE,EAAE,IAAI;QACR,KAAK;QACL,GAAG;QACH,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,WAAW;QACX,WAAW,EAAE,YAAY;KAC1B,CAAC,CAAC;IAEH,0DAA0D;IAC1D,MAAM,aAAa,GAAG,WAAW,CAAC,gBAAgB,EAAE,CAAC;IACrD,MAAM,uBAAuB,GAAG,aAAa;SAC1C,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;SACjF,MAAM,CACL,CAAC,YAAY,EAAE,EAAE,CACf,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,CAC5F,CAAC;IAEJ,MAAM,uBAAuB,GAAG,aAAa,CAAC,IAAI,CAChD,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,KAAK,iBAAiB,CACnD,CAAC;IACF,MAAM,sBAAsB,GAAG,uBAAuB,EAAE,IAAI,IAAI,IAAI,CAAC;IAErE,2BAA2B;IAC3B,MAAM,YAAY,GAAG,WAAW,CAAC,QAAQ,EAAE,CAAC;IAC5C,IAAI,CAAC,YAAY,CAAC,KAAK,EAAE,CAAC;QACxB,MAAM,WAAW,CACf,UAAU,CAAC,iBAAiB,EAC5B,qCAAqC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,EACvE,EAAE,IAAI,EAAE,CACT,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,WAAW,EAAE,uBAAuB,EAAE,sBAAsB,EAAE,CAAC;AAC1E,CAAC;AA6BD;;;;;;;;;;;;;;GAcG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CAAC,KAA6B;IACnE,MAAM,EACJ,IAAI,EACJ,KAAK,EACL,WAAW,EACX,YAAY,EACZ,WAAW,EACX,GAAG,EACH,eAAe,EACf,UAAU,EACV,uBAAuB,EACvB,sBAAsB,EACtB,mBAAmB,GACpB,GAAG,KAAK,CAAC;IAEV,MAAM,SAAS,GAAG,4BAA4B,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC;IAEnE,wBAAwB;IACxB,MAAM,eAAe,GAAG,KAAK,CAAC,IAAI,CAChC,IAAI,GAAG,CAAC,WAAW,CAAC,gBAAgB,EAAE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CACnE,CAAC;IACF,MAAM,mBAAmB,GAAG,yBAAyB,CAAC,eAAe,CAAC,CAAC;IAEvE,0CAA0C;IAC1C,MAAM,YAAY,GAAG,WAAW,CAAC,MAAM,EAAE,CAAC;IAC1C,IAAI,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC;QAC1B,MAAM,WAAW,CACf,UAAU,CAAC,iBAAiB,EAC5B,8BAA8B,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACjF,EAAE,IAAI,EAAE,CACT,CAAC;IACJ,CAAC;IAED,2BAA2B;IAC3B,MAAM,UAAU,GAAG,oBAAoB,CAAC;QACtC,EAAE,EAAE,IAAI;QACR,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,UAAU,EAAE,SAAS,CAAC,UAAU;KACjC,CAAC,CAAC;IACH,IAAI,CAAC,UAAU,CAAC,KAAK,EAAE,CAAC;QACtB,0CAA0C;QAC1C,mBAAmB,CAAC,mBAAmB,CAAC,CAAC;QACzC,MAAM,qBAAqB,CACzB,oCAAoC,UAAU,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EAClE,EAAE,IAAI,EAAE,CACT,CAAC;IACJ,CAAC;IAED,kBAAkB;IAClB,MAAM,2BAA2B,CAAC;QAChC,UAAU,EAAE,QAAQ,CAAC,IAAI;QACzB,QAAQ,EAAE,YAAY;KACvB,CAAC,CAAC;IAEH,4BAA4B;IAC5B,MAAM,sBAAsB,CAAC;QAC3B,EAAE,EAAE,IAAI;QACR,MAAM,EAAE,SAAS,CAAC,MAAM;QACxB,UAAU,EAAE,SAAS,CAAC,UAAU;QAChC,WAAW,EAAE,SAAS,CAAC,WAAW;QAClC,SAAS,EAAE,SAAS,CAAC,SAAS;QAC9B,cAAc,EAAE,sBAAsB,IAAI,SAAS;QACnD,UAAU,EAAE,WAAW;QACvB,QAAQ,EAAE,YAAY;KACvB,CAAC,CAAC;IAEH,wBAAwB;IACxB,MAAM,mBAAmB,CAAC,IAAI,EAAE,UAAU,EAAE;QAC1C,iBAAiB,EAAE,uBAAuB;KAC3C,CAAC,CAAC;IAEH,gDAAgD;IAChD,MAAM,gBAAgB,GAAG,MAAM,+BAA+B,CAAC,IAAI,EAAE,WAAW,CAAC,CAAC;IAClF,IAAI,gBAAgB,GAAG,CAAC,EAAE,CAAC;QACzB,MAAM,gCAAgC,CAAC,IAAI,EAAE,gBAAgB,EAAE,WAAW,CAAC,CAAC;IAC9E,CAAC;IAED,qCAAqC;IACrC,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAChD,MAAM,GAAG,GAAG,qBAAqB,CAAC,IAAI,EAAE,KAAK,EAAE,eAAe,EAAE;QAC9D,MAAM,EAAE,UAAU,IAAI,SAAS;QAC/B,YAAY;KACb,CAAC,CAAC;IACH,MAAM,YAAY,GAAG,MAAM,WAAW,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;IAC7D,MAAM,WAAW,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAE9B,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,YAAY,EAAE,CAAC;AAC3C,CAAC;AAkBD;;;;;;;;GAQG;AACH,MAAM,CAAC,KAAK,UAAU,WAAW,CAAC,KAAuB;IACvD,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,IAAI,EAAE,GAAG,KAAK,CAAC;IAElC,IAAI,IAAI,CAAC,OAAO,EAAE,CAAC;QACjB,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IACxC,CAAC;IAED,MAAM,UAAU,GAAG,MAAM,iBAAiB,CAAC,GAAG,CAAC,CAAC;IAChD,IAAI,CAAC,UAAU,IAAI,CAAC,CAAC,MAAM,YAAY,CAAC,UAAU,CAAC,CAAC,EAAE,CAAC;QACrD,MAAM,WAAW,CAAC,UAAU,CAAC,YAAY,EAAE,0BAA0B,UAAU,EAAE,EAAE;YACjF,IAAI;YACJ,UAAU;SACX,CAAC,CAAC;IACL,CAAC;IAED,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;QAChB,mCAAmC;QACnC,MAAM,EAAE,QAAQ,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,iBAAiB,CAAC,CAAC;QAC5E,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC;YAC9B,MAAM,EAAE,UAAU;YAClB,EAAE,EAAE,IAAI;YACR,KAAK,EAAG,GAAG,CAAC,KAAgB,IAAI,IAAI;YACpC,GAAG;YACH,KAAK,EAAE,IAAI,CAAC,OAAO;SACpB,CAAC,CAAC;QACH,MAAM,KAAK,GAAG,QAAQ,CAAC,OAAO,IAAI,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,CAAC;QACzE,IAAI,KAAK,EAAE,CAAC;YACV,qBAAqB,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;QACrC,CAAC;QACD,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;IAClC,CAAC;IAED,oCAAoC;IACpC,MAAM,aAAa,CAAC,IAAI,EAAE,KAAK,IAAI,EAAE;QACnC,MAAM,eAAe,CAAC;YACpB,EAAE,EAAE,IAAI;YACR,UAAU;YACV,OAAO,EAAE,qBAAqB,IAAI,EAAE;YACpC,SAAS,EAAE,UAAU,CAAC,IAAI;SAC3B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;AACvC,CAAC;AAYD;;;;;GAKG;AACH,MAAM,CAAC,KAAK,UAAU,kBAAkB,CACtC,KAA8B;IAE9B,MAAM,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,EAAE,GAAG,KAAK,CAAC;IAExC,mDAAmD;IACnD,qBAAqB,CAAC,IAAI,CAAC,CAAC;IAE5B,qCAAqC;IACrC,MAAM,2BAA2B,CAAC;QAChC,IAAI;QACJ,IAAI,EAAE,GAAG,CAAC,IAAc;QACxB,UAAU;QACV,cAAc,EAAE,wBAAwB,CAAC,QAAQ;KAClD,CAAC,CAAC;IAEH,OAAO,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC;AAC7B,CAAC"}
|
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* Flow (WU-1369 Atomic Pattern):
|
|
8
8
|
* 1. cd into worktree
|
|
9
9
|
* 2. Read and validate WU state
|
|
10
|
-
* 3. Run ALL validations FIRST (before
|
|
10
|
+
* 3. Run ALL validations FIRST (before UnsafeAny file writes)
|
|
11
11
|
* 4. Collect all metadata changes into transaction (in memory)
|
|
12
12
|
* 5. Commit transaction (atomic write)
|
|
13
13
|
* 6. Stage and format files
|
|
@@ -16,8 +16,9 @@
|
|
|
16
16
|
* 9. Either merge (default) OR create PR (pr-mode)
|
|
17
17
|
* 10. Push to origin
|
|
18
18
|
*
|
|
19
|
-
* Key guarantee: If
|
|
19
|
+
* Key guarantee: If UnsafeAny validation fails, NO files are modified.
|
|
20
20
|
*/
|
|
21
|
+
import { type GitAdapter } from './git-adapter.js';
|
|
21
22
|
/**
|
|
22
23
|
* @typedef {Object} WorktreeContext
|
|
23
24
|
* @property {string} id - WU ID (e.g., "WU-1215")
|
|
@@ -48,6 +49,45 @@ interface WorktreeMetadataPaths {
|
|
|
48
49
|
stampPath: string;
|
|
49
50
|
eventsPath: string;
|
|
50
51
|
}
|
|
52
|
+
interface DoneArgs {
|
|
53
|
+
noMerge?: boolean;
|
|
54
|
+
prDraft?: boolean;
|
|
55
|
+
noAutoRebase?: boolean;
|
|
56
|
+
[key: string]: unknown;
|
|
57
|
+
}
|
|
58
|
+
interface WorktreeDoc {
|
|
59
|
+
id?: string;
|
|
60
|
+
lane?: string;
|
|
61
|
+
code_paths?: string[];
|
|
62
|
+
[key: string]: unknown;
|
|
63
|
+
}
|
|
64
|
+
type ValidateStagedFilesFn = (id: string, isDocsOnly: boolean, options: {
|
|
65
|
+
metadataAllowlist: string[];
|
|
66
|
+
}) => Promise<void> | void;
|
|
67
|
+
interface WorktreeCompletionContext {
|
|
68
|
+
id: string;
|
|
69
|
+
args: DoneArgs;
|
|
70
|
+
docMain: WorktreeDoc;
|
|
71
|
+
title: string;
|
|
72
|
+
isDocsOnly: boolean;
|
|
73
|
+
worktreePath: string;
|
|
74
|
+
maxCommitLength: number;
|
|
75
|
+
validateStagedFiles: ValidateStagedFilesFn;
|
|
76
|
+
}
|
|
77
|
+
interface WorktreeCompletionResult {
|
|
78
|
+
success: boolean;
|
|
79
|
+
committed: boolean;
|
|
80
|
+
pushed: boolean;
|
|
81
|
+
merged: boolean;
|
|
82
|
+
prUrl: string | null;
|
|
83
|
+
recovered?: boolean;
|
|
84
|
+
cleanupSafe?: boolean;
|
|
85
|
+
}
|
|
86
|
+
interface MainSyncGitAdapter {
|
|
87
|
+
fetch: (remote?: string, branch?: string) => Promise<void>;
|
|
88
|
+
getCommitHash: (ref: string) => Promise<string>;
|
|
89
|
+
revList: (args: string[]) => Promise<string>;
|
|
90
|
+
}
|
|
51
91
|
/**
|
|
52
92
|
* Resolve all metadata/state paths as absolute worktree-local paths.
|
|
53
93
|
*
|
|
@@ -62,14 +102,7 @@ export declare function resolveWorktreeMetadataPaths(worktreePath: string, id: s
|
|
|
62
102
|
* @returns {Promise<WorktreeResult>} Completion result
|
|
63
103
|
* @throws {Error} On validation or git operation failure
|
|
64
104
|
*/
|
|
65
|
-
export declare function executeWorktreeCompletion(context:
|
|
66
|
-
success: boolean;
|
|
67
|
-
committed: boolean;
|
|
68
|
-
pushed: boolean;
|
|
69
|
-
merged: boolean;
|
|
70
|
-
prUrl: any;
|
|
71
|
-
cleanupSafe: boolean;
|
|
72
|
-
}>;
|
|
105
|
+
export declare function executeWorktreeCompletion(context: WorktreeCompletionContext): Promise<WorktreeCompletionResult>;
|
|
73
106
|
/**
|
|
74
107
|
* Check for branch drift (commits behind main)
|
|
75
108
|
* WU-755 pre-flight check
|
|
@@ -77,7 +110,7 @@ export declare function executeWorktreeCompletion(context: any): Promise<{
|
|
|
77
110
|
* @param {string} branch - Lane branch name
|
|
78
111
|
* @returns {Promise<number>} Number of commits behind main
|
|
79
112
|
*/
|
|
80
|
-
export declare function checkBranchDrift(branch:
|
|
113
|
+
export declare function checkBranchDrift(branch: string): Promise<number>;
|
|
81
114
|
/**
|
|
82
115
|
* Auto-rebase branch onto main
|
|
83
116
|
* WU-1303: Auto-rebase on wu:done to handle diverged branches automatically
|
|
@@ -89,12 +122,9 @@ export declare function checkBranchDrift(branch: any): Promise<number>;
|
|
|
89
122
|
* @param {string} [wuId] - WU ID for artifact cleanup (e.g., 'WU-1371')
|
|
90
123
|
* @returns {Promise<{success: boolean, error?: string}>} Rebase result
|
|
91
124
|
*/
|
|
92
|
-
export declare function autoRebaseBranch(branch:
|
|
125
|
+
export declare function autoRebaseBranch(branch: string, worktreePath: string, wuId?: string | null): Promise<{
|
|
93
126
|
success: boolean;
|
|
94
|
-
error?:
|
|
95
|
-
} | {
|
|
96
|
-
success: boolean;
|
|
97
|
-
error: string;
|
|
127
|
+
error?: string;
|
|
98
128
|
}>;
|
|
99
129
|
/**
|
|
100
130
|
* Check for branch divergence (main has advanced since branch creation)
|
|
@@ -113,7 +143,7 @@ interface CheckBranchOptions {
|
|
|
113
143
|
/** WU ID for artifact cleanup (e.g., 'WU-1371') */
|
|
114
144
|
wuId?: string | null;
|
|
115
145
|
}
|
|
116
|
-
export declare function checkBranchDivergence(branch:
|
|
146
|
+
export declare function checkBranchDivergence(branch: string, options?: CheckBranchOptions): Promise<void>;
|
|
117
147
|
/**
|
|
118
148
|
* Check for merge commits in lane branch that would violate linear history
|
|
119
149
|
* WU-1384: GitHub requires linear history; merge commits in lane branches must be eliminated
|
|
@@ -125,14 +155,14 @@ export declare function checkBranchDivergence(branch: any, options?: CheckBranch
|
|
|
125
155
|
* @param {CheckBranchOptions} [options] - Check options
|
|
126
156
|
* @throws {Error} If merge commits found and auto-rebase fails or is disabled
|
|
127
157
|
*/
|
|
128
|
-
export declare function checkMergeCommits(branch:
|
|
158
|
+
export declare function checkMergeCommits(branch: string, options?: CheckBranchOptions): Promise<void>;
|
|
129
159
|
/**
|
|
130
160
|
* Check for merge conflicts using git merge-tree
|
|
131
161
|
* WU-755 pre-flight check
|
|
132
162
|
*
|
|
133
163
|
* @param {string} branch - Lane branch name
|
|
134
164
|
*/
|
|
135
|
-
export declare function checkMergeConflicts(branch:
|
|
165
|
+
export declare function checkMergeConflicts(branch: string): Promise<void>;
|
|
136
166
|
/**
|
|
137
167
|
* WU-1456: Check for empty merge (no work commits beyond claim)
|
|
138
168
|
* WU-1460: Upgraded to BLOCK when code_paths defined but files not modified
|
|
@@ -146,7 +176,9 @@ export declare function checkMergeConflicts(branch: any): Promise<void>;
|
|
|
146
176
|
* @returns {Promise<void>}
|
|
147
177
|
* @throws {Error} When code_paths defined but files not modified in commits
|
|
148
178
|
*/
|
|
149
|
-
export declare function checkEmptyMerge(branch:
|
|
179
|
+
export declare function checkEmptyMerge(branch: string, doc?: {
|
|
180
|
+
code_paths?: string[];
|
|
181
|
+
} | null): Promise<void>;
|
|
150
182
|
/**
|
|
151
183
|
* Merge lane branch to main with exponential backoff retry (WU-1747)
|
|
152
184
|
*
|
|
@@ -162,18 +194,20 @@ interface MergeLaneBranchOptions extends CheckBranchOptions {
|
|
|
162
194
|
/** Override max retry attempts */
|
|
163
195
|
maxAttempts?: number;
|
|
164
196
|
}
|
|
165
|
-
export declare function mergeLaneBranch(branch:
|
|
197
|
+
export declare function mergeLaneBranch(branch: string, options?: MergeLaneBranchOptions): Promise<void>;
|
|
166
198
|
/**
|
|
167
199
|
* WU-1943: Check if the session has checkpoints for the given WU
|
|
168
200
|
*
|
|
169
|
-
* Used to warn agents when they're completing a WU without
|
|
201
|
+
* Used to warn agents when they're completing a WU without UnsafeAny checkpoints,
|
|
170
202
|
* which means no recovery data if the session crashes.
|
|
171
203
|
*
|
|
172
204
|
* @param {string} wuId - WU ID to check
|
|
173
205
|
* @param {Array|null} nodes - Memory nodes for the WU (from queryByWu)
|
|
174
206
|
* @returns {boolean} True if checkpoints exist, false otherwise
|
|
175
207
|
*/
|
|
176
|
-
export declare function hasSessionCheckpoints(wuId:
|
|
208
|
+
export declare function hasSessionCheckpoints(wuId: string, nodes: Array<{
|
|
209
|
+
type?: string;
|
|
210
|
+
}> | null | undefined): boolean;
|
|
177
211
|
/**
|
|
178
212
|
* WU-1943: Rollback branch to pre-commit SHA when merge fails
|
|
179
213
|
*
|
|
@@ -186,12 +220,9 @@ export declare function hasSessionCheckpoints(wuId: any, nodes: any): boolean;
|
|
|
186
220
|
* @param {string} wuId - WU ID for logging
|
|
187
221
|
* @returns {Promise<{success: boolean, error?: string}>} Rollback result
|
|
188
222
|
*/
|
|
189
|
-
export declare function rollbackBranchOnMergeFailure(gitAdapter:
|
|
190
|
-
success: boolean;
|
|
191
|
-
error?: undefined;
|
|
192
|
-
} | {
|
|
223
|
+
export declare function rollbackBranchOnMergeFailure(gitAdapter: GitAdapter, preCommitSha: string, wuId: string): Promise<{
|
|
193
224
|
success: boolean;
|
|
194
|
-
error
|
|
225
|
+
error?: string;
|
|
195
226
|
}>;
|
|
196
227
|
/**
|
|
197
228
|
* WU-1577: Validate that local main is not behind origin/main before transaction.
|
|
@@ -208,7 +239,7 @@ export declare function rollbackBranchOnMergeFailure(gitAdapter: any, preCommitS
|
|
|
208
239
|
* @param gitAdapter - Git adapter instance (must be in main checkout context)
|
|
209
240
|
* @returns Validation result with commitsBehind count
|
|
210
241
|
*/
|
|
211
|
-
export declare function validateMainNotBehindOrigin(gitAdapter:
|
|
242
|
+
export declare function validateMainNotBehindOrigin(gitAdapter: MainSyncGitAdapter): Promise<{
|
|
212
243
|
valid: boolean;
|
|
213
244
|
commitsBehind: number;
|
|
214
245
|
failOpen?: boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"wu-done-worktree.d.ts","sourceRoot":"","sources":["../src/wu-done-worktree.ts"],"names":[],"mappings":";AAEA;;;;;;;;;;;;;;;;;;GAkBG;
|
|
1
|
+
{"version":3,"file":"wu-done-worktree.d.ts","sourceRoot":"","sources":["../src/wu-done-worktree.ts"],"names":[],"mappings":"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"}
|
package/dist/wu-done-worktree.js
CHANGED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
* Flow (WU-1369 Atomic Pattern):
|
|
8
8
|
* 1. cd into worktree
|
|
9
9
|
* 2. Read and validate WU state
|
|
10
|
-
* 3. Run ALL validations FIRST (before
|
|
10
|
+
* 3. Run ALL validations FIRST (before UnsafeAny file writes)
|
|
11
11
|
* 4. Collect all metadata changes into transaction (in memory)
|
|
12
12
|
* 5. Commit transaction (atomic write)
|
|
13
13
|
* 6. Stage and format files
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
* 9. Either merge (default) OR create PR (pr-mode)
|
|
17
17
|
* 10. Push to origin
|
|
18
18
|
*
|
|
19
|
-
* Key guarantee: If
|
|
19
|
+
* Key guarantee: If UnsafeAny validation fails, NO files are modified.
|
|
20
20
|
*/
|
|
21
21
|
import path from 'node:path';
|
|
22
22
|
import { writeFile } from 'node:fs/promises';
|
|
@@ -57,6 +57,15 @@ import {} from './wu-checkpoint.js';
|
|
|
57
57
|
// WU-1749: Import state store constant for append-only file path
|
|
58
58
|
import { WU_EVENTS_FILE_NAME } from './wu-state-store.js';
|
|
59
59
|
import { validateWUEvent } from './wu-state-schema.js';
|
|
60
|
+
function getErrorMessage(error) {
|
|
61
|
+
return error instanceof Error ? error.message : String(error);
|
|
62
|
+
}
|
|
63
|
+
function isErrorWithCode(error, code) {
|
|
64
|
+
if (typeof error !== 'object' || error === null || !('code' in error)) {
|
|
65
|
+
return false;
|
|
66
|
+
}
|
|
67
|
+
return error.code === code;
|
|
68
|
+
}
|
|
60
69
|
/**
|
|
61
70
|
* Resolve all metadata/state paths as absolute worktree-local paths.
|
|
62
71
|
*
|
|
@@ -81,7 +90,7 @@ export function resolveWorktreeMetadataPaths(worktreePath, id) {
|
|
|
81
90
|
* @throws {Error} On validation or git operation failure
|
|
82
91
|
*/
|
|
83
92
|
export async function executeWorktreeCompletion(context) {
|
|
84
|
-
// Save original cwd for returning after
|
|
93
|
+
// Save original cwd for returning after UnsafeAny worktree operations.
|
|
85
94
|
// This must be captured BEFORE zombie recovery, which temporarily chdirs into the worktree.
|
|
86
95
|
const originalCwd = process.cwd();
|
|
87
96
|
const { id, args, docMain, title, isDocsOnly, worktreePath, maxCommitLength, validateStagedFiles,
|
|
@@ -135,7 +144,7 @@ export async function executeWorktreeCompletion(context) {
|
|
|
135
144
|
}
|
|
136
145
|
catch (squashError) {
|
|
137
146
|
// Non-fatal: Log and continue with recovery
|
|
138
|
-
console.log(`${LOG_PREFIX.DONE} ${EMOJI.WARNING} Could not squash previous attempts: ${squashError
|
|
147
|
+
console.log(`${LOG_PREFIX.DONE} ${EMOJI.WARNING} Could not squash previous attempts: ${getErrorMessage(squashError)}`);
|
|
139
148
|
}
|
|
140
149
|
console.log(`${LOG_PREFIX.DONE} WU-1440: Resetting worktree YAML to in_progress for recovery flow...`);
|
|
141
150
|
// Reset the worktree YAML to in_progress (mutates docForUpdate)
|
|
@@ -154,7 +163,7 @@ export async function executeWorktreeCompletion(context) {
|
|
|
154
163
|
// Must run BEFORE transaction to guarantee no files are modified.
|
|
155
164
|
await ensureMainNotBehindOrigin(originalCwd, id);
|
|
156
165
|
// WU-1369: Create atomic transaction for metadata updates
|
|
157
|
-
// This ensures NO files are modified if
|
|
166
|
+
// This ensures NO files are modified if UnsafeAny validation fails
|
|
158
167
|
const transaction = new WUTransaction(id);
|
|
159
168
|
console.log(`${LOG_PREFIX.DONE} ${EMOJI.SUCCESS} Transaction BEGIN - atomic pattern (WU-1369)`);
|
|
160
169
|
// Save original cwd for returning after worktree operations
|
|
@@ -179,7 +188,7 @@ export async function executeWorktreeCompletion(context) {
|
|
|
179
188
|
const workingStampsDir = worktreeMetadataPaths.stampsDir;
|
|
180
189
|
const workingStampPath = worktreeMetadataPaths.stampPath;
|
|
181
190
|
// ======================================================================
|
|
182
|
-
// PHASE 1: RUN ALL VALIDATIONS FIRST (before
|
|
191
|
+
// PHASE 1: RUN ALL VALIDATIONS FIRST (before UnsafeAny file writes)
|
|
183
192
|
// WU-1369: This ensures no partial state on validation failure
|
|
184
193
|
// WU-1811: Validate and normalize YAML before gates/merge
|
|
185
194
|
// ======================================================================
|
|
@@ -199,7 +208,8 @@ export async function executeWorktreeCompletion(context) {
|
|
|
199
208
|
console.log(`${LOG_PREFIX.DONE} ${EMOJI.SUCCESS} WU YAML normalised and saved`);
|
|
200
209
|
}
|
|
201
210
|
// Validate done-specific completeness (uses normalized data)
|
|
202
|
-
const
|
|
211
|
+
const normalizedWU = normalizeResult.normalized ?? docForUpdate;
|
|
212
|
+
const completenessResult = validateDoneWU(normalizedWU);
|
|
203
213
|
if (!completenessResult.valid) {
|
|
204
214
|
throw createValidationError(`Cannot mark WU as done - spec incomplete:\n ${completenessResult.errors.join('\n ')}\n\nNext step: Update ${workingWUPath} to meet completion requirements and rerun wu:done`, { wuId: id });
|
|
205
215
|
}
|
|
@@ -207,7 +217,7 @@ export async function executeWorktreeCompletion(context) {
|
|
|
207
217
|
// This prevents lost work from metadata rollbacks after code commits
|
|
208
218
|
console.log(`${LOG_PREFIX.DONE} Checking code_paths commit status (WU-1153)...`);
|
|
209
219
|
// WU-1541: Use worktreeGit (explicit baseDir) instead of getGitForCwd()
|
|
210
|
-
const codePathsResult = await validateCodePathsCommittedBeforeDone(
|
|
220
|
+
const codePathsResult = await validateCodePathsCommittedBeforeDone(normalizedWU, worktreeGit, { abortOnFailure: false });
|
|
211
221
|
if (!codePathsResult.valid) {
|
|
212
222
|
const errorMessage = await import('./wu-done-validation.js').then((m) => m.buildCodePathsCommittedErrorMessage(id, codePathsResult.uncommittedPaths));
|
|
213
223
|
throw createValidationError(errorMessage, { wuId: id });
|
|
@@ -215,7 +225,7 @@ export async function executeWorktreeCompletion(context) {
|
|
|
215
225
|
console.log(`${LOG_PREFIX.DONE} ${EMOJI.SUCCESS} All validations passed`);
|
|
216
226
|
// ======================================================================
|
|
217
227
|
// PHASE 2: COLLECT ALL CHANGES TO TRANSACTION (in memory, no writes)
|
|
218
|
-
// WU-1369: Atomic collection - all changes gathered before
|
|
228
|
+
// WU-1369: Atomic collection - all changes gathered before UnsafeAny writes
|
|
219
229
|
// ======================================================================
|
|
220
230
|
// WU-1574: Now async
|
|
221
231
|
await collectMetadataToTransaction({
|
|
@@ -443,6 +453,7 @@ export async function executeWorktreeCompletion(context) {
|
|
|
443
453
|
};
|
|
444
454
|
}
|
|
445
455
|
catch (err) {
|
|
456
|
+
const worktreeError = err instanceof Error ? err : new Error(String(err));
|
|
446
457
|
// WU-1541: No need to restore directory - we never changed it
|
|
447
458
|
// WU-1369: Atomic transaction pattern
|
|
448
459
|
// - If error occurred BEFORE transaction.commit() → no files were written
|
|
@@ -455,9 +466,9 @@ export async function executeWorktreeCompletion(context) {
|
|
|
455
466
|
console.log(`\n${BOX.TOP}`);
|
|
456
467
|
console.log(`${BOX.SIDE} WU:DONE FAILED - NO FILES MODIFIED (atomic pattern)`);
|
|
457
468
|
console.log(BOX.MID);
|
|
458
|
-
console.log(`${BOX.SIDE} Error: ${
|
|
469
|
+
console.log(`${BOX.SIDE} Error: ${worktreeError.message}`);
|
|
459
470
|
console.log(BOX.SIDE);
|
|
460
|
-
console.log(`${BOX.SIDE} WU-1369: Transaction aborted before
|
|
471
|
+
console.log(`${BOX.SIDE} WU-1369: Transaction aborted before UnsafeAny writes.`);
|
|
461
472
|
console.log(`${BOX.SIDE} WU-1811: Worktree preserved for recovery.`);
|
|
462
473
|
console.log(`${BOX.SIDE} Worktree: ${worktreePath}`);
|
|
463
474
|
console.log(BOX.MID);
|
|
@@ -490,7 +501,7 @@ export async function executeWorktreeCompletion(context) {
|
|
|
490
501
|
}
|
|
491
502
|
catch (rollbackErr) {
|
|
492
503
|
// Log but don't fail - rollback is best-effort
|
|
493
|
-
console.log(`${LOG_PREFIX.DONE} ${EMOJI.WARNING} WU-2310: File rollback error: ${rollbackErr
|
|
504
|
+
console.log(`${LOG_PREFIX.DONE} ${EMOJI.WARNING} WU-2310: File rollback error: ${getErrorMessage(rollbackErr)}`);
|
|
494
505
|
}
|
|
495
506
|
}
|
|
496
507
|
// WU-1943: If git commit was made but merge failed, rollback the branch
|
|
@@ -504,14 +515,14 @@ export async function executeWorktreeCompletion(context) {
|
|
|
504
515
|
}
|
|
505
516
|
catch (rollbackErr) {
|
|
506
517
|
// Log but don't fail - rollback is best-effort
|
|
507
|
-
console.log(`${LOG_PREFIX.DONE} ${EMOJI.WARNING} Rollback error: ${rollbackErr
|
|
518
|
+
console.log(`${LOG_PREFIX.DONE} ${EMOJI.WARNING} Rollback error: ${getErrorMessage(rollbackErr)}`);
|
|
508
519
|
}
|
|
509
520
|
}
|
|
510
521
|
console.log(`\n${BOX.TOP}`);
|
|
511
522
|
if (fileRollbackSuccess) {
|
|
512
523
|
console.log(`${BOX.SIDE} WU:DONE FAILED - FILES ROLLED BACK (WU-2310)`);
|
|
513
524
|
console.log(BOX.MID);
|
|
514
|
-
console.log(`${BOX.SIDE} Error: ${
|
|
525
|
+
console.log(`${BOX.SIDE} Error: ${worktreeError.message}`);
|
|
515
526
|
console.log(BOX.SIDE);
|
|
516
527
|
console.log(`${BOX.SIDE} WU-2310: Transaction files were rolled back to pre-commit state.`);
|
|
517
528
|
console.log(`${BOX.SIDE} Worktree is now consistent (status=in_progress, no stamp).`);
|
|
@@ -519,7 +530,7 @@ export async function executeWorktreeCompletion(context) {
|
|
|
519
530
|
else {
|
|
520
531
|
console.log(`${BOX.SIDE} WU:DONE FAILED - PARTIAL STATE (post-transaction)`);
|
|
521
532
|
console.log(BOX.MID);
|
|
522
|
-
console.log(`${BOX.SIDE} Error: ${
|
|
533
|
+
console.log(`${BOX.SIDE} Error: ${worktreeError.message}`);
|
|
523
534
|
console.log(BOX.SIDE);
|
|
524
535
|
console.log(`${BOX.SIDE} Metadata files were written, but git operations failed.`);
|
|
525
536
|
if (gitCommitMade && preCommitSha) {
|
|
@@ -534,8 +545,8 @@ export async function executeWorktreeCompletion(context) {
|
|
|
534
545
|
console.log(BOX.BOT);
|
|
535
546
|
}
|
|
536
547
|
// WU-1811: Attach cleanupSafe flag to error for caller to check
|
|
537
|
-
|
|
538
|
-
throw
|
|
548
|
+
worktreeError.cleanupSafe = false;
|
|
549
|
+
throw worktreeError;
|
|
539
550
|
}
|
|
540
551
|
}
|
|
541
552
|
/**
|
|
@@ -553,16 +564,17 @@ export async function checkBranchDrift(branch) {
|
|
|
553
564
|
'--count',
|
|
554
565
|
`${BRANCHES.MAIN}...${branch}`,
|
|
555
566
|
]);
|
|
556
|
-
const [
|
|
567
|
+
const [mainAheadRaw] = counts.split(/\s+/).map(Number);
|
|
568
|
+
const mainAhead = typeof mainAheadRaw === 'number' && Number.isFinite(mainAheadRaw) ? mainAheadRaw : 0;
|
|
557
569
|
if (mainAhead > THRESHOLDS.BRANCH_DRIFT_MAX) {
|
|
558
570
|
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 });
|
|
559
571
|
}
|
|
560
572
|
return mainAhead;
|
|
561
573
|
}
|
|
562
574
|
catch (e) {
|
|
563
|
-
if (e
|
|
575
|
+
if (isErrorWithCode(e, ErrorCodes.GIT_ERROR))
|
|
564
576
|
throw e;
|
|
565
|
-
console.warn(`${LOG_PREFIX.DONE} Warning: Could not check branch drift: ${e
|
|
577
|
+
console.warn(`${LOG_PREFIX.DONE} Warning: Could not check branch drift: ${getErrorMessage(e)}`);
|
|
566
578
|
return 0;
|
|
567
579
|
}
|
|
568
580
|
}
|
|
@@ -627,7 +639,7 @@ function normalizeEventForKey(event) {
|
|
|
627
639
|
function parseWuEventsJsonl(content, sourceLabel) {
|
|
628
640
|
const lines = String(content)
|
|
629
641
|
.split('\n')
|
|
630
|
-
.map((
|
|
642
|
+
.map((line) => line.trim())
|
|
631
643
|
.filter(Boolean);
|
|
632
644
|
return lines.map((line, index) => {
|
|
633
645
|
let parsed;
|
|
@@ -635,7 +647,7 @@ function parseWuEventsJsonl(content, sourceLabel) {
|
|
|
635
647
|
parsed = JSON.parse(line);
|
|
636
648
|
}
|
|
637
649
|
catch (error) {
|
|
638
|
-
throw new Error(`wu-events.jsonl ${sourceLabel} has malformed JSON on line ${index + 1}: ${error
|
|
650
|
+
throw new Error(`wu-events.jsonl ${sourceLabel} has malformed JSON on line ${index + 1}: ${getErrorMessage(error)}`);
|
|
639
651
|
}
|
|
640
652
|
const validation = validateWUEvent(parsed);
|
|
641
653
|
if (!validation.success) {
|
|
@@ -736,7 +748,7 @@ async function autoResolveAppendOnlyConflicts(gitCwd, worktreePath) {
|
|
|
736
748
|
return { resolved: resolvedFiles.length > 0, files: resolvedFiles };
|
|
737
749
|
}
|
|
738
750
|
catch (error) {
|
|
739
|
-
console.log(`${LOG_PREFIX.DONE} ${EMOJI.WARNING} Could not auto-resolve conflicts: ${error
|
|
751
|
+
console.log(`${LOG_PREFIX.DONE} ${EMOJI.WARNING} Could not auto-resolve conflicts: ${getErrorMessage(error)}`);
|
|
740
752
|
return { resolved: false, files: [] };
|
|
741
753
|
}
|
|
742
754
|
}
|
|
@@ -854,7 +866,7 @@ export async function autoRebaseBranch(branch, worktreePath, wuId) {
|
|
|
854
866
|
}
|
|
855
867
|
catch (e) {
|
|
856
868
|
// Rebase failed (likely conflicts) - abort and report
|
|
857
|
-
console.error(REBASE.FAILED(e
|
|
869
|
+
console.error(REBASE.FAILED(getErrorMessage(e)));
|
|
858
870
|
try {
|
|
859
871
|
// Abort the failed rebase to leave worktree clean
|
|
860
872
|
await gitWorktree.raw(['rebase', '--abort']);
|
|
@@ -912,9 +924,9 @@ export async function checkBranchDivergence(branch, options = {}) {
|
|
|
912
924
|
console.log(PREFLIGHT.NO_DIVERGENCE);
|
|
913
925
|
}
|
|
914
926
|
catch (e) {
|
|
915
|
-
if (e
|
|
927
|
+
if (isErrorWithCode(e, ErrorCodes.GIT_ERROR))
|
|
916
928
|
throw e;
|
|
917
|
-
console.warn(`${LOG_PREFIX.DONE} Warning: Could not check branch divergence: ${e
|
|
929
|
+
console.warn(`${LOG_PREFIX.DONE} Warning: Could not check branch divergence: ${getErrorMessage(e)}`);
|
|
918
930
|
}
|
|
919
931
|
}
|
|
920
932
|
/**
|
|
@@ -972,9 +984,9 @@ export async function checkMergeCommits(branch, options = {}) {
|
|
|
972
984
|
console.log(PREFLIGHT.NO_MERGE_COMMITS);
|
|
973
985
|
}
|
|
974
986
|
catch (e) {
|
|
975
|
-
if (e
|
|
987
|
+
if (isErrorWithCode(e, ErrorCodes.GIT_ERROR))
|
|
976
988
|
throw e;
|
|
977
|
-
console.warn(`${LOG_PREFIX.DONE} Warning: Could not check for merge commits: ${e
|
|
989
|
+
console.warn(`${LOG_PREFIX.DONE} Warning: Could not check for merge commits: ${getErrorMessage(e)}`);
|
|
978
990
|
}
|
|
979
991
|
}
|
|
980
992
|
/**
|
|
@@ -1012,9 +1024,9 @@ export async function checkMergeConflicts(branch) {
|
|
|
1012
1024
|
console.warn(`${LOG_PREFIX.DONE} Warning: Could not check merge conflicts: ${detail}`);
|
|
1013
1025
|
}
|
|
1014
1026
|
catch (e) {
|
|
1015
|
-
if (e
|
|
1027
|
+
if (isErrorWithCode(e, ErrorCodes.GIT_ERROR))
|
|
1016
1028
|
throw e;
|
|
1017
|
-
const message =
|
|
1029
|
+
const message = getErrorMessage(e);
|
|
1018
1030
|
console.warn(`${LOG_PREFIX.DONE} Warning: Could not check merge conflicts: ${message}`);
|
|
1019
1031
|
}
|
|
1020
1032
|
}
|
|
@@ -1042,8 +1054,10 @@ export async function checkEmptyMerge(branch, doc = null) {
|
|
|
1042
1054
|
]);
|
|
1043
1055
|
const commitCount = Number(commitCountRaw.trim());
|
|
1044
1056
|
// WU-1460: If code_paths defined, verify those files were modified
|
|
1045
|
-
const codePaths = doc?.code_paths
|
|
1046
|
-
|
|
1057
|
+
const codePaths = Array.isArray(doc?.code_paths)
|
|
1058
|
+
? doc.code_paths.filter((filePath) => typeof filePath === 'string')
|
|
1059
|
+
: [];
|
|
1060
|
+
const hasCodePaths = codePaths.length > 0;
|
|
1047
1061
|
if (hasCodePaths) {
|
|
1048
1062
|
// Get list of files modified in lane branch commits
|
|
1049
1063
|
const modifiedFilesRaw = await gitAdapter.raw([
|
|
@@ -1052,7 +1066,7 @@ export async function checkEmptyMerge(branch, doc = null) {
|
|
|
1052
1066
|
`${BRANCHES.MAIN}...${branch}`,
|
|
1053
1067
|
]);
|
|
1054
1068
|
const modifiedFiles = modifiedFilesRaw.trim().split('\n').filter(Boolean);
|
|
1055
|
-
// Check if
|
|
1069
|
+
// Check if UnsafeAny code_paths files are in the modified list
|
|
1056
1070
|
const missingCodePaths = codePaths.filter((codePath) => !modifiedFiles.some((modified) => modified.includes(codePath) || codePath.includes(modified)));
|
|
1057
1071
|
if (missingCodePaths.length > 0) {
|
|
1058
1072
|
// BLOCK: code_paths defined but files not modified
|
|
@@ -1077,9 +1091,9 @@ export async function checkEmptyMerge(branch, doc = null) {
|
|
|
1077
1091
|
}
|
|
1078
1092
|
catch (e) {
|
|
1079
1093
|
// Re-throw validation errors (WU-1460 blocker)
|
|
1080
|
-
if (e
|
|
1094
|
+
if (isErrorWithCode(e, ErrorCodes.VALIDATION_ERROR))
|
|
1081
1095
|
throw e;
|
|
1082
|
-
console.warn(`${LOG_PREFIX.DONE} Warning: Could not check for empty merge: ${e
|
|
1096
|
+
console.warn(`${LOG_PREFIX.DONE} Warning: Could not check for empty merge: ${getErrorMessage(e)}`);
|
|
1083
1097
|
}
|
|
1084
1098
|
}
|
|
1085
1099
|
async function isMainAncestorOfBranch(gitAdapter, branch) {
|
|
@@ -1099,7 +1113,7 @@ export async function mergeLaneBranch(branch, options = {}) {
|
|
|
1099
1113
|
const retryConfig = createRetryConfig('wu_done', {
|
|
1100
1114
|
maxAttempts: options.maxAttempts,
|
|
1101
1115
|
onRetry: async (attempt, error, _delay) => {
|
|
1102
|
-
console.log(`${LOG_PREFIX.DONE} ${EMOJI.WARNING} Merge attempt ${attempt} failed: ${error
|
|
1116
|
+
console.log(`${LOG_PREFIX.DONE} ${EMOJI.WARNING} Merge attempt ${attempt} failed: ${getErrorMessage(error)}`);
|
|
1103
1117
|
// WU-1749 Bug 2: Rebase lane branch onto new main instead of just pulling
|
|
1104
1118
|
// This is required because ff-only merge will always fail if the lane branch
|
|
1105
1119
|
// is still based on the old main after main has advanced
|
|
@@ -1128,7 +1142,7 @@ export async function mergeLaneBranch(branch, options = {}) {
|
|
|
1128
1142
|
console.log(MERGE.UPDATED_MAIN(REMOTES.ORIGIN));
|
|
1129
1143
|
}
|
|
1130
1144
|
catch (pullErr) {
|
|
1131
|
-
console.log(`${LOG_PREFIX.DONE} ${EMOJI.WARNING} Pull also failed: ${pullErr
|
|
1145
|
+
console.log(`${LOG_PREFIX.DONE} ${EMOJI.WARNING} Pull also failed: ${getErrorMessage(pullErr)}`);
|
|
1132
1146
|
}
|
|
1133
1147
|
}
|
|
1134
1148
|
}
|
|
@@ -1146,7 +1160,7 @@ export async function mergeLaneBranch(branch, options = {}) {
|
|
|
1146
1160
|
console.log(MERGE.UPDATED_MAIN(REMOTES.ORIGIN));
|
|
1147
1161
|
}
|
|
1148
1162
|
catch (pullErr) {
|
|
1149
|
-
console.log(`${LOG_PREFIX.DONE} ${EMOJI.WARNING} Pull failed: ${pullErr
|
|
1163
|
+
console.log(`${LOG_PREFIX.DONE} ${EMOJI.WARNING} Pull failed: ${getErrorMessage(pullErr)} - will retry anyway`);
|
|
1150
1164
|
}
|
|
1151
1165
|
}
|
|
1152
1166
|
},
|
|
@@ -1161,11 +1175,11 @@ export async function mergeLaneBranch(branch, options = {}) {
|
|
|
1161
1175
|
// All retries exhausted
|
|
1162
1176
|
const mainIsAncestor = await isMainAncestorOfBranch(gitAdapter, branch);
|
|
1163
1177
|
const message = mainIsAncestor
|
|
1164
|
-
? MERGE.FF_FAILED_NON_DIVERGED_ERROR(branch, e
|
|
1165
|
-
: MERGE.FF_DIVERGED_ERROR(branch, e
|
|
1178
|
+
? MERGE.FF_FAILED_NON_DIVERGED_ERROR(branch, getErrorMessage(e))
|
|
1179
|
+
: MERGE.FF_DIVERGED_ERROR(branch, getErrorMessage(e));
|
|
1166
1180
|
throw createError(ErrorCodes.GIT_ERROR, message, {
|
|
1167
1181
|
branch,
|
|
1168
|
-
originalError: e
|
|
1182
|
+
originalError: getErrorMessage(e),
|
|
1169
1183
|
retriesExhausted: true,
|
|
1170
1184
|
mainIsAncestor,
|
|
1171
1185
|
});
|
|
@@ -1174,7 +1188,7 @@ export async function mergeLaneBranch(branch, options = {}) {
|
|
|
1174
1188
|
/**
|
|
1175
1189
|
* WU-1943: Check if the session has checkpoints for the given WU
|
|
1176
1190
|
*
|
|
1177
|
-
* Used to warn agents when they're completing a WU without
|
|
1191
|
+
* Used to warn agents when they're completing a WU without UnsafeAny checkpoints,
|
|
1178
1192
|
* which means no recovery data if the session crashes.
|
|
1179
1193
|
*
|
|
1180
1194
|
* @param {string} wuId - WU ID to check
|
|
@@ -1182,6 +1196,9 @@ export async function mergeLaneBranch(branch, options = {}) {
|
|
|
1182
1196
|
* @returns {boolean} True if checkpoints exist, false otherwise
|
|
1183
1197
|
*/
|
|
1184
1198
|
export function hasSessionCheckpoints(wuId, nodes) {
|
|
1199
|
+
if (!wuId) {
|
|
1200
|
+
return false;
|
|
1201
|
+
}
|
|
1185
1202
|
if (!nodes || !Array.isArray(nodes) || nodes.length === 0) {
|
|
1186
1203
|
return false;
|
|
1187
1204
|
}
|
|
@@ -1209,8 +1226,8 @@ export async function rollbackBranchOnMergeFailure(gitAdapter, preCommitSha, wuI
|
|
|
1209
1226
|
return { success: true };
|
|
1210
1227
|
}
|
|
1211
1228
|
catch (error) {
|
|
1212
|
-
console.log(`${LOG_PREFIX.DONE} ${EMOJI.WARNING} WU-1943: Could not rollback branch for ${wuId}: ${error
|
|
1213
|
-
return { success: false, error: error
|
|
1229
|
+
console.log(`${LOG_PREFIX.DONE} ${EMOJI.WARNING} WU-1943: Could not rollback branch for ${wuId}: ${getErrorMessage(error)}`);
|
|
1230
|
+
return { success: false, error: getErrorMessage(error) };
|
|
1214
1231
|
}
|
|
1215
1232
|
}
|
|
1216
1233
|
/**
|
|
@@ -1261,7 +1278,7 @@ async function ensureMainNotBehindOrigin(mainCheckoutPath, wuId) {
|
|
|
1261
1278
|
const result = await validateMainNotBehindOrigin(gitMainPreCheck);
|
|
1262
1279
|
if (!result.valid) {
|
|
1263
1280
|
throw createError(ErrorCodes.GIT_ERROR, `Local main is ${result.commitsBehind} commit(s) behind origin/main.\n\n` +
|
|
1264
|
-
`wu:done aborted BEFORE
|
|
1281
|
+
`wu:done aborted BEFORE UnsafeAny writes to prevent metadata leaks (WU-1577).\n\n` +
|
|
1265
1282
|
`Fix: git pull origin main\n` +
|
|
1266
1283
|
`Then retry: pnpm wu:done --id ${wuId}`, { wuId, commitsBehind: result.commitsBehind });
|
|
1267
1284
|
}
|