@lumenflow/core 3.2.0 → 3.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/active-wu-detector.d.ts +25 -0
- package/dist/active-wu-detector.d.ts.map +1 -0
- package/dist/active-wu-detector.js +109 -0
- package/dist/active-wu-detector.js.map +1 -0
- package/dist/adapters/context-adapters.d.ts +101 -0
- package/dist/adapters/context-adapters.d.ts.map +1 -0
- package/dist/adapters/context-adapters.js +98 -0
- package/dist/adapters/context-adapters.js.map +1 -0
- package/dist/adapters/filesystem-metrics.adapter.d.ts +91 -0
- package/dist/adapters/filesystem-metrics.adapter.d.ts.map +1 -0
- package/dist/adapters/filesystem-metrics.adapter.js +530 -0
- package/dist/adapters/filesystem-metrics.adapter.js.map +1 -0
- package/dist/adapters/index.d.ts +15 -0
- package/dist/adapters/index.d.ts.map +1 -0
- package/dist/adapters/index.js +21 -0
- package/dist/adapters/index.js.map +1 -0
- package/dist/adapters/mock-dashboard-renderer.adapter.d.ts +86 -0
- package/dist/adapters/mock-dashboard-renderer.adapter.d.ts.map +1 -0
- package/dist/adapters/mock-dashboard-renderer.adapter.js +93 -0
- package/dist/adapters/mock-dashboard-renderer.adapter.js.map +1 -0
- package/dist/adapters/recovery-adapters.d.ts +41 -0
- package/dist/adapters/recovery-adapters.d.ts.map +1 -0
- package/dist/adapters/recovery-adapters.js +32 -0
- package/dist/adapters/recovery-adapters.js.map +1 -0
- package/dist/adapters/terminal-renderer.adapter.d.ts +86 -0
- package/dist/adapters/terminal-renderer.adapter.d.ts.map +1 -0
- package/dist/adapters/terminal-renderer.adapter.js +344 -0
- package/dist/adapters/terminal-renderer.adapter.js.map +1 -0
- package/dist/adapters/validation-adapters.d.ts +53 -0
- package/dist/adapters/validation-adapters.d.ts.map +1 -0
- package/dist/adapters/validation-adapters.js +48 -0
- package/dist/adapters/validation-adapters.js.map +1 -0
- package/dist/agent-patterns-registry.d.ts +141 -0
- package/dist/agent-patterns-registry.d.ts.map +1 -0
- package/dist/agent-patterns-registry.js +320 -0
- package/dist/agent-patterns-registry.js.map +1 -0
- package/dist/arg-parser.d.ts +94 -0
- package/dist/arg-parser.d.ts.map +1 -0
- package/dist/arg-parser.js +774 -0
- package/dist/arg-parser.js.map +1 -0
- package/dist/atomic-merge.d.ts +21 -0
- package/dist/atomic-merge.d.ts.map +1 -0
- package/dist/atomic-merge.js +87 -0
- package/dist/atomic-merge.js.map +1 -0
- package/dist/backlog-editor.d.ts +103 -0
- package/dist/backlog-editor.d.ts.map +1 -0
- package/dist/backlog-editor.js +158 -0
- package/dist/backlog-editor.js.map +1 -0
- package/dist/backlog-generator.d.ts +90 -0
- package/dist/backlog-generator.d.ts.map +1 -0
- package/dist/backlog-generator.js +536 -0
- package/dist/backlog-generator.js.map +1 -0
- package/dist/backlog-parser.d.ts +46 -0
- package/dist/backlog-parser.d.ts.map +1 -0
- package/dist/backlog-parser.js +105 -0
- package/dist/backlog-parser.js.map +1 -0
- package/dist/backlog-sync-validator.d.ts +88 -0
- package/dist/backlog-sync-validator.d.ts.map +1 -0
- package/dist/backlog-sync-validator.js +322 -0
- package/dist/backlog-sync-validator.js.map +1 -0
- package/dist/branch-check.d.ts +63 -0
- package/dist/branch-check.d.ts.map +1 -0
- package/dist/branch-check.js +197 -0
- package/dist/branch-check.js.map +1 -0
- package/dist/branch-drift.d.ts +24 -0
- package/dist/branch-drift.d.ts.map +1 -0
- package/dist/branch-drift.js +54 -0
- package/dist/branch-drift.js.map +1 -0
- package/dist/cleanup-install-config.d.ts +24 -0
- package/dist/cleanup-install-config.d.ts.map +1 -0
- package/dist/cleanup-install-config.js +40 -0
- package/dist/cleanup-install-config.js.map +1 -0
- package/dist/cleanup-lock.d.ts +125 -0
- package/dist/cleanup-lock.d.ts.map +1 -0
- package/dist/cleanup-lock.js +322 -0
- package/dist/cleanup-lock.js.map +1 -0
- package/dist/cli/is-agent-branch.d.ts +22 -0
- package/dist/cli/is-agent-branch.d.ts.map +1 -0
- package/dist/cli/is-agent-branch.js.map +1 -0
- package/dist/cloud-detect.d.ts +145 -0
- package/dist/cloud-detect.d.ts.map +1 -0
- package/dist/cloud-detect.js +116 -0
- package/dist/cloud-detect.js.map +1 -0
- package/dist/code-path-validator.d.ts +145 -0
- package/dist/code-path-validator.d.ts.map +1 -0
- package/dist/code-path-validator.js +553 -0
- package/dist/code-path-validator.js.map +1 -0
- package/dist/code-paths-overlap.d.ts +50 -0
- package/dist/code-paths-overlap.d.ts.map +1 -0
- package/dist/code-paths-overlap.js +248 -0
- package/dist/code-paths-overlap.js.map +1 -0
- package/dist/color-support.d.ts +21 -0
- package/dist/color-support.d.ts.map +1 -0
- package/dist/color-support.js +67 -0
- package/dist/color-support.js.map +1 -0
- package/dist/commands-logger.d.ts +71 -0
- package/dist/commands-logger.d.ts.map +1 -0
- package/dist/commands-logger.js +257 -0
- package/dist/commands-logger.js.map +1 -0
- package/dist/commit-message-utils.d.ts +26 -0
- package/dist/commit-message-utils.d.ts.map +1 -0
- package/dist/commit-message-utils.js +44 -0
- package/dist/commit-message-utils.js.map +1 -0
- package/dist/config-contract.d.ts +12 -0
- package/dist/config-contract.d.ts.map +1 -0
- package/dist/config-contract.js +14 -0
- package/dist/config-contract.js.map +1 -0
- package/dist/constants/backlog-patterns.d.ts +21 -0
- package/dist/constants/backlog-patterns.d.ts.map +1 -0
- package/dist/constants/backlog-patterns.js +26 -0
- package/dist/constants/backlog-patterns.js.map +1 -0
- package/dist/constants/display-constants.d.ts +22 -0
- package/dist/constants/display-constants.d.ts.map +1 -0
- package/dist/constants/display-constants.js +26 -0
- package/dist/constants/display-constants.js.map +1 -0
- package/dist/constants/dora-constants.d.ts +50 -0
- package/dist/constants/dora-constants.d.ts.map +1 -0
- package/dist/constants/dora-constants.js +56 -0
- package/dist/constants/dora-constants.js.map +1 -0
- package/dist/constants/duration-constants.d.ts +29 -0
- package/dist/constants/duration-constants.d.ts.map +1 -0
- package/dist/constants/duration-constants.js +31 -0
- package/dist/constants/duration-constants.js.map +1 -0
- package/dist/constants/gate-constants.d.ts +24 -0
- package/dist/constants/gate-constants.d.ts.map +1 -0
- package/dist/constants/gate-constants.js +26 -0
- package/dist/constants/gate-constants.js.map +1 -0
- package/dist/constants/git-constants.d.ts +33 -0
- package/dist/constants/git-constants.d.ts.map +1 -0
- package/dist/constants/git-constants.js +35 -0
- package/dist/constants/git-constants.js.map +1 -0
- package/dist/constants/index.d.ts +20 -0
- package/dist/constants/index.d.ts.map +1 -0
- package/dist/constants/index.js +31 -0
- package/dist/constants/index.js.map +1 -0
- package/dist/constants/linter-constants.d.ts +17 -0
- package/dist/constants/linter-constants.d.ts.map +1 -0
- package/dist/constants/linter-constants.js +19 -0
- package/dist/constants/linter-constants.js.map +1 -0
- package/dist/constants/lock-constants.d.ts +29 -0
- package/dist/constants/lock-constants.d.ts.map +1 -0
- package/dist/constants/lock-constants.js +31 -0
- package/dist/constants/lock-constants.js.map +1 -0
- package/dist/constants/tokenizer-constants.d.ts +16 -0
- package/dist/constants/tokenizer-constants.d.ts.map +1 -0
- package/dist/constants/tokenizer-constants.js +18 -0
- package/dist/constants/tokenizer-constants.js.map +1 -0
- package/dist/constants/validation-constants.d.ts +15 -0
- package/dist/constants/validation-constants.d.ts.map +1 -0
- package/dist/constants/validation-constants.js +17 -0
- package/dist/constants/validation-constants.js.map +1 -0
- package/dist/context/context-computer.d.ts +36 -0
- package/dist/context/context-computer.d.ts.map +1 -0
- package/dist/context/context-computer.js +128 -0
- package/dist/context/context-computer.js.map +1 -0
- package/dist/context/git-state-reader.d.ts +37 -0
- package/dist/context/git-state-reader.d.ts.map +1 -0
- package/dist/context/git-state-reader.js +64 -0
- package/dist/context/git-state-reader.js.map +1 -0
- package/dist/context/index.d.ts +18 -0
- package/dist/context/index.d.ts.map +1 -0
- package/dist/context/index.js +20 -0
- package/dist/context/index.js.map +1 -0
- package/dist/context/location-resolver.d.ts +34 -0
- package/dist/context/location-resolver.d.ts.map +1 -0
- package/dist/context/location-resolver.js +179 -0
- package/dist/context/location-resolver.js.map +1 -0
- package/dist/context/wu-state-reader.d.ts +30 -0
- package/dist/context/wu-state-reader.d.ts.map +1 -0
- package/dist/context/wu-state-reader.js +126 -0
- package/dist/context/wu-state-reader.js.map +1 -0
- package/dist/context-di.d.ts +185 -0
- package/dist/context-di.d.ts.map +1 -0
- package/dist/context-di.js +165 -0
- package/dist/context-di.js.map +1 -0
- package/dist/context-validation-integration.d.ts +69 -0
- package/dist/context-validation-integration.d.ts.map +1 -0
- package/dist/context-validation-integration.js +161 -0
- package/dist/context-validation-integration.js.map +1 -0
- package/dist/core/scope-checker.d.ts +80 -0
- package/dist/core/scope-checker.d.ts.map +1 -0
- package/dist/core/scope-checker.js +166 -0
- package/dist/core/scope-checker.js.map +1 -0
- package/dist/core/tool-runner.d.ts +136 -0
- package/dist/core/tool-runner.d.ts.map +1 -0
- package/dist/core/tool-runner.js +396 -0
- package/dist/core/tool-runner.js.map +1 -0
- package/dist/core/tool.constants.d.ts +106 -0
- package/dist/core/tool.constants.d.ts.map +1 -0
- package/dist/core/tool.constants.js +104 -0
- package/dist/core/tool.constants.js.map +1 -0
- package/dist/core/tool.schemas.d.ts +227 -0
- package/dist/core/tool.schemas.d.ts.map +1 -0
- package/dist/core/tool.schemas.js +229 -0
- package/dist/core/tool.schemas.js.map +1 -0
- package/dist/core/worktree-guard.d.ts +115 -0
- package/dist/core/worktree-guard.d.ts.map +1 -0
- package/dist/core/worktree-guard.js +245 -0
- package/dist/core/worktree-guard.js.map +1 -0
- package/dist/coverage-gate.d.ts +127 -0
- package/dist/coverage-gate.d.ts.map +1 -0
- package/dist/coverage-gate.js +211 -0
- package/dist/coverage-gate.js.map +1 -0
- package/dist/cycle-detector.d.ts +52 -0
- package/dist/cycle-detector.d.ts.map +1 -0
- package/dist/cycle-detector.js +84 -0
- package/dist/cycle-detector.js.map +1 -0
- package/dist/date-utils.d.ts +66 -0
- package/dist/date-utils.d.ts.map +1 -0
- package/dist/date-utils.js +143 -0
- package/dist/date-utils.js.map +1 -0
- package/dist/delegation-escalation.d.ts +71 -0
- package/dist/delegation-escalation.d.ts.map +1 -0
- package/dist/delegation-escalation.js +264 -0
- package/dist/delegation-escalation.js.map +1 -0
- package/dist/delegation-monitor.d.ts +262 -0
- package/dist/delegation-monitor.d.ts.map +1 -0
- package/dist/delegation-monitor.js +678 -0
- package/dist/delegation-monitor.js.map +1 -0
- package/dist/delegation-recovery.d.ts +62 -0
- package/dist/delegation-recovery.d.ts.map +1 -0
- package/dist/delegation-recovery.js +304 -0
- package/dist/delegation-recovery.js.map +1 -0
- package/dist/delegation-registry-schema.d.ts +75 -0
- package/dist/delegation-registry-schema.d.ts.map +1 -0
- package/dist/delegation-registry-schema.js +93 -0
- package/dist/delegation-registry-schema.js.map +1 -0
- package/dist/delegation-registry-store.d.ts +145 -0
- package/dist/delegation-registry-store.d.ts.map +1 -0
- package/dist/delegation-registry-store.js +308 -0
- package/dist/delegation-registry-store.js.map +1 -0
- package/dist/delegation-tree.d.ts +52 -0
- package/dist/delegation-tree.d.ts.map +1 -0
- package/dist/delegation-tree.js +205 -0
- package/dist/delegation-tree.js.map +1 -0
- package/dist/dependency-graph.d.ts +169 -0
- package/dist/dependency-graph.d.ts.map +1 -0
- package/dist/dependency-graph.js +612 -0
- package/dist/dependency-graph.js.map +1 -0
- package/dist/dependency-guard.d.ts +41 -0
- package/dist/dependency-guard.d.ts.map +1 -0
- package/dist/dependency-guard.js +145 -0
- package/dist/dependency-guard.js.map +1 -0
- package/dist/dependency-validator.d.ts +89 -0
- package/dist/dependency-validator.d.ts.map +1 -0
- package/dist/dependency-validator.js +155 -0
- package/dist/dependency-validator.js.map +1 -0
- package/dist/docs-path-validator.d.ts +16 -0
- package/dist/docs-path-validator.d.ts.map +1 -0
- package/dist/docs-path-validator.js +98 -0
- package/dist/docs-path-validator.js.map +1 -0
- package/dist/domain/context.schemas.d.ts +170 -0
- package/dist/domain/context.schemas.d.ts.map +1 -0
- package/dist/domain/context.schemas.js +151 -0
- package/dist/domain/context.schemas.js.map +1 -0
- package/dist/domain/index.d.ts +15 -0
- package/dist/domain/index.d.ts.map +1 -0
- package/dist/domain/index.js +23 -0
- package/dist/domain/index.js.map +1 -0
- package/dist/domain/orchestration.constants.d.ts +111 -0
- package/dist/domain/orchestration.constants.d.ts.map +1 -0
- package/dist/domain/orchestration.constants.js +130 -0
- package/dist/domain/orchestration.constants.js.map +1 -0
- package/dist/domain/orchestration.schemas.d.ts +307 -0
- package/dist/domain/orchestration.schemas.d.ts.map +1 -0
- package/dist/domain/orchestration.schemas.js +214 -0
- package/dist/domain/orchestration.schemas.js.map +1 -0
- package/dist/domain/orchestration.types.d.ts +134 -0
- package/dist/domain/orchestration.types.d.ts.map +1 -0
- package/dist/domain/orchestration.types.js +5 -0
- package/dist/domain/orchestration.types.js.map +1 -0
- package/dist/domain/recovery.schemas.d.ts +164 -0
- package/dist/domain/recovery.schemas.d.ts.map +1 -0
- package/dist/domain/recovery.schemas.js +134 -0
- package/dist/domain/recovery.schemas.js.map +1 -0
- package/dist/domain/validation.schemas.d.ts +147 -0
- package/dist/domain/validation.schemas.d.ts.map +1 -0
- package/dist/domain/validation.schemas.js +117 -0
- package/dist/domain/validation.schemas.js.map +1 -0
- package/dist/error-handler.d.ts +144 -0
- package/dist/error-handler.d.ts.map +1 -0
- package/dist/error-handler.js +214 -0
- package/dist/error-handler.js.map +1 -0
- package/dist/file-classifiers.d.ts +63 -0
- package/dist/file-classifiers.d.ts.map +1 -0
- package/dist/file-classifiers.js +111 -0
- package/dist/file-classifiers.js.map +1 -0
- package/dist/force-bypass-audit.d.ts +47 -0
- package/dist/force-bypass-audit.d.ts.map +1 -0
- package/dist/force-bypass-audit.js +146 -0
- package/dist/force-bypass-audit.js.map +1 -0
- package/dist/gates-agent-mode.d.ts +107 -0
- package/dist/gates-agent-mode.d.ts.map +1 -0
- package/dist/gates-agent-mode.js +138 -0
- package/dist/gates-agent-mode.js.map +1 -0
- package/dist/gates-config-internal.d.ts +51 -0
- package/dist/gates-config-internal.d.ts.map +1 -0
- package/dist/gates-config-internal.js +105 -0
- package/dist/gates-config-internal.js.map +1 -0
- package/dist/gates-config.d.ts +65 -0
- package/dist/gates-config.d.ts.map +1 -0
- package/dist/gates-config.js +191 -0
- package/dist/gates-config.js.map +1 -0
- package/dist/gates-coverage.d.ts +39 -0
- package/dist/gates-coverage.d.ts.map +1 -0
- package/dist/gates-coverage.js +148 -0
- package/dist/gates-coverage.js.map +1 -0
- package/dist/gates-presets.d.ts +25 -0
- package/dist/gates-presets.d.ts.map +1 -0
- package/dist/gates-presets.js +74 -0
- package/dist/gates-presets.js.map +1 -0
- package/dist/gates-schemas.d.ts +141 -0
- package/dist/gates-schemas.d.ts.map +1 -0
- package/dist/gates-schemas.js +67 -0
- package/dist/gates-schemas.js.map +1 -0
- package/dist/generate-traceability.d.ts +106 -0
- package/dist/generate-traceability.d.ts.map +1 -0
- package/dist/generate-traceability.js +387 -0
- package/dist/generate-traceability.js.map +1 -0
- package/dist/git-adapter.d.ts +406 -0
- package/dist/git-adapter.d.ts.map +1 -0
- package/dist/git-adapter.js +686 -0
- package/dist/git-adapter.js.map +1 -0
- package/dist/git-context-extractor.d.ts +102 -0
- package/dist/git-context-extractor.d.ts.map +1 -0
- package/dist/git-context-extractor.js +569 -0
- package/dist/git-context-extractor.js.map +1 -0
- package/dist/git-staged-validator.d.ts +33 -0
- package/dist/git-staged-validator.d.ts.map +1 -0
- package/dist/git-staged-validator.js +52 -0
- package/dist/git-staged-validator.js.map +1 -0
- package/dist/hardcoded-strings.d.ts +67 -0
- package/dist/hardcoded-strings.d.ts.map +1 -0
- package/dist/hardcoded-strings.js +276 -0
- package/dist/hardcoded-strings.js.map +1 -0
- package/dist/incremental-lint.d.ts +71 -0
- package/dist/incremental-lint.d.ts.map +1 -0
- package/dist/incremental-lint.js +132 -0
- package/dist/incremental-lint.js.map +1 -0
- package/dist/incremental-test.d.ts +33 -0
- package/dist/incremental-test.d.ts.map +1 -0
- package/dist/incremental-test.js +64 -0
- package/dist/incremental-test.js.map +1 -0
- package/dist/index.d.ts +108 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js.map +1 -0
- package/dist/invariants/check-automated-tests.d.ts +42 -0
- package/dist/invariants/check-automated-tests.d.ts.map +1 -0
- package/dist/invariants/check-automated-tests.js +171 -0
- package/dist/invariants/check-automated-tests.js.map +1 -0
- package/dist/invariants-runner.d.ts +166 -0
- package/dist/invariants-runner.d.ts.map +1 -0
- package/dist/invariants-runner.js +583 -0
- package/dist/invariants-runner.js.map +1 -0
- package/dist/lane-checker.d.ts +132 -0
- package/dist/lane-checker.d.ts.map +1 -0
- package/dist/lane-checker.js +687 -0
- package/dist/lane-checker.js.map +1 -0
- package/dist/lane-inference.d.ts +29 -0
- package/dist/lane-inference.d.ts.map +1 -0
- package/dist/lane-inference.js +210 -0
- package/dist/lane-inference.js.map +1 -0
- package/dist/lane-lock.d.ts +220 -0
- package/dist/lane-lock.d.ts.map +1 -0
- package/dist/lane-lock.js +499 -0
- package/dist/lane-lock.js.map +1 -0
- package/dist/lane-suggest-prompt.d.ts +97 -0
- package/dist/lane-suggest-prompt.d.ts.map +1 -0
- package/dist/lane-suggest-prompt.js +362 -0
- package/dist/lane-suggest-prompt.js.map +1 -0
- package/dist/lane-validator.d.ts +49 -0
- package/dist/lane-validator.d.ts.map +1 -0
- package/dist/lane-validator.js +117 -0
- package/dist/lane-validator.js.map +1 -0
- package/dist/logs-lib.d.ts +89 -0
- package/dist/logs-lib.d.ts.map +1 -0
- package/dist/logs-lib.js +214 -0
- package/dist/logs-lib.js.map +1 -0
- package/dist/lumenflow-config-schema.d.ts +643 -0
- package/dist/lumenflow-config-schema.d.ts.map +1 -0
- package/dist/lumenflow-config-schema.js +120 -0
- package/dist/lumenflow-config-schema.js.map +1 -0
- package/dist/lumenflow-config.d.ts +112 -0
- package/dist/lumenflow-config.d.ts.map +1 -0
- package/dist/lumenflow-config.js +328 -0
- package/dist/lumenflow-config.js.map +1 -0
- package/dist/lumenflow-home.d.ts +118 -0
- package/dist/lumenflow-home.d.ts.map +1 -0
- package/dist/lumenflow-home.js +214 -0
- package/dist/lumenflow-home.js.map +1 -0
- package/dist/manual-test-validator.d.ts +84 -0
- package/dist/manual-test-validator.d.ts.map +1 -0
- package/dist/manual-test-validator.js +206 -0
- package/dist/manual-test-validator.js.map +1 -0
- package/dist/merge-lock.d.ts +107 -0
- package/dist/merge-lock.d.ts.map +1 -0
- package/dist/merge-lock.js +260 -0
- package/dist/merge-lock.js.map +1 -0
- package/dist/micro-worktree-shared.d.ts +128 -0
- package/dist/micro-worktree-shared.d.ts.map +1 -0
- package/dist/micro-worktree-shared.js +352 -0
- package/dist/micro-worktree-shared.js.map +1 -0
- package/dist/micro-worktree.d.ts +165 -0
- package/dist/micro-worktree.d.ts.map +1 -0
- package/dist/micro-worktree.js +463 -0
- package/dist/micro-worktree.js.map +1 -0
- package/dist/normalize-config-keys.d.ts +10 -0
- package/dist/normalize-config-keys.d.ts.map +1 -0
- package/dist/normalize-config-keys.js +70 -0
- package/dist/normalize-config-keys.js.map +1 -0
- package/dist/object-guards.d.ts +11 -0
- package/dist/object-guards.d.ts.map +1 -0
- package/dist/object-guards.js +23 -0
- package/dist/object-guards.js.map +1 -0
- package/dist/orchestration-advisory-loader.d.ts +19 -0
- package/dist/orchestration-advisory-loader.d.ts.map +1 -0
- package/dist/orchestration-advisory-loader.js +94 -0
- package/dist/orchestration-advisory-loader.js.map +1 -0
- package/dist/orchestration-advisory.d.ts +49 -0
- package/dist/orchestration-advisory.d.ts.map +1 -0
- package/dist/orchestration-advisory.js +97 -0
- package/dist/orchestration-advisory.js.map +1 -0
- package/dist/orchestration-di.d.ts +36 -0
- package/dist/orchestration-di.d.ts.map +1 -0
- package/dist/orchestration-di.js +60 -0
- package/dist/orchestration-di.js.map +1 -0
- package/dist/orchestration-rules.d.ts +60 -0
- package/dist/orchestration-rules.d.ts.map +1 -0
- package/dist/orchestration-rules.js +212 -0
- package/dist/orchestration-rules.js.map +1 -0
- package/dist/orphan-detector.d.ts +148 -0
- package/dist/orphan-detector.d.ts.map +1 -0
- package/dist/orphan-detector.js +253 -0
- package/dist/orphan-detector.js.map +1 -0
- package/dist/pack-authoring-template-engine.d.ts +54 -0
- package/dist/pack-authoring-template-engine.d.ts.map +1 -0
- package/dist/pack-authoring-template-engine.js +510 -0
- package/dist/pack-authoring-template-engine.js.map +1 -0
- package/dist/package-manager-resolver.d.ts +63 -0
- package/dist/package-manager-resolver.d.ts.map +1 -0
- package/dist/package-manager-resolver.js +193 -0
- package/dist/package-manager-resolver.js.map +1 -0
- package/dist/path-classifiers.d.ts +58 -0
- package/dist/path-classifiers.d.ts.map +1 -0
- package/dist/path-classifiers.js +96 -0
- package/dist/path-classifiers.js.map +1 -0
- package/dist/patrol-loop.d.ts +171 -0
- package/dist/patrol-loop.d.ts.map +1 -0
- package/dist/patrol-loop.js +197 -0
- package/dist/patrol-loop.js.map +1 -0
- package/dist/piped-command-detector.d.ts +25 -0
- package/dist/piped-command-detector.d.ts.map +1 -0
- package/dist/piped-command-detector.js +67 -0
- package/dist/piped-command-detector.js.map +1 -0
- package/dist/ports/config.ports.d.ts +83 -0
- package/dist/ports/config.ports.d.ts.map +1 -0
- package/dist/ports/config.ports.js +4 -0
- package/dist/ports/config.ports.js.map +1 -0
- package/dist/ports/context.ports.d.ts +136 -0
- package/dist/ports/context.ports.d.ts.map +1 -0
- package/dist/ports/context.ports.js +4 -0
- package/dist/ports/context.ports.js.map +1 -0
- package/dist/ports/core-tools.ports.d.ts +282 -0
- package/dist/ports/core-tools.ports.d.ts.map +1 -0
- package/dist/ports/core-tools.ports.js +4 -0
- package/dist/ports/core-tools.ports.js.map +1 -0
- package/dist/ports/dashboard-renderer.port.d.ts +113 -0
- package/dist/ports/dashboard-renderer.port.d.ts.map +1 -0
- package/dist/ports/dashboard-renderer.port.js +4 -0
- package/dist/ports/dashboard-renderer.port.js.map +1 -0
- package/dist/ports/git-validator.ports.d.ts +114 -0
- package/dist/ports/git-validator.ports.d.ts.map +1 -0
- package/dist/ports/git-validator.ports.js +4 -0
- package/dist/ports/git-validator.ports.js.map +1 -0
- package/dist/ports/index.d.ts +23 -0
- package/dist/ports/index.d.ts.map +1 -0
- package/dist/ports/index.js +25 -0
- package/dist/ports/index.js.map +1 -0
- package/dist/ports/metrics-collector.port.d.ts +133 -0
- package/dist/ports/metrics-collector.port.d.ts.map +1 -0
- package/dist/ports/metrics-collector.port.js +4 -0
- package/dist/ports/metrics-collector.port.js.map +1 -0
- package/dist/ports/recovery.ports.d.ts +59 -0
- package/dist/ports/recovery.ports.d.ts.map +1 -0
- package/dist/ports/recovery.ports.js +4 -0
- package/dist/ports/recovery.ports.js.map +1 -0
- package/dist/ports/validation.ports.d.ts +75 -0
- package/dist/ports/validation.ports.d.ts.map +1 -0
- package/dist/ports/validation.ports.js +4 -0
- package/dist/ports/validation.ports.js.map +1 -0
- package/dist/ports/wu-helpers.ports.d.ts +168 -0
- package/dist/ports/wu-helpers.ports.d.ts.map +1 -0
- package/dist/ports/wu-helpers.ports.js +4 -0
- package/dist/ports/wu-helpers.ports.js.map +1 -0
- package/dist/ports/wu-state.ports.d.ts +190 -0
- package/dist/ports/wu-state.ports.d.ts.map +1 -0
- package/dist/ports/wu-state.ports.js +4 -0
- package/dist/ports/wu-state.ports.js.map +1 -0
- package/dist/process-detector.d.ts +69 -0
- package/dist/process-detector.d.ts.map +1 -0
- package/dist/process-detector.js +175 -0
- package/dist/process-detector.js.map +1 -0
- package/dist/prompt-linter.d.ts +73 -0
- package/dist/prompt-linter.d.ts.map +1 -0
- package/dist/prompt-linter.js +338 -0
- package/dist/prompt-linter.js.map +1 -0
- package/dist/prompt-monitor.d.ts +13 -0
- package/dist/prompt-monitor.d.ts.map +1 -0
- package/dist/prompt-monitor.js +233 -0
- package/dist/prompt-monitor.js.map +1 -0
- package/dist/rebase-artifact-cleanup.d.ts +156 -0
- package/dist/rebase-artifact-cleanup.d.ts.map +1 -0
- package/dist/rebase-artifact-cleanup.js +475 -0
- package/dist/rebase-artifact-cleanup.js.map +1 -0
- package/dist/recovery/index.d.ts +12 -0
- package/dist/recovery/index.d.ts.map +1 -0
- package/dist/recovery/index.js +14 -0
- package/dist/recovery/index.js.map +1 -0
- package/dist/recovery/recovery-analyzer.d.ts +49 -0
- package/dist/recovery/recovery-analyzer.d.ts.map +1 -0
- package/dist/recovery/recovery-analyzer.js +149 -0
- package/dist/recovery/recovery-analyzer.js.map +1 -0
- package/dist/resolve-policy.d.ts +257 -0
- package/dist/resolve-policy.d.ts.map +1 -0
- package/dist/resolve-policy.js +269 -0
- package/dist/resolve-policy.js.map +1 -0
- package/dist/retry-strategy.d.ts +191 -0
- package/dist/retry-strategy.d.ts.map +1 -0
- package/dist/retry-strategy.js +286 -0
- package/dist/retry-strategy.js.map +1 -0
- package/dist/rollback-utils.d.ts +129 -0
- package/dist/rollback-utils.d.ts.map +1 -0
- package/dist/rollback-utils.js +217 -0
- package/dist/rollback-utils.js.map +1 -0
- package/dist/sandbox-allowlist.d.ts +16 -0
- package/dist/sandbox-allowlist.d.ts.map +1 -0
- package/dist/sandbox-allowlist.js +77 -0
- package/dist/sandbox-allowlist.js.map +1 -0
- package/dist/sandbox-backend-linux.d.ts +6 -0
- package/dist/sandbox-backend-linux.d.ts.map +1 -0
- package/dist/sandbox-backend-linux.js +67 -0
- package/dist/sandbox-backend-linux.js.map +1 -0
- package/dist/sandbox-backend-macos.d.ts +6 -0
- package/dist/sandbox-backend-macos.d.ts.map +1 -0
- package/dist/sandbox-backend-macos.js +66 -0
- package/dist/sandbox-backend-macos.js.map +1 -0
- package/dist/sandbox-backend-windows.d.ts +6 -0
- package/dist/sandbox-backend-windows.d.ts.map +1 -0
- package/dist/sandbox-backend-windows.js +30 -0
- package/dist/sandbox-backend-windows.js.map +1 -0
- package/dist/sandbox-profile.d.ts +53 -0
- package/dist/sandbox-profile.d.ts.map +1 -0
- package/dist/sandbox-profile.js +64 -0
- package/dist/sandbox-profile.js.map +1 -0
- package/dist/schemas/agents-config.d.ts +130 -0
- package/dist/schemas/agents-config.d.ts.map +1 -0
- package/dist/schemas/agents-config.js +153 -0
- package/dist/schemas/agents-config.js.map +1 -0
- package/dist/schemas/arg-validators.d.ts +58 -0
- package/dist/schemas/arg-validators.d.ts.map +1 -0
- package/dist/schemas/arg-validators.js +193 -0
- package/dist/schemas/arg-validators.js.map +1 -0
- package/dist/schemas/cloud-config.d.ts +66 -0
- package/dist/schemas/cloud-config.d.ts.map +1 -0
- package/dist/schemas/cloud-config.js +81 -0
- package/dist/schemas/cloud-config.js.map +1 -0
- package/dist/schemas/command-schemas.d.ts +171 -0
- package/dist/schemas/command-schemas.d.ts.map +1 -0
- package/dist/schemas/command-schemas.js +145 -0
- package/dist/schemas/command-schemas.js.map +1 -0
- package/dist/schemas/directories-config.d.ts +64 -0
- package/dist/schemas/directories-config.d.ts.map +1 -0
- package/dist/schemas/directories-config.js +103 -0
- package/dist/schemas/directories-config.js.map +1 -0
- package/dist/schemas/flow-arg-validators.d.ts +32 -0
- package/dist/schemas/flow-arg-validators.d.ts.map +1 -0
- package/dist/schemas/flow-arg-validators.js +57 -0
- package/dist/schemas/flow-arg-validators.js.map +1 -0
- package/dist/schemas/flow-schemas.d.ts +152 -0
- package/dist/schemas/flow-schemas.d.ts.map +1 -0
- package/dist/schemas/flow-schemas.js +105 -0
- package/dist/schemas/flow-schemas.js.map +1 -0
- package/dist/schemas/gates-section-config.d.ts +94 -0
- package/dist/schemas/gates-section-config.d.ts.map +1 -0
- package/dist/schemas/gates-section-config.js +105 -0
- package/dist/schemas/gates-section-config.js.map +1 -0
- package/dist/schemas/git-config.d.ts +48 -0
- package/dist/schemas/git-config.d.ts.map +1 -0
- package/dist/schemas/git-config.js +157 -0
- package/dist/schemas/git-config.js.map +1 -0
- package/dist/schemas/index.d.ts +33 -0
- package/dist/schemas/index.d.ts.map +1 -0
- package/dist/schemas/index.js +96 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/initiative-arg-validators.d.ts +64 -0
- package/dist/schemas/initiative-arg-validators.d.ts.map +1 -0
- package/dist/schemas/initiative-arg-validators.js +65 -0
- package/dist/schemas/initiative-arg-validators.js.map +1 -0
- package/dist/schemas/initiative-schemas.d.ts +256 -0
- package/dist/schemas/initiative-schemas.d.ts.map +1 -0
- package/dist/schemas/initiative-schemas.js +186 -0
- package/dist/schemas/initiative-schemas.js.map +1 -0
- package/dist/schemas/lanes-config.d.ts +153 -0
- package/dist/schemas/lanes-config.d.ts.map +1 -0
- package/dist/schemas/lanes-config.js +125 -0
- package/dist/schemas/lanes-config.js.map +1 -0
- package/dist/schemas/memory-arg-validators.d.ts +91 -0
- package/dist/schemas/memory-arg-validators.d.ts.map +1 -0
- package/dist/schemas/memory-arg-validators.js +75 -0
- package/dist/schemas/memory-arg-validators.js.map +1 -0
- package/dist/schemas/memory-config.d.ts +169 -0
- package/dist/schemas/memory-config.d.ts.map +1 -0
- package/dist/schemas/memory-config.js +253 -0
- package/dist/schemas/memory-config.js.map +1 -0
- package/dist/schemas/memory-schemas.d.ts +287 -0
- package/dist/schemas/memory-schemas.d.ts.map +1 -0
- package/dist/schemas/memory-schemas.js +242 -0
- package/dist/schemas/memory-schemas.js.map +1 -0
- package/dist/schemas/operational-config.d.ts +145 -0
- package/dist/schemas/operational-config.d.ts.map +1 -0
- package/dist/schemas/operational-config.js +161 -0
- package/dist/schemas/operational-config.js.map +1 -0
- package/dist/schemas/schema-utils.d.ts +87 -0
- package/dist/schemas/schema-utils.d.ts.map +1 -0
- package/dist/schemas/schema-utils.js +320 -0
- package/dist/schemas/schema-utils.js.map +1 -0
- package/dist/schemas/setup-arg-validators.d.ts +91 -0
- package/dist/schemas/setup-arg-validators.d.ts.map +1 -0
- package/dist/schemas/setup-arg-validators.js +98 -0
- package/dist/schemas/setup-arg-validators.js.map +1 -0
- package/dist/schemas/setup-schemas.d.ts +335 -0
- package/dist/schemas/setup-schemas.d.ts.map +1 -0
- package/dist/schemas/setup-schemas.js +260 -0
- package/dist/schemas/setup-schemas.js.map +1 -0
- package/dist/schemas/validation-arg-validators.d.ts +18 -0
- package/dist/schemas/validation-arg-validators.d.ts.map +1 -0
- package/dist/schemas/validation-arg-validators.js +59 -0
- package/dist/schemas/validation-arg-validators.js.map +1 -0
- package/dist/schemas/validation-schemas.d.ts +80 -0
- package/dist/schemas/validation-schemas.d.ts.map +1 -0
- package/dist/schemas/validation-schemas.js +88 -0
- package/dist/schemas/validation-schemas.js.map +1 -0
- package/dist/schemas/workspace-config.d.ts +48 -0
- package/dist/schemas/workspace-config.d.ts.map +1 -0
- package/dist/schemas/workspace-config.js +33 -0
- package/dist/schemas/workspace-config.js.map +1 -0
- package/dist/schemas/wu-config.d.ts +21 -0
- package/dist/schemas/wu-config.d.ts.map +1 -0
- package/dist/schemas/wu-config.js +28 -0
- package/dist/schemas/wu-config.js.map +1 -0
- package/dist/schemas/wu-lifecycle-arg-validators.d.ts +118 -0
- package/dist/schemas/wu-lifecycle-arg-validators.d.ts.map +1 -0
- package/dist/schemas/wu-lifecycle-arg-validators.js +82 -0
- package/dist/schemas/wu-lifecycle-arg-validators.js.map +1 -0
- package/dist/schemas/wu-lifecycle-schemas.d.ts +362 -0
- package/dist/schemas/wu-lifecycle-schemas.d.ts.map +1 -0
- package/dist/schemas/wu-lifecycle-schemas.js +284 -0
- package/dist/schemas/wu-lifecycle-schemas.js.map +1 -0
- package/dist/section-headings.d.ts +35 -0
- package/dist/section-headings.d.ts.map +1 -0
- package/dist/section-headings.js +54 -0
- package/dist/section-headings.js.map +1 -0
- package/dist/spawn-agent-guidance.d.ts +90 -0
- package/dist/spawn-agent-guidance.d.ts.map +1 -0
- package/dist/spawn-agent-guidance.js +431 -0
- package/dist/spawn-agent-guidance.js.map +1 -0
- package/dist/spawn-constraints-generator.d.ts +30 -0
- package/dist/spawn-constraints-generator.d.ts.map +1 -0
- package/dist/spawn-constraints-generator.js +121 -0
- package/dist/spawn-constraints-generator.js.map +1 -0
- package/dist/spawn-guidance-generators.d.ts +47 -0
- package/dist/spawn-guidance-generators.d.ts.map +1 -0
- package/dist/spawn-guidance-generators.js +346 -0
- package/dist/spawn-guidance-generators.js.map +1 -0
- package/dist/spawn-policy-resolver.d.ts +26 -0
- package/dist/spawn-policy-resolver.d.ts.map +1 -0
- package/dist/spawn-policy-resolver.js +31 -0
- package/dist/spawn-policy-resolver.js.map +1 -0
- package/dist/spawn-prompt-helpers.d.ts +45 -0
- package/dist/spawn-prompt-helpers.d.ts.map +1 -0
- package/dist/spawn-prompt-helpers.js +271 -0
- package/dist/spawn-prompt-helpers.js.map +1 -0
- package/dist/spawn-prompt-schema.d.ts +107 -0
- package/dist/spawn-prompt-schema.d.ts.map +1 -0
- package/dist/spawn-prompt-schema.js +163 -0
- package/dist/spawn-prompt-schema.js.map +1 -0
- package/dist/spawn-strategy.d.ts +60 -0
- package/dist/spawn-strategy.d.ts.map +1 -0
- package/dist/spawn-strategy.js +112 -0
- package/dist/spawn-strategy.js.map +1 -0
- package/dist/spawn-task-builder.d.ts +68 -0
- package/dist/spawn-task-builder.d.ts.map +1 -0
- package/dist/spawn-task-builder.js +356 -0
- package/dist/spawn-task-builder.js.map +1 -0
- package/dist/spawn-template-assembler.d.ts +65 -0
- package/dist/spawn-template-assembler.d.ts.map +1 -0
- package/dist/spawn-template-assembler.js +111 -0
- package/dist/spawn-template-assembler.js.map +1 -0
- package/dist/stamp-status-validator.d.ts +77 -0
- package/dist/stamp-status-validator.d.ts.map +1 -0
- package/dist/stamp-status-validator.js +138 -0
- package/dist/stamp-status-validator.js.map +1 -0
- package/dist/stamp-tracking.d.ts +12 -0
- package/dist/stamp-tracking.d.ts.map +1 -0
- package/dist/stamp-tracking.js +43 -0
- package/dist/stamp-tracking.js.map +1 -0
- package/dist/stamp-utils.d.ts +94 -0
- package/dist/stamp-utils.d.ts.map +1 -0
- package/dist/stamp-utils.js +245 -0
- package/dist/stamp-utils.js.map +1 -0
- package/dist/state-cleanup-core.d.ts +206 -0
- package/dist/state-cleanup-core.d.ts.map +1 -0
- package/dist/state-cleanup-core.js +225 -0
- package/dist/state-cleanup-core.js.map +1 -0
- package/dist/state-doctor-core.d.ts +177 -0
- package/dist/state-doctor-core.d.ts.map +1 -0
- package/dist/state-doctor-core.js +420 -0
- package/dist/state-doctor-core.js.map +1 -0
- package/dist/state-machine.d.ts +10 -0
- package/dist/state-machine.d.ts.map +1 -0
- package/dist/state-machine.js +89 -0
- package/dist/state-machine.js.map +1 -0
- package/dist/stream-error-handler.d.ts +69 -0
- package/dist/stream-error-handler.d.ts.map +1 -0
- package/dist/stream-error-handler.js +80 -0
- package/dist/stream-error-handler.js.map +1 -0
- package/dist/telemetry.d.ts +81 -0
- package/dist/telemetry.d.ts.map +1 -0
- package/dist/telemetry.js +219 -0
- package/dist/telemetry.js.map +1 -0
- package/dist/template-loader.d.ts +151 -0
- package/dist/template-loader.d.ts.map +1 -0
- package/dist/template-loader.js +400 -0
- package/dist/template-loader.js.map +1 -0
- package/dist/test-baseline.d.ts +177 -0
- package/dist/test-baseline.d.ts.map +1 -0
- package/dist/test-baseline.js +286 -0
- package/dist/test-baseline.js.map +1 -0
- package/dist/token-counter.d.ts +50 -0
- package/dist/token-counter.d.ts.map +1 -0
- package/dist/token-counter.js +144 -0
- package/dist/token-counter.js.map +1 -0
- package/dist/usecases/analyze-recovery.usecase.d.ts +43 -0
- package/dist/usecases/analyze-recovery.usecase.d.ts.map +1 -0
- package/dist/usecases/analyze-recovery.usecase.js +34 -0
- package/dist/usecases/analyze-recovery.usecase.js.map +1 -0
- package/dist/usecases/compute-context.usecase.d.ts +63 -0
- package/dist/usecases/compute-context.usecase.d.ts.map +1 -0
- package/dist/usecases/compute-context.usecase.js +91 -0
- package/dist/usecases/compute-context.usecase.js.map +1 -0
- package/dist/usecases/get-dashboard-data.usecase.d.ts +53 -0
- package/dist/usecases/get-dashboard-data.usecase.d.ts.map +1 -0
- package/dist/usecases/get-dashboard-data.usecase.js +54 -0
- package/dist/usecases/get-dashboard-data.usecase.js.map +1 -0
- package/dist/usecases/get-suggestions.usecase.d.ts +101 -0
- package/dist/usecases/get-suggestions.usecase.d.ts.map +1 -0
- package/dist/usecases/get-suggestions.usecase.js +148 -0
- package/dist/usecases/get-suggestions.usecase.js.map +1 -0
- package/dist/usecases/index.d.ts +15 -0
- package/dist/usecases/index.d.ts.map +1 -0
- package/dist/usecases/index.js +21 -0
- package/dist/usecases/index.js.map +1 -0
- package/dist/usecases/validate-command.usecase.d.ts +56 -0
- package/dist/usecases/validate-command.usecase.d.ts.map +1 -0
- package/dist/usecases/validate-command.usecase.js +143 -0
- package/dist/usecases/validate-command.usecase.js.map +1 -0
- package/dist/user-normalizer.d.ts +36 -0
- package/dist/user-normalizer.d.ts.map +1 -0
- package/dist/user-normalizer.js +177 -0
- package/dist/user-normalizer.js.map +1 -0
- package/dist/validation/command-registry.d.ts +26 -0
- package/dist/validation/command-registry.d.ts.map +1 -0
- package/dist/validation/command-registry.js +269 -0
- package/dist/validation/command-registry.js.map +1 -0
- package/dist/validation/index.d.ts +16 -0
- package/dist/validation/index.d.ts.map +1 -0
- package/dist/validation/index.js +18 -0
- package/dist/validation/index.js.map +1 -0
- package/dist/validation/types.d.ts +140 -0
- package/dist/validation/types.d.ts.map +1 -0
- package/dist/validation/types.js +4 -0
- package/dist/validation/types.js.map +1 -0
- package/dist/validation/validate-command.d.ts +16 -0
- package/dist/validation/validate-command.d.ts.map +1 -0
- package/dist/validation/validate-command.js +163 -0
- package/dist/validation/validate-command.js.map +1 -0
- package/dist/validators/backlog-sync.d.ts +11 -0
- package/dist/validators/backlog-sync.d.ts.map +1 -0
- package/dist/validators/backlog-sync.js +65 -0
- package/dist/validators/backlog-sync.js.map +1 -0
- package/dist/validators/claim-validation.d.ts +46 -0
- package/dist/validators/claim-validation.d.ts.map +1 -0
- package/dist/validators/claim-validation.js +491 -0
- package/dist/validators/claim-validation.js.map +1 -0
- package/dist/validators/supabase-docs-linter.d.ts +15 -0
- package/dist/validators/supabase-docs-linter.d.ts.map +1 -0
- package/dist/validators/supabase-docs-linter.js +45 -0
- package/dist/validators/supabase-docs-linter.js.map +1 -0
- package/dist/validators/wu-tasks.d.ts +21 -0
- package/dist/validators/wu-tasks.d.ts.map +1 -0
- package/dist/validators/wu-tasks.js +93 -0
- package/dist/validators/wu-tasks.js.map +1 -0
- package/dist/work-classifier.d.ts +95 -0
- package/dist/work-classifier.d.ts.map +1 -0
- package/dist/work-classifier.js +407 -0
- package/dist/work-classifier.js.map +1 -0
- package/dist/worktree-ownership.d.ts +51 -0
- package/dist/worktree-ownership.d.ts.map +1 -0
- package/dist/worktree-ownership.js +77 -0
- package/dist/worktree-ownership.js.map +1 -0
- package/dist/worktree-scanner.d.ts +118 -0
- package/dist/worktree-scanner.d.ts.map +1 -0
- package/dist/worktree-scanner.js +171 -0
- package/dist/worktree-scanner.js.map +1 -0
- package/dist/worktree-symlink.d.ts +98 -0
- package/dist/worktree-symlink.d.ts.map +1 -0
- package/dist/worktree-symlink.js +530 -0
- package/dist/worktree-symlink.js.map +1 -0
- package/dist/wu-backlog-updater.d.ts +10 -0
- package/dist/wu-backlog-updater.d.ts.map +1 -0
- package/dist/wu-backlog-updater.js +40 -0
- package/dist/wu-backlog-updater.js.map +1 -0
- package/dist/wu-checkpoint.d.ts +110 -0
- package/dist/wu-checkpoint.d.ts.map +1 -0
- package/dist/wu-checkpoint.js +238 -0
- package/dist/wu-checkpoint.js.map +1 -0
- package/dist/wu-claim-helpers.d.ts +21 -0
- package/dist/wu-claim-helpers.d.ts.map +1 -0
- package/dist/wu-claim-helpers.js +66 -0
- package/dist/wu-claim-helpers.js.map +1 -0
- package/dist/wu-claim-resume.d.ts +106 -0
- package/dist/wu-claim-resume.d.ts.map +1 -0
- package/dist/wu-claim-resume.js +279 -0
- package/dist/wu-claim-resume.js.map +1 -0
- package/dist/wu-cli-constants.d.ts +427 -0
- package/dist/wu-cli-constants.d.ts.map +1 -0
- package/dist/wu-cli-constants.js +432 -0
- package/dist/wu-cli-constants.js.map +1 -0
- package/dist/wu-consistency-checker.d.ts +23 -0
- package/dist/wu-consistency-checker.d.ts.map +1 -0
- package/dist/wu-consistency-checker.js +24 -0
- package/dist/wu-consistency-checker.js.map +1 -0
- package/dist/wu-consistency-detector.d.ts +94 -0
- package/dist/wu-consistency-detector.d.ts.map +1 -0
- package/dist/wu-consistency-detector.js +410 -0
- package/dist/wu-consistency-detector.js.map +1 -0
- package/dist/wu-consistency-file-repairs.d.ts +75 -0
- package/dist/wu-consistency-file-repairs.d.ts.map +1 -0
- package/dist/wu-consistency-file-repairs.js +326 -0
- package/dist/wu-consistency-file-repairs.js.map +1 -0
- package/dist/wu-constants.d.ts +29 -0
- package/dist/wu-constants.d.ts.map +1 -0
- package/dist/wu-constants.js +37 -0
- package/dist/wu-constants.js.map +1 -0
- package/dist/wu-context-constants.d.ts +270 -0
- package/dist/wu-context-constants.d.ts.map +1 -0
- package/dist/wu-context-constants.js +267 -0
- package/dist/wu-context-constants.js.map +1 -0
- package/dist/wu-create-defaults.d.ts +11 -0
- package/dist/wu-create-defaults.d.ts.map +1 -0
- package/dist/wu-create-defaults.js +13 -0
- package/dist/wu-create-defaults.js.map +1 -0
- package/dist/wu-create-validators.d.ts +89 -0
- package/dist/wu-create-validators.d.ts.map +1 -0
- package/dist/wu-create-validators.js +215 -0
- package/dist/wu-create-validators.js.map +1 -0
- package/dist/wu-delegation-cutover.d.ts +5 -0
- package/dist/wu-delegation-cutover.d.ts.map +1 -0
- package/dist/wu-delegation-cutover.js +231 -0
- package/dist/wu-delegation-cutover.js.map +1 -0
- package/dist/wu-doc-types.d.ts +48 -0
- package/dist/wu-doc-types.d.ts.map +1 -0
- package/dist/wu-doc-types.js +4 -0
- package/dist/wu-doc-types.js.map +1 -0
- package/dist/wu-domain-constants.d.ts +295 -0
- package/dist/wu-domain-constants.d.ts.map +1 -0
- package/dist/wu-domain-constants.js +399 -0
- package/dist/wu-domain-constants.js.map +1 -0
- package/dist/wu-done-branch-only.d.ts +120 -0
- package/dist/wu-done-branch-only.d.ts.map +1 -0
- package/dist/wu-done-branch-only.js +412 -0
- package/dist/wu-done-branch-only.js.map +1 -0
- package/dist/wu-done-branch-utils.d.ts +8 -0
- package/dist/wu-done-branch-utils.d.ts.map +1 -0
- package/dist/wu-done-branch-utils.js +34 -0
- package/dist/wu-done-branch-utils.js.map +1 -0
- package/dist/wu-done-cleanup.d.ts +6 -0
- package/dist/wu-done-cleanup.d.ts.map +1 -0
- package/dist/wu-done-cleanup.js +161 -0
- package/dist/wu-done-cleanup.js.map +1 -0
- package/dist/wu-done-concurrent-merge.d.ts +103 -0
- package/dist/wu-done-concurrent-merge.d.ts.map +1 -0
- package/dist/wu-done-concurrent-merge.js +375 -0
- package/dist/wu-done-concurrent-merge.js.map +1 -0
- package/dist/wu-done-docs-generate.d.ts +72 -0
- package/dist/wu-done-docs-generate.d.ts.map +1 -0
- package/dist/wu-done-docs-generate.js +129 -0
- package/dist/wu-done-docs-generate.js.map +1 -0
- package/dist/wu-done-docs-only.d.ts +16 -0
- package/dist/wu-done-docs-only.d.ts.map +1 -0
- package/dist/wu-done-docs-only.js +68 -0
- package/dist/wu-done-docs-only.js.map +1 -0
- package/dist/wu-done-error-handling.d.ts +35 -0
- package/dist/wu-done-error-handling.d.ts.map +1 -0
- package/dist/wu-done-error-handling.js +109 -0
- package/dist/wu-done-error-handling.js.map +1 -0
- package/dist/wu-done-errors.d.ts +13 -0
- package/dist/wu-done-errors.d.ts.map +1 -0
- package/dist/wu-done-errors.js +27 -0
- package/dist/wu-done-errors.js.map +1 -0
- package/dist/wu-done-initiative-sync.d.ts +13 -0
- package/dist/wu-done-initiative-sync.d.ts.map +1 -0
- package/dist/wu-done-initiative-sync.js +235 -0
- package/dist/wu-done-initiative-sync.js.map +1 -0
- package/dist/wu-done-inputs.d.ts +10 -0
- package/dist/wu-done-inputs.d.ts.map +1 -0
- package/dist/wu-done-inputs.js +55 -0
- package/dist/wu-done-inputs.js.map +1 -0
- package/dist/wu-done-machine.d.ts +175 -0
- package/dist/wu-done-machine.d.ts.map +1 -0
- package/dist/wu-done-machine.js +227 -0
- package/dist/wu-done-machine.js.map +1 -0
- package/dist/wu-done-main-sync.d.ts +36 -0
- package/dist/wu-done-main-sync.d.ts.map +1 -0
- package/dist/wu-done-main-sync.js +67 -0
- package/dist/wu-done-main-sync.js.map +1 -0
- package/dist/wu-done-merge-phase.d.ts +49 -0
- package/dist/wu-done-merge-phase.d.ts.map +1 -0
- package/dist/wu-done-merge-phase.js +121 -0
- package/dist/wu-done-merge-phase.js.map +1 -0
- package/dist/wu-done-merge.d.ts +46 -0
- package/dist/wu-done-merge.d.ts.map +1 -0
- package/dist/wu-done-merge.js +123 -0
- package/dist/wu-done-merge.js.map +1 -0
- package/dist/wu-done-merged-worktree.d.ts +65 -0
- package/dist/wu-done-merged-worktree.d.ts.map +1 -0
- package/dist/wu-done-merged-worktree.js +197 -0
- package/dist/wu-done-merged-worktree.js.map +1 -0
- package/dist/wu-done-messages.d.ts +120 -0
- package/dist/wu-done-messages.d.ts.map +1 -0
- package/dist/wu-done-messages.js +191 -0
- package/dist/wu-done-messages.js.map +1 -0
- package/dist/wu-done-metadata.d.ts +123 -0
- package/dist/wu-done-metadata.d.ts.map +1 -0
- package/dist/wu-done-metadata.js +240 -0
- package/dist/wu-done-metadata.js.map +1 -0
- package/dist/wu-done-paths.d.ts +79 -0
- package/dist/wu-done-paths.d.ts.map +1 -0
- package/dist/wu-done-paths.js +263 -0
- package/dist/wu-done-paths.js.map +1 -0
- package/dist/wu-done-pr.d.ts +76 -0
- package/dist/wu-done-pr.d.ts.map +1 -0
- package/dist/wu-done-pr.js +189 -0
- package/dist/wu-done-pr.js.map +1 -0
- package/dist/wu-done-preflight-checks.d.ts +66 -0
- package/dist/wu-done-preflight-checks.d.ts.map +1 -0
- package/dist/wu-done-preflight-checks.js +275 -0
- package/dist/wu-done-preflight-checks.js.map +1 -0
- package/dist/wu-done-preflight.d.ts +65 -0
- package/dist/wu-done-preflight.d.ts.map +1 -0
- package/dist/wu-done-preflight.js +205 -0
- package/dist/wu-done-preflight.js.map +1 -0
- package/dist/wu-done-rebase.d.ts +44 -0
- package/dist/wu-done-rebase.d.ts.map +1 -0
- package/dist/wu-done-rebase.js +360 -0
- package/dist/wu-done-rebase.js.map +1 -0
- package/dist/wu-done-retry-helpers.d.ts +75 -0
- package/dist/wu-done-retry-helpers.d.ts.map +1 -0
- package/dist/wu-done-retry-helpers.js +175 -0
- package/dist/wu-done-retry-helpers.js.map +1 -0
- package/dist/wu-done-ui.d.ts +29 -0
- package/dist/wu-done-ui.d.ts.map +1 -0
- package/dist/wu-done-ui.js +74 -0
- package/dist/wu-done-ui.js.map +1 -0
- package/dist/wu-done-utils.d.ts +31 -0
- package/dist/wu-done-utils.d.ts.map +1 -0
- package/dist/wu-done-utils.js +60 -0
- package/dist/wu-done-utils.js.map +1 -0
- package/dist/wu-done-validation.d.ts +128 -0
- package/dist/wu-done-validation.d.ts.map +1 -0
- package/dist/wu-done-validation.js +553 -0
- package/dist/wu-done-validation.js.map +1 -0
- package/dist/wu-done-validators.d.ts +16 -0
- package/dist/wu-done-validators.d.ts.map +1 -0
- package/dist/wu-done-validators.js +16 -0
- package/dist/wu-done-validators.js.map +1 -0
- package/dist/wu-done-worktree-services.d.ts +174 -0
- package/dist/wu-done-worktree-services.d.ts.map +1 -0
- package/dist/wu-done-worktree-services.js +274 -0
- package/dist/wu-done-worktree-services.js.map +1 -0
- package/dist/wu-done-worktree.d.ts +71 -0
- package/dist/wu-done-worktree.d.ts.map +1 -0
- package/dist/wu-done-worktree.js +243 -0
- package/dist/wu-done-worktree.js.map +1 -0
- package/dist/wu-done-zombie-recovery.d.ts +18 -0
- package/dist/wu-done-zombie-recovery.d.ts.map +1 -0
- package/dist/wu-done-zombie-recovery.js +84 -0
- package/dist/wu-done-zombie-recovery.js.map +1 -0
- package/dist/wu-event-sourcer.d.ts +44 -0
- package/dist/wu-event-sourcer.d.ts.map +1 -0
- package/dist/wu-event-sourcer.js +135 -0
- package/dist/wu-event-sourcer.js.map +1 -0
- package/dist/wu-events-cleanup.d.ts +131 -0
- package/dist/wu-events-cleanup.d.ts.map +1 -0
- package/dist/wu-events-cleanup.js +403 -0
- package/dist/wu-events-cleanup.js.map +1 -0
- package/dist/wu-git-constants.d.ts +176 -0
- package/dist/wu-git-constants.d.ts.map +1 -0
- package/dist/wu-git-constants.js +178 -0
- package/dist/wu-git-constants.js.map +1 -0
- package/dist/wu-helpers.d.ts +133 -0
- package/dist/wu-helpers.d.ts.map +1 -0
- package/dist/wu-helpers.js +268 -0
- package/dist/wu-helpers.js.map +1 -0
- package/dist/wu-id-generator.d.ts +51 -0
- package/dist/wu-id-generator.d.ts.map +1 -0
- package/dist/wu-id-generator.js +110 -0
- package/dist/wu-id-generator.js.map +1 -0
- package/dist/wu-inconsistency-repairer.d.ts +69 -0
- package/dist/wu-inconsistency-repairer.d.ts.map +1 -0
- package/dist/wu-inconsistency-repairer.js +271 -0
- package/dist/wu-inconsistency-repairer.js.map +1 -0
- package/dist/wu-lint.d.ts +191 -0
- package/dist/wu-lint.d.ts.map +1 -0
- package/dist/wu-lint.js +338 -0
- package/dist/wu-lint.js.map +1 -0
- package/dist/wu-list.d.ts +76 -0
- package/dist/wu-list.d.ts.map +1 -0
- package/dist/wu-list.js +181 -0
- package/dist/wu-list.js.map +1 -0
- package/dist/wu-lock-manager.d.ts +28 -0
- package/dist/wu-lock-manager.d.ts.map +1 -0
- package/dist/wu-lock-manager.js +164 -0
- package/dist/wu-lock-manager.js.map +1 -0
- package/dist/wu-paths-constants.d.ts +264 -0
- package/dist/wu-paths-constants.d.ts.map +1 -0
- package/dist/wu-paths-constants.js +273 -0
- package/dist/wu-paths-constants.js.map +1 -0
- package/dist/wu-paths.d.ts +211 -0
- package/dist/wu-paths.d.ts.map +1 -0
- package/dist/wu-paths.js +223 -0
- package/dist/wu-paths.js.map +1 -0
- package/dist/wu-preflight-validators.d.ts +64 -0
- package/dist/wu-preflight-validators.d.ts.map +1 -0
- package/dist/wu-preflight-validators.js +277 -0
- package/dist/wu-preflight-validators.js.map +1 -0
- package/dist/wu-recovery.d.ts +220 -0
- package/dist/wu-recovery.d.ts.map +1 -0
- package/dist/wu-recovery.js +470 -0
- package/dist/wu-recovery.js.map +1 -0
- package/dist/wu-repair-core.d.ts +137 -0
- package/dist/wu-repair-core.d.ts.map +1 -0
- package/dist/wu-repair-core.js +719 -0
- package/dist/wu-repair-core.js.map +1 -0
- package/dist/wu-repair-service.d.ts +22 -0
- package/dist/wu-repair-service.d.ts.map +1 -0
- package/dist/wu-repair-service.js +131 -0
- package/dist/wu-repair-service.js.map +1 -0
- package/dist/wu-rules-core.d.ts +95 -0
- package/dist/wu-rules-core.d.ts.map +1 -0
- package/dist/wu-rules-core.js +401 -0
- package/dist/wu-rules-core.js.map +1 -0
- package/dist/wu-rules-engine.d.ts +29 -0
- package/dist/wu-rules-engine.d.ts.map +1 -0
- package/dist/wu-rules-engine.js +61 -0
- package/dist/wu-rules-engine.js.map +1 -0
- package/dist/wu-rules-resolvers.d.ts +19 -0
- package/dist/wu-rules-resolvers.d.ts.map +1 -0
- package/dist/wu-rules-resolvers.js +229 -0
- package/dist/wu-rules-resolvers.js.map +1 -0
- package/dist/wu-schema-normalization.d.ts +18 -0
- package/dist/wu-schema-normalization.d.ts.map +1 -0
- package/dist/wu-schema-normalization.js +87 -0
- package/dist/wu-schema-normalization.js.map +1 -0
- package/dist/wu-schema.d.ts +772 -0
- package/dist/wu-schema.d.ts.map +1 -0
- package/dist/wu-schema.js +897 -0
- package/dist/wu-schema.js.map +1 -0
- package/dist/wu-spawn-context.d.ts +66 -0
- package/dist/wu-spawn-context.d.ts.map +1 -0
- package/dist/wu-spawn-context.js +185 -0
- package/dist/wu-spawn-context.js.map +1 -0
- package/dist/wu-spawn-helpers.d.ts +110 -0
- package/dist/wu-spawn-helpers.d.ts.map +1 -0
- package/dist/wu-spawn-helpers.js +276 -0
- package/dist/wu-spawn-helpers.js.map +1 -0
- package/dist/wu-spawn-skills.d.ts +39 -0
- package/dist/wu-spawn-skills.d.ts.map +1 -0
- package/dist/wu-spawn-skills.js +214 -0
- package/dist/wu-spawn-skills.js.map +1 -0
- package/dist/wu-spawn.d.ts +33 -0
- package/dist/wu-spawn.d.ts.map +1 -0
- package/dist/wu-spawn.js +212 -0
- package/dist/wu-spawn.js.map +1 -0
- package/dist/wu-state-indexer.d.ts +49 -0
- package/dist/wu-state-indexer.d.ts.map +1 -0
- package/dist/wu-state-indexer.js +156 -0
- package/dist/wu-state-indexer.js.map +1 -0
- package/dist/wu-state-schema.d.ts +253 -0
- package/dist/wu-state-schema.d.ts.map +1 -0
- package/dist/wu-state-schema.js +188 -0
- package/dist/wu-state-schema.js.map +1 -0
- package/dist/wu-state-store.d.ts +64 -0
- package/dist/wu-state-store.d.ts.map +1 -0
- package/dist/wu-state-store.js +171 -0
- package/dist/wu-state-store.js.map +1 -0
- package/dist/wu-status-transition.d.ts +58 -0
- package/dist/wu-status-transition.d.ts.map +1 -0
- package/dist/wu-status-transition.js +370 -0
- package/dist/wu-status-transition.js.map +1 -0
- package/dist/wu-status-updater.d.ts +18 -0
- package/dist/wu-status-updater.d.ts.map +1 -0
- package/dist/wu-status-updater.js +123 -0
- package/dist/wu-status-updater.js.map +1 -0
- package/dist/wu-statuses.d.ts +154 -0
- package/dist/wu-statuses.d.ts.map +1 -0
- package/dist/wu-statuses.js +176 -0
- package/dist/wu-statuses.js.map +1 -0
- package/dist/wu-transaction-collectors.d.ts +111 -0
- package/dist/wu-transaction-collectors.d.ts.map +1 -0
- package/dist/wu-transaction-collectors.js +273 -0
- package/dist/wu-transaction-collectors.js.map +1 -0
- package/dist/wu-transaction.d.ts +172 -0
- package/dist/wu-transaction.d.ts.map +1 -0
- package/dist/wu-transaction.js +288 -0
- package/dist/wu-transaction.js.map +1 -0
- package/dist/wu-type-helpers.d.ts +26 -0
- package/dist/wu-type-helpers.d.ts.map +1 -0
- package/dist/wu-type-helpers.js +45 -0
- package/dist/wu-type-helpers.js.map +1 -0
- package/dist/wu-ui-constants.d.ts +235 -0
- package/dist/wu-ui-constants.d.ts.map +1 -0
- package/dist/wu-ui-constants.js +237 -0
- package/dist/wu-ui-constants.js.map +1 -0
- package/dist/wu-validation-constants.d.ts +61 -0
- package/dist/wu-validation-constants.d.ts.map +1 -0
- package/dist/wu-validation-constants.js +69 -0
- package/dist/wu-validation-constants.js.map +1 -0
- package/dist/wu-validation.d.ts +121 -0
- package/dist/wu-validation.d.ts.map +1 -0
- package/dist/wu-validation.js +266 -0
- package/dist/wu-validation.js.map +1 -0
- package/dist/wu-validator.d.ts +128 -0
- package/dist/wu-validator.d.ts.map +1 -0
- package/dist/wu-validator.js +447 -0
- package/dist/wu-validator.js.map +1 -0
- package/dist/wu-yaml-fixer.d.ts +74 -0
- package/dist/wu-yaml-fixer.d.ts.map +1 -0
- package/dist/wu-yaml-fixer.js +273 -0
- package/dist/wu-yaml-fixer.js.map +1 -0
- package/dist/wu-yaml.d.ts +110 -0
- package/dist/wu-yaml.d.ts.map +1 -0
- package/dist/wu-yaml.js +300 -0
- package/dist/wu-yaml.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,107 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Default timeout for waiting to acquire lock (ms)
|
|
3
|
+
* After this time, acquisition fails if lock is held
|
|
4
|
+
*/
|
|
5
|
+
export declare const MERGE_LOCK_TIMEOUT_MS = 30000;
|
|
6
|
+
/**
|
|
7
|
+
* Time after which a lock is considered stale and can be forcibly released (ms)
|
|
8
|
+
* Should be greater than expected merge operation duration
|
|
9
|
+
*/
|
|
10
|
+
export declare const MERGE_LOCK_STALE_MS = 60000;
|
|
11
|
+
/**
|
|
12
|
+
* @typedef {Object} LockInfo
|
|
13
|
+
* @property {string} wuId - WU ID that holds the lock
|
|
14
|
+
* @property {string} lockId - Unique lock identifier
|
|
15
|
+
* @property {string} createdAt - ISO timestamp when lock was created
|
|
16
|
+
* @property {number} pid - Process ID of lock holder
|
|
17
|
+
* @property {string} hostname - Hostname of lock holder
|
|
18
|
+
*/
|
|
19
|
+
/**
|
|
20
|
+
* @typedef {Object} AcquireResult
|
|
21
|
+
* @property {boolean} acquired - Whether lock was acquired
|
|
22
|
+
* @property {string} [lockId] - Lock ID if acquired
|
|
23
|
+
* @property {string} [heldBy] - WU ID holding the lock if not acquired
|
|
24
|
+
* @property {string} [heldSince] - ISO timestamp if not acquired
|
|
25
|
+
*/
|
|
26
|
+
/**
|
|
27
|
+
* Options for lock file operations
|
|
28
|
+
*/
|
|
29
|
+
interface MergeLockBaseDirOptions {
|
|
30
|
+
/**
|
|
31
|
+
* Base directory override (for testing only)
|
|
32
|
+
*
|
|
33
|
+
* WU-1174: In production, locks are always stored in LUMENFLOW_PATHS.LOCK_DIR
|
|
34
|
+
* (a temp directory). This option allows tests to use isolated directories.
|
|
35
|
+
*/
|
|
36
|
+
baseDir?: string;
|
|
37
|
+
}
|
|
38
|
+
/**
|
|
39
|
+
* Check if merge lock is currently held
|
|
40
|
+
*
|
|
41
|
+
* @param {MergeLockBaseDirOptions} [options]
|
|
42
|
+
* @returns {boolean} True if lock is held (and not stale)
|
|
43
|
+
*/
|
|
44
|
+
export declare function isMergeLocked(options?: MergeLockBaseDirOptions): boolean;
|
|
45
|
+
/**
|
|
46
|
+
* Get information about current merge lock
|
|
47
|
+
*
|
|
48
|
+
* @param {MergeLockBaseDirOptions} [options]
|
|
49
|
+
* @returns {LockInfo|null} Lock info or null if unlocked
|
|
50
|
+
*/
|
|
51
|
+
export declare function getMergeLockInfo(options?: MergeLockBaseDirOptions): any;
|
|
52
|
+
/**
|
|
53
|
+
* Options for acquiring merge lock
|
|
54
|
+
*/
|
|
55
|
+
export interface AcquireMergeLockOptions extends MergeLockBaseDirOptions {
|
|
56
|
+
/** Max time to wait for lock (default: MERGE_LOCK_TIMEOUT_MS) */
|
|
57
|
+
waitMs?: number;
|
|
58
|
+
}
|
|
59
|
+
/**
|
|
60
|
+
* Attempt to acquire the merge lock
|
|
61
|
+
*
|
|
62
|
+
* Will wait up to waitMs for lock to become available.
|
|
63
|
+
* If the same WU already holds the lock, re-acquisition succeeds (idempotent).
|
|
64
|
+
* Stale locks are automatically cleaned up.
|
|
65
|
+
*
|
|
66
|
+
* @param {string} wuId - WU ID requesting the lock
|
|
67
|
+
* @param {AcquireMergeLockOptions} [options]
|
|
68
|
+
* @returns {Promise<AcquireResult>} Acquisition result
|
|
69
|
+
*/
|
|
70
|
+
export declare function acquireMergeLock(wuId: UnsafeAny, options?: AcquireMergeLockOptions): Promise<{
|
|
71
|
+
acquired: boolean;
|
|
72
|
+
lockId: any;
|
|
73
|
+
heldBy?: undefined;
|
|
74
|
+
heldSince?: undefined;
|
|
75
|
+
} | {
|
|
76
|
+
acquired: boolean;
|
|
77
|
+
heldBy: any;
|
|
78
|
+
heldSince: any;
|
|
79
|
+
lockId?: undefined;
|
|
80
|
+
}>;
|
|
81
|
+
/**
|
|
82
|
+
* Release the merge lock
|
|
83
|
+
*
|
|
84
|
+
* Only releases if the provided lockId matches the current lock.
|
|
85
|
+
* This prevents accidentally releasing another WU's lock.
|
|
86
|
+
*
|
|
87
|
+
* @param {string} lockId - Lock ID to release
|
|
88
|
+
* @param {MergeLockBaseDirOptions} [options]
|
|
89
|
+
* @returns {boolean} True if lock was released
|
|
90
|
+
*/
|
|
91
|
+
export declare function releaseMergeLock(lockId: UnsafeAny, options?: MergeLockBaseDirOptions): boolean;
|
|
92
|
+
/**
|
|
93
|
+
* Execute a function while holding the merge lock
|
|
94
|
+
*
|
|
95
|
+
* Guarantees the lock is released after function completes,
|
|
96
|
+
* even if the function throws an error.
|
|
97
|
+
*
|
|
98
|
+
* @template T
|
|
99
|
+
* @param {string} wuId - WU ID requesting the lock
|
|
100
|
+
* @param {function(): Promise<T>} fn - Async function to execute
|
|
101
|
+
* @param {AcquireMergeLockOptions} [options]
|
|
102
|
+
* @returns {Promise<T>} Result of function execution
|
|
103
|
+
* @throws {Error} If lock cannot be acquired or function throws
|
|
104
|
+
*/
|
|
105
|
+
export declare function withMergeLock<T>(wuId: string, fn: () => Promise<T>, options?: AcquireMergeLockOptions): Promise<T>;
|
|
106
|
+
export {};
|
|
107
|
+
//# sourceMappingURL=merge-lock.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-lock.d.ts","sourceRoot":"","sources":["../src/merge-lock.ts"],"names":[],"mappings":"AA+BA;;;GAGG;AACH,eAAO,MAAM,qBAAqB,QAAkB,CAAC;AAErD;;;GAGG;AACH,eAAO,MAAM,mBAAmB,QAAiB,CAAC;AAKlD;;;;;;;GAOG;AAEH;;;;;;GAMG;AAEH;;GAEG;AACH,UAAU,uBAAuB;IAC/B;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAwGD;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,uBAA4B,WAOlE;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,GAAE,uBAA4B,OAMrE;AAED;;GAEG;AACH,MAAM,WAAW,uBAAwB,SAAQ,uBAAuB;IACtE,iEAAiE;IACjE,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;GAUG;AACH,wBAAsB,gBAAgB,CAAC,IAAI,EAAE,SAAS,EAAE,OAAO,GAAE,uBAA4B;;;;;;;;;;GAuD5F;AAED;;;;;;;;;GASG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,SAAS,EAAE,OAAO,GAAE,uBAA4B,WAgBxF;AAED;;;;;;;;;;;;GAYG;AACH,wBAAsB,aAAa,CAAC,CAAC,EACnC,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,EACpB,OAAO,GAAE,uBAA4B,GACpC,OAAO,CAAC,CAAC,CAAC,CAgBZ"}
|
|
@@ -0,0 +1,260 @@
|
|
|
1
|
+
// Copyright (c) 2026 Hellmai Ltd
|
|
2
|
+
// SPDX-License-Identifier: AGPL-3.0-only
|
|
3
|
+
/**
|
|
4
|
+
* WU-1747: Merge Lock Module
|
|
5
|
+
* WU-1174: Lock files moved to temp directory to avoid polluting main checkout
|
|
6
|
+
*
|
|
7
|
+
* Provides atomic locking mechanism for wu:done merge operations
|
|
8
|
+
* to prevent race conditions during concurrent completions.
|
|
9
|
+
*
|
|
10
|
+
* Features:
|
|
11
|
+
* - File-based lock with PID and timestamp
|
|
12
|
+
* - Stale lock detection and auto-cleanup
|
|
13
|
+
* - Idempotent re-acquisition for same WU
|
|
14
|
+
* - Guaranteed cleanup via withMergeLock wrapper
|
|
15
|
+
* - Lock files stored in temp directory (not main checkout)
|
|
16
|
+
*
|
|
17
|
+
* @module merge-lock
|
|
18
|
+
*/
|
|
19
|
+
import { existsSync, readFileSync, writeFileSync, unlinkSync, mkdirSync } from 'node:fs';
|
|
20
|
+
import path from 'node:path';
|
|
21
|
+
import crypto from 'node:crypto';
|
|
22
|
+
import { LOG_PREFIX, EMOJI, LUMENFLOW_PATHS, LOCK_DIR_NAME } from './wu-constants.js';
|
|
23
|
+
import { createError, ErrorCodes } from './error-handler.js';
|
|
24
|
+
import { LOCK_TIMEOUT_MS, MERGE_LOCK_STALE_MS as MERGE_STALE_MS, LOCK_POLL_INTERVAL_MS, } from './constants/lock-constants.js';
|
|
25
|
+
/**
|
|
26
|
+
* Default timeout for waiting to acquire lock (ms)
|
|
27
|
+
* After this time, acquisition fails if lock is held
|
|
28
|
+
*/
|
|
29
|
+
export const MERGE_LOCK_TIMEOUT_MS = LOCK_TIMEOUT_MS;
|
|
30
|
+
/**
|
|
31
|
+
* Time after which a lock is considered stale and can be forcibly released (ms)
|
|
32
|
+
* Should be greater than expected merge operation duration
|
|
33
|
+
*/
|
|
34
|
+
export const MERGE_LOCK_STALE_MS = MERGE_STALE_MS;
|
|
35
|
+
/** Lock file name within .lumenflow directory */
|
|
36
|
+
const LOCK_FILE_NAME = 'merge.lock';
|
|
37
|
+
/**
|
|
38
|
+
* Get the path to the merge lock file
|
|
39
|
+
*
|
|
40
|
+
* WU-1174: Lock files are stored in a temp directory to avoid polluting
|
|
41
|
+
* the main checkout. The baseDir option is only for testing isolation.
|
|
42
|
+
*
|
|
43
|
+
* @param {MergeLockBaseDirOptions} [options]
|
|
44
|
+
* @returns {string} Path to lock file
|
|
45
|
+
*/
|
|
46
|
+
function getLockPath(options = {}) {
|
|
47
|
+
// WU-1174: Use temp directory for locks (not main checkout's .lumenflow/)
|
|
48
|
+
// baseDir is only used for test isolation
|
|
49
|
+
const lockDir = options.baseDir
|
|
50
|
+
? path.join(options.baseDir, LOCK_DIR_NAME)
|
|
51
|
+
: LUMENFLOW_PATHS.LOCK_DIR;
|
|
52
|
+
return path.join(lockDir, LOCK_FILE_NAME);
|
|
53
|
+
}
|
|
54
|
+
/**
|
|
55
|
+
* Read lock file contents
|
|
56
|
+
*
|
|
57
|
+
* @param {MergeLockBaseDirOptions} [options]
|
|
58
|
+
* @returns {LockInfo|null} Lock info or null if no lock
|
|
59
|
+
*/
|
|
60
|
+
function readLockFile(options = {}) {
|
|
61
|
+
const lockPath = getLockPath(options);
|
|
62
|
+
if (!existsSync(lockPath)) {
|
|
63
|
+
return null;
|
|
64
|
+
}
|
|
65
|
+
try {
|
|
66
|
+
const content = readFileSync(lockPath, 'utf8');
|
|
67
|
+
return JSON.parse(content);
|
|
68
|
+
}
|
|
69
|
+
catch {
|
|
70
|
+
// Corrupted lock file - treat as no lock
|
|
71
|
+
return null;
|
|
72
|
+
}
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Write lock file
|
|
76
|
+
*
|
|
77
|
+
* @param {LockInfo} lockInfo - Lock information to write
|
|
78
|
+
* @param {MergeLockBaseDirOptions} [options]
|
|
79
|
+
*/
|
|
80
|
+
function writeLockFile(lockInfo, options = {}) {
|
|
81
|
+
const lockPath = getLockPath(options);
|
|
82
|
+
const lockDir = path.dirname(lockPath);
|
|
83
|
+
// WU-1174: Ensure lock directory exists (temp directory, not .lumenflow/)
|
|
84
|
+
if (!existsSync(lockDir)) {
|
|
85
|
+
mkdirSync(lockDir, { recursive: true });
|
|
86
|
+
}
|
|
87
|
+
writeFileSync(lockPath, JSON.stringify(lockInfo, null, 2));
|
|
88
|
+
}
|
|
89
|
+
/**
|
|
90
|
+
* Delete lock file
|
|
91
|
+
*
|
|
92
|
+
* @param {MergeLockBaseDirOptions} [options]
|
|
93
|
+
*/
|
|
94
|
+
function deleteLockFile(options = {}) {
|
|
95
|
+
const lockPath = getLockPath(options);
|
|
96
|
+
if (existsSync(lockPath)) {
|
|
97
|
+
unlinkSync(lockPath);
|
|
98
|
+
}
|
|
99
|
+
}
|
|
100
|
+
/**
|
|
101
|
+
* Check if a lock is stale (older than MERGE_LOCK_STALE_MS)
|
|
102
|
+
*
|
|
103
|
+
* @param {LockInfo} lockInfo - Lock info to check
|
|
104
|
+
* @returns {boolean} True if lock is stale
|
|
105
|
+
*/
|
|
106
|
+
function isLockStale(lockInfo) {
|
|
107
|
+
if (!lockInfo || !lockInfo.createdAt) {
|
|
108
|
+
return true;
|
|
109
|
+
}
|
|
110
|
+
const lockTime = new Date(lockInfo.createdAt).getTime();
|
|
111
|
+
const age = Date.now() - lockTime;
|
|
112
|
+
return age > MERGE_LOCK_STALE_MS;
|
|
113
|
+
}
|
|
114
|
+
/**
|
|
115
|
+
* Generate a unique lock ID
|
|
116
|
+
*
|
|
117
|
+
* @returns {string} Unique lock ID
|
|
118
|
+
*/
|
|
119
|
+
function generateLockId() {
|
|
120
|
+
return crypto.randomUUID();
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Sleep for specified milliseconds
|
|
124
|
+
*
|
|
125
|
+
* @param {number} ms - Milliseconds to sleep
|
|
126
|
+
* @returns {Promise<void>}
|
|
127
|
+
*/
|
|
128
|
+
function sleep(ms) {
|
|
129
|
+
return new Promise((resolve) => setTimeout(resolve, ms));
|
|
130
|
+
}
|
|
131
|
+
/**
|
|
132
|
+
* Check if merge lock is currently held
|
|
133
|
+
*
|
|
134
|
+
* @param {MergeLockBaseDirOptions} [options]
|
|
135
|
+
* @returns {boolean} True if lock is held (and not stale)
|
|
136
|
+
*/
|
|
137
|
+
export function isMergeLocked(options = {}) {
|
|
138
|
+
const lockInfo = readLockFile(options);
|
|
139
|
+
if (!lockInfo) {
|
|
140
|
+
return false;
|
|
141
|
+
}
|
|
142
|
+
// Stale locks are treated as unlocked
|
|
143
|
+
return !isLockStale(lockInfo);
|
|
144
|
+
}
|
|
145
|
+
/**
|
|
146
|
+
* Get information about current merge lock
|
|
147
|
+
*
|
|
148
|
+
* @param {MergeLockBaseDirOptions} [options]
|
|
149
|
+
* @returns {LockInfo|null} Lock info or null if unlocked
|
|
150
|
+
*/
|
|
151
|
+
export function getMergeLockInfo(options = {}) {
|
|
152
|
+
const lockInfo = readLockFile(options);
|
|
153
|
+
if (!lockInfo || isLockStale(lockInfo)) {
|
|
154
|
+
return null;
|
|
155
|
+
}
|
|
156
|
+
return lockInfo;
|
|
157
|
+
}
|
|
158
|
+
/**
|
|
159
|
+
* Attempt to acquire the merge lock
|
|
160
|
+
*
|
|
161
|
+
* Will wait up to waitMs for lock to become available.
|
|
162
|
+
* If the same WU already holds the lock, re-acquisition succeeds (idempotent).
|
|
163
|
+
* Stale locks are automatically cleaned up.
|
|
164
|
+
*
|
|
165
|
+
* @param {string} wuId - WU ID requesting the lock
|
|
166
|
+
* @param {AcquireMergeLockOptions} [options]
|
|
167
|
+
* @returns {Promise<AcquireResult>} Acquisition result
|
|
168
|
+
*/
|
|
169
|
+
export async function acquireMergeLock(wuId, options = {}) {
|
|
170
|
+
const { baseDir, waitMs = MERGE_LOCK_TIMEOUT_MS } = options;
|
|
171
|
+
const startTime = Date.now();
|
|
172
|
+
while (true) {
|
|
173
|
+
const existingLock = readLockFile({ baseDir });
|
|
174
|
+
// No lock exists - acquire it
|
|
175
|
+
if (!existingLock) {
|
|
176
|
+
const lockId = generateLockId();
|
|
177
|
+
const lockInfo = {
|
|
178
|
+
wuId,
|
|
179
|
+
lockId,
|
|
180
|
+
createdAt: new Date().toISOString(),
|
|
181
|
+
pid: process.pid,
|
|
182
|
+
hostname: process.env.HOSTNAME || 'unknown',
|
|
183
|
+
};
|
|
184
|
+
writeLockFile(lockInfo, { baseDir });
|
|
185
|
+
console.log(`${LOG_PREFIX.DONE} ${EMOJI.SUCCESS} Acquired merge lock for ${wuId}`);
|
|
186
|
+
return { acquired: true, lockId };
|
|
187
|
+
}
|
|
188
|
+
// Lock is stale - clean it up and acquire
|
|
189
|
+
if (isLockStale(existingLock)) {
|
|
190
|
+
console.log(`${LOG_PREFIX.DONE} ${EMOJI.WARNING} Cleaning up stale lock from ${existingLock.wuId}`);
|
|
191
|
+
deleteLockFile({ baseDir });
|
|
192
|
+
continue; // Retry acquisition
|
|
193
|
+
}
|
|
194
|
+
// Same WU already holds lock - return existing lock ID (idempotent)
|
|
195
|
+
if (existingLock.wuId === wuId) {
|
|
196
|
+
return { acquired: true, lockId: existingLock.lockId };
|
|
197
|
+
}
|
|
198
|
+
// Different WU holds lock - check if we should wait
|
|
199
|
+
const elapsed = Date.now() - startTime;
|
|
200
|
+
if (elapsed >= waitMs) {
|
|
201
|
+
console.log(`${LOG_PREFIX.DONE} ${EMOJI.WARNING} Merge lock held by ${existingLock.wuId} since ${existingLock.createdAt}`);
|
|
202
|
+
return {
|
|
203
|
+
acquired: false,
|
|
204
|
+
heldBy: existingLock.wuId,
|
|
205
|
+
heldSince: existingLock.createdAt,
|
|
206
|
+
};
|
|
207
|
+
}
|
|
208
|
+
// Wait and retry
|
|
209
|
+
await sleep(LOCK_POLL_INTERVAL_MS);
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
/**
|
|
213
|
+
* Release the merge lock
|
|
214
|
+
*
|
|
215
|
+
* Only releases if the provided lockId matches the current lock.
|
|
216
|
+
* This prevents accidentally releasing another WU's lock.
|
|
217
|
+
*
|
|
218
|
+
* @param {string} lockId - Lock ID to release
|
|
219
|
+
* @param {MergeLockBaseDirOptions} [options]
|
|
220
|
+
* @returns {boolean} True if lock was released
|
|
221
|
+
*/
|
|
222
|
+
export function releaseMergeLock(lockId, options = {}) {
|
|
223
|
+
const existingLock = readLockFile(options);
|
|
224
|
+
if (!existingLock) {
|
|
225
|
+
return false;
|
|
226
|
+
}
|
|
227
|
+
if (existingLock.lockId !== lockId) {
|
|
228
|
+
console.log(`${LOG_PREFIX.DONE} ${EMOJI.WARNING} Cannot release lock - lockId mismatch`);
|
|
229
|
+
return false;
|
|
230
|
+
}
|
|
231
|
+
deleteLockFile(options);
|
|
232
|
+
console.log(`${LOG_PREFIX.DONE} ${EMOJI.SUCCESS} Released merge lock for ${existingLock.wuId}`);
|
|
233
|
+
return true;
|
|
234
|
+
}
|
|
235
|
+
/**
|
|
236
|
+
* Execute a function while holding the merge lock
|
|
237
|
+
*
|
|
238
|
+
* Guarantees the lock is released after function completes,
|
|
239
|
+
* even if the function throws an error.
|
|
240
|
+
*
|
|
241
|
+
* @template T
|
|
242
|
+
* @param {string} wuId - WU ID requesting the lock
|
|
243
|
+
* @param {function(): Promise<T>} fn - Async function to execute
|
|
244
|
+
* @param {AcquireMergeLockOptions} [options]
|
|
245
|
+
* @returns {Promise<T>} Result of function execution
|
|
246
|
+
* @throws {Error} If lock cannot be acquired or function throws
|
|
247
|
+
*/
|
|
248
|
+
export async function withMergeLock(wuId, fn, options = {}) {
|
|
249
|
+
const result = await acquireMergeLock(wuId, options);
|
|
250
|
+
if (!result.acquired) {
|
|
251
|
+
throw createError(ErrorCodes.LOCK_ERROR, `Cannot acquire merge lock - held by ${result.heldBy} since ${result.heldSince}`, { wuId, heldBy: result.heldBy, heldSince: result.heldSince });
|
|
252
|
+
}
|
|
253
|
+
try {
|
|
254
|
+
return await fn();
|
|
255
|
+
}
|
|
256
|
+
finally {
|
|
257
|
+
releaseMergeLock(result.lockId, options);
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
//# sourceMappingURL=merge-lock.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"merge-lock.js","sourceRoot":"","sources":["../src/merge-lock.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,128 @@
|
|
|
1
|
+
import type { GitAdapter } from './git-adapter.js';
|
|
2
|
+
import type { PushRetryConfig } from './lumenflow-config-schema.js';
|
|
3
|
+
/**
|
|
4
|
+
* Maximum retry attempts for ff-only merge when main moves
|
|
5
|
+
*
|
|
6
|
+
* This handles race conditions when multiple agents run wu:create or wu:edit
|
|
7
|
+
* concurrently. Each retry fetches latest main and rebases.
|
|
8
|
+
*/
|
|
9
|
+
export declare const MAX_MERGE_RETRIES = 3;
|
|
10
|
+
/**
|
|
11
|
+
* Maximum retry attempts for push when origin/main advances
|
|
12
|
+
*
|
|
13
|
+
* WU-1179: When push fails due to race condition (origin advanced while we
|
|
14
|
+
* were working), rollback local main to origin/main and retry.
|
|
15
|
+
* Each retry: fetch -> rebase temp branch -> re-merge -> push.
|
|
16
|
+
*
|
|
17
|
+
* @deprecated Use DEFAULT_PUSH_RETRY_CONFIG.retries instead (WU-1332)
|
|
18
|
+
*/
|
|
19
|
+
export declare const MAX_PUSH_RETRIES = 3;
|
|
20
|
+
/**
|
|
21
|
+
* WU-1332: Default push retry configuration
|
|
22
|
+
*
|
|
23
|
+
* Provides sensible defaults for micro-worktree push operations.
|
|
24
|
+
* Can be overridden via workspace.yaml software_delivery.git.push_retry.
|
|
25
|
+
*/
|
|
26
|
+
export declare const DEFAULT_PUSH_RETRY_CONFIG: PushRetryConfig;
|
|
27
|
+
/**
|
|
28
|
+
* Resolve effective push retry config from defaults + global config + operation override.
|
|
29
|
+
*
|
|
30
|
+
* Priority (lowest to highest):
|
|
31
|
+
* 1. DEFAULT_PUSH_RETRY_CONFIG
|
|
32
|
+
* 2. Global config from workspace.yaml software_delivery (`git.push_retry`)
|
|
33
|
+
* 3. Operation-specific override from caller
|
|
34
|
+
*/
|
|
35
|
+
export declare function resolvePushRetryConfig(globalConfig?: Partial<PushRetryConfig>, operationOverride?: Partial<PushRetryConfig>): PushRetryConfig;
|
|
36
|
+
/**
|
|
37
|
+
* Environment variable name for LUMENFLOW_FORCE bypass
|
|
38
|
+
*
|
|
39
|
+
* WU-1081: Exported for use in micro-worktree push operations.
|
|
40
|
+
*/
|
|
41
|
+
export declare const LUMENFLOW_FORCE_ENV = "LUMENFLOW_FORCE";
|
|
42
|
+
/**
|
|
43
|
+
* Environment variable name for LUMENFLOW_FORCE_REASON audit trail
|
|
44
|
+
*
|
|
45
|
+
* WU-1081: Exported for use in micro-worktree push operations.
|
|
46
|
+
*/
|
|
47
|
+
export declare const LUMENFLOW_FORCE_REASON_ENV = "LUMENFLOW_FORCE_REASON";
|
|
48
|
+
/**
|
|
49
|
+
* Environment variable name for LUMENFLOW_WU_TOOL
|
|
50
|
+
*
|
|
51
|
+
* WU-1365: Exported for use by CLI commands that use micro-worktree operations.
|
|
52
|
+
* The pre-push hook checks this env var to allow micro-worktree pushes to main.
|
|
53
|
+
* Valid values are: wu-create, wu-edit, wu-done, wu-delete, wu-claim, wu-block,
|
|
54
|
+
* wu-unblock, initiative-create, initiative-edit, release, lumenflow-upgrade
|
|
55
|
+
*/
|
|
56
|
+
export declare const LUMENFLOW_WU_TOOL_ENV = "LUMENFLOW_WU_TOOL";
|
|
57
|
+
/**
|
|
58
|
+
* Default log prefix for micro-worktree operations
|
|
59
|
+
*
|
|
60
|
+
* Extracted to constant to satisfy sonarjs/no-duplicate-string rule.
|
|
61
|
+
*/
|
|
62
|
+
export declare const DEFAULT_LOG_PREFIX = "[micro-wt]";
|
|
63
|
+
/**
|
|
64
|
+
* WU-1336: Typed error for retry exhaustion in micro-worktree operations
|
|
65
|
+
*
|
|
66
|
+
* Thrown when push retries are exhausted due to race conditions with parallel agents.
|
|
67
|
+
* CLI commands should use `isRetryExhaustionError` to detect this error type and
|
|
68
|
+
* `formatRetryExhaustionError` to generate actionable user-facing messages.
|
|
69
|
+
*/
|
|
70
|
+
export declare class RetryExhaustionError extends Error {
|
|
71
|
+
readonly name = "RetryExhaustionError";
|
|
72
|
+
readonly operation: string;
|
|
73
|
+
readonly retries: number;
|
|
74
|
+
constructor(operation: string, retries: number);
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* WU-1336: Options for formatting retry exhaustion error messages
|
|
78
|
+
*/
|
|
79
|
+
export interface FormatRetryExhaustionOptions {
|
|
80
|
+
command: string;
|
|
81
|
+
}
|
|
82
|
+
/**
|
|
83
|
+
* WU-1336: Type guard to check if an error is a retry exhaustion error
|
|
84
|
+
*
|
|
85
|
+
* Detects both the typed `RetryExhaustionError` class and legacy error messages
|
|
86
|
+
* that match the "Push failed after N attempts" pattern.
|
|
87
|
+
*/
|
|
88
|
+
export declare function isRetryExhaustionError(error: unknown): error is Error;
|
|
89
|
+
/**
|
|
90
|
+
* WU-1336: Format retry exhaustion error with actionable next steps
|
|
91
|
+
*/
|
|
92
|
+
export declare function formatRetryExhaustionError(error: Error, options: FormatRetryExhaustionOptions): string;
|
|
93
|
+
/**
|
|
94
|
+
* WU-1308: Check if remote operations should be skipped based on git.requireRemote config
|
|
95
|
+
*/
|
|
96
|
+
export declare function shouldSkipRemoteOperations(): boolean;
|
|
97
|
+
/**
|
|
98
|
+
* Temp branch prefix for micro-worktree operations
|
|
99
|
+
*/
|
|
100
|
+
export declare function getTempBranchName(operation: string, id: string): string;
|
|
101
|
+
/**
|
|
102
|
+
* Create micro-worktree in /tmp directory
|
|
103
|
+
*/
|
|
104
|
+
export declare function createMicroWorktreeDir(prefix: string): string;
|
|
105
|
+
/**
|
|
106
|
+
* Parse git worktree list output to find worktrees by branch
|
|
107
|
+
*/
|
|
108
|
+
export declare function findWorktreeByBranch(worktreeListOutput: string, branchName: string): string | null;
|
|
109
|
+
/**
|
|
110
|
+
* Clean up orphaned micro-worktree and temp branch from a previous interrupted operation
|
|
111
|
+
*/
|
|
112
|
+
export declare function cleanupOrphanedMicroWorktree(operation: string, id: string, gitAdapter: GitAdapter, logPrefix?: string): Promise<{
|
|
113
|
+
cleanedWorktree: boolean;
|
|
114
|
+
cleanedBranch: boolean;
|
|
115
|
+
}>;
|
|
116
|
+
/**
|
|
117
|
+
* Cleanup micro-worktree and temp branch
|
|
118
|
+
*/
|
|
119
|
+
export declare function cleanupMicroWorktree(worktreePath: string, branchName: string, logPrefix?: string): Promise<void>;
|
|
120
|
+
/**
|
|
121
|
+
* Push using refspec with LUMENFLOW_FORCE to bypass pre-push hooks
|
|
122
|
+
*/
|
|
123
|
+
export declare function pushRefspecWithForce(gitAdapter: GitAdapter, remote: string, localRef: string, remoteRef: string, reason: string): Promise<void>;
|
|
124
|
+
/**
|
|
125
|
+
* WU-1337: Push using refspec with LUMENFLOW_FORCE and retry logic
|
|
126
|
+
*/
|
|
127
|
+
export declare function pushRefspecWithRetry(gitWorktree: GitAdapter, mainGit: GitAdapter, remote: string, localRef: string, remoteRef: string, reason: string, logPrefix?: string, config?: PushRetryConfig): Promise<void>;
|
|
128
|
+
//# sourceMappingURL=micro-worktree-shared.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"micro-worktree-shared.d.ts","sourceRoot":"","sources":["../src/micro-worktree-shared.ts"],"names":[],"mappings":"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"}
|