dmux 3.3.1 → 3.5.0

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 (66) hide show
  1. package/dist/actions/implementations/closeAction.d.ts.map +1 -1
  2. package/dist/actions/implementations/closeAction.js +22 -6
  3. package/dist/actions/implementations/closeAction.js.map +1 -1
  4. package/dist/actions/implementations/mergeAction.d.ts +3 -1
  5. package/dist/actions/implementations/mergeAction.d.ts.map +1 -1
  6. package/dist/actions/implementations/mergeAction.js +38 -4
  7. package/dist/actions/implementations/mergeAction.js.map +1 -1
  8. package/dist/actions/merge/multiMergeOrchestrator.d.ts +22 -0
  9. package/dist/actions/merge/multiMergeOrchestrator.d.ts.map +1 -0
  10. package/dist/actions/merge/multiMergeOrchestrator.js +452 -0
  11. package/dist/actions/merge/multiMergeOrchestrator.js.map +1 -0
  12. package/dist/actions/merge/types.d.ts +62 -0
  13. package/dist/actions/merge/types.d.ts.map +1 -0
  14. package/dist/actions/merge/types.js +7 -0
  15. package/dist/actions/merge/types.js.map +1 -0
  16. package/dist/chunks/styles.css_vue_type_style_index_0_src_true_lang-pW5mq51o.js +17 -0
  17. package/dist/components/popups/logsPopup.js +33 -17
  18. package/dist/components/popups/logsPopup.js.map +1 -1
  19. package/dist/dashboard.html +2 -2
  20. package/dist/dashboard.js +2 -2
  21. package/dist/hooks/useLayoutManagement.d.ts.map +1 -1
  22. package/dist/hooks/useLayoutManagement.js +43 -14
  23. package/dist/hooks/useLayoutManagement.js.map +1 -1
  24. package/dist/hooks/usePaneLoading.d.ts +3 -0
  25. package/dist/hooks/usePaneLoading.d.ts.map +1 -1
  26. package/dist/hooks/usePaneLoading.js +21 -1
  27. package/dist/hooks/usePaneLoading.js.map +1 -1
  28. package/dist/hooks/usePaneSync.d.ts +3 -0
  29. package/dist/hooks/usePaneSync.d.ts.map +1 -1
  30. package/dist/hooks/usePaneSync.js +11 -0
  31. package/dist/hooks/usePaneSync.js.map +1 -1
  32. package/dist/layout/TmuxLayoutApplier.d.ts.map +1 -1
  33. package/dist/layout/TmuxLayoutApplier.js +4 -9
  34. package/dist/layout/TmuxLayoutApplier.js.map +1 -1
  35. package/dist/server/embedded-assets.d.ts.map +1 -1
  36. package/dist/server/embedded-assets.js +26 -37
  37. package/dist/server/embedded-assets.js.map +1 -1
  38. package/dist/services/PaneAnalyzer.d.ts +12 -3
  39. package/dist/services/PaneAnalyzer.d.ts.map +1 -1
  40. package/dist/services/PaneAnalyzer.js +57 -8
  41. package/dist/services/PaneAnalyzer.js.map +1 -1
  42. package/dist/services/PopupManager.d.ts.map +1 -1
  43. package/dist/services/PopupManager.js +7 -1
  44. package/dist/services/PopupManager.js.map +1 -1
  45. package/dist/services/StatusDetector.d.ts.map +1 -1
  46. package/dist/services/StatusDetector.js +28 -9
  47. package/dist/services/StatusDetector.js.map +1 -1
  48. package/dist/services/TmuxService.d.ts +9 -3
  49. package/dist/services/TmuxService.d.ts.map +1 -1
  50. package/dist/services/TmuxService.js +12 -3
  51. package/dist/services/TmuxService.js.map +1 -1
  52. package/dist/terminal.html +2 -2
  53. package/dist/terminal.js +3 -3
  54. package/dist/utils/generated-agents-doc.d.ts +1 -1
  55. package/dist/utils/generated-agents-doc.js +1 -1
  56. package/dist/utils/hooksDocs.d.ts +1 -1
  57. package/dist/utils/layoutManager.d.ts.map +1 -1
  58. package/dist/utils/layoutManager.js +226 -202
  59. package/dist/utils/layoutManager.js.map +1 -1
  60. package/dist/utils/worktreeDiscovery.d.ts +39 -0
  61. package/dist/utils/worktreeDiscovery.d.ts.map +1 -0
  62. package/dist/utils/worktreeDiscovery.js +241 -0
  63. package/dist/utils/worktreeDiscovery.js.map +1 -0
  64. package/package.json +7 -7
  65. package/dist/chunks/_plugin-vue_export-helper-Cvoq67hi.js +0 -28
  66. /package/dist/{_plugin-vue_export-helper.css → styles.css} +0 -0
