dmux 5.0.0 → 5.2.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.
- package/README.md +44 -141
- package/dist/actions/implementations/closeAction.d.ts.map +1 -1
- package/dist/actions/implementations/closeAction.js +25 -20
- package/dist/actions/implementations/closeAction.js.map +1 -1
- package/dist/actions/implementations/mergeAction.d.ts.map +1 -1
- package/dist/actions/implementations/mergeAction.js +2 -1
- package/dist/actions/implementations/mergeAction.js.map +1 -1
- package/dist/actions/merge/conflictResolution.d.ts.map +1 -1
- package/dist/actions/merge/conflictResolution.js +2 -1
- package/dist/actions/merge/conflictResolution.js.map +1 -1
- package/dist/actions/merge/mergeExecution.d.ts.map +1 -1
- package/dist/actions/merge/mergeExecution.js +2 -1
- package/dist/actions/merge/mergeExecution.js.map +1 -1
- package/dist/components/dialogs/SettingsDialog.d.ts.map +1 -1
- package/dist/components/dialogs/SettingsDialog.js +3 -1
- package/dist/components/dialogs/SettingsDialog.js.map +1 -1
- package/dist/components/panes/MergePane.d.ts +1 -0
- package/dist/components/panes/MergePane.d.ts.map +1 -1
- package/dist/components/panes/MergePane.js +14 -3
- package/dist/components/panes/MergePane.js.map +1 -1
- package/dist/components/popups/projectSelectPopup.d.ts +7 -0
- package/dist/components/popups/projectSelectPopup.d.ts.map +1 -0
- package/dist/components/popups/projectSelectPopup.js +124 -0
- package/dist/components/popups/projectSelectPopup.js.map +1 -0
- package/dist/components/popups/settingsPopup.js +25 -8
- package/dist/components/popups/settingsPopup.js.map +1 -1
- package/dist/components/popups/shared/DirectoryList.d.ts +14 -0
- package/dist/components/popups/shared/DirectoryList.d.ts.map +1 -0
- package/dist/components/popups/shared/DirectoryList.js +46 -0
- package/dist/components/popups/shared/DirectoryList.js.map +1 -0
- package/dist/components/popups/shared/index.d.ts +1 -0
- package/dist/components/popups/shared/index.d.ts.map +1 -1
- package/dist/components/popups/shared/index.js +1 -0
- package/dist/components/popups/shared/index.js.map +1 -1
- package/dist/components/popups/shortcutsPopup.js +8 -9
- package/dist/components/popups/shortcutsPopup.js.map +1 -1
- package/dist/hooks/useAutoUpdater.d.ts.map +1 -1
- package/dist/hooks/useAutoUpdater.js +42 -23
- package/dist/hooks/useAutoUpdater.js.map +1 -1
- package/dist/hooks/useInputHandling.d.ts.map +1 -1
- package/dist/hooks/useInputHandling.js +25 -5
- package/dist/hooks/useInputHandling.js.map +1 -1
- package/dist/hooks/useWorktreeActions.d.ts.map +1 -1
- package/dist/hooks/useWorktreeActions.js +16 -8
- package/dist/hooks/useWorktreeActions.js.map +1 -1
- package/dist/index.js +8 -3
- package/dist/index.js.map +1 -1
- package/dist/server/embedded-assets.d.ts.map +1 -1
- package/dist/server/embedded-assets.js +41 -30
- package/dist/server/embedded-assets.js.map +1 -1
- package/dist/services/AutoUpdater.d.ts +4 -0
- package/dist/services/AutoUpdater.d.ts.map +1 -1
- package/dist/services/AutoUpdater.js +23 -0
- package/dist/services/AutoUpdater.js.map +1 -1
- package/dist/services/PopupManager.d.ts +2 -1
- package/dist/services/PopupManager.d.ts.map +1 -1
- package/dist/services/PopupManager.js +31 -11
- package/dist/services/PopupManager.js.map +1 -1
- package/dist/services/TmuxService.d.ts +6 -1
- package/dist/services/TmuxService.d.ts.map +1 -1
- package/dist/services/TmuxService.js +11 -1
- package/dist/services/TmuxService.js.map +1 -1
- package/dist/services/WorktreeCleanupService.d.ts +22 -0
- package/dist/services/WorktreeCleanupService.d.ts.map +1 -0
- package/dist/services/WorktreeCleanupService.js +80 -0
- package/dist/services/WorktreeCleanupService.js.map +1 -0
- package/dist/types.d.ts +5 -1
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/agentLaunch.d.ts +4 -0
- package/dist/utils/agentLaunch.d.ts.map +1 -1
- package/dist/utils/agentLaunch.js +24 -0
- package/dist/utils/agentLaunch.js.map +1 -1
- package/dist/utils/conflictResolutionPane.d.ts.map +1 -1
- package/dist/utils/conflictResolutionPane.js +61 -23
- package/dist/utils/conflictResolutionPane.js.map +1 -1
- package/dist/utils/dirScanner.d.ts +30 -0
- package/dist/utils/dirScanner.d.ts.map +1 -0
- package/dist/utils/dirScanner.js +99 -0
- package/dist/utils/dirScanner.js.map +1 -0
- 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 +13 -0
- package/dist/utils/git.d.ts.map +1 -1
- package/dist/utils/git.js +20 -0
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/hooks.d.ts.map +1 -1
- package/dist/utils/hooks.js +51 -19
- package/dist/utils/hooks.js.map +1 -1
- package/dist/utils/hooksDocs.d.ts +1 -1
- package/dist/utils/mergeExecution.d.ts.map +1 -1
- package/dist/utils/mergeExecution.js +6 -3
- package/dist/utils/mergeExecution.js.map +1 -1
- package/dist/utils/onboarding.d.ts +9 -0
- package/dist/utils/onboarding.d.ts.map +1 -0
- package/dist/utils/onboarding.js +110 -0
- package/dist/utils/onboarding.js.map +1 -0
- package/dist/utils/openRouterApiKeySetup.d.ts +28 -0
- package/dist/utils/openRouterApiKeySetup.d.ts.map +1 -0
- package/dist/utils/openRouterApiKeySetup.js +143 -0
- package/dist/utils/openRouterApiKeySetup.js.map +1 -0
- package/dist/utils/paneCreation.d.ts.map +1 -1
- package/dist/utils/paneCreation.js +116 -53
- package/dist/utils/paneCreation.js.map +1 -1
- package/dist/utils/promptStore.d.ts +7 -0
- package/dist/utils/promptStore.d.ts.map +1 -0
- package/dist/utils/promptStore.js +75 -0
- package/dist/utils/promptStore.js.map +1 -0
- package/dist/utils/reopenWorktree.d.ts.map +1 -1
- package/dist/utils/reopenWorktree.js +11 -4
- package/dist/utils/reopenWorktree.js.map +1 -1
- package/dist/utils/settingsManager.d.ts.map +1 -1
- package/dist/utils/settingsManager.js +59 -0
- package/dist/utils/settingsManager.js.map +1 -1
- package/dist/utils/tmux.d.ts +2 -1
- package/dist/utils/tmux.d.ts.map +1 -1
- package/dist/utils/tmux.js +3 -1
- package/dist/utils/tmux.js.map +1 -1
- package/dist/workers/updateChecker.js +21 -6
- package/dist/workers/updateChecker.js.map +1 -1
- package/package.json +5 -8
- package/dist/components/popups/remotePopup.d.ts +0 -6
- package/dist/components/popups/remotePopup.d.ts.map +0 -1
- package/dist/components/popups/remotePopup.js +0 -166
- package/dist/components/popups/remotePopup.js.map +0 -1
- package/dist/hooks/useTunnelManagement.d.ts +0 -18
- package/dist/hooks/useTunnelManagement.d.ts.map +0 -1
- package/dist/hooks/useTunnelManagement.js +0 -55
- package/dist/hooks/useTunnelManagement.js.map +0 -1
- package/dist/server/actionsApi.d.ts +0 -37
- package/dist/server/actionsApi.d.ts.map +0 -1
- package/dist/server/actionsApi.js +0 -256
- package/dist/server/actionsApi.js.map +0 -1
- package/dist/server/index.d.ts +0 -21
- package/dist/server/index.d.ts.map +0 -1
- package/dist/server/index.js +0 -100
- package/dist/server/index.js.map +0 -1
- package/dist/server/routes/actionsRoutes.d.ts +0 -2
- package/dist/server/routes/actionsRoutes.d.ts.map +0 -1
- package/dist/server/routes/actionsRoutes.js +0 -110
- package/dist/server/routes/actionsRoutes.js.map +0 -1
- package/dist/server/routes/healthRoutes.d.ts +0 -13
- package/dist/server/routes/healthRoutes.d.ts.map +0 -1
- package/dist/server/routes/healthRoutes.js +0 -70
- package/dist/server/routes/healthRoutes.js.map +0 -1
- package/dist/server/routes/index.d.ts +0 -8
- package/dist/server/routes/index.d.ts.map +0 -1
- package/dist/server/routes/index.js +0 -67
- package/dist/server/routes/index.js.map +0 -1
- package/dist/server/routes/keysRoutes.d.ts +0 -33
- package/dist/server/routes/keysRoutes.d.ts.map +0 -1
- package/dist/server/routes/keysRoutes.js +0 -128
- package/dist/server/routes/keysRoutes.js.map +0 -1
- package/dist/server/routes/panesRoutes.d.ts +0 -2
- package/dist/server/routes/panesRoutes.d.ts.map +0 -1
- package/dist/server/routes/panesRoutes.js +0 -414
- package/dist/server/routes/panesRoutes.js.map +0 -1
- package/dist/server/routes/settingsRoutes.d.ts +0 -94
- package/dist/server/routes/settingsRoutes.d.ts.map +0 -1
- package/dist/server/routes/settingsRoutes.js +0 -159
- package/dist/server/routes/settingsRoutes.js.map +0 -1
- package/dist/server/routes/streamRoutes.d.ts +0 -18
- package/dist/server/routes/streamRoutes.d.ts.map +0 -1
- package/dist/server/routes/streamRoutes.js +0 -87
- package/dist/server/routes/streamRoutes.js.map +0 -1
- package/dist/server/routes/tunnelRoutes.d.ts +0 -11
- package/dist/server/routes/tunnelRoutes.d.ts.map +0 -1
- package/dist/server/routes/tunnelRoutes.js +0 -28
- package/dist/server/routes/tunnelRoutes.js.map +0 -1
- package/dist/server/routes.d.ts +0 -17
- package/dist/server/routes.d.ts.map +0 -1
- package/dist/server/routes.js +0 -17
- package/dist/server/routes.js.map +0 -1
- package/dist/services/TunnelService.d.ts +0 -10
- package/dist/services/TunnelService.d.ts.map +0 -1
- package/dist/services/TunnelService.js +0 -98
- package/dist/services/TunnelService.js.map +0 -1
package/README.md
CHANGED
|
@@ -2,172 +2,75 @@
|
|
|
2
2
|
<img src="./dmux.png" alt="dmux logo" width="400" />
|
|
3
3
|
</p>
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
<h3 align="center">Parallel agents with tmux and worktrees</h3>
|
|
6
6
|
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-

