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.
Files changed (45) hide show
  1. package/dist/DmuxApp.d.ts.map +1 -1
  2. package/dist/DmuxApp.js +41 -1
  3. package/dist/DmuxApp.js.map +1 -1
  4. package/dist/actions/merge/commitMessageHandler.d.ts.map +1 -1
  5. package/dist/actions/merge/commitMessageHandler.js +7 -0
  6. package/dist/actions/merge/commitMessageHandler.js.map +1 -1
  7. package/dist/actions/merge/multiMergeOrchestrator.d.ts.map +1 -1
  8. package/dist/actions/merge/multiMergeOrchestrator.js +215 -38
  9. package/dist/actions/merge/multiMergeOrchestrator.js.map +1 -1
  10. package/dist/components/popups/reopenWorktreePopup.d.ts +7 -0
  11. package/dist/components/popups/reopenWorktreePopup.d.ts.map +1 -0
  12. package/dist/components/popups/reopenWorktreePopup.js +96 -0
  13. package/dist/components/popups/reopenWorktreePopup.js.map +1 -0
  14. package/dist/components/popups/shortcutsPopup.js +2 -1
  15. package/dist/components/popups/shortcutsPopup.js.map +1 -1
  16. package/dist/components/ui/FooterHelp.js +2 -2
  17. package/dist/hooks/useInputHandling.d.ts +2 -0
  18. package/dist/hooks/useInputHandling.d.ts.map +1 -1
  19. package/dist/hooks/useInputHandling.js +24 -9
  20. package/dist/hooks/useInputHandling.js.map +1 -1
  21. package/dist/server/embedded-assets.d.ts.map +1 -1
  22. package/dist/server/embedded-assets.js +42 -2
  23. package/dist/server/embedded-assets.js.map +1 -1
  24. package/dist/services/PopupManager.d.ts +10 -0
  25. package/dist/services/PopupManager.d.ts.map +1 -1
  26. package/dist/services/PopupManager.js +30 -2
  27. package/dist/services/PopupManager.js.map +1 -1
  28. package/dist/utils/aiMerge.d.ts.map +1 -1
  29. package/dist/utils/aiMerge.js +7 -1
  30. package/dist/utils/aiMerge.js.map +1 -1
  31. package/dist/utils/generated-agents-doc.d.ts +1 -1
  32. package/dist/utils/generated-agents-doc.js +1 -1
  33. package/dist/utils/git.d.ts +15 -0
  34. package/dist/utils/git.d.ts.map +1 -1
  35. package/dist/utils/git.js +70 -0
  36. package/dist/utils/git.js.map +1 -1
  37. package/dist/utils/hooksDocs.d.ts +1 -1
  38. package/dist/utils/mergeValidation.d.ts.map +1 -1
  39. package/dist/utils/mergeValidation.js +48 -2
  40. package/dist/utils/mergeValidation.js.map +1 -1
  41. package/dist/utils/reopenWorktree.d.ts +16 -0
  42. package/dist/utils/reopenWorktree.d.ts.map +1 -0
  43. package/dist/utils/reopenWorktree.js +121 -0
  44. package/dist/utils/reopenWorktree.js.map +1 -0
  45. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"DmuxApp.d.ts","sourceRoot":"","sources":["../src/DmuxApp.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA8B,MAAM,OAAO,CAAA;AAkDlD,OAAO,KAAK,EAEV,YAAY,EACb,MAAM,YAAY,CAAA;AASnB,QAAA,MAAM,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,YAAY,CA8yBnC,CAAA;AAED,eAAe,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)
@@ -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,CAwEvB;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,CAevB"}
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":"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"}
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,CA0B3B;AAED;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,aAAa,EACtB,KAAK,EAAE,cAAc,EAAE,GACtB,OAAO,CAAC,YAAY,CAAC,CAGvB"}
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, idx) => {
47
- const label = getWorktreeDisplayLabel(item.worktree);
48
- const issues = item.validation.issues
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: `Merge ${queue.length} repositor${queue.length === 1 ? 'y' : 'ies'}?\n\n${worktreeList}`,
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.length, async (success, error) => {
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, totalCount, onComplete) {
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}/${totalCount}] ${worktreeLabel}`;
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: `Conflicts detected in ${worktree.repoName}:\n${files.slice(0, 3).map(f => ` • ${f}`).join('\n')}${files.length > 3 ? '\n ...' : ''}`,
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 label = getWorktreeDisplayLabel(r.worktree);
586
+ const name = r.worktree.repoName;
410
587
  const icon = r.status === 'completed' ? '✓' : r.status === 'skipped' ? '○' : '✗';
411
- const suffix = r.error && r.status === 'failed' ? ` (${r.error})` : '';
412
- return ` ${icon} ${label}${suffix}`;
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}`,