@@ -1 +1 @@
1
- {"version":3,"file":"closeAction.d.ts","sourceRoot":"","sources":["../../../src/actions/implementations/closeAction.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAc,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAgB,MAAM,aAAa,CAAC;AAM7E;;GAEG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,YAAY,CAAC,CAsCvB"}
1
+ {"version":3,"file":"closeAction.d.ts","sourceRoot":"","sources":["../../../src/actions/implementations/closeAction.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,QAAQ,EAAc,MAAM,gBAAgB,CAAC;AAC3D,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAgB,MAAM,aAAa,CAAC;AAO7E;;GAEG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,YAAY,CAAC,CAsCvB"}
@@ -5,6 +5,7 @@ import { execSync } from 'child_process';
5
5
  import * as fs from 'fs';
6
6
  import path from 'path';
7
7
  import { StateManager } from '../../shared/StateManager.js';
8
+ import { PaneLifecycleManager } from '../../services/PaneLifecycleManager.js';
8
9
  import { triggerHook } from '../../utils/hooks.js';
9
10
  import { LogService } from '../../services/LogService.js';
10
11
  import { TMUX_SPLIT_DELAY } from '../../constants/timing.js';
@@ -54,7 +55,13 @@ export async function closePane(pane, context) {
54
55
  async function executeCloseOption(pane, context, option) {
55
56
  console.error(`[closeAction] executeCloseOption called for pane ${pane.id} (slug: ${pane.slug}) with option: ${option}`);
56
57
  console.error(`[closeAction] Context has ${context.panes.length} panes: ${context.panes.map(p => p.id).join(', ')}`);
58
+ const lifecycleManager = PaneLifecycleManager.getInstance();
57
59
  try {
60
+ // CRITICAL: Mark pane as closing FIRST to prevent race condition with polling
61
+ // This prevents usePanes from recreating the pane while we're closing it
62
+ await lifecycleManager.beginClose(pane.id, `close action: ${option}`);
63
+ // Also mark by paneId in case polling checks that
64
+ await lifecycleManager.beginClose(pane.paneId, `close action: ${option}`);
58
65
  // Get project root for hooks
59
66
  const state = StateManager.getInstance().getState();
60
67
  const projectRoot = state.projectRoot || process.cwd();
@@ -64,7 +71,14 @@ async function executeCloseOption(pane, context, option) {
64
71
  // the watcher reloads the pane list from disk before our save completes
65
72
  StateManager.getInstance().pauseConfigWatcher();
66
73
  try {
67
- // Kill the tmux pane - use a more robust approach
74
+ // CRITICAL: Remove from config FIRST, before killing tmux pane
75
+ // This prevents the race condition where polling detects "missing" pane
76
+ // and recreates it before we finish closing
77
+ const updatedPanes = context.panes.filter(p => p.id !== pane.id);
78
+ console.error(`[closeAction] Removing pane ${pane.id} from config FIRST, result: ${updatedPanes.length} panes`);
79
+ await context.savePanes(updatedPanes);
80
+ console.error(`[closeAction] Config saved, now killing tmux pane`);
81
+ // NOW kill the tmux pane (after config is updated)
68
82
  try {
69
83
  // First, try to kill any running process in the pane (like Claude)
70
84
  try {
@@ -127,11 +141,6 @@ async function executeCloseOption(pane, context, option) {
127
141
  }
128
142
  }
129
143
  }
130
- // Remove from panes list
131
- const updatedPanes = context.panes.filter(p => p.id !== pane.id);
132
- console.error(`[closeAction] Filtering pane ${pane.id} from context.panes, result: ${updatedPanes.length} panes`);
133
- await context.savePanes(updatedPanes);
134
- console.error(`[closeAction] Panes saved successfully`);
135
144
  if (context.onPaneRemove) {
136
145
  context.onPaneRemove(pane.paneId); // Pass tmux pane ID, not dmux ID
137
146
  }
@@ -181,6 +190,10 @@ async function executeCloseOption(pane, context, option) {
181
190
  finally {
182
191
  // CRITICAL: Always resume watcher, even if there was an error
183
192
  StateManager.getInstance().resumeConfigWatcher();
193
+ // Complete the lifecycle close (releases lock)
194
+ // Do this AFTER resume to ensure the config is stable
195
+ await lifecycleManager.completeClose(pane.id);
196
+ await lifecycleManager.completeClose(pane.paneId);
184
197
  }
185
198
  }
186
199
  catch (error) {
@@ -191,6 +204,9 @@ async function executeCloseOption(pane, context, option) {
191
204
  execSync('tmux refresh-client', { stdio: 'pipe' });
192
205
  }
193
206
  catch { }
207
+ // Release lifecycle lock on error
208
+ await lifecycleManager.completeClose(pane.id);
209
+ await lifecycleManager.completeClose(pane.paneId);
194
210
  return {
195
211
  type: 'error',
196
212
  message: `Failed to close pane: ${error}`,
@@ -1 +1 @@
1
- {"version":3,"file":"closeAction.js","sourceRoot":"","sources":["../../../src/actions/implementations/closeAction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"closeAction.js","sourceRoot":"","sources":["../../../src/actions/implementations/closeAction.ts"],"names":[],"mappings":"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"}
@@ -2,11 +2,13 @@
2
2
  * MERGE Action - Merge a worktree into the main branch with comprehensive pre-checks
3
3
  *
4
4
  * This is the simplified orchestrator that delegates to specialized modules.
5
+ * Supports multi-merge: detects sub-worktrees and merges them all sequentially.
5
6
  */
6
7
  import type { DmuxPane } from '../../types.js';
7
8
  import type { ActionResult, ActionContext } from '../types.js';
8
9
  /**
9
- * Merge a worktree into the main branch with comprehensive pre-checks
10
+ * Merge a worktree into the main branch with comprehensive pre-checks.
11
+ * Supports multi-merge: if sub-worktrees exist, merges all of them sequentially.
10
12
  */
11
13
  export declare function mergePane(pane: DmuxPane, context: ActionContext, params?: {
12
14
  mainBranch?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"mergeAction.d.ts","sourceRoot":"","sources":["../../../src/actions/implementations/mergeAction.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAU/D;;GAEG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/B,OAAO,CAAC,YAAY,CAAC,CA0CvB"}
1
+ {"version":3,"file":"mergeAction.d.ts","sourceRoot":"","sources":["../../../src/actions/implementations/mergeAction.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AAU/D;;;GAGG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,aAAa,EACtB,MAAM,CAAC,EAAE;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,GAC/B,OAAO,CAAC,YAAY,CAAC,CA4CvB"}
@@ -2,12 +2,14 @@
2
2
  * MERGE Action - Merge a worktree into the main branch with comprehensive pre-checks
3
3
  *
4
4
  * This is the simplified orchestrator that delegates to specialized modules.
5
+ * Supports multi-merge: detects sub-worktrees and merges them all sequentially.
5
6
  */
6
7
  import { triggerHook } from '../../utils/hooks.js';
7
8
  import { executeMerge } from '../merge/mergeExecution.js';
8
9
  import { handleNothingToMerge, handleMainDirty, handleWorktreeUncommitted, handleMergeConflict, } from '../merge/issueHandlers/index.js';
9
10
  /**
10
- * Merge a worktree into the main branch with comprehensive pre-checks
11
+ * Merge a worktree into the main branch with comprehensive pre-checks.
12
+ * Supports multi-merge: if sub-worktrees exist, merges all of them sequentially.
11
13
  */
12
14
  export async function mergePane(pane, context, params) {
13
15
  // 1. Validation
@@ -18,15 +20,47 @@ export async function mergePane(pane, context, params) {
18
20
  dismissable: true,
19
21
  };
20
22
  }
21
- // 2. Pre-merge validation
23
+ // 2. Detect all worktrees (including sub-worktrees created by hooks)
24
+ const { detectAllWorktrees } = await import('../../utils/worktreeDiscovery.js');
25
+ const worktrees = detectAllWorktrees(pane.worktreePath);
26
+ console.error(`[mergeAction] Detected ${worktrees.length} worktree(s) in ${pane.worktreePath}`);
27
+ for (const wt of worktrees) {
28
+ console.error(`[mergeAction] - ${wt.repoName} (${wt.branch}) at ${wt.relativePath} [depth=${wt.depth}, isRoot=${wt.isRoot}]`);
29
+ }
30
+ // 3. Build merge queue (only worktrees with changes)
31
+ const { buildMergeQueue, executeMultiMerge } = await import('../merge/multiMergeOrchestrator.js');
32
+ const queue = await buildMergeQueue(worktrees);
33
+ console.error(`[mergeAction] Merge queue has ${queue.length} item(s)`);
34
+ // 4. Handle based on queue size
35
+ // No changes anywhere
36
+ if (queue.length === 0) {
37
+ return {
38
+ type: 'info',
39
+ message: 'No changes to merge in any repository',
40
+ dismissable: true,
41
+ };
42
+ }
43
+ // Single root worktree = use existing flow (backwards compatible)
44
+ if (queue.length === 1 && queue[0].worktree.isRoot) {
45
+ console.error('[mergeAction] Single root worktree - using existing flow');
46
+ return executeSingleRootMerge(pane, context, params);
47
+ }
48
+ // Multiple worktrees or only sub-worktrees = use multi-merge flow
49
+ console.error('[mergeAction] Multiple worktrees or sub-worktrees - using multi-merge flow');
50
+ return executeMultiMerge(pane, context, queue);
51
+ }
52
+ /**
53
+ * Execute single root worktree merge (original flow, backwards compatible)
54
+ */
55
+ async function executeSingleRootMerge(pane, context, params) {
22
56
  const { validateMerge } = await import('../../utils/mergeValidation.js');
23
57
  const mainRepoPath = pane.worktreePath.replace(/\/\.dmux\/worktrees\/[^/]+$/, '');
24
58
  const validation = validateMerge(mainRepoPath, pane.worktreePath, pane.slug);
25
- // 3. Handle detected issues
59
+ // Handle detected issues
26
60
  if (!validation.canMerge) {
27
61
  return handleMergeIssues(pane, context, validation, mainRepoPath);
28
62
  }
29
- // 4. No issues detected, proceed with merge confirmation
63
+ // No issues detected, proceed with merge confirmation
30
64
  return {
31
65
  type: 'confirm',
32
66
  title: 'Merge Worktree',
@@ -1 +1 @@
1
- {"version":3,"file":"mergeAction.js","sourceRoot":"","sources":["../../../src/actions/implementations/mergeAction.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"mergeAction.js","sourceRoot":"","sources":["../../../src/actions/implementations/mergeAction.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Multi-Merge Orchestrator
3
+ *
4
+ * Coordinates merging multiple worktrees in sequence with proper
5
+ * dialog handling and error recovery.
6
+ */
7
+ import type { ActionResult, ActionContext } from '../types.js';
8
+ import type { DmuxPane } from '../../types.js';
9
+ import type { WorktreeInfo, MergeQueueItem } from './types.js';
10
+ /**
11
+ * Build the merge queue from detected worktrees
12
+ * - Runs validation on each worktree
13
+ * - Filters to only those with changes to merge
14
+ * - Already sorted by depth (deepest first from detectAllWorktrees)
15
+ */
16
+ export declare function buildMergeQueue(worktrees: WorktreeInfo[]): Promise<MergeQueueItem[]>;
17
+ /**
18
+ * Execute multi-merge with sequential dialogs
19
+ * Returns ActionResult that chains through each merge
20
+ */
21
+ export declare function executeMultiMerge(pane: DmuxPane, context: ActionContext, queue: MergeQueueItem[]): Promise<ActionResult>;
22
+ //# sourceMappingURL=multiMergeOrchestrator.d.ts.map
@@ -0,0 +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"}