@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,463 @@
|
|
|
1
|
+
// Copyright (c) 2026 Hellmai Ltd
|
|
2
|
+
// SPDX-License-Identifier: AGPL-3.0-only
|
|
3
|
+
/**
|
|
4
|
+
* Micro-Worktree Operations
|
|
5
|
+
*
|
|
6
|
+
* Race-safe micro-worktree isolation pattern extracted from wu-create.ts (WU-1262).
|
|
7
|
+
* Provides shared infrastructure for commands that need to modify main branch
|
|
8
|
+
* atomically without switching checkout.
|
|
9
|
+
*
|
|
10
|
+
* Part of WU-1262: Race-safe WU creation using micro-worktrees
|
|
11
|
+
* Extended in WU-1274: Add wu:edit command for spec-only changes
|
|
12
|
+
* Extended in WU-1439: Migrate initiative:create and wu:create to shared helper
|
|
13
|
+
*
|
|
14
|
+
* Pattern:
|
|
15
|
+
* 1. Create temp branch without switching main checkout
|
|
16
|
+
* 2. Create micro-worktree in /tmp pointing to temp branch
|
|
17
|
+
* 3. Perform operations in micro-worktree
|
|
18
|
+
* 4. FF-only merge temp branch to main (retry with rebase if main moved)
|
|
19
|
+
* 5. Push to origin
|
|
20
|
+
* 6. Cleanup (always, even on failure)
|
|
21
|
+
*
|
|
22
|
+
* Benefits:
|
|
23
|
+
* - Main checkout never switches branches (no impact on other agents)
|
|
24
|
+
* - Race conditions handled via rebase+retry (up to MAX_MERGE_RETRIES attempts)
|
|
25
|
+
* - Cleanup guaranteed even on failure
|
|
26
|
+
*
|
|
27
|
+
* Consumers:
|
|
28
|
+
* @see {@link packages/@lumenflow/cli/src/wu-create.ts} - WU creation (WU-1262, WU-1439)
|
|
29
|
+
* @see {@link packages/@lumenflow/cli/src/wu-edit.ts} - Spec edits (WU-1274)
|
|
30
|
+
* @see {@link packages/@lumenflow/cli/src/initiative-create.ts} - Initiative creation (WU-1439)
|
|
31
|
+
*/
|
|
32
|
+
import { getGitForCwd, createGitForPath } from './git-adapter.js';
|
|
33
|
+
import { execSync } from 'node:child_process';
|
|
34
|
+
import { join } from 'node:path';
|
|
35
|
+
import pRetry from 'p-retry';
|
|
36
|
+
import { BRANCHES, REMOTES, GIT_REFS, PKG_MANAGER, SCRIPTS, PRETTIER_FLAGS, STDIO_MODES, } from './wu-constants.js';
|
|
37
|
+
import { getConfig } from './lumenflow-config.js';
|
|
38
|
+
import { MAX_MERGE_RETRIES, MAX_PUSH_RETRIES, DEFAULT_PUSH_RETRY_CONFIG, resolvePushRetryConfig, LUMENFLOW_FORCE_ENV, LUMENFLOW_FORCE_REASON_ENV, LUMENFLOW_WU_TOOL_ENV, DEFAULT_LOG_PREFIX, RetryExhaustionError, isRetryExhaustionError, formatRetryExhaustionError, shouldSkipRemoteOperations, getTempBranchName, createMicroWorktreeDir, findWorktreeByBranch, cleanupOrphanedMicroWorktree, cleanupMicroWorktree, pushRefspecWithForce, pushRefspecWithRetry, } from './micro-worktree-shared.js';
|
|
39
|
+
/**
|
|
40
|
+
* Maximum retry attempts for ff-only merge when main moves
|
|
41
|
+
*
|
|
42
|
+
* This handles race conditions when multiple agents run wu:create or wu:edit
|
|
43
|
+
* concurrently. Each retry fetches latest main and rebases.
|
|
44
|
+
*/
|
|
45
|
+
export { MAX_MERGE_RETRIES, MAX_PUSH_RETRIES, DEFAULT_PUSH_RETRY_CONFIG, resolvePushRetryConfig, LUMENFLOW_FORCE_ENV, LUMENFLOW_FORCE_REASON_ENV, LUMENFLOW_WU_TOOL_ENV, DEFAULT_LOG_PREFIX, RetryExhaustionError, isRetryExhaustionError, formatRetryExhaustionError, shouldSkipRemoteOperations, getTempBranchName, createMicroWorktreeDir, findWorktreeByBranch, cleanupOrphanedMicroWorktree, cleanupMicroWorktree, pushRefspecWithForce, pushRefspecWithRetry, };
|
|
46
|
+
export async function stageChangesWithDeletions(gitWorktree, files) {
|
|
47
|
+
// Normalise undefined/null to empty array for addWithDeletions
|
|
48
|
+
const filesToStage = files || [];
|
|
49
|
+
await gitWorktree.addWithDeletions(filesToStage);
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* WU-1365: Check if prettier is available in the project
|
|
53
|
+
*
|
|
54
|
+
* Checks if prettier is installed and executable. Returns false if:
|
|
55
|
+
* - prettier is not in node_modules
|
|
56
|
+
* - pnpm prettier command is not available
|
|
57
|
+
*
|
|
58
|
+
* This allows micro-worktree operations to skip formatting gracefully
|
|
59
|
+
* when prettier is not installed (e.g., in bootstrap or minimal setups).
|
|
60
|
+
*
|
|
61
|
+
* @returns {boolean} True if prettier is available, false otherwise
|
|
62
|
+
*/
|
|
63
|
+
export function isPrettierAvailable(cwd) {
|
|
64
|
+
try {
|
|
65
|
+
// Check if prettier is available via pnpm prettier --version
|
|
66
|
+
// No user input in this command - known-safe constant strings only.
|
|
67
|
+
// WU-1755: Accept optional cwd so prettier resolves from project root,
|
|
68
|
+
// not from /tmp/ micro-worktrees which have no node_modules.
|
|
69
|
+
const opts = {
|
|
70
|
+
encoding: 'utf-8',
|
|
71
|
+
stdio: STDIO_MODES.PIPE,
|
|
72
|
+
};
|
|
73
|
+
if (cwd) {
|
|
74
|
+
opts.cwd = cwd;
|
|
75
|
+
}
|
|
76
|
+
execSync(`${PKG_MANAGER} ${SCRIPTS.PRETTIER} --version`, opts);
|
|
77
|
+
return true;
|
|
78
|
+
}
|
|
79
|
+
catch {
|
|
80
|
+
return false;
|
|
81
|
+
}
|
|
82
|
+
}
|
|
83
|
+
/**
|
|
84
|
+
* WU-1365: Pattern to detect prettier not found errors
|
|
85
|
+
*/
|
|
86
|
+
const PRETTIER_NOT_FOUND_PATTERNS = [
|
|
87
|
+
/ERR_PNPM_RECURSIVE_EXEC_FIRST_FAIL/,
|
|
88
|
+
/prettier.*not found/i,
|
|
89
|
+
/Cannot find module.*prettier/i,
|
|
90
|
+
/Command failed.*prettier/i,
|
|
91
|
+
/No script.*prettier/i,
|
|
92
|
+
];
|
|
93
|
+
/**
|
|
94
|
+
* WU-1365: Check if an error indicates prettier is not available
|
|
95
|
+
*
|
|
96
|
+
* @param {string} errMsg - Error message to check
|
|
97
|
+
* @returns {boolean} True if the error indicates prettier is not installed/available
|
|
98
|
+
*/
|
|
99
|
+
function isPrettierNotFoundError(errMsg) {
|
|
100
|
+
return PRETTIER_NOT_FOUND_PATTERNS.some((pattern) => pattern.test(errMsg));
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Format files using prettier before committing
|
|
104
|
+
*
|
|
105
|
+
* WU-1435: Ensures committed files pass format gates.
|
|
106
|
+
* WU-1365: Gracefully handles missing prettier installation.
|
|
107
|
+
* Runs prettier --write on specified files within the micro-worktree.
|
|
108
|
+
*
|
|
109
|
+
* @param {string[]} files - Relative file paths to format
|
|
110
|
+
* @param {string} worktreePath - Path to the micro-worktree
|
|
111
|
+
* @param {string} logPrefix - Log prefix for console output
|
|
112
|
+
*/
|
|
113
|
+
export async function formatFiles(files, worktreePath, logPrefix = DEFAULT_LOG_PREFIX) {
|
|
114
|
+
if (!files || files.length === 0) {
|
|
115
|
+
return;
|
|
116
|
+
}
|
|
117
|
+
console.log(`${logPrefix} Formatting ${files.length} file(s)...`);
|
|
118
|
+
// Build absolute paths within the worktree
|
|
119
|
+
const absolutePaths = files.map((f) => join(worktreePath, f));
|
|
120
|
+
const pathArgs = absolutePaths.map((p) => JSON.stringify(p)).join(' ');
|
|
121
|
+
try {
|
|
122
|
+
// Note: This uses execSync with validated paths (built from worktreePath and file list)
|
|
123
|
+
execSync(`${PKG_MANAGER} ${SCRIPTS.PRETTIER} ${PRETTIER_FLAGS.WRITE} ${pathArgs}`, {
|
|
124
|
+
encoding: 'utf-8',
|
|
125
|
+
stdio: STDIO_MODES.PIPE,
|
|
126
|
+
cwd: worktreePath,
|
|
127
|
+
});
|
|
128
|
+
console.log(`${logPrefix} ✅ Files formatted`);
|
|
129
|
+
}
|
|
130
|
+
catch (err) {
|
|
131
|
+
const errMsg = err instanceof Error ? err.message : String(err);
|
|
132
|
+
// WU-1365: Check if the error is due to prettier not being available
|
|
133
|
+
if (isPrettierNotFoundError(errMsg)) {
|
|
134
|
+
console.warn(`${logPrefix} ⚠️ Skipping formatting: prettier not available.\n` +
|
|
135
|
+
` To enable formatting, install prettier: pnpm add -D prettier\n` +
|
|
136
|
+
` Files will be committed without formatting.`);
|
|
137
|
+
return;
|
|
138
|
+
}
|
|
139
|
+
// Log warning but don't fail - some files may not need formatting
|
|
140
|
+
console.warn(`${logPrefix} ⚠️ Formatting warning: ${errMsg}`);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Merge temp branch to main with ff-only and retry logic
|
|
145
|
+
*
|
|
146
|
+
* Handles race conditions when main branch advances between operation start
|
|
147
|
+
* and merge attempt. Retries with rebase up to MAX_MERGE_RETRIES times.
|
|
148
|
+
*
|
|
149
|
+
* @param {string} tempBranchName - Temp branch to merge
|
|
150
|
+
* @param {string} microWorktreePath - Path to micro-worktree (for rebase)
|
|
151
|
+
* @param {string} logPrefix - Log prefix for console output
|
|
152
|
+
* @throws {Error} If merge fails after all retries
|
|
153
|
+
*/
|
|
154
|
+
export async function mergeWithRetry(tempBranchName, microWorktreePath, logPrefix = DEFAULT_LOG_PREFIX) {
|
|
155
|
+
const gitWorktree = createGitForPath(microWorktreePath);
|
|
156
|
+
const mainGit = getGitForCwd();
|
|
157
|
+
for (let attempt = 1; attempt <= MAX_MERGE_RETRIES; attempt++) {
|
|
158
|
+
try {
|
|
159
|
+
console.log(`${logPrefix} Merging to main (attempt ${attempt}/${MAX_MERGE_RETRIES})...`);
|
|
160
|
+
await mainGit.merge(tempBranchName, { ffOnly: true });
|
|
161
|
+
console.log(`${logPrefix} ✅ Merged to main`);
|
|
162
|
+
return;
|
|
163
|
+
}
|
|
164
|
+
catch (mergeErr) {
|
|
165
|
+
if (attempt < MAX_MERGE_RETRIES) {
|
|
166
|
+
console.log(`${logPrefix} ⚠️ FF-only merge failed (main moved). Rebasing...`);
|
|
167
|
+
// Fetch latest main and rebase temp branch
|
|
168
|
+
await mainGit.fetch(REMOTES.ORIGIN, BRANCHES.MAIN);
|
|
169
|
+
await mainGit.merge(`${REMOTES.ORIGIN}/${BRANCHES.MAIN}`, { ffOnly: true }); // Update local main
|
|
170
|
+
await gitWorktree.rebase(BRANCHES.MAIN);
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
const errMsg = mergeErr instanceof Error ? mergeErr.message : String(mergeErr);
|
|
174
|
+
throw new Error(`FF-only merge failed after ${MAX_MERGE_RETRIES} attempts. ` +
|
|
175
|
+
`Main branch may have significant divergence.\n` +
|
|
176
|
+
`Error: ${errMsg}`, { cause: mergeErr });
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
}
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Push to origin/main with retry logic for race conditions
|
|
183
|
+
*
|
|
184
|
+
* WU-1179: When push fails because origin/main advanced (race condition with
|
|
185
|
+
* parallel agents), this function retries with fetch and rebase.
|
|
186
|
+
*
|
|
187
|
+
* WU-1348: The retry logic no longer resets the main checkout. Instead, it:
|
|
188
|
+
* 1. Fetches origin/main to get latest remote state
|
|
189
|
+
* 2. Rebases the temp branch onto origin/main (in the micro-worktree)
|
|
190
|
+
* 3. Re-merges the rebased temp branch to local main (ff-only)
|
|
191
|
+
* 4. Retries the push
|
|
192
|
+
*
|
|
193
|
+
* This preserves micro-worktree isolation - the main checkout files are never
|
|
194
|
+
* hard-reset, preventing file flash and preserving UnsafeAny uncommitted work.
|
|
195
|
+
*
|
|
196
|
+
* @param {Object} mainGit - GitAdapter instance for main checkout
|
|
197
|
+
* @param {Object} worktreeGit - GitAdapter instance for micro-worktree
|
|
198
|
+
* @param {string} remote - Remote name (e.g., 'origin')
|
|
199
|
+
* @param {string} branch - Branch name (e.g., 'main')
|
|
200
|
+
* @param {string} tempBranchName - Temp branch that was merged (for rebase)
|
|
201
|
+
* @param {string} logPrefix - Log prefix for console output
|
|
202
|
+
* @throws {Error} If push fails after all retries
|
|
203
|
+
*/
|
|
204
|
+
export async function pushWithRetry(mainGit, worktreeGit, remote, branch, tempBranchName, logPrefix = DEFAULT_LOG_PREFIX, operation) {
|
|
205
|
+
const maxRetries = MAX_PUSH_RETRIES;
|
|
206
|
+
// WU-1418: Save original LUMENFLOW_WU_TOOL value
|
|
207
|
+
const originalWuTool = process.env[LUMENFLOW_WU_TOOL_ENV];
|
|
208
|
+
try {
|
|
209
|
+
// WU-1418: Set LUMENFLOW_WU_TOOL to allow pre-push hook to recognize this as an automated operation
|
|
210
|
+
if (operation) {
|
|
211
|
+
process.env[LUMENFLOW_WU_TOOL_ENV] = operation;
|
|
212
|
+
}
|
|
213
|
+
for (let attempt = 1; attempt <= maxRetries; attempt++) {
|
|
214
|
+
try {
|
|
215
|
+
console.log(`${logPrefix} Pushing to ${remote}/${branch} (attempt ${attempt}/${maxRetries})...`);
|
|
216
|
+
await mainGit.push(remote, branch);
|
|
217
|
+
console.log(`${logPrefix} ✅ Pushed to ${remote}/${branch}`);
|
|
218
|
+
return;
|
|
219
|
+
}
|
|
220
|
+
catch (pushErr) {
|
|
221
|
+
if (attempt < maxRetries) {
|
|
222
|
+
console.log(`${logPrefix} ⚠️ Push failed (origin moved). Fetching and rebasing before retry...`);
|
|
223
|
+
// WU-1348: Do NOT reset main checkout - preserve micro-worktree isolation
|
|
224
|
+
// Instead, fetch latest remote state and rebase the temp branch
|
|
225
|
+
// Step 1: Fetch latest origin/main
|
|
226
|
+
console.log(`${logPrefix} Fetching ${remote}/${branch}...`);
|
|
227
|
+
await mainGit.fetch(remote, branch);
|
|
228
|
+
// Step 2: Rebase temp branch onto updated origin/main
|
|
229
|
+
console.log(`${logPrefix} Rebasing temp branch onto ${remote}/${branch}...`);
|
|
230
|
+
await worktreeGit.rebase(`${remote}/${branch}`);
|
|
231
|
+
// Step 3: Re-merge temp branch to local main (ff-only)
|
|
232
|
+
// This updates local main to include the rebased commits
|
|
233
|
+
console.log(`${logPrefix} Re-merging temp branch to ${branch}...`);
|
|
234
|
+
await mainGit.merge(tempBranchName, { ffOnly: true });
|
|
235
|
+
}
|
|
236
|
+
else {
|
|
237
|
+
const errMsg = pushErr instanceof Error ? pushErr.message : String(pushErr);
|
|
238
|
+
throw new Error(`Push failed after ${maxRetries} attempts. ` +
|
|
239
|
+
`Origin ${branch} may have significant traffic.\n\n` +
|
|
240
|
+
`Suggestions:\n` +
|
|
241
|
+
` - Wait a few seconds and retry the operation\n` +
|
|
242
|
+
` - Check if another agent is rapidly pushing changes\n` +
|
|
243
|
+
`Error: ${errMsg}`, { cause: pushErr });
|
|
244
|
+
}
|
|
245
|
+
}
|
|
246
|
+
}
|
|
247
|
+
}
|
|
248
|
+
finally {
|
|
249
|
+
// WU-1418: Restore original LUMENFLOW_WU_TOOL value
|
|
250
|
+
if (originalWuTool === undefined) {
|
|
251
|
+
Reflect.deleteProperty(process.env, LUMENFLOW_WU_TOOL_ENV);
|
|
252
|
+
}
|
|
253
|
+
else {
|
|
254
|
+
process.env[LUMENFLOW_WU_TOOL_ENV] = originalWuTool;
|
|
255
|
+
}
|
|
256
|
+
}
|
|
257
|
+
}
|
|
258
|
+
/**
|
|
259
|
+
* WU-1332: Push to origin with configurable retry using p-retry
|
|
260
|
+
*
|
|
261
|
+
* Enhanced version of pushWithRetry that uses p-retry for exponential backoff
|
|
262
|
+
* and supports configuration via PushRetryConfig. When push fails due to
|
|
263
|
+
* non-fast-forward (origin moved), automatically rebases and retries.
|
|
264
|
+
*
|
|
265
|
+
* WU-1348: The retry logic no longer resets the main checkout. Instead, it:
|
|
266
|
+
* 1. Fetches origin/main to get latest remote state
|
|
267
|
+
* 2. Rebases the temp branch onto origin/main (in the micro-worktree)
|
|
268
|
+
* 3. Re-merges the rebased temp branch to local main (ff-only)
|
|
269
|
+
* 4. Retries the push
|
|
270
|
+
*
|
|
271
|
+
* This preserves micro-worktree isolation - the main checkout files are never
|
|
272
|
+
* hard-reset, preventing file flash and preserving UnsafeAny uncommitted work.
|
|
273
|
+
*
|
|
274
|
+
* @param {Object} mainGit - GitAdapter instance for main checkout
|
|
275
|
+
* @param {Object} worktreeGit - GitAdapter instance for micro-worktree
|
|
276
|
+
* @param {string} remote - Remote name (e.g., 'origin')
|
|
277
|
+
* @param {string} branch - Branch name (e.g., 'main')
|
|
278
|
+
* @param {string} tempBranchName - Temp branch that was merged (for rebase)
|
|
279
|
+
* @param {string} logPrefix - Log prefix for console output
|
|
280
|
+
* @param {PushRetryConfig} config - Push retry configuration
|
|
281
|
+
* @throws {Error} If push fails after all retries or if retry is disabled
|
|
282
|
+
*/
|
|
283
|
+
export async function pushWithRetryConfig(mainGit, worktreeGit, remote, branch, tempBranchName, logPrefix = DEFAULT_LOG_PREFIX, config = DEFAULT_PUSH_RETRY_CONFIG, operation) {
|
|
284
|
+
// WU-1418: Save original LUMENFLOW_WU_TOOL value
|
|
285
|
+
const originalWuTool = process.env[LUMENFLOW_WU_TOOL_ENV];
|
|
286
|
+
try {
|
|
287
|
+
// WU-1418: Set LUMENFLOW_WU_TOOL to allow pre-push hook to recognize this as an automated operation
|
|
288
|
+
if (operation) {
|
|
289
|
+
process.env[LUMENFLOW_WU_TOOL_ENV] = operation;
|
|
290
|
+
}
|
|
291
|
+
// If retry is disabled, just try once and throw on failure
|
|
292
|
+
if (!config.enabled) {
|
|
293
|
+
console.log(`${logPrefix} Pushing to ${remote}/${branch} (retry disabled)...`);
|
|
294
|
+
await mainGit.push(remote, branch);
|
|
295
|
+
console.log(`${logPrefix} ✅ Pushed to ${remote}/${branch}`);
|
|
296
|
+
return;
|
|
297
|
+
}
|
|
298
|
+
let attemptNumber = 0;
|
|
299
|
+
await pRetry(async () => {
|
|
300
|
+
attemptNumber++;
|
|
301
|
+
console.log(`${logPrefix} Pushing to ${remote}/${branch} (attempt ${attemptNumber}/${config.retries})...`);
|
|
302
|
+
try {
|
|
303
|
+
await mainGit.push(remote, branch);
|
|
304
|
+
console.log(`${logPrefix} ✅ Pushed to ${remote}/${branch}`);
|
|
305
|
+
}
|
|
306
|
+
catch (pushErr) {
|
|
307
|
+
console.log(`${logPrefix} ⚠️ Push failed (origin moved). Fetching and rebasing before retry...`);
|
|
308
|
+
// WU-1348: Do NOT reset main checkout - preserve micro-worktree isolation
|
|
309
|
+
// Instead, fetch latest remote state and rebase the temp branch
|
|
310
|
+
// Fetch latest origin/main
|
|
311
|
+
console.log(`${logPrefix} Fetching ${remote}/${branch}...`);
|
|
312
|
+
await mainGit.fetch(remote, branch);
|
|
313
|
+
// Rebase temp branch onto updated origin/main
|
|
314
|
+
console.log(`${logPrefix} Rebasing temp branch onto ${remote}/${branch}...`);
|
|
315
|
+
await worktreeGit.rebase(`${remote}/${branch}`);
|
|
316
|
+
// Re-merge temp branch to local main (ff-only)
|
|
317
|
+
// This updates local main to include the rebased commits
|
|
318
|
+
console.log(`${logPrefix} Re-merging temp branch to ${branch}...`);
|
|
319
|
+
await mainGit.merge(tempBranchName, { ffOnly: true });
|
|
320
|
+
// Re-throw to trigger p-retry
|
|
321
|
+
throw pushErr;
|
|
322
|
+
}
|
|
323
|
+
}, {
|
|
324
|
+
retries: config.retries - 1, // p-retry counts retries after first attempt
|
|
325
|
+
minTimeout: config.min_delay_ms,
|
|
326
|
+
maxTimeout: config.max_delay_ms,
|
|
327
|
+
randomize: config.jitter,
|
|
328
|
+
onFailedAttempt: () => {
|
|
329
|
+
// Logging is handled in the try/catch above
|
|
330
|
+
},
|
|
331
|
+
}).catch(() => {
|
|
332
|
+
// p-retry exhausted all retries, throw descriptive error
|
|
333
|
+
throw new Error(`Push failed after ${config.retries} attempts. ` +
|
|
334
|
+
`Origin ${branch} may have significant traffic.\n\n` +
|
|
335
|
+
`Suggestions:\n` +
|
|
336
|
+
` - Wait a few seconds and retry the operation\n` +
|
|
337
|
+
` - Increase git.push_retry.retries in workspace.yaml software_delivery\n` +
|
|
338
|
+
` - Check if another agent is rapidly pushing changes`);
|
|
339
|
+
});
|
|
340
|
+
}
|
|
341
|
+
finally {
|
|
342
|
+
// WU-1418: Restore original LUMENFLOW_WU_TOOL value
|
|
343
|
+
if (originalWuTool === undefined) {
|
|
344
|
+
Reflect.deleteProperty(process.env, LUMENFLOW_WU_TOOL_ENV);
|
|
345
|
+
}
|
|
346
|
+
else {
|
|
347
|
+
process.env[LUMENFLOW_WU_TOOL_ENV] = originalWuTool;
|
|
348
|
+
}
|
|
349
|
+
}
|
|
350
|
+
}
|
|
351
|
+
/**
|
|
352
|
+
* Push using refspec with LUMENFLOW_FORCE to bypass pre-push hooks
|
|
353
|
+
*
|
|
354
|
+
* WU-1081: Micro-worktree pushes to origin/main need to bypass pre-push hooks
|
|
355
|
+
* because they operate from temp branches in /tmp directories, which would
|
|
356
|
+
* otherwise be blocked by hook validation.
|
|
357
|
+
*
|
|
358
|
+
* Sets LUMENFLOW_FORCE=1 and LUMENFLOW_FORCE_REASON during the push,
|
|
359
|
+
* then restores original environment values (even on error).
|
|
360
|
+
*
|
|
361
|
+
* @param {GitAdapter} gitAdapter - GitAdapter instance to use for push
|
|
362
|
+
* @param {string} remote - Remote name (e.g., 'origin')
|
|
363
|
+
* @param {string} localRef - Local ref to push (e.g., 'tmp/wu-claim/wu-123')
|
|
364
|
+
* @param {string} remoteRef - Remote ref to update (e.g., 'main')
|
|
365
|
+
* @param {string} reason - Audit reason for the LUMENFLOW_FORCE bypass
|
|
366
|
+
* @returns {Promise<void>}
|
|
367
|
+
* @throws {Error} If push fails (env vars still restored)
|
|
368
|
+
*/
|
|
369
|
+
export async function withMicroWorktree(options) {
|
|
370
|
+
const { operation, id, logPrefix = `[${operation}]`, execute, pushOnly = false, pushRetryOverride, } = options;
|
|
371
|
+
const mainGit = getGitForCwd();
|
|
372
|
+
// WU-1308: Check if remote operations should be skipped (local-only mode)
|
|
373
|
+
const skipRemote = shouldSkipRemoteOperations();
|
|
374
|
+
// WU-2237: Clean up UnsafeAny orphaned temp branch/worktree from previous interrupted operations
|
|
375
|
+
// This makes the operation idempotent - a retry after crash/timeout will succeed
|
|
376
|
+
await cleanupOrphanedMicroWorktree(operation, id, mainGit, logPrefix);
|
|
377
|
+
// WU-1179/WU-1672: Fetch origin/main before starting to minimize race condition window.
|
|
378
|
+
// In pushOnly mode, fetch updates origin/main tracking ref without touching local main.
|
|
379
|
+
// WU-1308: Skip when git.requireRemote=false (local-only mode).
|
|
380
|
+
if (!skipRemote) {
|
|
381
|
+
console.log(`${logPrefix} Fetching ${REMOTES.ORIGIN}/${BRANCHES.MAIN} before starting...`);
|
|
382
|
+
await mainGit.fetch(REMOTES.ORIGIN, BRANCHES.MAIN);
|
|
383
|
+
if (pushOnly) {
|
|
384
|
+
console.log(`${logPrefix} ✅ Push-only mode will base from ${REMOTES.ORIGIN}/${BRANCHES.MAIN}; local main unchanged (WU-1672)`);
|
|
385
|
+
}
|
|
386
|
+
else {
|
|
387
|
+
// Update local main to match origin/main for standard mode.
|
|
388
|
+
await mainGit.merge(`${REMOTES.ORIGIN}/${BRANCHES.MAIN}`, { ffOnly: true });
|
|
389
|
+
console.log(`${logPrefix} ✅ Local main synced with ${REMOTES.ORIGIN}/${BRANCHES.MAIN}`);
|
|
390
|
+
}
|
|
391
|
+
}
|
|
392
|
+
else if (skipRemote) {
|
|
393
|
+
console.log(`${logPrefix} Local-only mode (git.requireRemote=false): skipping origin sync`);
|
|
394
|
+
}
|
|
395
|
+
const tempBranchName = getTempBranchName(operation, id);
|
|
396
|
+
const baseRef = pushOnly && !skipRemote ? `${REMOTES.ORIGIN}/${BRANCHES.MAIN}` : BRANCHES.MAIN;
|
|
397
|
+
const microWorktreePath = createMicroWorktreeDir(`${operation}-`);
|
|
398
|
+
console.log(`${logPrefix} Using micro-worktree isolation (WU-1262)`);
|
|
399
|
+
console.log(`${logPrefix} Temp branch: ${tempBranchName}`);
|
|
400
|
+
console.log(`${logPrefix} Micro-worktree: ${microWorktreePath}`);
|
|
401
|
+
if (pushOnly) {
|
|
402
|
+
console.log(`${logPrefix} Push-only mode: local main will not be modified (WU-1435/WU-1672)`);
|
|
403
|
+
}
|
|
404
|
+
try {
|
|
405
|
+
// Step 1: Create temp branch without switching
|
|
406
|
+
console.log(`${logPrefix} Creating temp branch...`);
|
|
407
|
+
await mainGit.createBranchNoCheckout(tempBranchName, baseRef);
|
|
408
|
+
// Step 2: Create micro-worktree pointing to temp branch
|
|
409
|
+
console.log(`${logPrefix} Creating micro-worktree...`);
|
|
410
|
+
await mainGit.worktreeAddExisting(microWorktreePath, tempBranchName);
|
|
411
|
+
// Step 3: Execute the operation in micro-worktree
|
|
412
|
+
const gitWorktree = createGitForPath(microWorktreePath);
|
|
413
|
+
const result = await execute({ worktreePath: microWorktreePath, gitWorktree });
|
|
414
|
+
// Step 4: Format files before committing (WU-1435)
|
|
415
|
+
await formatFiles(result.files, microWorktreePath, logPrefix);
|
|
416
|
+
// Step 5: Stage and commit in micro-worktree
|
|
417
|
+
// WU-1813: Use stageChangesWithDeletions to properly handle file deletions
|
|
418
|
+
console.log(`${logPrefix} Staging changes (including deletions)...`);
|
|
419
|
+
await stageChangesWithDeletions(gitWorktree, result.files);
|
|
420
|
+
console.log(`${logPrefix} Committing in micro-worktree...`);
|
|
421
|
+
await gitWorktree.commit(result.commitMessage);
|
|
422
|
+
console.log(`${logPrefix} ✅ Committed: ${result.commitMessage}`);
|
|
423
|
+
// Step 6: Push to origin (different paths for pushOnly vs standard)
|
|
424
|
+
// WU-1308: Skip push when git.requireRemote=false (local-only mode)
|
|
425
|
+
if (skipRemote) {
|
|
426
|
+
// Local-only mode: merge to local main but skip push
|
|
427
|
+
console.log(`${logPrefix} Local-only mode: merging to local main (skipping push)`);
|
|
428
|
+
await mainGit.merge(tempBranchName, { ffOnly: true });
|
|
429
|
+
console.log(`${logPrefix} ✅ Merged to local main (no remote push)`);
|
|
430
|
+
return { ...result, ref: BRANCHES.MAIN };
|
|
431
|
+
}
|
|
432
|
+
else if (pushOnly) {
|
|
433
|
+
// WU-1435: Push directly to origin/main without touching local main
|
|
434
|
+
// WU-1081: Use LUMENFLOW_FORCE to bypass pre-push hooks for micro-worktree pushes
|
|
435
|
+
// WU-1337: Use pushRefspecWithRetry to handle race conditions with rebase
|
|
436
|
+
// Resolve effective push_retry config from defaults + global + operation override
|
|
437
|
+
const config = getConfig();
|
|
438
|
+
const pushRetryConfig = resolvePushRetryConfig(config.git.push_retry, pushRetryOverride);
|
|
439
|
+
await pushRefspecWithRetry(gitWorktree, mainGit, REMOTES.ORIGIN, tempBranchName, BRANCHES.MAIN, `micro-worktree push for ${operation} (automated)`, logPrefix, pushRetryConfig);
|
|
440
|
+
// Fetch to update remote tracking ref (FETCH_HEAD)
|
|
441
|
+
console.log(`${logPrefix} Fetching ${REMOTES.ORIGIN}/${BRANCHES.MAIN}...`);
|
|
442
|
+
await mainGit.fetch(REMOTES.ORIGIN, BRANCHES.MAIN);
|
|
443
|
+
console.log(`${logPrefix} ✅ Fetched ${REMOTES.ORIGIN}/${BRANCHES.MAIN}`);
|
|
444
|
+
// Return FETCH_HEAD as ref for worktree creation
|
|
445
|
+
return { ...result, ref: GIT_REFS.FETCH_HEAD };
|
|
446
|
+
}
|
|
447
|
+
else {
|
|
448
|
+
// Standard path: merge to local main, then push
|
|
449
|
+
const gitWorktree = createGitForPath(microWorktreePath);
|
|
450
|
+
await mergeWithRetry(tempBranchName, microWorktreePath, logPrefix);
|
|
451
|
+
// WU-1179: Use pushWithRetry to handle race conditions
|
|
452
|
+
// On push failure, rollback local main and retry with rebase
|
|
453
|
+
// WU-1418: Pass operation name to set LUMENFLOW_WU_TOOL for pre-push hook bypass
|
|
454
|
+
await pushWithRetry(mainGit, gitWorktree, REMOTES.ORIGIN, BRANCHES.MAIN, tempBranchName, logPrefix, operation);
|
|
455
|
+
return { ...result, ref: BRANCHES.MAIN };
|
|
456
|
+
}
|
|
457
|
+
}
|
|
458
|
+
finally {
|
|
459
|
+
// Cleanup (always runs)
|
|
460
|
+
await cleanupMicroWorktree(microWorktreePath, tempBranchName, logPrefix);
|
|
461
|
+
}
|
|
462
|
+
}
|
|
463
|
+
//# sourceMappingURL=micro-worktree.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"micro-worktree.js","sourceRoot":"","sources":["../src/micro-worktree.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Normalize config keys from snake_case YAML convention to camelCase schema convention.
|
|
3
|
+
*
|
|
4
|
+
* Currently normalizes the `git` section. Other sections can be added as needed.
|
|
5
|
+
*
|
|
6
|
+
* @param raw - Raw parsed YAML config object
|
|
7
|
+
* @returns Config with normalized keys, ready for Zod parsing
|
|
8
|
+
*/
|
|
9
|
+
export declare function normalizeConfigKeys(raw: Record<string, unknown>): Record<string, unknown>;
|
|
10
|
+
//# sourceMappingURL=normalize-config-keys.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize-config-keys.d.ts","sourceRoot":"","sources":["../src/normalize-config-keys.ts"],"names":[],"mappings":"AA2DA;;;;;;;GAOG;AACH,wBAAgB,mBAAmB,CAAC,GAAG,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAYzF"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
// Copyright (c) 2026 Hellmai Ltd
|
|
2
|
+
// SPDX-License-Identifier: AGPL-3.0-only
|
|
3
|
+
/**
|
|
4
|
+
* Config Key Normalization (WU-1765)
|
|
5
|
+
*
|
|
6
|
+
* Transforms snake_case YAML keys to camelCase before Zod parsing.
|
|
7
|
+
*
|
|
8
|
+
* Root cause: workspace.yaml conventionally uses snake_case keys
|
|
9
|
+
* (e.g., agent_branch_patterns), but the Zod schema expects camelCase
|
|
10
|
+
* (e.g., agentBranchPatterns). yaml.parse() returns keys as-is, and Zod
|
|
11
|
+
* silently drops unrecognized keys via its default strip mode.
|
|
12
|
+
*
|
|
13
|
+
* This module provides a focused normalization for the git config section
|
|
14
|
+
* where the mismatch causes real bugs (agent branch detection fails).
|
|
15
|
+
*
|
|
16
|
+
* @module normalize-config-keys
|
|
17
|
+
*/
|
|
18
|
+
/** Known snake_case → camelCase mappings for the git config section */
|
|
19
|
+
const GIT_KEY_MAP = {
|
|
20
|
+
agent_branch_patterns: 'agentBranchPatterns',
|
|
21
|
+
agent_branch_patterns_override: 'agentBranchPatternsOverride',
|
|
22
|
+
disable_agent_pattern_registry: 'disableAgentPatternRegistry',
|
|
23
|
+
main_branch: 'mainBranch',
|
|
24
|
+
default_remote: 'defaultRemote',
|
|
25
|
+
require_remote: 'requireRemote',
|
|
26
|
+
lane_branch_prefix: 'laneBranchPrefix',
|
|
27
|
+
max_branch_drift: 'maxBranchDrift',
|
|
28
|
+
};
|
|
29
|
+
/**
|
|
30
|
+
* Normalize a single config section's keys using a key map.
|
|
31
|
+
*
|
|
32
|
+
* camelCase keys take precedence over snake_case when both exist,
|
|
33
|
+
* since the camelCase form is the canonical schema form.
|
|
34
|
+
*/
|
|
35
|
+
function normalizeSection(section, keyMap) {
|
|
36
|
+
const result = {};
|
|
37
|
+
for (const [key, value] of Object.entries(section)) {
|
|
38
|
+
const camelKey = keyMap[key];
|
|
39
|
+
if (camelKey) {
|
|
40
|
+
// Only set from snake_case if camelCase form is not already present
|
|
41
|
+
if (!(camelKey in section)) {
|
|
42
|
+
result[camelKey] = value;
|
|
43
|
+
}
|
|
44
|
+
// Don't copy the snake_case key to output
|
|
45
|
+
}
|
|
46
|
+
else {
|
|
47
|
+
result[key] = value;
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
return result;
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Normalize config keys from snake_case YAML convention to camelCase schema convention.
|
|
54
|
+
*
|
|
55
|
+
* Currently normalizes the `git` section. Other sections can be added as needed.
|
|
56
|
+
*
|
|
57
|
+
* @param raw - Raw parsed YAML config object
|
|
58
|
+
* @returns Config with normalized keys, ready for Zod parsing
|
|
59
|
+
*/
|
|
60
|
+
export function normalizeConfigKeys(raw) {
|
|
61
|
+
if (!raw || typeof raw !== 'object') {
|
|
62
|
+
return raw ?? {};
|
|
63
|
+
}
|
|
64
|
+
const result = { ...raw };
|
|
65
|
+
if (result.git && typeof result.git === 'object' && !Array.isArray(result.git)) {
|
|
66
|
+
result.git = normalizeSection(result.git, GIT_KEY_MAP);
|
|
67
|
+
}
|
|
68
|
+
return result;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=normalize-config-keys.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"normalize-config-keys.js","sourceRoot":"","sources":["../src/normalize-config-keys.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,yCAAyC;AAEzC;;;;;;;;;;;;;;GAcG;AAEH,uEAAuE;AACvE,MAAM,WAAW,GAA2B;IAC1C,qBAAqB,EAAE,qBAAqB;IAC5C,8BAA8B,EAAE,6BAA6B;IAC7D,8BAA8B,EAAE,6BAA6B;IAC7D,WAAW,EAAE,YAAY;IACzB,cAAc,EAAE,eAAe;IAC/B,cAAc,EAAE,eAAe;IAC/B,kBAAkB,EAAE,kBAAkB;IACtC,gBAAgB,EAAE,gBAAgB;CACnC,CAAC;AAEF;;;;;GAKG;AACH,SAAS,gBAAgB,CACvB,OAAgC,EAChC,MAA8B;IAE9B,MAAM,MAAM,GAA4B,EAAE,CAAC;IAE3C,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,CAAC;QACnD,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,CAAC;QAC7B,IAAI,QAAQ,EAAE,CAAC;YACb,oEAAoE;YACpE,IAAI,CAAC,CAAC,QAAQ,IAAI,OAAO,CAAC,EAAE,CAAC;gBAC3B,MAAM,CAAC,QAAQ,CAAC,GAAG,KAAK,CAAC;YAC3B,CAAC;YACD,0CAA0C;QAC5C,CAAC;aAAM,CAAC;YACN,MAAM,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC;QACtB,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;;;;;;GAOG;AACH,MAAM,UAAU,mBAAmB,CAAC,GAA4B;IAC9D,IAAI,CAAC,GAAG,IAAI,OAAO,GAAG,KAAK,QAAQ,EAAE,CAAC;QACpC,OAAO,GAAG,IAAI,EAAE,CAAC;IACnB,CAAC;IAED,MAAM,MAAM,GAAG,EAAE,GAAG,GAAG,EAAE,CAAC;IAE1B,IAAI,MAAM,CAAC,GAAG,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,QAAQ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAAC;QAC/E,MAAM,CAAC,GAAG,GAAG,gBAAgB,CAAC,MAAM,CAAC,GAA8B,EAAE,WAAW,CAAC,CAAC;IACpF,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
export declare const VALUE_TYPE: {
|
|
2
|
+
readonly OBJECT: "object";
|
|
3
|
+
readonly STRING: "string";
|
|
4
|
+
readonly NUMBER: "number";
|
|
5
|
+
readonly BOOLEAN: "boolean";
|
|
6
|
+
};
|
|
7
|
+
export declare function asRecord(value: unknown): Record<string, unknown> | null;
|
|
8
|
+
export declare function isString(value: unknown): value is string;
|
|
9
|
+
export declare function isNumber(value: unknown): value is number;
|
|
10
|
+
export declare function isBoolean(value: unknown): value is boolean;
|
|
11
|
+
//# sourceMappingURL=object-guards.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object-guards.d.ts","sourceRoot":"","sources":["../src/object-guards.ts"],"names":[],"mappings":"AAGA,eAAO,MAAM,UAAU;;;;;CAKb,CAAC;AAEX,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAIvE;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AAED,wBAAgB,QAAQ,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,MAAM,CAExD;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,OAAO,GAAG,KAAK,IAAI,OAAO,CAE1D"}
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
// Copyright (c) 2026 Hellmai Ltd
|
|
2
|
+
// SPDX-License-Identifier: AGPL-3.0-only
|
|
3
|
+
export const VALUE_TYPE = {
|
|
4
|
+
OBJECT: 'object',
|
|
5
|
+
STRING: 'string',
|
|
6
|
+
NUMBER: 'number',
|
|
7
|
+
BOOLEAN: 'boolean',
|
|
8
|
+
};
|
|
9
|
+
export function asRecord(value) {
|
|
10
|
+
return value && typeof value === VALUE_TYPE.OBJECT && !Array.isArray(value)
|
|
11
|
+
? value
|
|
12
|
+
: null;
|
|
13
|
+
}
|
|
14
|
+
export function isString(value) {
|
|
15
|
+
return typeof value === VALUE_TYPE.STRING;
|
|
16
|
+
}
|
|
17
|
+
export function isNumber(value) {
|
|
18
|
+
return typeof value === VALUE_TYPE.NUMBER;
|
|
19
|
+
}
|
|
20
|
+
export function isBoolean(value) {
|
|
21
|
+
return typeof value === VALUE_TYPE.BOOLEAN;
|
|
22
|
+
}
|
|
23
|
+
//# sourceMappingURL=object-guards.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"object-guards.js","sourceRoot":"","sources":["../src/object-guards.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,yCAAyC;AAEzC,MAAM,CAAC,MAAM,UAAU,GAAG;IACxB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,MAAM,EAAE,QAAQ;IAChB,OAAO,EAAE,SAAS;CACV,CAAC;AAEX,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,KAAK,IAAI,OAAO,KAAK,KAAK,UAAU,CAAC,MAAM,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,KAAK,CAAC;QACzE,CAAC,CAAE,KAAiC;QACpC,CAAC,CAAC,IAAI,CAAC;AACX,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC,MAAM,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,QAAQ,CAAC,KAAc;IACrC,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC,MAAM,CAAC;AAC5C,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAc;IACtC,OAAO,OAAO,KAAK,KAAK,UAAU,CAAC,OAAO,CAAC;AAC7C,CAAC"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Emit mandatory agent advisory based on code paths.
|
|
3
|
+
*
|
|
4
|
+
* @param {string[]} codePaths - Array of file paths
|
|
5
|
+
* @param {string} wuId - Work Unit ID
|
|
6
|
+
*/
|
|
7
|
+
export declare function emitMandatoryAgentAdvisory(codePaths: UnsafeAny, wuId: UnsafeAny): void;
|
|
8
|
+
/**
|
|
9
|
+
* Check mandatory agent compliance.
|
|
10
|
+
*
|
|
11
|
+
* @param {string[]} codePaths - Array of file paths
|
|
12
|
+
* @param {string} _wuId - Work Unit ID (reserved for future telemetry lookup)
|
|
13
|
+
* @returns {{compliant: boolean, missing: string[]}}
|
|
14
|
+
*/
|
|
15
|
+
export declare function checkMandatoryAgentsCompliance(codePaths: UnsafeAny, _wuId: UnsafeAny): {
|
|
16
|
+
compliant: boolean;
|
|
17
|
+
missing: unknown[];
|
|
18
|
+
};
|
|
19
|
+
//# sourceMappingURL=orchestration-advisory-loader.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"orchestration-advisory-loader.d.ts","sourceRoot":"","sources":["../src/orchestration-advisory-loader.ts"],"names":[],"mappings":"AAwDA;;;;;GAKG;AACH,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,SAAS,EAAE,IAAI,EAAE,SAAS,QA8B/E;AAED;;;;;;GAMG;AACH,wBAAgB,8BAA8B,CAAC,SAAS,EAAE,SAAS,EAAE,KAAK,EAAE,SAAS;;;EAWpF"}
|