|
|
12
|
-
|
|
13
|
-
## Features
|
|
14
|
-
|
|
15
|
-
- **🚀 Parallel Development**: Work on multiple features simultaneously in separate panes
|
|
16
|
-
- **🌳 Git Worktree Integration**: Each pane operates in its own isolated git worktree
|
|
17
|
-
- **🤖 AI-Powered**: Automatic branch naming and commit message generation
|
|
18
|
-
- **🎯 Agent Integration**: Launch Claude Code, Codex, or OpenCode with prompts
|
|
19
|
-
- **🧪 A/B Agent Launches**: Start two agents at once from the same prompt for side-by-side experimentation
|
|
20
|
-
- **📦 Project Isolation**: Each project gets its own tmux session
|
|
21
|
-
- **🔄 Smart Merging**: One-command merge workflow with automatic cleanup
|
|
7
|
+
<p align="center">
|
|
8
|
+
Manage multiple AI coding agents in isolated git worktrees.<br/>
|
|
9
|
+
Branch, develop, and merge — all in parallel.
|
|
10
|
+
</p>
|
|
22
11
|
|
|
23
|
-
|
|
12
|
+
<p align="center">
|
|
13
|
+
<a href="https://dmux.ai"><strong>Documentation</strong></a> ·
|
|
14
|
+
<a href="https://dmux.ai#getting-started"><strong>Getting Started</strong></a> ·
|
|
15
|
+
<a href="https://github.com/formkit/dmux/issues"><strong>Issues</strong></a>
|
|
16
|
+
</p>
|
|
24
17
|
|
|
25
|
-
|
|
26
|
-
- **Node.js** 18 or higher
|
|
27
|
-
- **Git** 2.20 or higher (with worktree support)
|
|
28
|
-
- **Agent CLI**: Claude Code (`claude`), Codex (`codex`), or OpenCode (`opencode`)
|
|
29
|
-
- **OpenRouter API Key** (optional but recommended for AI features)
|
|
18
|
+
---
|
|
30
19
|
|
|
31
|
-
|
|
20
|
+
<img src="./dmux.gif" alt="dmux demo" width="100%" />
|
|
32
21
|
|
|
33
|
-
|
|
22
|
+
## Install
|
|
34
23
|
|
|
35
24
|
```bash
|
|
36
25
|
npm install -g dmux
|
|
37
26
|
```
|
|
38
27
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
For AI-powered branch naming and commit messages:
|
|
28
|
+
## Quick Start
|
|
42
29
|
|
|
43
30
|
```bash
|
|
44
|
-
|
|
45
|
-
|
|
31
|
+
cd /path/to/your/project
|
|
32
|
+
dmux
|
|
46
33
|
```
|
|
47
34
|
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
## Quick Start
|
|
51
|
-
|
|
52
|
-
### Basic Usage
|
|
35
|
+
Press `n` to create a new pane, type a prompt, pick an agent, and dmux handles the rest — worktree, branch, and agent launch.
|
|
53
36
|
|
|
54
|
-
|
|
55
|
-
```bash
|
|
56
|
-
cd /path/to/your/project
|
|
57
|
-
dmux
|
|
58
|
-
```
|
|
59
|
-
If you run `dmux` from a different repo while already inside a `dmux-*` tmux session, dmux will prompt to add that repo into the current session.
|
|
37
|
+
## What it does
|
|
60
38
|
|
|
61
|
-
|
|
62
|
-
- Press `n` or select "+ New dmux pane"
|
|
63
|
-
- Enter an optional prompt like "fix authentication bug"
|
|
64
|
-
- Choose one agent, or an A/B pair (for example Claude Code + Codex)
|
|
65
|
-
- dmux launches one pane per selected agent, each with its own worktree
|
|
39
|
+
dmux creates a tmux pane for each task. Every pane gets its own git worktree and branch so agents work in complete isolation. When a task is done, press `m` to merge it back into your main branch.
|
|
66
40
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
- Confirm to close the pane
|
|
41
|
+
- **Worktree isolation** — each pane is a full working copy, no conflicts between agents
|
|
42
|
+
- **Agent support** — Claude Code, Codex, and OpenCode
|
|
43
|
+
- **A/B launches** — run two agents on the same prompt side-by-side
|
|
44
|
+
- **AI naming** — branches and commit messages generated automatically
|
|
45
|
+
- **Smart merging** — auto-commit, merge, and clean up in one step
|
|
46
|
+
- **Multi-project** — add multiple repos to the same session
|
|
47
|
+
- **Lifecycle hooks** — run scripts on worktree create, pre-merge, post-merge, and more
|
|
75
48
|
|
|
76
49
|
## Keyboard Shortcuts
|
|
77
50
|
|
|
78
51
|
| Key | Action |
|
|
79
52
|
|-----|--------|
|
|
80
|
-
|
|
|
81
|
-
| `
|
|
82
|
-
| `
|
|
83
|
-
| `
|
|
84
|
-
| `
|
|
85
|
-
| `
|
|
86
|
-
| `
|
|
87
|
-
| `
|
|
88
|
-
| `q` | Quit dmux interface |
|
|
89
|
-
| `ESC` | Cancel current dialog |
|
|
90
|
-
|
|
91
|
-
## Project structure
|
|
92
|
-
|
|
93
|
-
When using git worktrees, its helpful to have your project's main source code in a "main" directory. Worktrees are then checked out as siblings of the main directory.
|
|
94
|
-
|
|
95
|
-
```bash
|
|
96
|
-
# Start dmux in your project
|
|
97
|
-
cd ~/projects/my-app/main
|
|
98
|
-
dmux
|
|
99
|
-
|
|
100
|
-
# Create a pane for a new feature
|
|
101
|
-
# Press 'n', enter: "add user dashboard"
|
|
102
|
-
# The agent opens with your prompt
|
|
103
|
-
|
|
104
|
-
# Create another pane for a bug fix
|
|
105
|
-
# Press 'n', enter: "fix memory leak"
|
|
106
|
-
# Work on both simultaneously
|
|
107
|
-
|
|
108
|
-
# When feature is complete
|
|
109
|
-
# Select the pane, press 'm' to merge
|
|
110
|
-
|
|
111
|
-
# Jump between panes as needed
|
|
112
|
-
# Press 'j' on any pane to switch focus
|
|
113
|
-
```
|
|
114
|
-
|
|
115
|
-
## How It Works
|
|
116
|
-
|
|
117
|
-
1. **Session Management**: Each project gets its own tmux session (`dmux-projectname`)
|
|
118
|
-
2. **Worktree Creation**: New panes create git worktrees in sibling directories
|
|
119
|
-
3. **Branch Management**: Automatic branch creation with AI-generated names
|
|
120
|
-
4. **Agent Integration**: Launches Claude with `--accept-edits`, or starts opencode and submits your prompt automatically
|
|
121
|
-
5. **Smart Merging**: Auto-commits, generates messages, and cleans up worktrees
|
|
53
|
+
| `n` | New pane (worktree + agent) |
|
|
54
|
+
| `t` | New terminal pane |
|
|
55
|
+
| `j` / `Enter` | Jump to pane |
|
|
56
|
+
| `m` | Merge pane to main |
|
|
57
|
+
| `x` | Close pane |
|
|
58
|
+
| `p` | New pane in another project |
|
|
59
|
+
| `s` | Settings |
|
|
60
|
+
| `q` | Quit |
|
|
122
61
|
|
|
123
|
-
##
|
|
62
|
+
## Requirements
|
|
124
63
|
|
|
125
|
-
|
|
64
|
+
- tmux 3.0+
|
|
65
|
+
- Node.js 18+
|
|
66
|
+
- Git 2.20+
|
|
67
|
+
- At least one agent: [Claude Code](https://docs.anthropic.com/en/docs/claude-code), [Codex](https://github.com/openai/codex), or [OpenCode](https://github.com/opencode-ai/opencode)
|
|
68
|
+
- [OpenRouter API key](https://openrouter.ai/) (optional, for AI branch names and commit messages)
|
|
126
69
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
If you aren't a heavy tmux user, consider creating this to your `~/.tmux.conf` file:
|
|
130
|
-
|
|
131
|
-
```bash
|
|
132
|
-
# Visual distinction between active and inactive panes
|
|
133
|
-
set -g window-style 'fg=colour247,bg=colour236'
|
|
134
|
-
set -g window-active-style 'fg=default,bg=colour234'
|
|
135
|
-
|
|
136
|
-
# Pane borders
|
|
137
|
-
set -g pane-border-style "fg=colour238 bg=default"
|
|
138
|
-
set -g pane-active-border-style "fg=blue bg=default"
|
|
139
|
-
|
|
140
|
-
# Status bar styling
|
|
141
|
-
set -g status-style 'bg=colour236'
|
|
142
|
-
|
|
143
|
-
# Keyboard shortcuts for pane navigation
|
|
144
|
-
# Hold Ctrl+Shift and use arrow keys to move between panes
|
|
145
|
-
bind -n C-S-Left select-pane -L
|
|
146
|
-
bind -n C-S-Right select-pane -R
|
|
147
|
-
bind -n C-S-Up select-pane -U
|
|
148
|
-
bind -n C-S-Down select-pane -D
|
|
149
|
-
|
|
150
|
-
# Enable mouse support (click panes, resize with mouse)
|
|
151
|
-
set -g mouse on
|
|
152
|
-
```
|
|
153
|
-
|
|
154
|
-
### Key Features of This Configuration
|
|
155
|
-
|
|
156
|
-
- **Visual Feedback**: Active panes have a darker background and blue border
|
|
157
|
-
- **Easy Navigation**: Hold `Ctrl+Shift` and use arrow keys to switch between panes instantly
|
|
158
|
-
- **Mouse Support**: Click on panes to focus them, drag borders to resize
|
|
159
|
-
|
|
160
|
-
After adding this configuration, reload tmux:
|
|
161
|
-
```bash
|
|
162
|
-
tmux source-file ~/.tmux.conf
|
|
163
|
-
```
|
|
70
|
+
## Documentation
|
|
164
71
|
|
|
165
|
-
|
|
72
|
+
Full documentation is available at **[dmux.ai](https://dmux.ai)**, including setup guides, configuration, and hooks.
|
|
166
73
|
|
|
167
|
-
##
|
|
74
|
+
## License
|
|
168
75
|
|
|
169
|
-
|
|
170
|
-
- Node.js ≥ 18
|
|
171
|
-
- Git ≥ 2.20
|
|
172
|
-
- Claude Code or opencode CLI (at least one)
|
|
173
|
-
- OpenRouter API key (optional)
|
|
76
|
+
MIT
|
|
@@ -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;
|
|
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;AAW7E;;GAEG;AACH,wBAAsB,SAAS,CAC7B,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,aAAa,GACrB,OAAO,CAAC,YAAY,CAAC,CAsCvB"}
|
|
@@ -8,8 +8,10 @@ import { StateManager } from '../../shared/StateManager.js';
|
|
|
8
8
|
import { PaneLifecycleManager } from '../../services/PaneLifecycleManager.js';
|
|
9
9
|
import { triggerHook } from '../../utils/hooks.js';
|
|
10
10
|
import { LogService } from '../../services/LogService.js';
|
|
11
|
+
import { WorktreeCleanupService } from '../../services/WorktreeCleanupService.js';
|
|
11
12
|
import { TMUX_SPLIT_DELAY } from '../../constants/timing.js';
|
|
12
13
|
import { deriveProjectRootFromWorktreePath, getPaneProjectRoot } from '../../utils/paneProject.js';
|
|
14
|
+
import { cleanupPromptFilesForSlug } from '../../utils/promptStore.js';
|
|
13
15
|
/**
|
|
14
16
|
* Close a pane - presents options for how to close
|
|
15
17
|
*/
|
|
@@ -72,6 +74,7 @@ async function executeCloseOption(pane, context, option) {
|
|
|
72
74
|
// the watcher reloads the pane list from disk before our save completes
|
|
73
75
|
stateManager.pauseConfigWatcher();
|
|
74
76
|
try {
|
|
77
|
+
let startedBackgroundCleanup = false;
|
|
75
78
|
// CRITICAL: Remove from config FIRST, before killing tmux pane
|
|
76
79
|
// This prevents the race condition where polling detects "missing" pane
|
|
77
80
|
// and recreates it before we finish closing
|
|
@@ -139,33 +142,33 @@ async function executeCloseOption(pane, context, option) {
|
|
|
139
142
|
else {
|
|
140
143
|
LogService.getInstance().debug(`Pane ${pane.paneId} already gone, skipping kill`, 'paneActions');
|
|
141
144
|
}
|
|
145
|
+
// Best-effort cleanup of any stored prompt files for this pane slug
|
|
146
|
+
// (including leftovers from interrupted launches).
|
|
147
|
+
try {
|
|
148
|
+
const promptCleanupRoot = pane.worktreePath
|
|
149
|
+
? (deriveProjectRootFromWorktreePath(pane.worktreePath) || paneProjectRoot)
|
|
150
|
+
: paneProjectRoot;
|
|
151
|
+
await cleanupPromptFilesForSlug(promptCleanupRoot, pane.slug);
|
|
152
|
+
}
|
|
153
|
+
catch {
|
|
154
|
+
// Ignore prompt cleanup errors
|
|
155
|
+
}
|
|
142
156
|
// Handle worktree cleanup based on option
|
|
143
157
|
if (pane.worktreePath && (option === 'kill_and_clean' || option === 'kill_clean_branch')) {
|
|
144
158
|
const mainRepoPath = deriveProjectRootFromWorktreePath(pane.worktreePath) || paneProjectRoot;
|
|
145
159
|
// Trigger before_worktree_remove hook
|
|
146
160
|
await triggerHook('before_worktree_remove', paneProjectRoot, pane);
|
|
147
161
|
try {
|
|
148
|
-
|
|
149
|
-
|
|
150
|
-
|
|
162
|
+
WorktreeCleanupService.getInstance().enqueueCleanup({
|
|
163
|
+
pane,
|
|
164
|
+
paneProjectRoot,
|
|
165
|
+
mainRepoPath,
|
|
166
|
+
deleteBranch: option === 'kill_clean_branch',
|
|
151
167
|
});
|
|
168
|
+
startedBackgroundCleanup = true;
|
|
152
169
|
}
|
|
153
|
-
catch {
|
|
154
|
-
|
|
155
|
-
}
|
|
156
|
-
// Trigger worktree_removed hook
|
|
157
|
-
await triggerHook('worktree_removed', paneProjectRoot, pane);
|
|
158
|
-
// Delete branch if requested
|
|
159
|
-
if (option === 'kill_clean_branch') {
|
|
160
|
-
try {
|
|
161
|
-
execSync(`git branch -D ${pane.slug}`, {
|
|
162
|
-
stdio: 'pipe',
|
|
163
|
-
cwd: mainRepoPath,
|
|
164
|
-
});
|
|
165
|
-
}
|
|
166
|
-
catch {
|
|
167
|
-
// Branch might not exist or already deleted
|
|
168
|
-
}
|
|
170
|
+
catch (cleanupError) {
|
|
171
|
+
LogService.getInstance().warn(`Failed to start background cleanup for pane ${pane.id}`, 'paneActions', pane.id);
|
|
169
172
|
}
|
|
170
173
|
}
|
|
171
174
|
if (context.onPaneRemove) {
|
|
@@ -215,7 +218,9 @@ async function executeCloseOption(pane, context, option) {
|
|
|
215
218
|
}
|
|
216
219
|
return {
|
|
217
220
|
type: 'success',
|
|
218
|
-
message:
|
|
221
|
+
message: startedBackgroundCleanup
|
|
222
|
+
? `Pane "${pane.slug}" closed successfully (cleanup running in background)`
|
|
223
|
+
: `Pane "${pane.slug}" closed successfully`,
|
|
219
224
|
dismissable: true,
|
|
220
225
|
};
|
|
221
226
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"closeAction.js","sourceRoot":"","sources":["../../../src/actions/implementations/closeAction.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,IAAI,MAAM,MAAM,CAAC;AAGxB,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAC;AAC5D,OAAO,EAAE,oBAAoB,EAAE,MAAM,wCAAwC,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,UAAU,EAAE,MAAM,8BAA8B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,2BAA2B,CAAC;AAC7D,OAAO,EAAE,iCAAiC,EAAE,kBAAkB,EAAE,MAAM,4BAA4B,CAAC;
|
|
1
|
+
{"version":3,"file":"closeAction.js","sourceRoot":"","sources":["../../../src/actions/implementations/closeAction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
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;
|
|
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;AAW/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"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* Supports multi-merge: detects sub-worktrees and merges them all sequentially.
|
|
6
6
|
*/
|
|
7
7
|
import { triggerHook } from '../../utils/hooks.js';
|
|
8
|
+
import { getPaneBranchName } from '../../utils/git.js';
|
|
8
9
|
import { executeMerge } from '../merge/mergeExecution.js';
|
|
9
10
|
import { handleNothingToMerge, handleMainDirty, handleWorktreeUncommitted, handleMergeConflict, } from '../merge/issueHandlers/index.js';
|
|
10
11
|
/**
|
|
@@ -55,7 +56,7 @@ export async function mergePane(pane, context, params) {
|
|
|
55
56
|
async function executeSingleRootMerge(pane, context, params) {
|
|
56
57
|
const { validateMerge } = await import('../../utils/mergeValidation.js');
|
|
57
58
|
const mainRepoPath = pane.worktreePath.replace(/\/\.dmux\/worktrees\/[^/]+$/, '');
|
|
58
|
-
const validation = validateMerge(mainRepoPath, pane.worktreePath, pane
|
|
59
|
+
const validation = validateMerge(mainRepoPath, pane.worktreePath, getPaneBranchName(pane));
|
|
59
60
|
// Handle detected issues
|
|
60
61
|
if (!validation.canMerge) {
|
|
61
62
|
return handleMergeIssues(pane, context, validation, mainRepoPath);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mergeAction.js","sourceRoot":"","sources":["../../../src/actions/implementations/mergeAction.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AACnD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EACL,oBAAoB,EACpB,eAAe,EACf,yBAAyB,EACzB,mBAAmB,GACpB,MAAM,iCAAiC,CAAC;AAEzC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,SAAS,CAC7B,IAAc,EACd,OAAsB,EACtB,MAAgC;IAEhC,gBAAgB;IAChB,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;QACvB,OAAO;YACL,IAAI,EAAE,OAAO;YACb,OAAO,EAAE,oCAAoC;YAC7C,WAAW,EAAE,IAAI;SAClB,CAAC;IACJ,CAAC;IAED,qEAAqE;IACrE,MAAM,EAAE,kBAAkB,EAAE,GAAG,MAAM,MAAM,CAAC,kCAAkC,CAAC,CAAC;IAChF,MAAM,SAAS,GAAG,kBAAkB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;IAExD,OAAO,CAAC,KAAK,CAAC,0BAA0B,SAAS,CAAC,MAAM,mBAAmB,IAAI,CAAC,YAAY,EAAE,CAAC,CAAC;IAChG,KAAK,MAAM,EAAE,IAAI,SAAS,EAAE,CAAC;QAC3B,OAAO,CAAC,KAAK,CAAC,qBAAqB,EAAE,CAAC,QAAQ,KAAK,EAAE,CAAC,MAAM,QAAQ,EAAE,CAAC,YAAY,WAAW,EAAE,CAAC,KAAK,YAAY,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC;IAClI,CAAC;IAED,qDAAqD;IACrD,MAAM,EAAE,eAAe,EAAE,iBAAiB,EAAE,GAAG,MAAM,MAAM,CAAC,oCAAoC,CAAC,CAAC;IAClG,MAAM,KAAK,GAAG,MAAM,eAAe,CAAC,SAAS,CAAC,CAAC;IAE/C,OAAO,CAAC,KAAK,CAAC,iCAAiC,KAAK,CAAC,MAAM,UAAU,CAAC,CAAC;IAEvE,gCAAgC;IAChC,sBAAsB;IACtB,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACvB,OAAO;YACL,IAAI,EAAE,MAAM;YACZ,OAAO,EAAE,uCAAuC;YAChD,WAAW,EAAE,IAAI;SAClB,CAAC;IACJ,CAAC;IAED,kEAAkE;IAClE,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,EAAE,CAAC;QACnD,OAAO,CAAC,KAAK,CAAC,0DAA0D,CAAC,CAAC;QAC1E,OAAO,sBAAsB,CAAC,IAAI,EAAE,OAAO,EAAE,MAAM,CAAC,CAAC;IACvD,CAAC;IAED,kEAAkE;IAClE,OAAO,CAAC,KAAK,CAAC,4EAA4E,CAAC,CAAC;IAC5F,OAAO,iBAAiB,CAAC,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,CAAC;AACjD,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,sBAAsB,CACnC,IAAc,EACd,OAAsB,EACtB,MAAgC;IAEhC,MAAM,EAAE,aAAa,EAAE,GAAG,MAAM,MAAM,CAAC,gCAAgC,CAAC,CAAC;IACzE,MAAM,YAAY,GAAG,IAAI,CAAC,YAAa,CAAC,OAAO,CAAC,6BAA6B,EAAE,EAAE,CAAC,CAAC;IACnF,MAAM,UAAU,GAAG,aAAa,CAAC,YAAY,EAAE,IAAI,CAAC,YAAa,EAAE,
|
|
1
|
+
{"version":3,"file":"mergeAction.js","sourceRoot":"","sources":["../../../src/actions/implementations/mergeAction.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conflictResolution.d.ts","sourceRoot":"","sources":["../../../src/actions/merge/conflictResolution.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;
|
|
1
|
+
{"version":3,"file":"conflictResolution.d.ts","sourceRoot":"","sources":["../../../src/actions/merge/conflictResolution.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;AAI/C;;GAEG;AACH,wBAAsB,oCAAoC,CACxD,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,aAAa,EACtB,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,GACrB,OAAO,CAAC,YAAY,CAAC,CAkDvB"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* with AI agents to help resolve merge conflicts.
|
|
6
6
|
*/
|
|
7
7
|
import { TmuxService } from '../../services/TmuxService.js';
|
|
8
|
+
import { getPaneBranchName } from '../../utils/git.js';
|
|
8
9
|
/**
|
|
9
10
|
* Create a new pane for AI-assisted conflict resolution
|
|
10
11
|
*/
|
|
@@ -56,7 +57,7 @@ async function createAndLaunchConflictPane(pane, context, targetBranch, targetRe
|
|
|
56
57
|
// NOTE: We pass the WORKTREE path as targetRepoPath because that's where
|
|
57
58
|
// the conflicts exist and need to be resolved (not in main repo)
|
|
58
59
|
const conflictPane = await createConflictResolutionPane({
|
|
59
|
-
sourceBranch: pane
|
|
60
|
+
sourceBranch: getPaneBranchName(pane),
|
|
60
61
|
targetBranch,
|
|
61
62
|
targetRepoPath: pane.worktreePath, // CRITICAL: Use worktree, not main repo
|
|
62
63
|
agent,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"conflictResolution.js","sourceRoot":"","sources":["../../../src/actions/merge/conflictResolution.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,+BAA+B,CAAC;
|
|
1
|
+
{"version":3,"file":"conflictResolution.js","sourceRoot":"","sources":["../../../src/actions/merge/conflictResolution.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mergeExecution.d.ts","sourceRoot":"","sources":["../../../src/actions/merge/mergeExecution.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;
|
|
1
|
+
{"version":3,"file":"mergeExecution.d.ts","sourceRoot":"","sources":["../../../src/actions/merge/mergeExecution.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAC9D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAA;AAI9C;;GAEG;AACH,wBAAsB,gCAAgC,CACpD,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,aAAa,EACtB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,QAAQ,EAAE,QAAQ,GAAG,IAAI,GACxB,OAAO,CAAC,YAAY,CAAC,CAqEvB;AAED;;;;;;;GAOG;AACH,wBAAsB,YAAY,CAChC,IAAI,EAAE,QAAQ,EACd,OAAO,EAAE,aAAa,EACtB,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,iBAAiB,GAAE,OAAe,GACjC,OAAO,CAAC,YAAY,CAAC,CAiJvB"}
|
|
@@ -5,6 +5,7 @@
|
|
|
5
5
|
* conflict handling, cleanup, and post-merge actions.
|
|
6
6
|
*/
|
|
7
7
|
import { triggerHook } from "../../utils/hooks.js";
|
|
8
|
+
import { getPaneBranchName } from "../../utils/git.js";
|
|
8
9
|
/**
|
|
9
10
|
* Execute merge with conflict handling
|
|
10
11
|
*/
|
|
@@ -152,7 +153,7 @@ export async function executeMerge(pane, context, mainBranch, mainRepoPath, skip
|
|
|
152
153
|
}
|
|
153
154
|
}
|
|
154
155
|
// Step 2: Merge worktree into main (bring changes back to main)
|
|
155
|
-
const step2 = mergeWorktreeIntoMain(mainRepoPath, pane
|
|
156
|
+
const step2 = mergeWorktreeIntoMain(mainRepoPath, getPaneBranchName(pane));
|
|
156
157
|
if (!step2.success) {
|
|
157
158
|
return {
|
|
158
159
|
type: "error",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mergeExecution.js","sourceRoot":"","sources":["../../../src/actions/merge/mergeExecution.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAIH,OAAO,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;
|
|
1
|
+
{"version":3,"file":"mergeExecution.js","sourceRoot":"","sources":["../../../src/actions/merge/mergeExecution.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsDialog.d.ts","sourceRoot":"","sources":["../../../src/components/dialogs/SettingsDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAiB,MAAM,gBAAgB,CAAC;AAErF,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,YAAY,CAAC;IACvB,cAAc,EAAE,YAAY,CAAC;IAC7B,eAAe,EAAE,YAAY,CAAC;IAC9B,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,YAAY,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,
|
|
1
|
+
{"version":3,"file":"SettingsDialog.d.ts","sourceRoot":"","sources":["../../../src/components/dialogs/SettingsDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,OAAO,KAAK,EAAE,iBAAiB,EAAE,YAAY,EAAiB,MAAM,gBAAgB,CAAC;AAErF,UAAU,mBAAmB;IAC3B,QAAQ,EAAE,YAAY,CAAC;IACvB,cAAc,EAAE,YAAY,CAAC;IAC7B,eAAe,EAAE,YAAY,CAAC;IAC9B,kBAAkB,EAAE,iBAAiB,EAAE,CAAC;IACxC,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;IAChC,UAAU,CAAC,EAAE,MAAM,YAAY,CAAC;IAChC,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,QAAA,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,mBAAmB,CAyJjD,CAAC;AAEF,eAAe,cAAc,CAAC"}
|
|
@@ -37,7 +37,7 @@ const SettingsDialog = ({ settings, globalSettings, projectSettings, settingDefi
|
|
|
37
37
|
displayValue = option?.label || 'none';
|
|
38
38
|
}
|
|
39
39
|
else {
|
|
40
|
-
displayValue = String(currentValue);
|
|
40
|
+
displayValue = String(currentValue) || 'none';
|
|
41
41
|
}
|
|
42
42
|
scopeLabel = isProjectOverride ? ' - project setting' : (isGlobalSetting ? ' - global setting' : '');
|
|
43
43
|
}
|
|
@@ -72,6 +72,8 @@ const SettingsDialog = ({ settings, globalSettings, projectSettings, settingDefi
|
|
|
72
72
|
React.createElement(Text, { color: editingValueIndex === index ? 'cyan' : 'white', bold: editingValueIndex === index },
|
|
73
73
|
editingValueIndex === index ? '▶ ' : ' ',
|
|
74
74
|
option.label)))))),
|
|
75
|
+
currentDef.type === 'text' && (React.createElement(Box, null,
|
|
76
|
+
React.createElement(Text, { dimColor: true }, "(text input \u2014 use settings popup)"))),
|
|
75
77
|
React.createElement(Box, { marginTop: 1 },
|
|
76
78
|
React.createElement(Text, { dimColor: true }, "\u2191\u2193 to navigate \u2022 Enter to select \u2022 ESC to cancel")))),
|
|
77
79
|
mode === 'scope' && currentDef && (React.createElement(React.Fragment, null,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SettingsDialog.js","sourceRoot":"","sources":["../../../src/components/dialogs/SettingsDialog.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAehC,MAAM,cAAc,GAAkC,CAAC,EACrD,QAAQ,EACR,cAAc,EACd,eAAe,EACf,kBAAkB,EAClB,aAAa,EACb,IAAI,EACJ,UAAU,EACV,iBAAiB,GAAG,CAAC,EACrB,UAAU,GAAG,CAAC,GACf,EAAE,EAAE;IACH,kDAAkD;IAClD,MAAM,UAAU,GAAG,UAAU,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,UAAU,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;IAE1F,OAAO,CACL,oBAAC,GAAG,IAAC,aAAa,EAAC,QAAQ,EAAC,WAAW,EAAC,OAAO,EAAC,WAAW,EAAC,MAAM,EAAC,QAAQ,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC;QAC1F,oBAAC,GAAG,IAAC,YAAY,EAAE,CAAC;YAClB,oBAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAC,MAAM,eAAgB,CACnC;QAEL,IAAI,KAAK,MAAM,IAAI,CAClB;YACG,kBAAkB,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,KAAK,EAAE,EAAE;gBACrC,MAAM,UAAU,GAAG,KAAK,KAAK,aAAa,CAAC;gBAE3C,oDAAoD;gBACpD,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,EAAE,CAAC;oBAC1B,OAAO,CACL,oBAAC,GAAG,IAAC,GAAG,EAAE,GAAG,CAAC,GAAG;wBACf,oBAAC,IAAI,IAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,OAAO,EAAE,IAAI,EAAE,UAAU;4BACzD,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI;4BACxB,GAAG,CAAC,KAAK,CACL;wBACP,oBAAC,IAAI,IAAC,KAAK,EAAE,UAAU,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,QAAQ,EAAE,CAAC,UAAU;4BAC7D,GAAG;4CACC,CACH,CACP,CAAC;gBACJ,CAAC;gBAED,MAAM,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,GAAyB,CAAC,CAAC;gBAC7D,MAAM,iBAAiB,GAAG,GAAG,CAAC,GAAG,IAAI,eAAe,CAAC;gBACrD,MAAM,eAAe,GAAG,GAAG,CAAC,GAAG,IAAI,cAAc,CAAC;gBAElD,IAAI,YAAoB,CAAC;gBACzB,IAAI,UAAkB,CAAC;gBAEvB,IAAI,YAAY,KAAK,SAAS,IAAI,YAAY,KAAK,IAAI,EAAE,CAAC;oBACxD,YAAY,GAAG,MAAM,CAAC;oBACtB,UAAU,GAAG,EAAE,CAAC;gBAClB,CAAC;qBAAM,CAAC;oBACN,IAAI,GAAG,CAAC,IAAI,KAAK,SAAS,EAAE,CAAC;wBAC3B,YAAY,GAAG,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,CAAC;oBAC7C,CAAC;yBAAM,IAAI,GAAG,CAAC,IAAI,KAAK,QAAQ,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;wBAChD,MAAM,MAAM,GAAG,GAAG,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,KAAK,KAAK,YAAY,CAAC,CAAC;wBAC/D,YAAY,GAAG,MAAM,EAAE,KAAK,IAAI,MAAM,CAAC;oBACzC,CAAC;yBAAM,CAAC;wBACN,YAAY,GAAG,MAAM,CAAC,YAAY,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"SettingsDialog.js","sourceRoot":"","sources":["../../../src/components/dialogs/SettingsDialog.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"MergePane.d.ts","sourceRoot":"","sources":["../../../src/components/panes/MergePane.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"MergePane.d.ts","sourceRoot":"","sources":["../../../src/components/panes/MergePane.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAQhE,UAAU,cAAc;IACtB,IAAI,EAAE;QACJ,EAAE,EAAE,MAAM,CAAC;QACX,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,EAAE,MAAM,CAAC;QACf,MAAM,EAAE,MAAM,CAAC;QACf,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAuBD,MAAM,CAAC,OAAO,UAAU,SAAS,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,cAAc,qBAiW3F"}
|
|
@@ -2,6 +2,8 @@ import React, { useState, useEffect } from 'react';
|
|
|
2
2
|
import { Box, Text, useInput, useApp } from 'ink';
|
|
3
3
|
import { execSync } from 'child_process';
|
|
4
4
|
import CleanTextInput from '../inputs/CleanTextInput.js';
|
|
5
|
+
import { SettingsManager } from '../../utils/settingsManager.js';
|
|
6
|
+
import { getPermissionFlags } from '../../utils/agentLaunch.js';
|
|
5
7
|
export default function MergePane({ pane, onComplete, onCancel, mainBranch }) {
|
|
6
8
|
const { exit } = useApp();
|
|
7
9
|
const [status, setStatus] = useState('checking');
|
|
@@ -124,7 +126,8 @@ export default function MergePane({ pane, onComplete, onCancel, mainBranch }) {
|
|
|
124
126
|
}
|
|
125
127
|
// Step 4: Attempt merge in the main repository
|
|
126
128
|
setStatus('merging');
|
|
127
|
-
const
|
|
129
|
+
const mergeBranch = pane.branchName || pane.slug;
|
|
130
|
+
const mergeResult = runCommand(`git merge "${mergeBranch}" --no-ff`, mainRepoPath);
|
|
128
131
|
if (!mergeResult.success) {
|
|
129
132
|
// Check if it's a merge conflict
|
|
130
133
|
if (mergeResult.error?.includes('Automatic merge failed') || checkForConflicts(mainRepoPath)) {
|
|
@@ -152,11 +155,19 @@ export default function MergePane({ pane, onComplete, onCancel, mainBranch }) {
|
|
|
152
155
|
const mainRepoPath = pane.worktreePath?.replace(/\/\.dmux\/worktrees\/[^/]+$/, '');
|
|
153
156
|
// Exit the app and launch agent with conflict resolution prompt
|
|
154
157
|
const fullPrompt = agentPrompt || `Fix the merge conflicts in the following files: ${conflictFiles.join(', ')}. Resolve them appropriately based on the changes from branch ${pane.slug} (${pane.prompt}) and ensure the code remains functional.`;
|
|
158
|
+
const escapedPrompt = fullPrompt
|
|
159
|
+
.replace(/\\/g, '\\\\')
|
|
160
|
+
.replace(/"/g, '\\"')
|
|
161
|
+
.replace(/`/g, '\\`')
|
|
162
|
+
.replace(/\$/g, '\\$');
|
|
155
163
|
// Clear screen and exit
|
|
156
164
|
process.stdout.write('\x1b[2J\x1b[H');
|
|
157
165
|
// Launch Claude to resolve conflicts in the main repository
|
|
158
166
|
try {
|
|
159
|
-
|
|
167
|
+
const settings = new SettingsManager(mainRepoPath || process.cwd()).getSettings();
|
|
168
|
+
const permissionFlags = getPermissionFlags('claude', settings.permissionMode);
|
|
169
|
+
const permissionSuffix = permissionFlags ? ` ${permissionFlags}` : '';
|
|
170
|
+
execSync(`claude "${escapedPrompt}"${permissionSuffix}`, {
|
|
160
171
|
stdio: 'inherit',
|
|
161
172
|
cwd: mainRepoPath || process.cwd()
|
|
162
173
|
});
|
|
@@ -164,7 +175,7 @@ export default function MergePane({ pane, onComplete, onCancel, mainBranch }) {
|
|
|
164
175
|
catch {
|
|
165
176
|
// Try opencode as fallback
|
|
166
177
|
try {
|
|
167
|
-
execSync(`
|
|
178
|
+
execSync(`opencode --prompt "${escapedPrompt}"`, {
|
|
168
179
|
stdio: 'inherit',
|
|
169
180
|
cwd: mainRepoPath || process.cwd()
|
|
170
181
|
});
|