dmux 5.7.0 → 5.8.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 +11 -1
- package/dist/DmuxApp.d.ts.map +1 -1
- package/dist/DmuxApp.js +23 -13
- package/dist/DmuxApp.js.map +1 -1
- package/dist/components/inputs/InlineCursorInput.d.ts +10 -0
- package/dist/components/inputs/InlineCursorInput.d.ts.map +1 -0
- package/dist/components/inputs/InlineCursorInput.js +101 -0
- package/dist/components/inputs/InlineCursorInput.js.map +1 -0
- package/dist/components/popups/newPaneFieldNavigation.d.ts +9 -0
- package/dist/components/popups/newPaneFieldNavigation.d.ts.map +1 -0
- package/dist/components/popups/newPaneFieldNavigation.js +20 -0
- package/dist/components/popups/newPaneFieldNavigation.js.map +1 -0
- package/dist/components/popups/newPaneGitOptions.d.ts +23 -0
- package/dist/components/popups/newPaneGitOptions.d.ts.map +1 -0
- package/dist/components/popups/newPaneGitOptions.js +91 -0
- package/dist/components/popups/newPaneGitOptions.js.map +1 -0
- package/dist/components/popups/newPanePopup.d.ts +7 -2
- package/dist/components/popups/newPanePopup.d.ts.map +1 -1
- package/dist/components/popups/newPanePopup.js +267 -19
- package/dist/components/popups/newPanePopup.js.map +1 -1
- package/dist/hooks/useInputHandling.d.ts +3 -2
- package/dist/hooks/useInputHandling.d.ts.map +1 -1
- package/dist/hooks/useInputHandling.js +11 -15
- package/dist/hooks/useInputHandling.js.map +1 -1
- package/dist/hooks/usePaneCreation.d.ts +6 -3
- package/dist/hooks/usePaneCreation.d.ts.map +1 -1
- package/dist/hooks/usePaneCreation.js +20 -3
- package/dist/hooks/usePaneCreation.js.map +1 -1
- package/dist/hooks/usePaneLoading.d.ts.map +1 -1
- package/dist/hooks/usePaneLoading.js +16 -1
- package/dist/hooks/usePaneLoading.js.map +1 -1
- package/dist/i18n/index.d.ts +33 -0
- package/dist/i18n/index.d.ts.map +1 -0
- package/dist/i18n/index.js +70 -0
- package/dist/i18n/index.js.map +1 -0
- package/dist/i18n/locales/en.d.ts +4 -0
- package/dist/i18n/locales/en.d.ts.map +1 -0
- package/dist/i18n/locales/en.js +114 -0
- package/dist/i18n/locales/en.js.map +1 -0
- package/dist/i18n/locales/ja.d.ts +4 -0
- package/dist/i18n/locales/ja.d.ts.map +1 -0
- package/dist/i18n/locales/ja.js +114 -0
- package/dist/i18n/locales/ja.js.map +1 -0
- package/dist/index.js +15 -14
- package/dist/index.js.map +1 -1
- package/dist/server/embedded-assets.d.ts.map +1 -1
- package/dist/server/embedded-assets.js +4 -12
- package/dist/server/embedded-assets.js.map +1 -1
- package/dist/services/DmuxAttentionService.d.ts +2 -0
- package/dist/services/DmuxAttentionService.d.ts.map +1 -1
- package/dist/services/DmuxAttentionService.js +17 -0
- package/dist/services/DmuxAttentionService.js.map +1 -1
- package/dist/services/DmuxFocusService.d.ts +1 -0
- package/dist/services/DmuxFocusService.d.ts.map +1 -1
- package/dist/services/DmuxFocusService.js +7 -0
- package/dist/services/DmuxFocusService.js.map +1 -1
- package/dist/services/PopupManager.d.ts +7 -2
- package/dist/services/PopupManager.d.ts.map +1 -1
- package/dist/services/PopupManager.js +44 -6
- package/dist/services/PopupManager.js.map +1 -1
- package/dist/services/StatusDetector.d.ts +1 -1
- package/dist/services/StatusDetector.d.ts.map +1 -1
- package/dist/services/StatusDetector.js +6 -3
- package/dist/services/StatusDetector.js.map +1 -1
- package/dist/types.d.ts +11 -0
- 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 +28 -10
- package/dist/utils/agentLaunch.js.map +1 -1
- package/dist/utils/attachAgent.d.ts +1 -0
- package/dist/utils/attachAgent.d.ts.map +1 -1
- package/dist/utils/attachAgent.js +17 -1
- package/dist/utils/attachAgent.js.map +1 -1
- package/dist/utils/claudeHooks.d.ts +9 -0
- package/dist/utils/claudeHooks.d.ts.map +1 -0
- package/dist/utils/claudeHooks.js +104 -0
- package/dist/utils/claudeHooks.js.map +1 -0
- package/dist/utils/codexHooks.d.ts +5 -0
- package/dist/utils/codexHooks.d.ts.map +1 -1
- package/dist/utils/codexHooks.js +17 -3
- package/dist/utils/codexHooks.js.map +1 -1
- package/dist/utils/devWatchCommand.d.ts.map +1 -1
- package/dist/utils/devWatchCommand.js +6 -2
- package/dist/utils/devWatchCommand.js.map +1 -1
- package/dist/utils/dmuxCommand.d.ts +4 -3
- package/dist/utils/dmuxCommand.d.ts.map +1 -1
- package/dist/utils/dmuxCommand.js +15 -14
- package/dist/utils/dmuxCommand.js.map +1 -1
- package/dist/utils/generated-agents-doc.d.ts +1 -1
- package/dist/utils/generated-agents-doc.d.ts.map +1 -1
- package/dist/utils/generated-agents-doc.js +46 -11
- package/dist/utils/generated-agents-doc.js.map +1 -1
- package/dist/utils/git.d.ts +8 -0
- package/dist/utils/git.d.ts.map +1 -1
- package/dist/utils/git.js +26 -0
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/hooks.d.ts +15 -0
- package/dist/utils/hooks.d.ts.map +1 -1
- package/dist/utils/hooks.js +105 -0
- package/dist/utils/hooks.js.map +1 -1
- package/dist/utils/hooksDocs.d.ts +1 -1
- package/dist/utils/hooksDocs.d.ts.map +1 -1
- package/dist/utils/hooksDocs.js +21 -11
- package/dist/utils/hooksDocs.js.map +1 -1
- package/dist/utils/paneBootstrapConfig.d.ts +29 -0
- package/dist/utils/paneBootstrapConfig.d.ts.map +1 -0
- package/dist/utils/paneBootstrapConfig.js +2 -0
- package/dist/utils/paneBootstrapConfig.js.map +1 -0
- package/dist/utils/paneBootstrapRunner.d.ts +3 -0
- package/dist/utils/paneBootstrapRunner.d.ts.map +1 -0
- package/dist/utils/paneBootstrapRunner.js +533 -0
- package/dist/utils/paneBootstrapRunner.js.map +1 -0
- package/dist/utils/paneCreation.d.ts +4 -1
- package/dist/utils/paneCreation.d.ts.map +1 -1
- package/dist/utils/paneCreation.js +142 -267
- package/dist/utils/paneCreation.js.map +1 -1
- package/dist/utils/paneNaming.d.ts +16 -0
- package/dist/utils/paneNaming.d.ts.map +1 -0
- package/dist/utils/paneNaming.js +47 -0
- package/dist/utils/paneNaming.js.map +1 -0
- package/dist/utils/pathEnvironment.d.ts +6 -0
- package/dist/utils/pathEnvironment.d.ts.map +1 -0
- package/dist/utils/pathEnvironment.js +59 -0
- package/dist/utils/pathEnvironment.js.map +1 -0
- package/dist/utils/reopenWorktree.d.ts.map +1 -1
- package/dist/utils/reopenWorktree.js +18 -1
- package/dist/utils/reopenWorktree.js.map +1 -1
- package/dist/utils/settingsManager.d.ts +6 -0
- package/dist/utils/settingsManager.d.ts.map +1 -1
- package/dist/utils/settingsManager.js +164 -0
- package/dist/utils/settingsManager.js.map +1 -1
- package/dist/utils/shellPaneDetection.d.ts.map +1 -1
- package/dist/utils/shellPaneDetection.js +4 -0
- package/dist/utils/shellPaneDetection.js.map +1 -1
- package/dist/utils/worktreeMetadata.d.ts +1 -0
- package/dist/utils/worktreeMetadata.d.ts.map +1 -1
- package/dist/utils/worktreeMetadata.js +3 -0
- package/dist/utils/worktreeMetadata.js.map +1 -1
- package/dist/workers/PaneWorker.js +43 -18
- package/dist/workers/PaneWorker.js.map +1 -1
- package/dist/workers/WorkerMessages.d.ts +5 -2
- package/dist/workers/WorkerMessages.d.ts.map +1 -1
- package/dist/workers/WorkerMessages.js.map +1 -1
- package/native/macos/dmux-helper.swift +1 -18
- package/native/macos/prebuilt/dmux-helper.app/Contents/MacOS/dmux-helper +0 -0
- package/package.json +1 -1
|
@@ -1,24 +1,24 @@
|
|
|
1
1
|
import path from 'path';
|
|
2
2
|
import * as fs from 'fs';
|
|
3
3
|
import { execSync } from 'child_process';
|
|
4
|
+
import { fileURLToPath } from 'url';
|
|
4
5
|
import { TmuxService } from '../services/TmuxService.js';
|
|
5
6
|
import { ensurePaneBorderStatusForCurrentSession, setupSidebarLayout, getTerminalDimensions, splitPane, } from './tmux.js';
|
|
6
7
|
import { SIDEBAR_WIDTH, recalculateAndApplyLayout } from './layoutManager.js';
|
|
7
8
|
import { generateSlug } from './slug.js';
|
|
8
9
|
import { capturePaneContent } from './paneCapture.js';
|
|
9
|
-
import { triggerHook
|
|
10
|
+
import { triggerHook } from './hooks.js';
|
|
10
11
|
import { TMUX_SPLIT_DELAY } from '../constants/timing.js';
|
|
11
12
|
import { atomicWriteJsonSync } from './atomicWrite.js';
|
|
12
13
|
import { LogService } from '../services/LogService.js';
|
|
13
|
-
import {
|
|
14
|
-
import {
|
|
15
|
-
import {
|
|
16
|
-
import {
|
|
17
|
-
import {
|
|
18
|
-
import { sendPromptViaTmux } from './agentPromptDispatch.js';
|
|
19
|
-
import { readWorktreeMetadata, writeWorktreeMetadata } from './worktreeMetadata.js';
|
|
20
|
-
import { buildCodexHookedCommand, installCodexPaneHooks, } from './codexHooks.js';
|
|
14
|
+
import { getPaneTmuxTitle } from './paneTitle.js';
|
|
15
|
+
import { shellQuote } from './promptStore.js';
|
|
16
|
+
import { isValidBranchName, isValidFullBranchName } from './git.js';
|
|
17
|
+
import { resolvePaneNaming } from './paneNaming.js';
|
|
18
|
+
import { readWorktreeMetadata } from './worktreeMetadata.js';
|
|
21
19
|
import { resolveProjectColorTheme } from './paneColors.js';
|
|
20
|
+
import { StateManager } from '../shared/StateManager.js';
|
|
21
|
+
import { DMUX_BOOTSTRAP_PANE_TITLE_PREFIX, } from './paneBootstrapConfig.js';
|
|
22
22
|
async function waitForPaneReady(tmuxService, paneId, timeoutMs = 600) {
|
|
23
23
|
const start = Date.now();
|
|
24
24
|
while ((Date.now() - start) < timeoutMs) {
|
|
@@ -28,12 +28,59 @@ async function waitForPaneReady(tmuxService, paneId, timeoutMs = 600) {
|
|
|
28
28
|
await new Promise((resolve) => setTimeout(resolve, 30));
|
|
29
29
|
}
|
|
30
30
|
}
|
|
31
|
+
function getCurrentWindowPaneIds(tmuxService) {
|
|
32
|
+
try {
|
|
33
|
+
return tmuxService.getAllPaneIdsSync();
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
return [];
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
function getVisibleExistingPaneIds(existingPanes, currentWindowPaneIds) {
|
|
40
|
+
return existingPanes
|
|
41
|
+
.filter((pane) => {
|
|
42
|
+
if (currentWindowPaneIds.length > 0) {
|
|
43
|
+
return currentWindowPaneIds.includes(pane.paneId);
|
|
44
|
+
}
|
|
45
|
+
return !pane.hidden;
|
|
46
|
+
})
|
|
47
|
+
.map((pane) => pane.paneId);
|
|
48
|
+
}
|
|
49
|
+
function getPaneSplitTarget(existingPanes, currentWindowPaneIds, controlPaneId) {
|
|
50
|
+
const visibleExistingPaneIds = getVisibleExistingPaneIds(existingPanes, currentWindowPaneIds);
|
|
51
|
+
return visibleExistingPaneIds[visibleExistingPaneIds.length - 1] || controlPaneId;
|
|
52
|
+
}
|
|
53
|
+
function resolvePaneBootstrapRunnerPath() {
|
|
54
|
+
const currentFile = fileURLToPath(import.meta.url);
|
|
55
|
+
const utilsDir = path.dirname(currentFile);
|
|
56
|
+
const compiledRunner = path.join(utilsDir, 'paneBootstrapRunner.js');
|
|
57
|
+
if (fs.existsSync(compiledRunner)) {
|
|
58
|
+
return compiledRunner;
|
|
59
|
+
}
|
|
60
|
+
return path.join(utilsDir, 'paneBootstrapRunner.ts');
|
|
61
|
+
}
|
|
62
|
+
function writePaneBootstrapConfig(projectRoot, slug, config) {
|
|
63
|
+
const bootstrapDir = path.join(projectRoot, '.dmux', 'bootstrap');
|
|
64
|
+
fs.mkdirSync(bootstrapDir, { recursive: true });
|
|
65
|
+
const configPath = path.join(bootstrapDir, `${slug}-${Date.now()}-${Math.random().toString(36).slice(2, 8)}.json`);
|
|
66
|
+
fs.writeFileSync(configPath, JSON.stringify(config, null, 2), 'utf-8');
|
|
67
|
+
return configPath;
|
|
68
|
+
}
|
|
69
|
+
function buildPaneBootstrapCommand(runnerPath, configPath, worktreePath) {
|
|
70
|
+
const statusVar = '__dmux_bootstrap_status';
|
|
71
|
+
return [
|
|
72
|
+
`${shellQuote(process.execPath)} ${shellQuote(runnerPath)} ${shellQuote(configPath)}`,
|
|
73
|
+
`${statusVar}=$?`,
|
|
74
|
+
`if [ -d ${shellQuote(worktreePath)} ]; then cd ${shellQuote(worktreePath)}; fi`,
|
|
75
|
+
`test $${statusVar} -eq 0 || true`,
|
|
76
|
+
].join('; ');
|
|
77
|
+
}
|
|
31
78
|
/**
|
|
32
79
|
* Core pane creation logic that can be used by both TUI and API
|
|
33
80
|
* Returns the newly created pane and whether agent choice is needed
|
|
34
81
|
*/
|
|
35
82
|
export async function createPane(options, availableAgents) {
|
|
36
|
-
const { prompt, projectName, existingPanes, slugSuffix, slugBase, existingWorktree, startPointBranch, mergeTargetChain, skipAgentSelection = false, sessionConfigPath: optionsSessionConfigPath, sessionProjectRoot: optionsSessionProjectRoot, } = options;
|
|
83
|
+
const { prompt, projectName, existingPanes, slugSuffix, slugBase, baseBranchOverride, branchNameOverride, goalMode: goalModeOverride, existingWorktree, startPointBranch, mergeTargetChain, skipAgentSelection = false, sessionConfigPath: optionsSessionConfigPath, sessionProjectRoot: optionsSessionProjectRoot, } = options;
|
|
37
84
|
let { agent, projectRoot: optionsProjectRoot } = options;
|
|
38
85
|
// Load settings to check for default agent and autopilot
|
|
39
86
|
const { SettingsManager } = await import('./settingsManager.js');
|
|
@@ -70,6 +117,7 @@ export async function createPane(options, availableAgents) {
|
|
|
70
117
|
}
|
|
71
118
|
const settingsManager = new SettingsManager(projectRoot);
|
|
72
119
|
const settings = settingsManager.getSettings();
|
|
120
|
+
const goalMode = goalModeOverride ?? settings.enableGoalModeByDefault ?? false;
|
|
73
121
|
const existingWorktreeMetadata = existingWorktree
|
|
74
122
|
? readWorktreeMetadata(existingWorktree.worktreePath)
|
|
75
123
|
: null;
|
|
@@ -105,20 +153,38 @@ export async function createPane(options, availableAgents) {
|
|
|
105
153
|
if (branchPrefix && !isValidBranchName(branchPrefix)) {
|
|
106
154
|
throw new Error(`Invalid branch prefix: ${branchPrefix}`);
|
|
107
155
|
}
|
|
108
|
-
|
|
156
|
+
const overrideBranchName = (branchNameOverride || '').trim();
|
|
157
|
+
if (overrideBranchName && !isValidFullBranchName(overrideBranchName)) {
|
|
158
|
+
throw new Error(`Invalid branch name override: ${overrideBranchName}`);
|
|
159
|
+
}
|
|
160
|
+
const overrideBaseBranch = (baseBranchOverride || '').trim();
|
|
161
|
+
if (overrideBaseBranch && !isValidFullBranchName(overrideBaseBranch)) {
|
|
162
|
+
throw new Error(`Invalid base branch override: ${overrideBaseBranch}`);
|
|
163
|
+
}
|
|
164
|
+
// Generate slug/worktree + branch names.
|
|
165
|
+
// Explicit branch name override takes precedence over branchPrefix.
|
|
109
166
|
const generatedSlug = existingWorktree
|
|
110
167
|
? existingWorktree.slug
|
|
111
168
|
: (slugBase || await generateSlug(prompt));
|
|
112
|
-
const
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
:
|
|
169
|
+
const naming = resolvePaneNaming({
|
|
170
|
+
generatedSlug,
|
|
171
|
+
slugSuffix,
|
|
172
|
+
branchPrefix,
|
|
173
|
+
baseBranchSetting: settings.baseBranch,
|
|
174
|
+
baseBranchOverride: overrideBaseBranch,
|
|
175
|
+
branchNameOverride: overrideBranchName,
|
|
176
|
+
});
|
|
177
|
+
const slug = existingWorktree ? existingWorktree.slug : naming.slug;
|
|
178
|
+
const branchName = existingWorktree ? existingWorktree.branchName : naming.branchName;
|
|
179
|
+
const effectiveBaseBranch = naming.baseBranch;
|
|
118
180
|
const tmuxService = TmuxService.getInstance();
|
|
119
181
|
const worktreePath = existingWorktree?.worktreePath
|
|
120
182
|
|| path.join(projectRoot, '.dmux', 'worktrees', slug);
|
|
183
|
+
if (!existingWorktree && fs.existsSync(worktreePath)) {
|
|
184
|
+
throw new Error(`Worktree path already exists: ${worktreePath}. Choose a different branch/worktree name.`);
|
|
185
|
+
}
|
|
121
186
|
const originalPaneId = tmuxService.getCurrentPaneIdSync();
|
|
187
|
+
let currentWindowPaneIds = getCurrentWindowPaneIds(tmuxService);
|
|
122
188
|
// Load config to get control pane info
|
|
123
189
|
const configPath = optionsSessionConfigPath
|
|
124
190
|
|| path.join(sessionProjectRoot, '.dmux', 'dmux.config.json');
|
|
@@ -175,11 +241,9 @@ export async function createPane(options, availableAgents) {
|
|
|
175
241
|
paneInfo = setupSidebarLayout(controlPaneId, projectRoot);
|
|
176
242
|
}
|
|
177
243
|
else {
|
|
178
|
-
//
|
|
179
|
-
//
|
|
180
|
-
const
|
|
181
|
-
const targetPane = dmuxPaneIds[dmuxPaneIds.length - 1]; // Split from the most recent dmux pane
|
|
182
|
-
// Always split horizontally - the layout manager will organize panes optimally
|
|
244
|
+
// Split from a pane in the active dmux window. Hidden panes live in
|
|
245
|
+
// detached tmux windows, so targeting them would create a hidden pane.
|
|
246
|
+
const targetPane = getPaneSplitTarget(existingPanes, currentWindowPaneIds, controlPaneId);
|
|
183
247
|
paneInfo = splitPane({ targetPane, cwd: projectRoot });
|
|
184
248
|
}
|
|
185
249
|
}
|
|
@@ -208,8 +272,8 @@ export async function createPane(options, availableAgents) {
|
|
|
208
272
|
paneInfo = setupSidebarLayout(controlPaneId, projectRoot);
|
|
209
273
|
}
|
|
210
274
|
else {
|
|
211
|
-
|
|
212
|
-
const targetPane =
|
|
275
|
+
currentWindowPaneIds = getCurrentWindowPaneIds(tmuxService);
|
|
276
|
+
const targetPane = getPaneSplitTarget(existingPanes, currentWindowPaneIds, controlPaneId);
|
|
213
277
|
paneInfo = splitPane({ targetPane, cwd: projectRoot });
|
|
214
278
|
}
|
|
215
279
|
}
|
|
@@ -219,12 +283,11 @@ export async function createPane(options, availableAgents) {
|
|
|
219
283
|
}
|
|
220
284
|
}
|
|
221
285
|
await waitForPaneReady(tmuxService, paneInfo);
|
|
222
|
-
//
|
|
286
|
+
// Mark the pane as dmux-owned immediately. Without this, the shell-pane
|
|
287
|
+
// detector can race the config save and classify a still-bootstrapping
|
|
288
|
+
// worktree pane as a user-created shell pane.
|
|
223
289
|
try {
|
|
224
|
-
|
|
225
|
-
? slug
|
|
226
|
-
: buildWorktreePaneTitle(slug, projectRoot, paneProjectName);
|
|
227
|
-
await tmuxService.setPaneTitle(paneInfo, paneTitle);
|
|
290
|
+
await tmuxService.setPaneTitle(paneInfo, `${DMUX_BOOTSTRAP_PANE_TITLE_PREFIX}${slug}`);
|
|
228
291
|
}
|
|
229
292
|
catch {
|
|
230
293
|
// Ignore if setting title fails
|
|
@@ -232,7 +295,8 @@ export async function createPane(options, availableAgents) {
|
|
|
232
295
|
// Apply optimal layout using the layout manager
|
|
233
296
|
if (controlPaneId) {
|
|
234
297
|
const dimensions = getTerminalDimensions();
|
|
235
|
-
const
|
|
298
|
+
const visibleContentPaneIds = getVisibleExistingPaneIds(existingPanes, currentWindowPaneIds);
|
|
299
|
+
const allContentPaneIds = [...visibleContentPaneIds, paneInfo];
|
|
236
300
|
await recalculateAndApplyLayout(controlPaneId, allContentPaneIds, dimensions.width, dimensions.height);
|
|
237
301
|
// Refresh tmux to apply changes
|
|
238
302
|
await tmuxService.refreshClient();
|
|
@@ -248,139 +312,11 @@ export async function createPane(options, availableAgents) {
|
|
|
248
312
|
// Check if this is a hooks editing session (before worktree creation)
|
|
249
313
|
const isHooksEditingSession = !!prompt && (/(create|edit|modify).*(dmux|\.)?.*hooks/i.test(prompt)
|
|
250
314
|
|| /\.dmux-hooks/i.test(prompt));
|
|
251
|
-
//
|
|
252
|
-
|
|
253
|
-
|
|
254
|
-
|
|
255
|
-
throw new Error(`Existing worktree not found at ${worktreePath}`);
|
|
256
|
-
}
|
|
257
|
-
await tmuxService.sendShellCommand(paneInfo, `cd "${worktreePath}"`);
|
|
258
|
-
await tmuxService.sendTmuxKeys(paneInfo, 'Enter');
|
|
259
|
-
await new Promise((resolve) => setTimeout(resolve, 300));
|
|
260
|
-
}
|
|
261
|
-
else {
|
|
262
|
-
// IMPORTANT: Prune stale worktrees first to avoid conflicts
|
|
263
|
-
// This must run synchronously from dmux, not in the pane
|
|
264
|
-
try {
|
|
265
|
-
execSync('git worktree prune', {
|
|
266
|
-
encoding: 'utf-8',
|
|
267
|
-
stdio: 'pipe',
|
|
268
|
-
cwd: projectRoot,
|
|
269
|
-
});
|
|
270
|
-
}
|
|
271
|
-
catch {
|
|
272
|
-
// Ignore prune errors, proceed anyway
|
|
273
|
-
}
|
|
274
|
-
// Validate and resolve base branch for new worktrees
|
|
275
|
-
const baseBranch = settings.baseBranch || '';
|
|
276
|
-
if (baseBranch && !isValidBranchName(baseBranch)) {
|
|
277
|
-
throw new Error(`Invalid base branch name: ${baseBranch}`);
|
|
278
|
-
}
|
|
279
|
-
const resolvedStartPoint = startPointBranch || baseBranch;
|
|
280
|
-
if (resolvedStartPoint && !isValidBranchName(resolvedStartPoint)) {
|
|
281
|
-
throw new Error(`Invalid worktree start-point branch name: ${resolvedStartPoint}`);
|
|
282
|
-
}
|
|
283
|
-
if (resolvedStartPoint) {
|
|
284
|
-
try {
|
|
285
|
-
execSync(`git rev-parse --verify --end-of-options "${resolvedStartPoint}"`, {
|
|
286
|
-
stdio: 'pipe',
|
|
287
|
-
cwd: projectRoot,
|
|
288
|
-
});
|
|
289
|
-
}
|
|
290
|
-
catch {
|
|
291
|
-
if (startPointBranch) {
|
|
292
|
-
throw new Error(`Worktree start-point branch "${resolvedStartPoint}" does not exist anymore. Reopen the parent worktree or recreate it before branching again.`);
|
|
293
|
-
}
|
|
294
|
-
throw new Error(`Base branch "${resolvedStartPoint}" does not exist. Update the baseBranch setting to a valid branch name.`);
|
|
295
|
-
}
|
|
296
|
-
}
|
|
297
|
-
const maxWorktreeAttempts = 3;
|
|
298
|
-
const maxWaitTime = 5000; // 5 seconds max
|
|
299
|
-
const checkInterval = 100; // Check every 100ms
|
|
300
|
-
let worktreeCreated = fs.existsSync(worktreePath);
|
|
301
|
-
for (let attempt = 1; attempt <= maxWorktreeAttempts && !worktreeCreated; attempt++) {
|
|
302
|
-
// Check if branch already exists (from a deleted worktree or a previous attempt)
|
|
303
|
-
let branchExists = false;
|
|
304
|
-
try {
|
|
305
|
-
execSync(`git show-ref --verify --quiet "refs/heads/${branchName}"`, {
|
|
306
|
-
stdio: 'pipe',
|
|
307
|
-
cwd: projectRoot,
|
|
308
|
-
});
|
|
309
|
-
branchExists = true;
|
|
310
|
-
}
|
|
311
|
-
catch {
|
|
312
|
-
// Branch doesn't exist yet
|
|
313
|
-
}
|
|
314
|
-
// Build worktree command:
|
|
315
|
-
// - If branch exists, use it (don't create with -b)
|
|
316
|
-
// - If branch doesn't exist, create it with -b, optionally from a configured base branch
|
|
317
|
-
const startPoint = resolvedStartPoint ? ` "${resolvedStartPoint}"` : '';
|
|
318
|
-
const worktreeAddCmd = branchExists
|
|
319
|
-
? `git worktree add "${worktreePath}" "${branchName}"`
|
|
320
|
-
: `git worktree add "${worktreePath}" -b "${branchName}"${startPoint}`;
|
|
321
|
-
const worktreeCmd = `cd "${projectRoot}" && ${worktreeAddCmd} && cd "${worktreePath}"`;
|
|
322
|
-
// Send the git worktree command (auto-quoted by sendShellCommand)
|
|
323
|
-
await tmuxService.sendShellCommand(paneInfo, worktreeCmd);
|
|
324
|
-
await tmuxService.sendTmuxKeys(paneInfo, 'Enter');
|
|
325
|
-
const startTime = Date.now();
|
|
326
|
-
while (!fs.existsSync(worktreePath) && (Date.now() - startTime) < maxWaitTime) {
|
|
327
|
-
await new Promise((resolve) => setTimeout(resolve, checkInterval));
|
|
328
|
-
}
|
|
329
|
-
worktreeCreated = fs.existsSync(worktreePath);
|
|
330
|
-
if (!worktreeCreated && attempt < maxWorktreeAttempts) {
|
|
331
|
-
await new Promise((resolve) => setTimeout(resolve, 250 * attempt));
|
|
332
|
-
}
|
|
333
|
-
}
|
|
334
|
-
// Verify worktree was created successfully
|
|
335
|
-
if (!worktreeCreated) {
|
|
336
|
-
throw new Error(`Worktree directory not created at ${worktreePath} after ${maxWorktreeAttempts} attempts`);
|
|
337
|
-
}
|
|
338
|
-
// Give a bit more time for git to finish setting up the worktree
|
|
339
|
-
await new Promise((resolve) => setTimeout(resolve, 500));
|
|
340
|
-
}
|
|
341
|
-
try {
|
|
342
|
-
writeWorktreeMetadata(worktreePath, {
|
|
343
|
-
agent,
|
|
344
|
-
permissionMode: settings.permissionMode,
|
|
345
|
-
displayName: existingWorktreeMetadata?.displayName,
|
|
346
|
-
branchName: branchName !== slug ? branchName : undefined,
|
|
347
|
-
mergeTargetChain,
|
|
348
|
-
});
|
|
349
|
-
}
|
|
350
|
-
catch (metadataError) {
|
|
351
|
-
LogService.getInstance().warn(`Failed to persist worktree metadata for ${slug}: ${metadataError}`, 'paneCreation');
|
|
352
|
-
}
|
|
353
|
-
// Initialize .dmux-hooks if this is a hooks editing session
|
|
354
|
-
if (isHooksEditingSession) {
|
|
355
|
-
initializeHooksDirectory(worktreePath);
|
|
356
|
-
}
|
|
315
|
+
// Validate branch settings before handing the slow setup work to the pane.
|
|
316
|
+
const resolvedStartPoint = startPointBranch || effectiveBaseBranch || undefined;
|
|
317
|
+
if (resolvedStartPoint && !isValidBranchName(resolvedStartPoint)) {
|
|
318
|
+
throw new Error(`Invalid worktree start-point branch name: ${resolvedStartPoint}`);
|
|
357
319
|
}
|
|
358
|
-
catch (error) {
|
|
359
|
-
// Worktree creation failed - kill the pane and abort. Leaving the pane
|
|
360
|
-
// open at projectRoot is dangerous because the agent would run against
|
|
361
|
-
// the main checkout instead of an isolated worktree.
|
|
362
|
-
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
363
|
-
LogService.getInstance().error(`Worktree creation failed for ${slug}: ${errorMsg}`, 'paneCreation', undefined, error instanceof Error ? error : undefined);
|
|
364
|
-
try {
|
|
365
|
-
await tmuxService.killPane(paneInfo);
|
|
366
|
-
}
|
|
367
|
-
catch (killError) {
|
|
368
|
-
LogService.getInstance().warn(`Failed to kill pane ${paneInfo} after worktree creation failure: ${killError}`, 'paneCreation');
|
|
369
|
-
}
|
|
370
|
-
if (controlPaneId) {
|
|
371
|
-
try {
|
|
372
|
-
await tmuxService.selectPane(controlPaneId);
|
|
373
|
-
}
|
|
374
|
-
catch {
|
|
375
|
-
// best-effort focus restore
|
|
376
|
-
}
|
|
377
|
-
}
|
|
378
|
-
throw new Error(`Failed to create worktree for "${slug}": ${errorMsg}`);
|
|
379
|
-
}
|
|
380
|
-
// Build the pane object now so the worktree_created hook can receive full
|
|
381
|
-
// pane context. The hook must succeed before we launch the agent — a
|
|
382
|
-
// failing hook means the worktree is in an unknown state and running a
|
|
383
|
-
// prompt against it would be dangerous.
|
|
384
320
|
const newPane = {
|
|
385
321
|
id: `dmux-${Date.now()}`,
|
|
386
322
|
slug,
|
|
@@ -393,119 +329,58 @@ export async function createPane(options, availableAgents) {
|
|
|
393
329
|
colorTheme: resolveProjectColorTheme(projectRoot, configSidebarProjects),
|
|
394
330
|
worktreePath,
|
|
395
331
|
agent,
|
|
332
|
+
hidden: false,
|
|
396
333
|
permissionMode: settings.permissionMode,
|
|
397
334
|
autopilot: settings.enableAutopilotByDefault ?? false,
|
|
335
|
+
goalMode,
|
|
398
336
|
mergeTargetChain,
|
|
399
337
|
};
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
|
|
338
|
+
const state = StateManager.getInstance().getState();
|
|
339
|
+
const tmuxTitle = getPaneTmuxTitle(newPane, sessionProjectRoot);
|
|
340
|
+
const hookExtraEnv = state.serverPort
|
|
341
|
+
? { DMUX_SERVER_PORT: String(state.serverPort) }
|
|
342
|
+
: undefined;
|
|
343
|
+
const bootstrapConfig = {
|
|
344
|
+
version: 1,
|
|
345
|
+
projectRoot,
|
|
346
|
+
worktreePath,
|
|
347
|
+
branchName,
|
|
348
|
+
slug,
|
|
349
|
+
prompt,
|
|
350
|
+
agent,
|
|
351
|
+
permissionMode: settings.permissionMode,
|
|
352
|
+
goalMode,
|
|
353
|
+
pane: newPane,
|
|
354
|
+
tmuxTitle,
|
|
355
|
+
existingWorktree: !!existingWorktree,
|
|
356
|
+
resolvedStartPoint,
|
|
357
|
+
isHooksEditingSession,
|
|
358
|
+
metadata: {
|
|
359
|
+
agent,
|
|
360
|
+
permissionMode: settings.permissionMode,
|
|
361
|
+
goalMode,
|
|
362
|
+
displayName: existingWorktreeMetadata?.displayName,
|
|
363
|
+
branchName: branchName !== slug ? branchName : undefined,
|
|
364
|
+
mergeTargetChain,
|
|
365
|
+
},
|
|
366
|
+
hookExtraEnv,
|
|
367
|
+
};
|
|
368
|
+
try {
|
|
369
|
+
const bootstrapConfigPath = writePaneBootstrapConfig(projectRoot, slug, bootstrapConfig);
|
|
370
|
+
const bootstrapCommand = buildPaneBootstrapCommand(resolvePaneBootstrapRunnerPath(), bootstrapConfigPath, worktreePath);
|
|
371
|
+
await tmuxService.sendShellCommand(paneInfo, bootstrapCommand);
|
|
372
|
+
await tmuxService.sendTmuxKeys(paneInfo, 'Enter');
|
|
373
|
+
}
|
|
374
|
+
catch (error) {
|
|
375
|
+
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
376
|
+
LogService.getInstance().error(`Failed to start pane bootstrap for ${slug}: ${errorMsg}`, 'paneCreation', undefined, error instanceof Error ? error : undefined);
|
|
407
377
|
try {
|
|
408
378
|
await tmuxService.killPane(paneInfo);
|
|
409
379
|
}
|
|
410
|
-
catch
|
|
411
|
-
|
|
412
|
-
}
|
|
413
|
-
if (controlPaneId) {
|
|
414
|
-
try {
|
|
415
|
-
await tmuxService.selectPane(controlPaneId);
|
|
416
|
-
}
|
|
417
|
-
catch {
|
|
418
|
-
// best-effort focus restore
|
|
419
|
-
}
|
|
420
|
-
}
|
|
421
|
-
throw new Error(`worktree_created hook failed for "${slug}": ${hookError}`);
|
|
422
|
-
}
|
|
423
|
-
// Launch agent if specified
|
|
424
|
-
const hasInitialPrompt = !!(prompt && prompt.trim());
|
|
425
|
-
if (agent) {
|
|
426
|
-
if (agent === 'gemini') {
|
|
427
|
-
const geminiWorkspacePath = fs.existsSync(worktreePath)
|
|
428
|
-
? worktreePath
|
|
429
|
-
: projectRoot;
|
|
430
|
-
ensureGeminiFolderTrusted(geminiWorkspacePath);
|
|
431
|
-
}
|
|
432
|
-
let codexHookEventFile;
|
|
433
|
-
if (agent === 'codex') {
|
|
434
|
-
try {
|
|
435
|
-
codexHookEventFile = installCodexPaneHooks({
|
|
436
|
-
worktreePath,
|
|
437
|
-
dmuxPaneId: newPane.id,
|
|
438
|
-
tmuxPaneId: paneInfo,
|
|
439
|
-
}).eventFile;
|
|
440
|
-
}
|
|
441
|
-
catch (error) {
|
|
442
|
-
LogService.getInstance().warn(`Failed to install Codex hooks for ${slug}: ${error instanceof Error ? error.message : String(error)}`, 'paneCreation', newPane.id);
|
|
443
|
-
}
|
|
444
|
-
}
|
|
445
|
-
const promptTransport = getPromptTransport(agent);
|
|
446
|
-
const shouldSendPromptViaTmux = hasInitialPrompt && promptTransport === 'send-keys';
|
|
447
|
-
let baselineCommand;
|
|
448
|
-
if (shouldSendPromptViaTmux) {
|
|
449
|
-
try {
|
|
450
|
-
baselineCommand = await tmuxService.getPaneCurrentCommand(paneInfo);
|
|
451
|
-
}
|
|
452
|
-
catch {
|
|
453
|
-
baselineCommand = undefined;
|
|
454
|
-
}
|
|
455
|
-
}
|
|
456
|
-
let launchCommand;
|
|
457
|
-
if (hasInitialPrompt && !shouldSendPromptViaTmux) {
|
|
458
|
-
let promptFilePath = null;
|
|
459
|
-
try {
|
|
460
|
-
promptFilePath = await writePromptFile(projectRoot, slug, prompt);
|
|
461
|
-
}
|
|
462
|
-
catch {
|
|
463
|
-
// Fall back to inline escaping if prompt file write fails
|
|
464
|
-
}
|
|
465
|
-
if (promptFilePath) {
|
|
466
|
-
const promptBootstrap = buildPromptReadAndDeleteSnippet(promptFilePath);
|
|
467
|
-
launchCommand = `${promptBootstrap}; ${buildInitialPromptCommand(agent, '"$DMUX_PROMPT_CONTENT"', settings.permissionMode)}`;
|
|
468
|
-
}
|
|
469
|
-
else {
|
|
470
|
-
const escapedPrompt = prompt
|
|
471
|
-
.replace(/\\/g, '\\\\')
|
|
472
|
-
.replace(/"/g, '\\"')
|
|
473
|
-
.replace(/`/g, '\\`')
|
|
474
|
-
.replace(/\$/g, '\\$');
|
|
475
|
-
launchCommand = buildInitialPromptCommand(agent, `"${escapedPrompt}"`, settings.permissionMode);
|
|
476
|
-
}
|
|
477
|
-
}
|
|
478
|
-
else {
|
|
479
|
-
launchCommand = buildAgentCommand(agent, settings.permissionMode);
|
|
480
|
-
}
|
|
481
|
-
if (agent === 'codex') {
|
|
482
|
-
launchCommand = buildCodexHookedCommand(launchCommand, {
|
|
483
|
-
dmuxPaneId: newPane.id,
|
|
484
|
-
tmuxPaneId: paneInfo,
|
|
485
|
-
eventFile: codexHookEventFile,
|
|
486
|
-
});
|
|
487
|
-
}
|
|
488
|
-
await tmuxService.sendShellCommand(paneInfo, launchCommand);
|
|
489
|
-
await tmuxService.sendTmuxKeys(paneInfo, 'Enter');
|
|
490
|
-
if (shouldSendPromptViaTmux) {
|
|
491
|
-
await sendPromptViaTmux({
|
|
492
|
-
paneId: paneInfo,
|
|
493
|
-
prompt,
|
|
494
|
-
tmuxService,
|
|
495
|
-
expectedCommand: getAgentProcessName(agent),
|
|
496
|
-
baselineCommand,
|
|
497
|
-
prePromptKeys: getSendKeysPrePrompt(agent),
|
|
498
|
-
submitKeys: getSendKeysSubmit(agent),
|
|
499
|
-
postPasteDelayMs: getSendKeysPostPasteDelayMs(agent),
|
|
500
|
-
readyDelayMs: getSendKeysReadyDelayMs(agent),
|
|
501
|
-
});
|
|
502
|
-
}
|
|
503
|
-
if (agent === 'claude') {
|
|
504
|
-
// Auto-approve trust prompts for Claude (workspace trust, not edit permissions)
|
|
505
|
-
autoApproveTrustPrompt(paneInfo, prompt).catch(() => {
|
|
506
|
-
// Ignore errors in background monitoring
|
|
507
|
-
});
|
|
380
|
+
catch {
|
|
381
|
+
// best-effort cleanup
|
|
508
382
|
}
|
|
383
|
+
throw new Error(`Failed to start pane bootstrap for "${slug}": ${errorMsg}`);
|
|
509
384
|
}
|
|
510
385
|
// Keep focus on the new pane
|
|
511
386
|
await tmuxService.selectPane(paneInfo);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paneCreation.js","sourceRoot":"","sources":["../../src/utils/paneCreation.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"paneCreation.js","sourceRoot":"","sources":["../../src/utils/paneCreation.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export interface ResolvePaneNamingInput {
|
|
2
|
+
generatedSlug: string;
|
|
3
|
+
slugSuffix?: string;
|
|
4
|
+
branchPrefix?: string;
|
|
5
|
+
baseBranchSetting?: string;
|
|
6
|
+
baseBranchOverride?: string;
|
|
7
|
+
branchNameOverride?: string;
|
|
8
|
+
}
|
|
9
|
+
export interface ResolvedPaneNaming {
|
|
10
|
+
slug: string;
|
|
11
|
+
branchName: string;
|
|
12
|
+
baseBranch: string;
|
|
13
|
+
}
|
|
14
|
+
export declare function sanitizeWorktreeSlugFromBranch(branchName: string): string;
|
|
15
|
+
export declare function resolvePaneNaming(input: ResolvePaneNamingInput): ResolvedPaneNaming;
|
|
16
|
+
//# sourceMappingURL=paneNaming.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"paneNaming.d.ts","sourceRoot":"","sources":["../../src/utils/paneNaming.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,sBAAsB;IACrC,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,kBAAkB,CAAC,EAAE,MAAM,CAAC;CAC7B;AAED,MAAM,WAAW,kBAAkB;IACjC,IAAI,EAAE,MAAM,CAAC;IACb,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAmBD,wBAAgB,8BAA8B,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAWzE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,sBAAsB,GAAG,kBAAkB,CAmBnF"}
|