@lumenflow/cli 3.1.3 → 3.2.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/agent-issues-query.js.map +1 -0
- package/dist/agent-log-issue.js.map +1 -0
- package/dist/agent-session-end.js.map +1 -0
- package/dist/agent-session.js.map +1 -0
- package/dist/backlog-prune.js.map +1 -0
- package/dist/cli-entry-point.js +139 -0
- package/dist/cli-entry-point.js.map +1 -0
- package/dist/commands/integrate.js.map +1 -0
- package/dist/commands.js.map +1 -0
- package/dist/config-get.js.map +1 -0
- package/dist/config-set.js.map +1 -0
- package/dist/constants.js +98 -0
- package/dist/constants.js.map +1 -0
- package/dist/delegation-list.js.map +1 -0
- package/dist/deps-add.js +259 -0
- package/dist/deps-add.js.map +1 -0
- package/dist/deps-remove.js +105 -0
- package/dist/deps-remove.js.map +1 -0
- package/dist/docs-sync.js.map +1 -0
- package/dist/doctor.js.map +1 -0
- package/dist/file-delete.js.map +1 -0
- package/dist/file-edit.js.map +1 -0
- package/dist/file-read.js.map +1 -0
- package/dist/file-write.js.map +1 -0
- package/dist/flow-bottlenecks.js.map +1 -0
- package/dist/flow-report.js.map +1 -0
- package/dist/formatters.js +151 -0
- package/dist/formatters.js.map +1 -0
- package/dist/gate-defaults.js +137 -0
- package/dist/gate-defaults.js.map +1 -0
- package/dist/gate-registry.js +73 -0
- package/dist/gate-registry.js.map +1 -0
- package/dist/gates-graceful-degradation.js +153 -0
- package/dist/gates-graceful-degradation.js.map +1 -0
- package/dist/gates-plan-resolvers.js +190 -0
- package/dist/gates-plan-resolvers.js.map +1 -0
- package/dist/gates-runners.js +545 -0
- package/dist/gates-runners.js.map +1 -0
- package/dist/gates-types.js +4 -0
- package/dist/gates-types.js.map +1 -0
- package/dist/gates-utils.js +333 -0
- package/dist/gates-utils.js.map +1 -0
- package/dist/gates.js.map +1 -0
- package/dist/git-branch.js.map +1 -0
- package/dist/git-diff.js.map +1 -0
- package/dist/git-log.js.map +1 -0
- package/dist/git-status.js.map +1 -0
- package/dist/guard-locked.js +172 -0
- package/dist/guard-locked.js.map +1 -0
- package/dist/guard-main-branch.js +217 -0
- package/dist/guard-main-branch.js.map +1 -0
- package/dist/guard-worktree-commit.js +163 -0
- package/dist/guard-worktree-commit.js.map +1 -0
- package/dist/hooks/auto-checkpoint-utils.js +54 -0
- package/dist/hooks/auto-checkpoint-utils.js.map +1 -0
- package/dist/hooks/enforcement-checks.js +399 -0
- package/dist/hooks/enforcement-checks.js.map +1 -0
- package/dist/hooks/enforcement-generator.js +139 -0
- package/dist/hooks/enforcement-generator.js.map +1 -0
- package/dist/hooks/enforcement-sync.js +380 -0
- package/dist/hooks/enforcement-sync.js.map +1 -0
- package/dist/hooks/generators/auto-checkpoint.js +125 -0
- package/dist/hooks/generators/auto-checkpoint.js.map +1 -0
- package/dist/hooks/generators/enforce-worktree.js +190 -0
- package/dist/hooks/generators/enforce-worktree.js.map +1 -0
- package/dist/hooks/generators/index.js +18 -0
- package/dist/hooks/generators/index.js.map +1 -0
- package/dist/hooks/generators/pre-compact-checkpoint.js +136 -0
- package/dist/hooks/generators/pre-compact-checkpoint.js.map +1 -0
- package/dist/hooks/generators/require-wu.js +117 -0
- package/dist/hooks/generators/require-wu.js.map +1 -0
- package/dist/hooks/generators/session-start-recovery.js +103 -0
- package/dist/hooks/generators/session-start-recovery.js.map +1 -0
- package/dist/hooks/generators/signal-utils.js +54 -0
- package/dist/hooks/generators/signal-utils.js.map +1 -0
- package/dist/hooks/generators/warn-incomplete.js +67 -0
- package/dist/hooks/generators/warn-incomplete.js.map +1 -0
- package/dist/hooks/index.js +10 -0
- package/dist/hooks/index.js.map +1 -0
- package/dist/index.js.map +1 -0
- package/dist/init-detection.js +232 -0
- package/dist/init-detection.js.map +1 -0
- package/dist/init-lane-validation.js +147 -0
- package/dist/init-lane-validation.js.map +1 -0
- package/dist/init-scaffolding.js +158 -0
- package/dist/init-scaffolding.js.map +1 -0
- package/dist/init-templates.js +1983 -0
- package/dist/init-templates.js.map +1 -0
- package/dist/init.js.map +1 -0
- package/dist/initiative-add-wu.js.map +1 -0
- package/dist/initiative-bulk-assign-wus.js.map +1 -0
- package/dist/initiative-create.js.map +1 -0
- package/dist/initiative-edit.js.map +1 -0
- package/dist/initiative-list.js.map +1 -0
- package/dist/initiative-plan.js.map +1 -0
- package/dist/initiative-remove-wu.js.map +1 -0
- package/dist/initiative-status.js.map +1 -0
- package/dist/lane-edit.js.map +1 -0
- package/dist/lane-health.js.map +1 -0
- package/dist/lane-lifecycle-process.js +381 -0
- package/dist/lane-lifecycle-process.js.map +1 -0
- package/dist/lane-lock.js.map +1 -0
- package/dist/lane-setup.js.map +1 -0
- package/dist/lane-status.js.map +1 -0
- package/dist/lane-suggest.js.map +1 -0
- package/dist/lane-validate.js.map +1 -0
- package/dist/lifecycle-regression-harness.js +181 -0
- package/dist/lifecycle-regression-harness.js.map +1 -0
- package/dist/lumenflow-upgrade.js +18 -10
- package/dist/lumenflow-upgrade.js.map +1 -0
- package/dist/mem-checkpoint.js.map +1 -0
- package/dist/mem-cleanup.js.map +1 -0
- package/dist/mem-context.js.map +1 -0
- package/dist/mem-create.js.map +1 -0
- package/dist/mem-delete.js.map +1 -0
- package/dist/mem-export.js.map +1 -0
- package/dist/mem-inbox.js.map +1 -0
- package/dist/mem-index.js +214 -0
- package/dist/mem-index.js.map +1 -0
- package/dist/mem-init.js.map +1 -0
- package/dist/mem-profile.js +210 -0
- package/dist/mem-profile.js.map +1 -0
- package/dist/mem-promote.js +257 -0
- package/dist/mem-promote.js.map +1 -0
- package/dist/mem-ready.js.map +1 -0
- package/dist/mem-recover.js.map +1 -0
- package/dist/mem-signal.js.map +1 -0
- package/dist/mem-start.js.map +1 -0
- package/dist/mem-summarize.js.map +1 -0
- package/dist/mem-triage.js.map +1 -0
- package/dist/merge-block.js +225 -0
- package/dist/merge-block.js.map +1 -0
- package/dist/metrics-cli.js.map +1 -0
- package/dist/metrics-snapshot.js.map +1 -0
- package/dist/object-guards.js +9 -0
- package/dist/object-guards.js.map +1 -0
- package/dist/onboard.js.map +1 -0
- package/dist/onboarding-smoke-test.js +432 -0
- package/dist/onboarding-smoke-test.js.map +1 -0
- package/dist/orchestrate-init-status.js.map +1 -0
- package/dist/orchestrate-initiative.js.map +1 -0
- package/dist/orchestrate-monitor.js.map +1 -0
- package/dist/pack-author.js.map +1 -0
- package/dist/pack-hash.js.map +1 -0
- package/dist/pack-install.js.map +1 -0
- package/dist/pack-publish.js.map +1 -0
- package/dist/pack-scaffold.js.map +1 -0
- package/dist/pack-search.js.map +1 -0
- package/dist/pack-validate.js.map +1 -0
- package/dist/plan-create.js.map +1 -0
- package/dist/plan-edit.js.map +1 -0
- package/dist/plan-link.js.map +1 -0
- package/dist/plan-promote.js.map +1 -0
- package/dist/public-manifest.js +931 -0
- package/dist/public-manifest.js.map +1 -0
- package/dist/release.js +664 -116
- package/dist/release.js.map +1 -0
- package/dist/rotate-progress.js +253 -0
- package/dist/rotate-progress.js.map +1 -0
- package/dist/session-coordinator.js +303 -0
- package/dist/session-coordinator.js.map +1 -0
- package/dist/shared-validators.js +81 -0
- package/dist/shared-validators.js.map +1 -0
- package/dist/signal-cleanup.js.map +1 -0
- package/dist/state-bootstrap.js.map +1 -0
- package/dist/state-cleanup.js.map +1 -0
- package/dist/state-doctor-fix.js +226 -0
- package/dist/state-doctor-fix.js.map +1 -0
- package/dist/state-doctor-stamps.js +23 -0
- package/dist/state-doctor-stamps.js.map +1 -0
- package/dist/state-doctor.js.map +1 -0
- package/dist/strict-progress.js +255 -0
- package/dist/strict-progress.js.map +1 -0
- package/dist/sync-templates.js.map +1 -0
- package/dist/task-claim.js.map +1 -0
- package/dist/trace-gen.js +401 -0
- package/dist/trace-gen.js.map +1 -0
- package/dist/validate-agent-skills.js +224 -0
- package/dist/validate-agent-skills.js.map +1 -0
- package/dist/validate-agent-sync.js +152 -0
- package/dist/validate-agent-sync.js.map +1 -0
- package/dist/validate-backlog-sync.js +77 -0
- package/dist/validate-backlog-sync.js.map +1 -0
- package/dist/validate-skills-spec.js +211 -0
- package/dist/validate-skills-spec.js.map +1 -0
- package/dist/validate.js.map +1 -0
- package/dist/validator-defaults.js +107 -0
- package/dist/validator-defaults.js.map +1 -0
- package/dist/validator-registry.js +71 -0
- package/dist/validator-registry.js.map +1 -0
- package/dist/workspace-init.js.map +1 -0
- package/dist/wu-block.js.map +1 -0
- package/dist/wu-brief.js.map +1 -0
- package/dist/wu-claim-branch.js +123 -0
- package/dist/wu-claim-branch.js.map +1 -0
- package/dist/wu-claim-cloud.js +79 -0
- package/dist/wu-claim-cloud.js.map +1 -0
- package/dist/wu-claim-mode.js +82 -0
- package/dist/wu-claim-mode.js.map +1 -0
- package/dist/wu-claim-output.js +85 -0
- package/dist/wu-claim-output.js.map +1 -0
- package/dist/wu-claim-repair-guidance.js +12 -0
- package/dist/wu-claim-repair-guidance.js.map +1 -0
- package/dist/wu-claim-resume-handler.js +87 -0
- package/dist/wu-claim-resume-handler.js.map +1 -0
- package/dist/wu-claim-state.js +581 -0
- package/dist/wu-claim-state.js.map +1 -0
- package/dist/wu-claim-validation.js +458 -0
- package/dist/wu-claim-validation.js.map +1 -0
- package/dist/wu-claim-worktree.js +238 -0
- package/dist/wu-claim-worktree.js.map +1 -0
- package/dist/wu-claim.js.map +1 -0
- package/dist/wu-cleanup-cloud.js +78 -0
- package/dist/wu-cleanup-cloud.js.map +1 -0
- package/dist/wu-cleanup.js.map +1 -0
- package/dist/wu-code-path-coverage.js +83 -0
- package/dist/wu-code-path-coverage.js.map +1 -0
- package/dist/wu-create-cloud.js +30 -0
- package/dist/wu-create-cloud.js.map +1 -0
- package/dist/wu-create-content.js +264 -0
- package/dist/wu-create-content.js.map +1 -0
- package/dist/wu-create-readiness.js +59 -0
- package/dist/wu-create-readiness.js.map +1 -0
- package/dist/wu-create-validation.js +128 -0
- package/dist/wu-create-validation.js.map +1 -0
- package/dist/wu-create.js.map +1 -0
- package/dist/wu-delegate.js.map +1 -0
- package/dist/wu-delete.js.map +1 -0
- package/dist/wu-deps.js.map +1 -0
- package/dist/wu-done-auto-cleanup.js +194 -0
- package/dist/wu-done-auto-cleanup.js.map +1 -0
- package/dist/wu-done-check.js +38 -0
- package/dist/wu-done-check.js.map +1 -0
- package/dist/wu-done-cloud.js +48 -0
- package/dist/wu-done-cloud.js.map +1 -0
- package/dist/wu-done-decay.js +83 -0
- package/dist/wu-done-decay.js.map +1 -0
- package/dist/wu-done.js.map +1 -0
- package/dist/wu-edit-operations.js +399 -0
- package/dist/wu-edit-operations.js.map +1 -0
- package/dist/wu-edit-validators.js +282 -0
- package/dist/wu-edit-validators.js.map +1 -0
- package/dist/wu-edit.js.map +1 -0
- package/dist/wu-infer-lane.js.map +1 -0
- package/dist/wu-preflight.js.map +1 -0
- package/dist/wu-prep.js.map +1 -0
- package/dist/wu-proto.js.map +1 -0
- package/dist/wu-prune.js.map +1 -0
- package/dist/wu-recover.js.map +1 -0
- package/dist/wu-release.js.map +1 -0
- package/dist/wu-repair.js.map +1 -0
- package/dist/wu-sandbox.js.map +1 -0
- package/dist/wu-spawn-completion.js +58 -0
- package/dist/wu-spawn-completion.js.map +1 -0
- package/dist/wu-spawn-prompt-builders.js +1190 -0
- package/dist/wu-spawn-prompt-builders.js.map +1 -0
- package/dist/wu-spawn-strategy-resolver.js +322 -0
- package/dist/wu-spawn-strategy-resolver.js.map +1 -0
- package/dist/wu-spawn.js +59 -0
- package/dist/wu-spawn.js.map +1 -0
- package/dist/wu-state-cloud.js +41 -0
- package/dist/wu-state-cloud.js.map +1 -0
- package/dist/wu-status.js.map +1 -0
- package/dist/wu-unblock.js.map +1 -0
- package/dist/wu-unlock-lane.js.map +1 -0
- package/dist/wu-validate.js.map +1 -0
- package/package.json +8 -10
|
@@ -0,0 +1,238 @@
|
|
|
1
|
+
// Copyright (c) 2026 Hellmai Ltd
|
|
2
|
+
// SPDX-License-Identifier: AGPL-3.0-only
|
|
3
|
+
/**
|
|
4
|
+
* @file wu-claim-worktree.ts
|
|
5
|
+
* @description Worktree mode claim workflow handler.
|
|
6
|
+
*
|
|
7
|
+
* WU-1649: Extracted from wu-claim.ts to reduce orchestration complexity.
|
|
8
|
+
* All functions are mechanical extractions preserving original behavior.
|
|
9
|
+
*/
|
|
10
|
+
import { readFile } from 'node:fs/promises';
|
|
11
|
+
import path from 'node:path';
|
|
12
|
+
import { parseYAML } from '@lumenflow/core/wu-yaml';
|
|
13
|
+
import { createGitForPath } from '@lumenflow/core/git-adapter';
|
|
14
|
+
import { BRANCHES, REMOTES, LOG_PREFIX, COMMIT_FORMATS, EMOJI, FILE_SYSTEM, STRING_LITERALS, } from '@lumenflow/core/wu-constants';
|
|
15
|
+
import { getGitForCwd } from '@lumenflow/core/git-adapter';
|
|
16
|
+
import { shouldSkipRemoteOperations } from '@lumenflow/core/micro-worktree';
|
|
17
|
+
import { getStateStoreDirFromBacklog } from '@lumenflow/core/wu-paths';
|
|
18
|
+
import { emitMandatoryAgentAdvisory } from '@lumenflow/core/orchestration-advisory-loader';
|
|
19
|
+
import { getConfig } from '@lumenflow/core/config';
|
|
20
|
+
import { autoFixWUYaml } from '@lumenflow/core/wu-yaml-fixer';
|
|
21
|
+
import { symlinkNodeModules, symlinkNestedNodeModules, symlinkWorkspaceBinArtifactRoots, } from '@lumenflow/core/worktree-symlink';
|
|
22
|
+
import { updateWUYaml, appendClaimEventOnly, maybeProgressInitiativeStatus, getWorktreeCommitFiles, applyStagedChangesToMicroWorktree, } from './wu-claim-state.js';
|
|
23
|
+
import { surfaceUnreadSignalsForDisplay, printProjectDefaults, printLifecycleNudge, } from './wu-claim-output.js';
|
|
24
|
+
const PREFIX = LOG_PREFIX.CLAIM;
|
|
25
|
+
const PNPM_BINARY_NAME = 'pnpm';
|
|
26
|
+
const PNPM_FROZEN_LOCKFILE_ARGS = ['install', '--frozen-lockfile'];
|
|
27
|
+
const WORKTREE_INSTALL_TIMEOUT_MS = 300000;
|
|
28
|
+
const WORKTREE_SETUP_WARNING_PREVIEW_COUNT = 3;
|
|
29
|
+
/**
|
|
30
|
+
* WU-1213: Handle local-only claim metadata update (noPush mode).
|
|
31
|
+
* Extracted to reduce cognitive complexity of claimWorktreeMode.
|
|
32
|
+
*
|
|
33
|
+
* @returns {Promise<{finalTitle: string, initPathToCommit: string | null}>}
|
|
34
|
+
*/
|
|
35
|
+
async function handleNoPushMetadataUpdate(ctx) {
|
|
36
|
+
const { args, id, worktree, worktreePath, WU_PATH, BACKLOG_PATH, claimedMode, fixableIssues, sessionId, title, updatedTitle, stagedChanges, } = ctx;
|
|
37
|
+
let finalTitle = updatedTitle || title;
|
|
38
|
+
let initPathToCommit = null;
|
|
39
|
+
if (args.noAuto) {
|
|
40
|
+
await applyStagedChangesToMicroWorktree(worktreePath, stagedChanges);
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
const wtWUPath = path.join(worktreePath, WU_PATH);
|
|
44
|
+
const wtBacklogPath = path.join(worktreePath, BACKLOG_PATH);
|
|
45
|
+
if (fixableIssues && fixableIssues.length > 0) {
|
|
46
|
+
console.log(`${PREFIX} Applying ${fixableIssues.length} YAML fix(es)...`);
|
|
47
|
+
autoFixWUYaml(wtWUPath);
|
|
48
|
+
console.log(`${PREFIX} YAML fixes applied successfully`);
|
|
49
|
+
}
|
|
50
|
+
const updateResult = await updateWUYaml(wtWUPath, id, args.lane, claimedMode, worktree, sessionId);
|
|
51
|
+
finalTitle = updateResult.title || finalTitle;
|
|
52
|
+
const wtStateDir = getStateStoreDirFromBacklog(wtBacklogPath);
|
|
53
|
+
await appendClaimEventOnly(wtStateDir, id, finalTitle, args.lane);
|
|
54
|
+
if (updateResult.initiative) {
|
|
55
|
+
const initProgress = await maybeProgressInitiativeStatus(worktreePath, updateResult.initiative, id);
|
|
56
|
+
initPathToCommit = initProgress.initPath;
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
return { finalTitle, initPathToCommit };
|
|
60
|
+
}
|
|
61
|
+
/**
|
|
62
|
+
* WU-1213: Setup worktree dependencies (symlink or full install).
|
|
63
|
+
* Extracted to reduce cognitive complexity of claimWorktreeMode.
|
|
64
|
+
*/
|
|
65
|
+
export async function setupWorktreeDependencies(worktreePath, originalCwd, skipSetup) {
|
|
66
|
+
// eslint-disable-next-line sonarjs/no-selector-parameter -- skipSetup mirrors CLI flag semantics
|
|
67
|
+
if (skipSetup) {
|
|
68
|
+
// WU-1443: Symlink-only mode for fast claims
|
|
69
|
+
const symlinkResult = symlinkNodeModules(worktreePath, console, originalCwd);
|
|
70
|
+
if (symlinkResult.created) {
|
|
71
|
+
console.log(`${PREFIX} ${EMOJI.SUCCESS} node_modules symlinked (--skip-setup mode)`);
|
|
72
|
+
}
|
|
73
|
+
else if (symlinkResult.refused) {
|
|
74
|
+
console.warn(`${PREFIX} Warning: symlink refused: ${symlinkResult.reason}`);
|
|
75
|
+
console.warn(`${PREFIX} Run 'pnpm install' manually in the worktree`);
|
|
76
|
+
}
|
|
77
|
+
// WU-1579: Auto-symlink nested package node_modules for turbo typecheck
|
|
78
|
+
if (!symlinkResult.refused) {
|
|
79
|
+
const nestedResult = symlinkNestedNodeModules(worktreePath, originalCwd);
|
|
80
|
+
if (nestedResult.created > 0) {
|
|
81
|
+
console.log(`${PREFIX} ${EMOJI.SUCCESS} ${nestedResult.created} nested node_modules symlinked for typecheck`);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
else {
|
|
86
|
+
const seededBinArtifacts = symlinkWorkspaceBinArtifactRoots(worktreePath, originalCwd, console);
|
|
87
|
+
if (seededBinArtifacts.created > 0) {
|
|
88
|
+
console.log(`${PREFIX} ${EMOJI.SUCCESS} Seeded ${seededBinArtifacts.created} workspace bin artifact root(s) from main checkout`);
|
|
89
|
+
}
|
|
90
|
+
if (seededBinArtifacts.errors.length > 0) {
|
|
91
|
+
const previewErrors = seededBinArtifacts.errors
|
|
92
|
+
.slice(0, WORKTREE_SETUP_WARNING_PREVIEW_COUNT)
|
|
93
|
+
.map((error) => error.message)
|
|
94
|
+
.join(STRING_LITERALS.NEWLINE + ' - ');
|
|
95
|
+
console.warn(`${PREFIX} Warning: failed to seed ${seededBinArtifacts.errors.length} workspace artifact root(s):${STRING_LITERALS.NEWLINE} - ${previewErrors}`);
|
|
96
|
+
}
|
|
97
|
+
// WU-1023: Full setup mode (default) - run pnpm install with progress indicator
|
|
98
|
+
console.log(`${PREFIX} Installing worktree dependencies (this may take a moment)...`);
|
|
99
|
+
try {
|
|
100
|
+
const { execFileSync } = await import('node:child_process');
|
|
101
|
+
execFileSync(PNPM_BINARY_NAME, PNPM_FROZEN_LOCKFILE_ARGS, {
|
|
102
|
+
cwd: worktreePath,
|
|
103
|
+
stdio: 'inherit',
|
|
104
|
+
timeout: WORKTREE_INSTALL_TIMEOUT_MS, // 5 minute timeout
|
|
105
|
+
});
|
|
106
|
+
console.log(`${PREFIX} ${EMOJI.SUCCESS} Worktree dependencies installed`);
|
|
107
|
+
}
|
|
108
|
+
catch (installError) {
|
|
109
|
+
console.warn(`${PREFIX} Warning: pnpm install failed: ${installError.message}`);
|
|
110
|
+
console.warn(`${PREFIX} You may need to run 'pnpm install' manually in the worktree`);
|
|
111
|
+
console.log(`${PREFIX} Falling back to symlink approach...`);
|
|
112
|
+
applyFallbackSymlinks(worktreePath, originalCwd, console);
|
|
113
|
+
}
|
|
114
|
+
}
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* WU-1029: Apply symlink fallback (root + nested node_modules) after install failure.
|
|
118
|
+
*
|
|
119
|
+
* @param {string} worktreePath - Worktree path
|
|
120
|
+
* @param {string} mainRepoPath - Main repo path
|
|
121
|
+
* @param {Console} logger - Logger (console-compatible)
|
|
122
|
+
*/
|
|
123
|
+
export function applyFallbackSymlinks(worktreePath, mainRepoPath, logger = console) {
|
|
124
|
+
const symlinkResult = symlinkNodeModules(worktreePath, logger, mainRepoPath);
|
|
125
|
+
if (symlinkResult.created) {
|
|
126
|
+
logger.log(`${PREFIX} ${EMOJI.SUCCESS} node_modules symlinked as fallback`);
|
|
127
|
+
}
|
|
128
|
+
let nestedResult = null;
|
|
129
|
+
if (!symlinkResult.refused) {
|
|
130
|
+
nestedResult = symlinkNestedNodeModules(worktreePath, mainRepoPath);
|
|
131
|
+
if (nestedResult.created > 0) {
|
|
132
|
+
logger.log(`${PREFIX} ${EMOJI.SUCCESS} ${nestedResult.created} nested node_modules symlinked for typecheck`);
|
|
133
|
+
}
|
|
134
|
+
}
|
|
135
|
+
return { symlinkResult, nestedResult };
|
|
136
|
+
}
|
|
137
|
+
/**
|
|
138
|
+
* Execute worktree mode claim workflow
|
|
139
|
+
*
|
|
140
|
+
* WU-1741: Removed micro-worktree pattern that committed to main during claim.
|
|
141
|
+
* Branch existence (e.g. lane/operations/wu-1234) is the coordination lock.
|
|
142
|
+
* Metadata updates happen IN the work worktree, NOT on main.
|
|
143
|
+
*
|
|
144
|
+
* New flow:
|
|
145
|
+
* 1. Create work worktree+branch from main (branch = lock)
|
|
146
|
+
* 2. Update metadata (WU YAML, status.md, backlog.md) IN worktree
|
|
147
|
+
* 3. Commit metadata in worktree
|
|
148
|
+
* 4. Main only changes via wu:done (single merge point)
|
|
149
|
+
*
|
|
150
|
+
* Benefits:
|
|
151
|
+
* - Simpler mental model: main ONLY changes via wu:done
|
|
152
|
+
* - Branch existence is natural coordination (git prevents duplicates)
|
|
153
|
+
* - Less network traffic (no push during claim)
|
|
154
|
+
* - Cleaner rollback: delete worktree+branch = claim undone
|
|
155
|
+
*/
|
|
156
|
+
export async function claimWorktreeMode(ctx) {
|
|
157
|
+
const { args, id, laneK, title, branch, worktree, WU_PATH, updatedTitle } = ctx;
|
|
158
|
+
const originalCwd = process.cwd();
|
|
159
|
+
const worktreePath = path.resolve(worktree);
|
|
160
|
+
const skipRemote = shouldSkipRemoteOperations();
|
|
161
|
+
let finalTitle = updatedTitle || title;
|
|
162
|
+
const commitMsg = COMMIT_FORMATS.CLAIM(id.toLowerCase(), laneK);
|
|
163
|
+
// WU-1741: Step 1 - Create work worktree+branch from main
|
|
164
|
+
console.log(`${PREFIX} Creating worktree (branch = coordination lock)...`);
|
|
165
|
+
// WU-1653: Use local main when no remote (requireRemote=false)
|
|
166
|
+
const startPoint = args.noPush || skipRemote ? BRANCHES.MAIN : `${REMOTES.ORIGIN}/${BRANCHES.MAIN}`;
|
|
167
|
+
await getGitForCwd().worktreeAdd(worktree, branch, startPoint);
|
|
168
|
+
console.log(`${PREFIX} ${EMOJI.SUCCESS} Worktree created at ${worktree}`);
|
|
169
|
+
// WU-1653: Skip push when requireRemote=false (no remote exists)
|
|
170
|
+
if (!args.noPush && !skipRemote) {
|
|
171
|
+
const wtGit = createGitForPath(worktreePath);
|
|
172
|
+
await wtGit.push(REMOTES.ORIGIN, branch, { setUpstream: true });
|
|
173
|
+
}
|
|
174
|
+
// Handle local-only claim metadata update (--no-push or requireRemote=false)
|
|
175
|
+
if (args.noPush || skipRemote) {
|
|
176
|
+
const metadataResult = await handleNoPushMetadataUpdate({ ...ctx, worktreePath });
|
|
177
|
+
finalTitle = metadataResult.finalTitle;
|
|
178
|
+
// Commit metadata in worktree
|
|
179
|
+
console.log(`${PREFIX} Committing claim metadata in worktree...`);
|
|
180
|
+
const wtGit = createGitForPath(worktreePath);
|
|
181
|
+
const filesToCommit = getWorktreeCommitFiles(id);
|
|
182
|
+
if (metadataResult.initPathToCommit) {
|
|
183
|
+
filesToCommit.push(metadataResult.initPathToCommit);
|
|
184
|
+
}
|
|
185
|
+
await wtGit.add(filesToCommit);
|
|
186
|
+
await wtGit.commit(commitMsg);
|
|
187
|
+
console.log(`${PREFIX} ${EMOJI.SUCCESS} Claim committed: ${commitMsg}`);
|
|
188
|
+
if (skipRemote && !args.noPush) {
|
|
189
|
+
console.log(`${PREFIX} Local-only mode (git.requireRemote=false): claim metadata committed in worktree.`);
|
|
190
|
+
}
|
|
191
|
+
else {
|
|
192
|
+
console.warn(`${PREFIX} Warning: --no-push enabled. Claim is local-only and NOT visible to other agents.`);
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
// WU-1023: Auto-setup worktree dependencies
|
|
196
|
+
await setupWorktreeDependencies(worktreePath, originalCwd, args.skipSetup);
|
|
197
|
+
console.log(`${PREFIX} Claim recorded in worktree`);
|
|
198
|
+
const worktreeWuDisplay = finalTitle ? `- WU: ${id} — ${finalTitle}` : `- WU: ${id}`;
|
|
199
|
+
console.log(worktreeWuDisplay);
|
|
200
|
+
console.log(`- Lane: ${args.lane}`);
|
|
201
|
+
console.log(`- Worktree: ${worktreePath}`);
|
|
202
|
+
console.log(`- Branch: ${branch}`);
|
|
203
|
+
console.log(`- Commit: ${commitMsg}`);
|
|
204
|
+
// Summary
|
|
205
|
+
console.log(`\n${PREFIX} Worktree created and claim committed.`);
|
|
206
|
+
console.log(`Next: cd ${worktree} and begin work.`);
|
|
207
|
+
// WU-1360: Print next-steps checklist to prevent common mistakes
|
|
208
|
+
console.log(`\n${PREFIX} Next steps:`);
|
|
209
|
+
console.log(` 1. cd ${worktree} (IMPORTANT: work here, not main)`);
|
|
210
|
+
console.log(` 2. Implement changes per acceptance criteria`);
|
|
211
|
+
console.log(` 3. Run: pnpm gates`);
|
|
212
|
+
console.log(` 4. cd ${originalCwd} && pnpm wu:done --id ${id}`);
|
|
213
|
+
console.log(`\n${PREFIX} Common mistakes to avoid:`);
|
|
214
|
+
console.log(` - Don't edit files on main branch`);
|
|
215
|
+
console.log(` - Don't manually edit WU YAML status fields`);
|
|
216
|
+
console.log(` - Don't create PRs (trunk-based development)`);
|
|
217
|
+
// WU-1501: Hint for sub-agent execution context
|
|
218
|
+
console.log(`\n${PREFIX} For sub-agent execution:`);
|
|
219
|
+
console.log(` /wu-prompt ${id} (generates full context prompt)`);
|
|
220
|
+
// Emit mandatory agent advisory based on code_paths (WU-1324)
|
|
221
|
+
// Read from worktree since that's where the updated YAML is
|
|
222
|
+
const wtWUPathForAdvisory = path.join(worktreePath, WU_PATH);
|
|
223
|
+
const wuContent = await readFile(wtWUPathForAdvisory, {
|
|
224
|
+
encoding: FILE_SYSTEM.UTF8,
|
|
225
|
+
});
|
|
226
|
+
const wuDoc = parseYAML(wuContent);
|
|
227
|
+
const codePaths = wuDoc.code_paths || [];
|
|
228
|
+
emitMandatoryAgentAdvisory(codePaths, id);
|
|
229
|
+
// WU-1047: Emit agent-only project defaults from config
|
|
230
|
+
const config = getConfig();
|
|
231
|
+
printProjectDefaults(config?.agents?.methodology);
|
|
232
|
+
// WU-1763: Print lifecycle nudge with tips for tool adoption
|
|
233
|
+
printLifecycleNudge(id);
|
|
234
|
+
// WU-1473: Surface unread coordination signals so agents see pending messages
|
|
235
|
+
// Fail-open: surfaceUnreadSignals never throws
|
|
236
|
+
await surfaceUnreadSignalsForDisplay(originalCwd);
|
|
237
|
+
}
|
|
238
|
+
//# sourceMappingURL=wu-claim-worktree.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wu-claim-worktree.js","sourceRoot":"","sources":["../src/wu-claim-worktree.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wu-claim.js","sourceRoot":"","sources":["../src/wu-claim.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
// Copyright (c) 2026 Hellmai Ltd
|
|
2
|
+
// SPDX-License-Identifier: AGPL-3.0-only
|
|
3
|
+
/**
|
|
4
|
+
* @file wu-cleanup-cloud.ts
|
|
5
|
+
* @description Cloud mode helpers for wu:cleanup command
|
|
6
|
+
*
|
|
7
|
+
* WU-1590 AC5: Provides helpers for wu:cleanup to resolve claimed_branch,
|
|
8
|
+
* verify merged PR against that branch, skip worktree-only checks in
|
|
9
|
+
* branch-pr mode, and avoid deleting non-lane cloud-managed branches.
|
|
10
|
+
*
|
|
11
|
+
* Cloud agents use branches like claude/feature-xyz or codex/some-task
|
|
12
|
+
* that should NOT be deleted by wu:cleanup (they're managed by the cloud
|
|
13
|
+
* platform, not LumenFlow).
|
|
14
|
+
*/
|
|
15
|
+
import { CLAIMED_MODES, toKebab } from '@lumenflow/core/wu-constants';
|
|
16
|
+
import { isAgentBranch } from '@lumenflow/core';
|
|
17
|
+
/** Fail-safe prefixes for cloud-managed branches that should not be deleted */
|
|
18
|
+
const CLOUD_BRANCH_PREFIXES = ['claude/', 'codex/', 'ci/', 'cloud/'];
|
|
19
|
+
/** Prefix for LumenFlow lane-derived branches */
|
|
20
|
+
const LANE_BRANCH_PREFIX = 'lane/';
|
|
21
|
+
/**
|
|
22
|
+
* Resolve which branch to use for cleanup operations.
|
|
23
|
+
*
|
|
24
|
+
* Priority:
|
|
25
|
+
* 1. claimed_branch (canonical, set at cloud claim time)
|
|
26
|
+
* 2. Lane-derived naming (lane/<kebab-lane>/<wu-id>)
|
|
27
|
+
*
|
|
28
|
+
* @param input - Branch resolution input
|
|
29
|
+
* @returns Resolved branch name
|
|
30
|
+
*/
|
|
31
|
+
export function resolveCleanupBranch(input) {
|
|
32
|
+
// Priority 1: Use claimed_branch if present
|
|
33
|
+
if (input.claimed_branch && input.claimed_branch.trim()) {
|
|
34
|
+
return input.claimed_branch;
|
|
35
|
+
}
|
|
36
|
+
// Priority 2: Fall back to lane-derived naming
|
|
37
|
+
const laneK = toKebab(input.lane);
|
|
38
|
+
const idK = input.id.toLowerCase();
|
|
39
|
+
return `${LANE_BRANCH_PREFIX}${laneK}/${idK}`;
|
|
40
|
+
}
|
|
41
|
+
/**
|
|
42
|
+
* Determine whether to skip worktree-specific checks during cleanup.
|
|
43
|
+
*
|
|
44
|
+
* Branch-pr mode WUs have no worktree to check or remove. Worktree-only
|
|
45
|
+
* checks (uncommitted changes, ownership validation) should be skipped.
|
|
46
|
+
*
|
|
47
|
+
* @param doc - Partial WU YAML with claimed_mode
|
|
48
|
+
* @returns true if worktree checks should be skipped
|
|
49
|
+
*/
|
|
50
|
+
export function shouldSkipWorktreeChecks(doc) {
|
|
51
|
+
return doc.claimed_mode === CLAIMED_MODES.BRANCH_PR;
|
|
52
|
+
}
|
|
53
|
+
/**
|
|
54
|
+
* Determine whether a branch is cloud-managed (should not be deleted by LumenFlow).
|
|
55
|
+
*
|
|
56
|
+
* Cloud platforms (Codex, Claude web) create branches like claude/feature-xyz.
|
|
57
|
+
* These are managed by the cloud platform and should NOT be deleted during cleanup.
|
|
58
|
+
* Only LumenFlow lane-derived branches (lane/...) are safe to delete.
|
|
59
|
+
*
|
|
60
|
+
* @param branchName - Branch name to check
|
|
61
|
+
* @returns true if the branch is cloud-managed and should NOT be deleted
|
|
62
|
+
*/
|
|
63
|
+
export async function isCloudManagedBranch(branchName) {
|
|
64
|
+
// Lane-derived branches are always safe to delete
|
|
65
|
+
if (branchName.startsWith(LANE_BRANCH_PREFIX)) {
|
|
66
|
+
return false;
|
|
67
|
+
}
|
|
68
|
+
// Always protect known cloud prefixes even when registry lookup is unavailable.
|
|
69
|
+
if (CLOUD_BRANCH_PREFIXES.some((prefix) => branchName.startsWith(prefix))) {
|
|
70
|
+
return true;
|
|
71
|
+
}
|
|
72
|
+
// Keep cleanup behavior aligned with centralized agent branch registry semantics.
|
|
73
|
+
if (await isAgentBranch(branchName)) {
|
|
74
|
+
return true;
|
|
75
|
+
}
|
|
76
|
+
return false;
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=wu-cleanup-cloud.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wu-cleanup-cloud.js","sourceRoot":"","sources":["../src/wu-cleanup-cloud.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,yCAAyC;AAEzC;;;;;;;;;;;GAWG;AAEH,OAAO,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,8BAA8B,CAAC;AACtE,OAAO,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAEhD,+EAA+E;AAC/E,MAAM,qBAAqB,GAAG,CAAC,SAAS,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;AAErE,iDAAiD;AACjD,MAAM,kBAAkB,GAAG,OAAO,CAAC;AAcnC;;;;;;;;;GASG;AACH,MAAM,UAAU,oBAAoB,CAAC,KAAyB;IAC5D,4CAA4C;IAC5C,IAAI,KAAK,CAAC,cAAc,IAAI,KAAK,CAAC,cAAc,CAAC,IAAI,EAAE,EAAE,CAAC;QACxD,OAAO,KAAK,CAAC,cAAc,CAAC;IAC9B,CAAC;IAED,+CAA+C;IAC/C,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAClC,MAAM,GAAG,GAAG,KAAK,CAAC,EAAE,CAAC,WAAW,EAAE,CAAC;IACnC,OAAO,GAAG,kBAAkB,GAAG,KAAK,IAAI,GAAG,EAAE,CAAC;AAChD,CAAC;AAED;;;;;;;;GAQG;AACH,MAAM,UAAU,wBAAwB,CAAC,GAA8B;IACrE,OAAO,GAAG,CAAC,YAAY,KAAK,aAAa,CAAC,SAAS,CAAC;AACtD,CAAC;AAED;;;;;;;;;GASG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CAAC,UAAkB;IAC3D,kDAAkD;IAClD,IAAI,UAAU,CAAC,UAAU,CAAC,kBAAkB,CAAC,EAAE,CAAC;QAC9C,OAAO,KAAK,CAAC;IACf,CAAC;IAED,gFAAgF;IAChF,IAAI,qBAAqB,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC;QAC1E,OAAO,IAAI,CAAC;IACd,CAAC;IAED,kFAAkF;IAClF,IAAI,MAAM,aAAa,CAAC,UAAU,CAAC,EAAE,CAAC;QACpC,OAAO,IAAI,CAAC;IACd,CAAC;IAED,OAAO,KAAK,CAAC;AACf,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wu-cleanup.js","sourceRoot":"","sources":["../src/wu-cleanup.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,83 @@
|
|
|
1
|
+
// Copyright (c) 2026 Hellmai Ltd
|
|
2
|
+
// SPDX-License-Identifier: AGPL-3.0-only
|
|
3
|
+
import { spawnSync } from 'node:child_process';
|
|
4
|
+
import { EXIT_CODES, EMOJI } from '@lumenflow/core/wu-constants';
|
|
5
|
+
import { findMissingCodePathCoverage as findMissingCodePathCoverageFromRules, isCodePathCoveredByChangedFiles, } from '@lumenflow/core/wu-rules-engine';
|
|
6
|
+
const DEFAULT_BASE_REF = 'main';
|
|
7
|
+
const DEFAULT_HEAD_REF = 'HEAD';
|
|
8
|
+
const GIT_DIFF_STDIO = ['pipe', 'pipe', 'pipe'];
|
|
9
|
+
/**
|
|
10
|
+
* Shared code_paths coverage helpers used by wu:prep and wu:edit.
|
|
11
|
+
*
|
|
12
|
+
* Keeping this logic out of command entrypoints avoids command-to-command coupling
|
|
13
|
+
* (hexagonal boundary: orchestration commands depend on shared adapters, not each other).
|
|
14
|
+
*/
|
|
15
|
+
export function isCodePathCoveredByChanges(options) {
|
|
16
|
+
return isCodePathCoveredByChangedFiles(options);
|
|
17
|
+
}
|
|
18
|
+
export function findMissingCodePathCoverage(options) {
|
|
19
|
+
return findMissingCodePathCoverageFromRules(options);
|
|
20
|
+
}
|
|
21
|
+
export function checkCodePathCoverageBeforeGates(options) {
|
|
22
|
+
const { codePaths = [], cwd, baseRef = DEFAULT_BASE_REF, headRef = DEFAULT_HEAD_REF, spawnSyncFn = spawnSync, } = options;
|
|
23
|
+
const scopedCodePaths = codePaths
|
|
24
|
+
.filter((codePath) => typeof codePath === 'string')
|
|
25
|
+
.map((codePath) => codePath.trim())
|
|
26
|
+
.filter(Boolean);
|
|
27
|
+
if (scopedCodePaths.length === 0) {
|
|
28
|
+
return {
|
|
29
|
+
valid: true,
|
|
30
|
+
missingCodePaths: [],
|
|
31
|
+
changedFiles: [],
|
|
32
|
+
};
|
|
33
|
+
}
|
|
34
|
+
const range = `${baseRef}...${headRef}`;
|
|
35
|
+
const diffResult = spawnSyncFn('git', ['diff', '--name-only', range], {
|
|
36
|
+
cwd,
|
|
37
|
+
encoding: 'utf-8',
|
|
38
|
+
stdio: GIT_DIFF_STDIO,
|
|
39
|
+
});
|
|
40
|
+
if ((diffResult.status ?? EXIT_CODES.ERROR) !== EXIT_CODES.SUCCESS) {
|
|
41
|
+
const stderrText = String(diffResult.stderr ?? '').trim();
|
|
42
|
+
const errorText = stderrText || (diffResult.error instanceof Error ? diffResult.error.message : '');
|
|
43
|
+
return {
|
|
44
|
+
valid: false,
|
|
45
|
+
missingCodePaths: scopedCodePaths,
|
|
46
|
+
changedFiles: [],
|
|
47
|
+
error: errorText || `git diff --name-only ${range} failed`,
|
|
48
|
+
};
|
|
49
|
+
}
|
|
50
|
+
const changedFiles = String(diffResult.stdout ?? '')
|
|
51
|
+
.split('\n')
|
|
52
|
+
.map((line) => line.trim())
|
|
53
|
+
.filter(Boolean);
|
|
54
|
+
const missingCodePaths = findMissingCodePathCoverage({
|
|
55
|
+
codePaths: scopedCodePaths,
|
|
56
|
+
changedFiles,
|
|
57
|
+
});
|
|
58
|
+
return {
|
|
59
|
+
valid: missingCodePaths.length === 0,
|
|
60
|
+
missingCodePaths,
|
|
61
|
+
changedFiles,
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
export function formatCodePathCoverageFailure(options) {
|
|
65
|
+
const { wuId, missingCodePaths, changedFiles, error } = options;
|
|
66
|
+
const missingSection = missingCodePaths.map((filePath) => ` - ${filePath}`).join('\n');
|
|
67
|
+
const changedSection = changedFiles.length > 0
|
|
68
|
+
? changedFiles.map((filePath) => ` - ${filePath}`).join('\n')
|
|
69
|
+
: ' - (none)';
|
|
70
|
+
const diffErrorSection = error ? `\nUnable to evaluate branch diff:\n ${error}\n` : '';
|
|
71
|
+
return (`${EMOJI.FAILURE} code_paths preflight failed for ${wuId}.\n` +
|
|
72
|
+
`${diffErrorSection}\n` +
|
|
73
|
+
`The following code_paths are not modified on this branch (vs main):\n` +
|
|
74
|
+
`${missingSection}\n\n` +
|
|
75
|
+
`Changed files detected on branch:\n` +
|
|
76
|
+
`${changedSection}\n\n` +
|
|
77
|
+
`Fix options:\n` +
|
|
78
|
+
` 1. Commit changes that touch each missing code_path\n` +
|
|
79
|
+
` 2. Update WU scope to match actual branch work:\n` +
|
|
80
|
+
` pnpm wu:edit --id ${wuId} --replace-code-paths --code-paths "<path1>" --code-paths "<path2>"\n` +
|
|
81
|
+
` 3. Re-run: pnpm wu:prep --id ${wuId}`);
|
|
82
|
+
}
|
|
83
|
+
//# sourceMappingURL=wu-code-path-coverage.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wu-code-path-coverage.js","sourceRoot":"","sources":["../src/wu-code-path-coverage.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,yCAAyC;AAEzC,OAAO,EAAE,SAAS,EAAE,MAAM,oBAAoB,CAAC;AAC/C,OAAO,EAAE,UAAU,EAAE,KAAK,EAAE,MAAM,8BAA8B,CAAC;AACjE,OAAO,EACL,2BAA2B,IAAI,oCAAoC,EACnE,+BAA+B,GAChC,MAAM,iCAAiC,CAAC;AAEzC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAChC,MAAM,gBAAgB,GAAG,MAAM,CAAC;AAChC,MAAM,cAAc,GAA6B,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;AAE1E;;;;;GAKG;AACH,MAAM,UAAU,0BAA0B,CAAC,OAG1C;IACC,OAAO,+BAA+B,CAAC,OAAO,CAAC,CAAC;AAClD,CAAC;AAED,MAAM,UAAU,2BAA2B,CAAC,OAG3C;IACC,OAAO,oCAAoC,CAAC,OAAO,CAAC,CAAC;AACvD,CAAC;AAwBD,MAAM,UAAU,gCAAgC,CAAC,OAOhD;IACC,MAAM,EACJ,SAAS,GAAG,EAAE,EACd,GAAG,EACH,OAAO,GAAG,gBAAgB,EAC1B,OAAO,GAAG,gBAAgB,EAC1B,WAAW,GAAG,SAA2B,GAC1C,GAAG,OAAO,CAAC;IAEZ,MAAM,eAAe,GAAG,SAAS;SAC9B,MAAM,CAAC,CAAC,QAAQ,EAAsB,EAAE,CAAC,OAAO,QAAQ,KAAK,QAAQ,CAAC;SACtE,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,CAAC;SAClC,MAAM,CAAC,OAAO,CAAC,CAAC;IAEnB,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACjC,OAAO;YACL,KAAK,EAAE,IAAI;YACX,gBAAgB,EAAE,EAAE;YACpB,YAAY,EAAE,EAAE;SACjB,CAAC;IACJ,CAAC;IAED,MAAM,KAAK,GAAG,GAAG,OAAO,MAAM,OAAO,EAAE,CAAC;IACxC,MAAM,UAAU,GAAG,WAAW,CAAC,KAAK,EAAE,CAAC,MAAM,EAAE,aAAa,EAAE,KAAK,CAAC,EAAE;QACpE,GAAG;QACH,QAAQ,EAAE,OAAO;QACjB,KAAK,EAAE,cAAc;KACtB,CAAC,CAAC;IAEH,IAAI,CAAC,UAAU,CAAC,MAAM,IAAI,UAAU,CAAC,KAAK,CAAC,KAAK,UAAU,CAAC,OAAO,EAAE,CAAC;QACnE,MAAM,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;QAC1D,MAAM,SAAS,GACb,UAAU,IAAI,CAAC,UAAU,CAAC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;QACpF,OAAO;YACL,KAAK,EAAE,KAAK;YACZ,gBAAgB,EAAE,eAAe;YACjC,YAAY,EAAE,EAAE;YAChB,KAAK,EAAE,SAAS,IAAI,wBAAwB,KAAK,SAAS;SAC3D,CAAC;IACJ,CAAC;IAED,MAAM,YAAY,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,IAAI,EAAE,CAAC;SACjD,KAAK,CAAC,IAAI,CAAC;SACX,GAAG,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC;SAC1B,MAAM,CAAC,OAAO,CAAC,CAAC;IAEnB,MAAM,gBAAgB,GAAG,2BAA2B,CAAC;QACnD,SAAS,EAAE,eAAe;QAC1B,YAAY;KACb,CAAC,CAAC;IAEH,OAAO;QACL,KAAK,EAAE,gBAAgB,CAAC,MAAM,KAAK,CAAC;QACpC,gBAAgB;QAChB,YAAY;KACb,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,6BAA6B,CAAC,OAK7C;IACC,MAAM,EAAE,IAAI,EAAE,gBAAgB,EAAE,YAAY,EAAE,KAAK,EAAE,GAAG,OAAO,CAAC;IAChE,MAAM,cAAc,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACxF,MAAM,cAAc,GAClB,YAAY,CAAC,MAAM,GAAG,CAAC;QACrB,CAAC,CAAC,YAAY,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,OAAO,QAAQ,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC;QAC9D,CAAC,CAAC,YAAY,CAAC;IAEnB,MAAM,gBAAgB,GAAG,KAAK,CAAC,CAAC,CAAC,wCAAwC,KAAK,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC;IAExF,OAAO,CACL,GAAG,KAAK,CAAC,OAAO,oCAAoC,IAAI,KAAK;QAC7D,GAAG,gBAAgB,IAAI;QACvB,uEAAuE;QACvE,GAAG,cAAc,MAAM;QACvB,qCAAqC;QACrC,GAAG,cAAc,MAAM;QACvB,gBAAgB;QAChB,yDAAyD;QACzD,qDAAqD;QACrD,0BAA0B,IAAI,uEAAuE;QACrG,kCAAkC,IAAI,EAAE,CACzC,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
// Copyright (c) 2026 Hellmai Ltd
|
|
2
|
+
// SPDX-License-Identifier: AGPL-3.0-only
|
|
3
|
+
/**
|
|
4
|
+
* Build context for wu:create cloud mode.
|
|
5
|
+
*
|
|
6
|
+
* When --cloud is true, the create command should:
|
|
7
|
+
* - Skip ensureOnMain() validation
|
|
8
|
+
* - Skip micro-worktree isolation
|
|
9
|
+
* - Write and commit WU spec directly on the current branch
|
|
10
|
+
*
|
|
11
|
+
* @param input - Cloud create input flags
|
|
12
|
+
* @returns Cloud create context with skip flags and target branch
|
|
13
|
+
*/
|
|
14
|
+
export function buildCloudCreateContext(input) {
|
|
15
|
+
if (!input.cloud) {
|
|
16
|
+
return {
|
|
17
|
+
isCloud: false,
|
|
18
|
+
skipEnsureOnMain: false,
|
|
19
|
+
skipMicroWorktree: false,
|
|
20
|
+
targetBranch: 'main',
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
return {
|
|
24
|
+
isCloud: true,
|
|
25
|
+
skipEnsureOnMain: true,
|
|
26
|
+
skipMicroWorktree: true,
|
|
27
|
+
targetBranch: input.currentBranch,
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
//# sourceMappingURL=wu-create-cloud.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wu-create-cloud.js","sourceRoot":"","sources":["../src/wu-create-cloud.ts"],"names":[],"mappings":"AAAA,iCAAiC;AACjC,yCAAyC;AAuCzC;;;;;;;;;;GAUG;AACH,MAAM,UAAU,uBAAuB,CAAC,KAAuB;IAC7D,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QACjB,OAAO;YACL,OAAO,EAAE,KAAK;YACd,gBAAgB,EAAE,KAAK;YACvB,iBAAiB,EAAE,KAAK;YACxB,YAAY,EAAE,MAAM;SACrB,CAAC;IACJ,CAAC;IAED,OAAO;QACL,OAAO,EAAE,IAAI;QACb,gBAAgB,EAAE,IAAI;QACtB,iBAAiB,EAAE,IAAI;QACvB,YAAY,EAAE,KAAK,CAAC,aAAa;KAClC,CAAC;AACJ,CAAC"}
|