dmux 3.5.0 → 3.5.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/DmuxApp.d.ts.map +1 -1
- package/dist/DmuxApp.js +41 -1
- package/dist/DmuxApp.js.map +1 -1
- package/dist/actions/merge/commitMessageHandler.d.ts.map +1 -1
- package/dist/actions/merge/commitMessageHandler.js +7 -0
- package/dist/actions/merge/commitMessageHandler.js.map +1 -1
- package/dist/actions/merge/multiMergeOrchestrator.d.ts.map +1 -1
- package/dist/actions/merge/multiMergeOrchestrator.js +215 -38
- package/dist/actions/merge/multiMergeOrchestrator.js.map +1 -1
- package/dist/components/popups/reopenWorktreePopup.d.ts +7 -0
- package/dist/components/popups/reopenWorktreePopup.d.ts.map +1 -0
- package/dist/components/popups/reopenWorktreePopup.js +96 -0
- package/dist/components/popups/reopenWorktreePopup.js.map +1 -0
- package/dist/components/popups/shortcutsPopup.js +2 -1
- package/dist/components/popups/shortcutsPopup.js.map +1 -1
- package/dist/components/ui/FooterHelp.js +2 -2
- package/dist/hooks/useInputHandling.d.ts +2 -0
- package/dist/hooks/useInputHandling.d.ts.map +1 -1
- package/dist/hooks/useInputHandling.js +24 -9
- package/dist/hooks/useInputHandling.js.map +1 -1
- package/dist/server/embedded-assets.d.ts.map +1 -1
- package/dist/server/embedded-assets.js +42 -2
- package/dist/server/embedded-assets.js.map +1 -1
- package/dist/services/PopupManager.d.ts +10 -0
- package/dist/services/PopupManager.d.ts.map +1 -1
- package/dist/services/PopupManager.js +30 -2
- package/dist/services/PopupManager.js.map +1 -1
- package/dist/utils/aiMerge.d.ts.map +1 -1
- package/dist/utils/aiMerge.js +7 -1
- package/dist/utils/aiMerge.js.map +1 -1
- package/dist/utils/generated-agents-doc.d.ts +1 -1
- package/dist/utils/generated-agents-doc.js +1 -1
- package/dist/utils/git.d.ts +15 -0
- package/dist/utils/git.d.ts.map +1 -1
- package/dist/utils/git.js +70 -0
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/hooksDocs.d.ts +1 -1
- package/dist/utils/mergeValidation.d.ts.map +1 -1
- package/dist/utils/mergeValidation.js +48 -2
- package/dist/utils/mergeValidation.js.map +1 -1
- package/dist/utils/reopenWorktree.d.ts +16 -0
- package/dist/utils/reopenWorktree.d.ts.map +1 -0
- package/dist/utils/reopenWorktree.js +121 -0
- package/dist/utils/reopenWorktree.js.map +1 -0
- package/package.json +1 -1
package/dist/DmuxApp.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DmuxApp.d.ts","sourceRoot":"","sources":["../src/DmuxApp.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"DmuxApp.d.ts","sourceRoot":"","sources":["../src/DmuxApp.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAmDlD,OAAO,KAAK,EAEV,YAAY,EACb,MAAM,YAAY,CAAA;AASnB,QAAA,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CA61BnC,CAAA;AAED,eAAe,OAAO,CAAA"}
|
package/dist/DmuxApp.js
CHANGED
|
@@ -23,11 +23,12 @@ import { useDebugInfo } from "./hooks/useDebugInfo.js";
|
|
|
23
23
|
import { SIDEBAR_WIDTH } from "./utils/layoutManager.js";
|
|
24
24
|
import { supportsPopups } from "./utils/popup.js";
|
|
25
25
|
import { StateManager } from "./shared/StateManager.js";
|
|
26
|
-
import { REPAINT_SPINNER_DURATION, } from "./constants/timing.js";
|
|
26
|
+
import { REPAINT_SPINNER_DURATION, STATUS_MESSAGE_DURATION_SHORT, } from "./constants/timing.js";
|
|
27
27
|
import { getStatusDetector, } from "./services/StatusDetector.js";
|
|
28
28
|
import { SettingsManager } from "./utils/settingsManager.js";
|
|
29
29
|
import { useServices } from "./hooks/useServices.js";
|
|
30
30
|
import { PaneLifecycleManager } from "./services/PaneLifecycleManager.js";
|
|
31
|
+
import { reopenWorktree } from "./utils/reopenWorktree.js";
|
|
31
32
|
import { fileURLToPath } from "url";
|
|
32
33
|
import { dirname } from "path";
|
|
33
34
|
const __filename = fileURLToPath(import.meta.url);
|
|
@@ -354,6 +355,43 @@ const DmuxApp = ({ panesFile, projectName, sessionName, settingsFile, projectRoo
|
|
|
354
355
|
}
|
|
355
356
|
}
|
|
356
357
|
};
|
|
358
|
+
// Helper function to reopen a closed worktree
|
|
359
|
+
const handleReopenWorktree = async (slug, worktreePath) => {
|
|
360
|
+
// Force repaint first
|
|
361
|
+
forceRepaint();
|
|
362
|
+
// Minimal clearing
|
|
363
|
+
process.stdout.write('\x1b[2J\x1b[H');
|
|
364
|
+
try {
|
|
365
|
+
setIsCreatingPane(true);
|
|
366
|
+
setStatusMessage(`Reopening ${slug}...`);
|
|
367
|
+
const result = await reopenWorktree({
|
|
368
|
+
slug,
|
|
369
|
+
worktreePath,
|
|
370
|
+
projectRoot: projectRoot || process.cwd(),
|
|
371
|
+
existingPanes: panes,
|
|
372
|
+
});
|
|
373
|
+
// Save the pane
|
|
374
|
+
const updatedPanes = [...panes, result.pane];
|
|
375
|
+
await savePanes(updatedPanes);
|
|
376
|
+
// Force repaint and refresh
|
|
377
|
+
forceRepaint();
|
|
378
|
+
process.stdout.write('\x1b[2J\x1b[3J\x1b[H');
|
|
379
|
+
const tmuxService = TmuxService.getInstance();
|
|
380
|
+
tmuxService.clearHistorySync();
|
|
381
|
+
tmuxService.refreshClientSync();
|
|
382
|
+
await loadPanes();
|
|
383
|
+
setStatusMessage(`Reopened ${slug}`);
|
|
384
|
+
setTimeout(() => setStatusMessage(""), STATUS_MESSAGE_DURATION_SHORT);
|
|
385
|
+
forceRepaint();
|
|
386
|
+
}
|
|
387
|
+
catch (error) {
|
|
388
|
+
setStatusMessage(`Failed to reopen: ${error.message}`);
|
|
389
|
+
setTimeout(() => setStatusMessage(""), 3000);
|
|
390
|
+
}
|
|
391
|
+
finally {
|
|
392
|
+
setIsCreatingPane(false);
|
|
393
|
+
}
|
|
394
|
+
};
|
|
357
395
|
// Helper function to handle action results recursively
|
|
358
396
|
const handleActionResult = async (result) => {
|
|
359
397
|
// Handle ActionResults from background callbacks (e.g., conflict resolution completion)
|
|
@@ -556,8 +594,10 @@ const DmuxApp = ({ panesFile, projectName, sessionName, settingsFile, projectRoo
|
|
|
556
594
|
copyNonGitFiles,
|
|
557
595
|
runCommandInternal,
|
|
558
596
|
handlePaneCreationWithAgent,
|
|
597
|
+
handleReopenWorktree,
|
|
559
598
|
loadPanes,
|
|
560
599
|
cleanExit,
|
|
600
|
+
projectRoot: projectRoot || process.cwd(),
|
|
561
601
|
findCardInDirection,
|
|
562
602
|
});
|
|
563
603
|
// Calculate available height for content (terminal height - footer lines - active status messages)
|
package/dist/DmuxApp.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DmuxApp.js","sourceRoot":"","sources":["../src/DmuxApp.tsx"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"DmuxApp.js","sourceRoot":"","sources":["../src/DmuxApp.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commitMessageHandler.d.ts","sourceRoot":"","sources":["../../../src/actions/merge/commitMessageHandler.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,MAAM,EAChB,SAAS,GAAE,MAAc,GACxB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAsBxB;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,cAAc,GAAG,aAAa,GAAG,QAAQ,EAC/C,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,GACnD,OAAO,CAAC,YAAY,CAAC,
|
|
1
|
+
{"version":3,"file":"commitMessageHandler.d.ts","sourceRoot":"","sources":["../../../src/actions/merge/commitMessageHandler.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAGhD;;;GAGG;AACH,wBAAsB,yBAAyB,CAC7C,QAAQ,EAAE,MAAM,EAChB,SAAS,GAAE,MAAc,GACxB,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAsBxB;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAC1C,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,cAAc,GAAG,aAAa,GAAG,QAAQ,EAC/C,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,YAAY,CAAC,GACnD,OAAO,CAAC,YAAY,CAAC,CA8FvB;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,kBAAkB,GAAG,oBAAoB,GAAG,eAAe,EACrE,SAAS,EAAE,MAAM,OAAO,CAAC,YAAY,CAAC,GACrC,OAAO,CAAC,YAAY,CAAC,CAwBvB"}
|
|
@@ -39,9 +39,11 @@ export async function generateCommitMessageSafe(repoPath, timeoutMs = 15000) {
|
|
|
39
39
|
export async function promptForCommitMessage(repoPath, mode, onCommit) {
|
|
40
40
|
const { stageAllChanges } = await import('../../utils/mergeValidation.js');
|
|
41
41
|
const { getComprehensiveDiff } = await import('../../utils/aiMerge.js');
|
|
42
|
+
LogService.getInstance().info(`promptForCommitMessage called - repoPath: ${repoPath}, mode: ${mode}`, 'commitMessageHandler');
|
|
42
43
|
// Stage all changes first
|
|
43
44
|
const stageResult = stageAllChanges(repoPath);
|
|
44
45
|
if (!stageResult.success) {
|
|
46
|
+
LogService.getInstance().error(`Failed to stage changes in ${repoPath}: ${stageResult.error}`, 'commitMessageHandler');
|
|
45
47
|
return {
|
|
46
48
|
type: 'error',
|
|
47
49
|
message: `Failed to stage changes: ${stageResult.error}`,
|
|
@@ -66,9 +68,12 @@ export async function promptForCommitMessage(repoPath, mode, onCommit) {
|
|
|
66
68
|
}
|
|
67
69
|
// AI modes - generate message
|
|
68
70
|
const { diff, summary } = getComprehensiveDiff(repoPath);
|
|
71
|
+
LogService.getInstance().info(`getComprehensiveDiff for ${repoPath} - diff length: ${diff.length}, summary: ${summary.substring(0, 100)}`, 'commitMessageHandler');
|
|
69
72
|
const generatedMessage = await generateCommitMessageSafe(repoPath);
|
|
73
|
+
LogService.getInstance().info(`AI generated message for ${repoPath}: ${generatedMessage || '(null - generation failed)'}`, 'commitMessageHandler');
|
|
70
74
|
// If AI generation failed, fall back to manual with explanation
|
|
71
75
|
if (!generatedMessage) {
|
|
76
|
+
LogService.getInstance().warn(`AI commit message generation failed for ${repoPath}, falling back to manual input`, 'commitMessageHandler');
|
|
72
77
|
return {
|
|
73
78
|
type: 'input',
|
|
74
79
|
title: 'Enter Commit Message',
|
|
@@ -109,10 +114,12 @@ export async function promptForCommitMessage(repoPath, mode, onCommit) {
|
|
|
109
114
|
*/
|
|
110
115
|
export async function handleCommitWithOptions(repoPath, optionId, onSuccess) {
|
|
111
116
|
const { commitChanges } = await import('../../utils/mergeValidation.js');
|
|
117
|
+
LogService.getInstance().info(`handleCommitWithOptions called with repoPath: ${repoPath}, optionId: ${optionId}`, 'commitMessageHandler');
|
|
112
118
|
const mode = optionId === 'commit_automatic' ? 'ai_automatic' :
|
|
113
119
|
optionId === 'commit_ai_editable' ? 'ai_editable' :
|
|
114
120
|
'manual';
|
|
115
121
|
return promptForCommitMessage(repoPath, mode, async (message) => {
|
|
122
|
+
LogService.getInstance().info(`Executing commit in: ${repoPath} with message: ${message.substring(0, 50)}...`, 'commitMessageHandler');
|
|
116
123
|
const result = commitChanges(repoPath, message);
|
|
117
124
|
if (!result.success) {
|
|
118
125
|
return { type: 'error', message: `Commit failed: ${result.error}`, dismissable: true };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commitMessageHandler.js","sourceRoot":"","sources":["../../../src/actions/merge/commitMessageHandler.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAE1D;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,yBAAyB,CAC7C,QAAgB,EAChB,YAAoB,KAAK;IAEzB,IAAI,CAAC;QACH,MAAM,EAAE,qBAAqB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;QAEzE,sCAAsC;QACtC,MAAM,MAAM,GAAG,MAAM,OAAO,CAAC,IAAI,CAAC;YAChC,qBAAqB,CAAC,QAAQ,CAAC;YAC/B,IAAI,OAAO,CAAO,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CAC9B,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,SAAS,CAAC,CAC1D;SACF,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,EAAE,CAAC;YACZ,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,4CAA4C,EAAE,SAAS,CAAC,CAAC;QACzF,CAAC;QAED,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,QAAQ,GAAG,uCAAuC,KAAK,EAAE,CAAC;QAChE,UAAU,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,QAAQ,EAAE,SAAS,EAAE,SAAS,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;QAC3G,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;;;;;GAMG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,QAAgB,EAChB,IAA+C,EAC/C,QAAoD;IAEpD,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;IAC3E,MAAM,EAAE,oBAAoB,EAAE,GAAG,MAAM,MAAM,CAAC,wBAAwB,CAAC,CAAC;IAExE,0BAA0B;IAC1B,MAAM,WAAW,GAAG,eAAe,CAAC,QAAQ,CAAC,CAAC;IAC9C,IAAI,CAAC,WAAW,CAAC,OAAO,EAAE,CAAC;QACzB,OAAO;YACL,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,4BAA4B,WAAW,CAAC,KAAK,EAAE;YACxD,WAAW,EAAE,IAAI;SAClB,CAAC;IACJ,CAAC;IAED,6BAA6B;IAC7B,IAAI,IAAI,KAAK,QAAQ,EAAE,CAAC;QACtB,OAAO;YACL,IAAI,EAAE,OAAO;YACb,KAAK,EAAE,sBAAsB;YAC7B,OAAO,EAAE,yCAAyC;YAClD,WAAW,EAAE,uBAAuB;YACpC,QAAQ,EAAE,KAAK,EAAE,OAAe,EAAE,EAAE;gBAClC,IAAI,CAAC,OAAO,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;oBAChC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,OAAO,EAAE,gCAAgC,EAAE,WAAW,EAAE,IAAI,EAAE,CAAC;gBACzF,CAAC;gBACD,OAAO,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,CAAC;YAClC,CAAC;YACD,WAAW,EAAE,IAAI;SAClB,CAAC;IACJ,CAAC;IAED,8BAA8B;IAC9B,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,oBAAoB,CAAC,QAAQ,CAAC,CAAC;IACzD,MAAM,gBAAgB,GAAG,MAAM,yBAAyB,CAAC,QAAQ,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"commitMessageHandler.js","sourceRoot":"","sources":["../../../src/actions/merge/commitMessageHandler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"multiMergeOrchestrator.d.ts","sourceRoot":"","sources":["../../../src/actions/merge/multiMergeOrchestrator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAoB,MAAM,YAAY,CAAC;AAIjF;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,YAAY,EAAE,GACxB,OAAO,CAAC,cAAc,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"multiMergeOrchestrator.d.ts","sourceRoot":"","sources":["../../../src/actions/merge/multiMergeOrchestrator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAC/D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,cAAc,EAAoB,MAAM,YAAY,CAAC;AAIjF;;;;;GAKG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,YAAY,EAAE,GACxB,OAAO,CAAC,cAAc,EAAE,CAAC,CA6B3B;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,cAAc,EAAE,GACtB,OAAO,CAAC,YAAY,CAAC,CAGvB"}
|
|
@@ -20,6 +20,7 @@ export async function buildMergeQueue(worktrees) {
|
|
|
20
20
|
// Exclude only if the ONLY issue is 'nothing_to_merge'
|
|
21
21
|
const hasNothingToMerge = validation.issues.some(i => i.type === 'nothing_to_merge');
|
|
22
22
|
const hasOnlyNothingToMerge = validation.issues.length === 1 && hasNothingToMerge;
|
|
23
|
+
console.error(`[buildMergeQueue] ${worktree.repoName}: canMerge=${validation.canMerge}, issues=[${validation.issues.map(i => i.type).join(', ')}], included=${!hasOnlyNothingToMerge}`);
|
|
23
24
|
if (!hasOnlyNothingToMerge) {
|
|
24
25
|
queue.push({
|
|
25
26
|
worktree,
|
|
@@ -28,6 +29,7 @@ export async function buildMergeQueue(worktrees) {
|
|
|
28
29
|
});
|
|
29
30
|
}
|
|
30
31
|
}
|
|
32
|
+
console.error(`[buildMergeQueue] Final queue: ${queue.map(q => q.worktree.repoName).join(', ')}`);
|
|
31
33
|
return queue;
|
|
32
34
|
}
|
|
33
35
|
/**
|
|
@@ -43,19 +45,15 @@ export async function executeMultiMerge(pane, context, queue) {
|
|
|
43
45
|
*/
|
|
44
46
|
function showMultiMergeConfirmation(pane, context, queue) {
|
|
45
47
|
const worktreeList = queue
|
|
46
|
-
.map((item
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
.filter(i => i.type !== 'nothing_to_merge')
|
|
50
|
-
.map(i => i.type.replace(/_/g, ' '))
|
|
51
|
-
.join(', ');
|
|
52
|
-
return ` ${idx + 1}. ${label}${issues ? ` [${issues}]` : ''}`;
|
|
48
|
+
.map((item) => {
|
|
49
|
+
// Use just the repo name for cleaner display
|
|
50
|
+
return ` • ${item.worktree.repoName}`;
|
|
53
51
|
})
|
|
54
52
|
.join('\n');
|
|
55
53
|
return {
|
|
56
54
|
type: 'confirm',
|
|
57
55
|
title: 'Multi-Repository Merge',
|
|
58
|
-
message: `
|
|
56
|
+
message: `Changes detected in ${queue.length} repositor${queue.length === 1 ? 'y' : 'ies'}:\n\n${worktreeList}`,
|
|
59
57
|
confirmLabel: 'Start Merge',
|
|
60
58
|
cancelLabel: 'Cancel',
|
|
61
59
|
onConfirm: async () => {
|
|
@@ -94,7 +92,7 @@ async function processNextInQueue(pane, context, queue, currentIndex, result) {
|
|
|
94
92
|
// Update status
|
|
95
93
|
item.status = 'in_progress';
|
|
96
94
|
// Execute the merge for this worktree
|
|
97
|
-
return executeSingleWorktreeMerge(pane, context, item, currentIndex, queue
|
|
95
|
+
return executeSingleWorktreeMerge(pane, context, item, currentIndex, queue, result, async (success, error) => {
|
|
98
96
|
// Record result
|
|
99
97
|
if (success) {
|
|
100
98
|
item.status = 'completed';
|
|
@@ -129,13 +127,13 @@ async function processNextInQueue(pane, context, queue, currentIndex, result) {
|
|
|
129
127
|
/**
|
|
130
128
|
* Execute merge for a single worktree in the queue
|
|
131
129
|
*/
|
|
132
|
-
async function executeSingleWorktreeMerge(pane, context, item, currentIndex,
|
|
130
|
+
async function executeSingleWorktreeMerge(pane, context, item, currentIndex, queue, result, onComplete) {
|
|
133
131
|
const { validation, worktree } = item;
|
|
134
132
|
const worktreeLabel = getWorktreeDisplayLabel(worktree);
|
|
135
|
-
const progressPrefix = `[${currentIndex + 1}/${
|
|
133
|
+
const progressPrefix = `[${currentIndex + 1}/${queue.length}] ${worktreeLabel}`;
|
|
136
134
|
// Handle issues first (same as single merge flow)
|
|
137
135
|
if (!validation.canMerge) {
|
|
138
|
-
return handleWorktreeMergeIssues(pane, context, item, progressPrefix, onComplete);
|
|
136
|
+
return handleWorktreeMergeIssues(pane, context, item, progressPrefix, queue, currentIndex, result, onComplete);
|
|
139
137
|
}
|
|
140
138
|
// No issues - show confirmation for this worktree
|
|
141
139
|
return {
|
|
@@ -145,7 +143,7 @@ async function executeSingleWorktreeMerge(pane, context, item, currentIndex, tot
|
|
|
145
143
|
confirmLabel: 'Merge',
|
|
146
144
|
cancelLabel: 'Skip',
|
|
147
145
|
onConfirm: async () => {
|
|
148
|
-
return performWorktreeMerge(pane, context, item, progressPrefix, onComplete);
|
|
146
|
+
return performWorktreeMerge(pane, context, item, progressPrefix, onComplete, queue, currentIndex, result);
|
|
149
147
|
},
|
|
150
148
|
onCancel: async () => {
|
|
151
149
|
// Skip this worktree, continue with others
|
|
@@ -156,7 +154,7 @@ async function executeSingleWorktreeMerge(pane, context, item, currentIndex, tot
|
|
|
156
154
|
/**
|
|
157
155
|
* Handle merge issues for a single worktree in multi-merge context
|
|
158
156
|
*/
|
|
159
|
-
async function handleWorktreeMergeIssues(pane, context, item, progressPrefix, onComplete) {
|
|
157
|
+
async function handleWorktreeMergeIssues(pane, context, item, progressPrefix, queue, currentIndex, result, onComplete) {
|
|
160
158
|
const { validation, worktree } = item;
|
|
161
159
|
const { issues, mainBranch } = validation;
|
|
162
160
|
// Create retry function for this specific worktree
|
|
@@ -165,10 +163,10 @@ async function handleWorktreeMergeIssues(pane, context, item, progressPrefix, on
|
|
|
165
163
|
const { validateMerge } = await import('../../utils/mergeValidation.js');
|
|
166
164
|
item.validation = validateMerge(worktree.parentRepoPath, worktree.worktreePath, worktree.branch);
|
|
167
165
|
if (item.validation.canMerge) {
|
|
168
|
-
return performWorktreeMerge(pane, context, item, progressPrefix, onComplete);
|
|
166
|
+
return performWorktreeMerge(pane, context, item, progressPrefix, onComplete, queue, currentIndex, result);
|
|
169
167
|
}
|
|
170
168
|
else {
|
|
171
|
-
return handleWorktreeMergeIssues(pane, context, item, progressPrefix, onComplete);
|
|
169
|
+
return handleWorktreeMergeIssues(pane, context, item, progressPrefix, queue, currentIndex, result, onComplete);
|
|
172
170
|
}
|
|
173
171
|
};
|
|
174
172
|
// Check for nothing to merge
|
|
@@ -189,7 +187,7 @@ async function handleWorktreeMergeIssues(pane, context, item, progressPrefix, on
|
|
|
189
187
|
// Check for merge conflict
|
|
190
188
|
const mergeConflict = issues.find(i => i.type === 'merge_conflict');
|
|
191
189
|
if (mergeConflict) {
|
|
192
|
-
return handleConflictForWorktree(pane, context, item, progressPrefix, mainBranch, onComplete);
|
|
190
|
+
return handleConflictForWorktree(pane, context, item, progressPrefix, mainBranch, queue, currentIndex, result, onComplete);
|
|
193
191
|
}
|
|
194
192
|
// Unknown issue - skip with error
|
|
195
193
|
return onComplete(false, issues.map(i => i.message).join('; '));
|
|
@@ -201,6 +199,7 @@ async function handleMainDirtyForWorktree(item, progressPrefix, mainBranch, retr
|
|
|
201
199
|
const { worktree, validation } = item;
|
|
202
200
|
const issue = validation.issues.find(i => i.type === 'main_dirty');
|
|
203
201
|
const files = issue.files || [];
|
|
202
|
+
console.error(`[multiMerge] handleMainDirtyForWorktree - parentRepoPath: ${worktree.parentRepoPath}, worktreePath: ${worktree.worktreePath}`);
|
|
204
203
|
return {
|
|
205
204
|
type: 'choice',
|
|
206
205
|
title: `${progressPrefix}: Main Branch Has Changes`,
|
|
@@ -250,6 +249,7 @@ async function handleUncommittedForWorktree(item, progressPrefix, retryMerge, on
|
|
|
250
249
|
const { worktree, validation } = item;
|
|
251
250
|
const issue = validation.issues.find(i => i.type === 'worktree_uncommitted');
|
|
252
251
|
const files = issue.files || [];
|
|
252
|
+
console.error(`[multiMerge] handleUncommittedForWorktree - worktreePath: ${worktree.worktreePath}, parentRepoPath: ${worktree.parentRepoPath}`);
|
|
253
253
|
return {
|
|
254
254
|
type: 'choice',
|
|
255
255
|
title: `${progressPrefix}: Uncommitted Changes`,
|
|
@@ -284,6 +284,7 @@ async function handleUncommittedForWorktree(item, progressPrefix, retryMerge, on
|
|
|
284
284
|
if (optionId === 'commit_automatic' ||
|
|
285
285
|
optionId === 'commit_ai_editable' ||
|
|
286
286
|
optionId === 'commit_manual') {
|
|
287
|
+
console.error(`[multiMerge] Committing to worktree path: ${worktree.worktreePath}`);
|
|
287
288
|
const { handleCommitWithOptions } = await import('./commitMessageHandler.js');
|
|
288
289
|
return handleCommitWithOptions(worktree.worktreePath, optionId, retryMerge);
|
|
289
290
|
}
|
|
@@ -295,20 +296,30 @@ async function handleUncommittedForWorktree(item, progressPrefix, retryMerge, on
|
|
|
295
296
|
/**
|
|
296
297
|
* Handle merge conflict for a worktree in multi-merge
|
|
297
298
|
*/
|
|
298
|
-
async function handleConflictForWorktree(pane, context, item, progressPrefix, mainBranch, onComplete) {
|
|
299
|
+
async function handleConflictForWorktree(pane, context, item, progressPrefix, mainBranch, queue, currentIndex, result, onComplete) {
|
|
299
300
|
const { worktree, validation } = item;
|
|
300
301
|
const issue = validation.issues.find(i => i.type === 'merge_conflict');
|
|
301
302
|
const files = issue.files || [];
|
|
303
|
+
// Check for real file list vs fallback message
|
|
304
|
+
const hasRealFiles = files.length > 0 && !files[0].includes('conflict detection incomplete');
|
|
305
|
+
const conflictMessage = hasRealFiles
|
|
306
|
+
? `Conflicts detected in ${worktree.repoName}:\n${files.slice(0, 3).map(f => ` • ${f}`).join('\n')}${files.length > 3 ? '\n ...' : ''}`
|
|
307
|
+
: `Potential conflicts detected in ${worktree.repoName} between ${mainBranch} and ${worktree.branch}.\n\nThe branches have diverged and may have conflicting changes.`;
|
|
302
308
|
return {
|
|
303
309
|
type: 'choice',
|
|
304
310
|
title: `${progressPrefix}: Merge Conflicts`,
|
|
305
|
-
message:
|
|
311
|
+
message: conflictMessage,
|
|
306
312
|
options: [
|
|
313
|
+
{
|
|
314
|
+
id: 'ai_merge',
|
|
315
|
+
label: 'AI-assisted merge',
|
|
316
|
+
description: 'Launch agent to resolve conflicts, then continue',
|
|
317
|
+
default: true,
|
|
318
|
+
},
|
|
307
319
|
{
|
|
308
320
|
id: 'skip',
|
|
309
321
|
label: 'Skip this repo',
|
|
310
322
|
description: 'Resolve conflicts manually later',
|
|
311
|
-
default: true,
|
|
312
323
|
},
|
|
313
324
|
{
|
|
314
325
|
id: 'abort',
|
|
@@ -328,15 +339,168 @@ async function handleConflictForWorktree(pane, context, item, progressPrefix, ma
|
|
|
328
339
|
dismissable: true,
|
|
329
340
|
};
|
|
330
341
|
}
|
|
342
|
+
if (optionId === 'ai_merge') {
|
|
343
|
+
return launchConflictResolutionForSubWorktree(pane, context, item, queue, currentIndex, result, onComplete);
|
|
344
|
+
}
|
|
331
345
|
return onComplete(false, 'Unknown option');
|
|
332
346
|
},
|
|
333
347
|
dismissable: false,
|
|
334
348
|
};
|
|
335
349
|
}
|
|
350
|
+
/**
|
|
351
|
+
* Launch AI-assisted conflict resolution for a sub-worktree
|
|
352
|
+
* Creates a new pane with an agent to resolve conflicts, then continues the multi-merge
|
|
353
|
+
*/
|
|
354
|
+
async function launchConflictResolutionForSubWorktree(pane, context, item, queue, currentIndex, result, onComplete) {
|
|
355
|
+
const { worktree, validation } = item;
|
|
356
|
+
const { mainBranch } = validation;
|
|
357
|
+
// Check which agents are available
|
|
358
|
+
const { findClaudeCommand, findOpencodeCommand } = await import('../../utils/agentDetection.js');
|
|
359
|
+
const availableAgents = [];
|
|
360
|
+
if (await findClaudeCommand())
|
|
361
|
+
availableAgents.push('claude');
|
|
362
|
+
if (await findOpencodeCommand())
|
|
363
|
+
availableAgents.push('opencode');
|
|
364
|
+
if (availableAgents.length === 0) {
|
|
365
|
+
return {
|
|
366
|
+
type: 'error',
|
|
367
|
+
message: 'No AI agents available. Please install claude or opencode.',
|
|
368
|
+
dismissable: true,
|
|
369
|
+
};
|
|
370
|
+
}
|
|
371
|
+
// Helper to create pane with chosen agent
|
|
372
|
+
const createPaneWithAgent = async (agent) => {
|
|
373
|
+
return createAndMonitorConflictPane(pane, context, item, queue, currentIndex, result, agent, onComplete);
|
|
374
|
+
};
|
|
375
|
+
// If multiple agents available, ask user to choose
|
|
376
|
+
if (availableAgents.length > 1) {
|
|
377
|
+
return {
|
|
378
|
+
type: 'choice',
|
|
379
|
+
title: 'Choose AI Agent for Conflict Resolution',
|
|
380
|
+
message: `Which agent should resolve conflicts in ${worktree.repoName}?`,
|
|
381
|
+
options: availableAgents.map(agent => ({
|
|
382
|
+
id: agent,
|
|
383
|
+
label: agent === 'claude' ? 'Claude Code' : 'OpenCode',
|
|
384
|
+
description: agent === 'claude' ? 'Anthropic Claude' : 'Open-source alternative',
|
|
385
|
+
default: agent === 'claude',
|
|
386
|
+
})),
|
|
387
|
+
onSelect: async (agentId) => {
|
|
388
|
+
return createPaneWithAgent(agentId);
|
|
389
|
+
},
|
|
390
|
+
dismissable: true,
|
|
391
|
+
};
|
|
392
|
+
}
|
|
393
|
+
// Only one agent available, use it directly
|
|
394
|
+
return createPaneWithAgent(availableAgents[0]);
|
|
395
|
+
}
|
|
396
|
+
/**
|
|
397
|
+
* Create a conflict resolution pane and monitor for completion
|
|
398
|
+
*/
|
|
399
|
+
async function createAndMonitorConflictPane(pane, context, item, queue, currentIndex, result, agent, onComplete) {
|
|
400
|
+
const { worktree, validation } = item;
|
|
401
|
+
const { mainBranch } = validation;
|
|
402
|
+
try {
|
|
403
|
+
const { createConflictResolutionPane } = await import('../../utils/conflictResolutionPane.js');
|
|
404
|
+
const { TmuxService } = await import('../../services/TmuxService.js');
|
|
405
|
+
// Create the conflict resolution pane
|
|
406
|
+
// NOTE: For sub-worktrees, we pass the worktree path as the target
|
|
407
|
+
const conflictPane = await createConflictResolutionPane({
|
|
408
|
+
sourceBranch: worktree.branch,
|
|
409
|
+
targetBranch: mainBranch,
|
|
410
|
+
targetRepoPath: worktree.worktreePath,
|
|
411
|
+
agent,
|
|
412
|
+
projectName: context.projectName,
|
|
413
|
+
existingPanes: context.panes,
|
|
414
|
+
});
|
|
415
|
+
// Add the new pane to the panes list
|
|
416
|
+
const updatedPanes = [...context.panes, conflictPane];
|
|
417
|
+
await context.savePanes(updatedPanes);
|
|
418
|
+
// Notify about the new pane
|
|
419
|
+
if (context.onPaneUpdate) {
|
|
420
|
+
context.onPaneUpdate(conflictPane);
|
|
421
|
+
}
|
|
422
|
+
// Start monitoring for conflict resolution completion
|
|
423
|
+
const { startConflictMonitoring } = await import('../../utils/conflictMonitor.js');
|
|
424
|
+
startConflictMonitoring({
|
|
425
|
+
conflictPaneId: conflictPane.paneId,
|
|
426
|
+
repoPath: worktree.worktreePath,
|
|
427
|
+
onResolved: async () => {
|
|
428
|
+
// Conflicts resolved! Clean up and continue with multi-merge
|
|
429
|
+
try {
|
|
430
|
+
console.error(`[multiMerge] Conflicts resolved for ${worktree.repoName}, cleaning up conflict pane`);
|
|
431
|
+
const tmuxService = TmuxService.getInstance();
|
|
432
|
+
// Kill the conflict pane
|
|
433
|
+
await tmuxService.killPane(conflictPane.paneId);
|
|
434
|
+
// Remove conflict pane from state
|
|
435
|
+
const { StateManager } = await import('../../shared/StateManager.js');
|
|
436
|
+
const stateManager = StateManager.getInstance();
|
|
437
|
+
const currentPanes = stateManager.getPanes();
|
|
438
|
+
const panesWithoutConflictPane = currentPanes.filter((p) => p.id !== conflictPane.id);
|
|
439
|
+
await context.savePanes(panesWithoutConflictPane);
|
|
440
|
+
// Mark this worktree as completed
|
|
441
|
+
item.status = 'completed';
|
|
442
|
+
result.successful++;
|
|
443
|
+
result.results.push({
|
|
444
|
+
worktree: item.worktree,
|
|
445
|
+
status: 'completed',
|
|
446
|
+
});
|
|
447
|
+
// Now complete the merge (worktree -> main)
|
|
448
|
+
const { mergeWorktreeIntoMain } = await import('../../utils/mergeExecution.js');
|
|
449
|
+
const { triggerHook } = await import('../../utils/hooks.js');
|
|
450
|
+
const mergeResult = mergeWorktreeIntoMain(worktree.parentRepoPath, worktree.branch);
|
|
451
|
+
if (!mergeResult.success) {
|
|
452
|
+
console.error(`[multiMerge] Failed to merge ${worktree.branch} into ${mainBranch}: ${mergeResult.error}`);
|
|
453
|
+
// Update status to failed
|
|
454
|
+
item.status = 'failed';
|
|
455
|
+
item.error = mergeResult.error;
|
|
456
|
+
result.successful--; // Undo the increment above
|
|
457
|
+
result.failed++;
|
|
458
|
+
result.results[result.results.length - 1] = {
|
|
459
|
+
worktree: item.worktree,
|
|
460
|
+
status: 'failed',
|
|
461
|
+
error: mergeResult.error,
|
|
462
|
+
};
|
|
463
|
+
}
|
|
464
|
+
else {
|
|
465
|
+
// Trigger post_merge hook
|
|
466
|
+
await triggerHook('post_merge', worktree.parentRepoPath, pane, {
|
|
467
|
+
DMUX_TARGET_BRANCH: mainBranch,
|
|
468
|
+
DMUX_WORKTREE_PATH: worktree.worktreePath,
|
|
469
|
+
DMUX_REPO_NAME: worktree.repoName,
|
|
470
|
+
});
|
|
471
|
+
}
|
|
472
|
+
// Continue with next item in queue
|
|
473
|
+
const nextResult = await processNextInQueue(pane, context, queue, currentIndex + 1, result);
|
|
474
|
+
// Show the result to user if we have the callback
|
|
475
|
+
if (context.onActionResult) {
|
|
476
|
+
await context.onActionResult(nextResult);
|
|
477
|
+
}
|
|
478
|
+
}
|
|
479
|
+
catch (error) {
|
|
480
|
+
console.error('[multiMerge] Error in conflict resolution onResolved:', error);
|
|
481
|
+
}
|
|
482
|
+
},
|
|
483
|
+
});
|
|
484
|
+
return {
|
|
485
|
+
type: 'navigation',
|
|
486
|
+
title: 'Conflict Resolution Started',
|
|
487
|
+
message: `Created pane "${conflictPane.slug}" with ${agent} to resolve conflicts in ${worktree.repoName}.\n\nMulti-merge will continue automatically when conflicts are resolved.`,
|
|
488
|
+
targetPaneId: conflictPane.id,
|
|
489
|
+
dismissable: true,
|
|
490
|
+
};
|
|
491
|
+
}
|
|
492
|
+
catch (error) {
|
|
493
|
+
return {
|
|
494
|
+
type: 'error',
|
|
495
|
+
message: `Failed to create conflict resolution pane: ${error instanceof Error ? error.message : String(error)}`,
|
|
496
|
+
dismissable: true,
|
|
497
|
+
};
|
|
498
|
+
}
|
|
499
|
+
}
|
|
336
500
|
/**
|
|
337
501
|
* Actually perform the merge for a worktree
|
|
338
502
|
*/
|
|
339
|
-
async function performWorktreeMerge(pane, context, item, progressPrefix, onComplete) {
|
|
503
|
+
async function performWorktreeMerge(pane, context, item, progressPrefix, onComplete, queue, currentIndex, result) {
|
|
340
504
|
const { worktree, validation } = item;
|
|
341
505
|
const { mainBranch } = validation;
|
|
342
506
|
const { mergeMainIntoWorktree, mergeWorktreeIntoMain } = await import('../../utils/mergeExecution.js');
|
|
@@ -351,25 +515,38 @@ async function performWorktreeMerge(pane, context, item, progressPrefix, onCompl
|
|
|
351
515
|
const step1 = mergeMainIntoWorktree(worktree.worktreePath, mainBranch);
|
|
352
516
|
if (!step1.success) {
|
|
353
517
|
if (step1.needsManualResolution && step1.conflictFiles?.length) {
|
|
354
|
-
// Conflict occurred during merge
|
|
518
|
+
// Conflict occurred during merge - offer AI resolution if queue info available
|
|
519
|
+
const hasQueueInfo = queue && typeof currentIndex === 'number' && result;
|
|
520
|
+
const options = [];
|
|
521
|
+
if (hasQueueInfo) {
|
|
522
|
+
options.push({
|
|
523
|
+
id: 'ai_merge',
|
|
524
|
+
label: 'AI-assisted merge',
|
|
525
|
+
description: 'Launch agent to resolve conflicts, then continue',
|
|
526
|
+
default: true,
|
|
527
|
+
});
|
|
528
|
+
}
|
|
529
|
+
options.push({
|
|
530
|
+
id: 'skip',
|
|
531
|
+
label: 'Skip this repo',
|
|
532
|
+
description: 'Abort this merge, continue with others',
|
|
533
|
+
default: !hasQueueInfo, // Default if no AI option
|
|
534
|
+
});
|
|
535
|
+
options.push({
|
|
536
|
+
id: 'abort_all',
|
|
537
|
+
label: 'Stop multi-merge',
|
|
538
|
+
description: 'Stop processing remaining repos',
|
|
539
|
+
});
|
|
355
540
|
return {
|
|
356
541
|
type: 'choice',
|
|
357
542
|
title: `${progressPrefix}: Merge Conflict`,
|
|
358
543
|
message: `Conflict while merging ${mainBranch} into worktree:\n${step1.conflictFiles.slice(0, 3).map(f => ` • ${f}`).join('\n')}`,
|
|
359
|
-
options
|
|
360
|
-
{
|
|
361
|
-
id: 'skip',
|
|
362
|
-
label: 'Skip this repo',
|
|
363
|
-
description: 'Abort this merge, continue with others',
|
|
364
|
-
default: true,
|
|
365
|
-
},
|
|
366
|
-
{
|
|
367
|
-
id: 'abort_all',
|
|
368
|
-
label: 'Stop multi-merge',
|
|
369
|
-
description: 'Stop processing remaining repos',
|
|
370
|
-
},
|
|
371
|
-
],
|
|
544
|
+
options,
|
|
372
545
|
onSelect: async (optionId) => {
|
|
546
|
+
if (optionId === 'ai_merge' && hasQueueInfo) {
|
|
547
|
+
// Don't abort - let the agent resolve the conflicts that are already in place
|
|
548
|
+
return launchConflictResolutionForSubWorktree(pane, context, item, queue, currentIndex, result, onComplete);
|
|
549
|
+
}
|
|
373
550
|
const { abortMerge } = await import('../../utils/mergeExecution.js');
|
|
374
551
|
abortMerge(worktree.worktreePath);
|
|
375
552
|
if (optionId === 'abort_all') {
|
|
@@ -406,10 +583,10 @@ async function performWorktreeMerge(pane, context, item, progressPrefix, onCompl
|
|
|
406
583
|
*/
|
|
407
584
|
function showMultiMergeSummary(pane, context, result) {
|
|
408
585
|
const summaryLines = result.results.map(r => {
|
|
409
|
-
const
|
|
586
|
+
const name = r.worktree.repoName;
|
|
410
587
|
const icon = r.status === 'completed' ? '✓' : r.status === 'skipped' ? '○' : '✗';
|
|
411
|
-
const suffix = r.error && r.status === 'failed' ?
|
|
412
|
-
return ` ${icon} ${
|
|
588
|
+
const suffix = r.error && r.status === 'failed' ? `: ${r.error}` : '';
|
|
589
|
+
return ` ${icon} ${name}${suffix}`;
|
|
413
590
|
});
|
|
414
591
|
const message = [
|
|
415
592
|
`Completed: ${result.successful}`,
|