dmux 5.6.3 → 5.7.1
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.ja.md +93 -0
- package/README.md +16 -1
- package/dist/DmuxApp.d.ts.map +1 -1
- package/dist/DmuxApp.js +282 -43
- package/dist/DmuxApp.js.map +1 -1
- package/dist/actions/implementations/closeAction.d.ts.map +1 -1
- package/dist/actions/implementations/closeAction.js +85 -70
- package/dist/actions/implementations/closeAction.js.map +1 -1
- package/dist/actions/implementations/createPullRequestAction.d.ts +4 -0
- package/dist/actions/implementations/createPullRequestAction.d.ts.map +1 -0
- package/dist/actions/implementations/createPullRequestAction.js +218 -0
- package/dist/actions/implementations/createPullRequestAction.js.map +1 -0
- package/dist/actions/implementations/index.d.ts +1 -0
- package/dist/actions/implementations/index.d.ts.map +1 -1
- package/dist/actions/implementations/index.js +1 -0
- package/dist/actions/implementations/index.js.map +1 -1
- package/dist/actions/implementations/mergeAction.js +8 -3
- package/dist/actions/implementations/mergeAction.js.map +1 -1
- package/dist/actions/index.d.ts.map +1 -1
- package/dist/actions/index.js +2 -0
- package/dist/actions/index.js.map +1 -1
- package/dist/actions/paneActions.d.ts +1 -1
- package/dist/actions/paneActions.d.ts.map +1 -1
- package/dist/actions/paneActions.js +1 -1
- package/dist/actions/paneActions.js.map +1 -1
- package/dist/actions/types.d.ts +11 -2
- package/dist/actions/types.d.ts.map +1 -1
- package/dist/actions/types.js +9 -0
- package/dist/actions/types.js.map +1 -1
- package/dist/components/inputs/CleanTextInput.d.ts +1 -0
- package/dist/components/inputs/CleanTextInput.d.ts.map +1 -1
- package/dist/components/inputs/CleanTextInput.js +40 -42
- package/dist/components/inputs/CleanTextInput.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/panes/PaneCard.d.ts +3 -1
- package/dist/components/panes/PaneCard.d.ts.map +1 -1
- package/dist/components/panes/PaneCard.js +14 -4
- package/dist/components/panes/PaneCard.js.map +1 -1
- package/dist/components/panes/PanesGrid.d.ts +4 -1
- package/dist/components/panes/PanesGrid.d.ts.map +1 -1
- package/dist/components/panes/PanesGrid.js +27 -15
- package/dist/components/panes/PanesGrid.js.map +1 -1
- package/dist/components/popups/config.d.ts +4 -4
- package/dist/components/popups/config.js +6 -6
- package/dist/components/popups/config.js.map +1 -1
- package/dist/components/popups/inputPopup.js +3 -3
- package/dist/components/popups/inputPopup.js.map +1 -1
- 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 +256 -19
- package/dist/components/popups/newPanePopup.js.map +1 -1
- package/dist/components/popups/prReviewPopup.d.ts +12 -0
- package/dist/components/popups/prReviewPopup.d.ts.map +1 -0
- package/dist/components/popups/prReviewPopup.js +278 -0
- package/dist/components/popups/prReviewPopup.js.map +1 -0
- package/dist/components/popups/reopenWorktreePopup.js +1 -1
- package/dist/components/popups/reopenWorktreePopup.js.map +1 -1
- package/dist/components/popups/settingsPopup.js +72 -6
- package/dist/components/popups/settingsPopup.js.map +1 -1
- package/dist/components/ui/FooterHelp.d.ts.map +1 -1
- package/dist/components/ui/FooterHelp.js +5 -4
- package/dist/components/ui/FooterHelp.js.map +1 -1
- package/dist/hooks/useActionSystem.d.ts +12 -2
- package/dist/hooks/useActionSystem.d.ts.map +1 -1
- package/dist/hooks/useActionSystem.js +19 -1
- package/dist/hooks/useActionSystem.js.map +1 -1
- package/dist/hooks/useInputHandling.d.ts +5 -3
- package/dist/hooks/useInputHandling.d.ts.map +1 -1
- package/dist/hooks/useInputHandling.js +93 -32
- package/dist/hooks/useInputHandling.js.map +1 -1
- package/dist/hooks/usePaneCreation.d.ts +5 -3
- package/dist/hooks/usePaneCreation.d.ts.map +1 -1
- package/dist/hooks/usePaneCreation.js +16 -3
- package/dist/hooks/usePaneCreation.js.map +1 -1
- package/dist/hooks/usePaneLoading.d.ts.map +1 -1
- package/dist/hooks/usePaneLoading.js +28 -3
- package/dist/hooks/usePaneLoading.js.map +1 -1
- package/dist/hooks/usePaneSync.d.ts.map +1 -1
- package/dist/hooks/usePaneSync.js +8 -5
- package/dist/hooks/usePaneSync.js.map +1 -1
- package/dist/hooks/usePanes.d.ts.map +1 -1
- package/dist/hooks/usePanes.js +8 -1
- package/dist/hooks/usePanes.js.map +1 -1
- package/dist/hooks/useShellDetection.d.ts.map +1 -1
- package/dist/hooks/useShellDetection.js +7 -1
- package/dist/hooks/useShellDetection.js.map +1 -1
- package/dist/index.js +49 -22
- package/dist/index.js.map +1 -1
- package/dist/panes/decorative-pane.js +57 -27
- package/dist/panes/decorative-pane.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/DmuxFocusService.d.ts.map +1 -1
- package/dist/services/DmuxFocusService.js +19 -14
- package/dist/services/DmuxFocusService.js.map +1 -1
- package/dist/services/PaneEventService.d.ts +11 -0
- package/dist/services/PaneEventService.d.ts.map +1 -1
- package/dist/services/PaneEventService.js +31 -3
- package/dist/services/PaneEventService.js.map +1 -1
- package/dist/services/PaneWorkerManager.d.ts.map +1 -1
- package/dist/services/PaneWorkerManager.js +1 -0
- package/dist/services/PaneWorkerManager.js.map +1 -1
- package/dist/services/PopupManager.d.ts +23 -6
- package/dist/services/PopupManager.d.ts.map +1 -1
- package/dist/services/PopupManager.js +170 -33
- package/dist/services/PopupManager.js.map +1 -1
- package/dist/services/StatusDetector.d.ts +1 -0
- package/dist/services/StatusDetector.d.ts.map +1 -1
- package/dist/services/StatusDetector.js +44 -0
- package/dist/services/StatusDetector.js.map +1 -1
- package/dist/services/TmuxHookManager.d.ts.map +1 -1
- package/dist/services/TmuxHookManager.js +3 -2
- package/dist/services/TmuxHookManager.js.map +1 -1
- package/dist/services/TmuxService.d.ts +7 -0
- package/dist/services/TmuxService.d.ts.map +1 -1
- package/dist/services/TmuxService.js +15 -1
- package/dist/services/TmuxService.js.map +1 -1
- package/dist/theme/colors.d.ts +24 -10
- package/dist/theme/colors.d.ts.map +1 -1
- package/dist/theme/colors.js +143 -19
- package/dist/theme/colors.js.map +1 -1
- package/dist/theme/themePalette.d.ts +6 -0
- package/dist/theme/themePalette.d.ts.map +1 -0
- package/dist/theme/themePalette.js +18 -0
- package/dist/theme/themePalette.js.map +1 -0
- package/dist/types.d.ts +13 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/agentLaunch.d.ts +2 -0
- package/dist/utils/agentLaunch.d.ts.map +1 -1
- package/dist/utils/agentLaunch.js +10 -9
- package/dist/utils/agentLaunch.js.map +1 -1
- package/dist/utils/aiMerge.d.ts +4 -0
- package/dist/utils/aiMerge.d.ts.map +1 -1
- package/dist/utils/aiMerge.js +7 -4
- package/dist/utils/aiMerge.js.map +1 -1
- package/dist/utils/asciiArt.d.ts.map +1 -1
- package/dist/utils/asciiArt.js +2 -1
- package/dist/utils/asciiArt.js.map +1 -1
- package/dist/utils/attachAgent.d.ts.map +1 -1
- package/dist/utils/attachAgent.js +20 -1
- package/dist/utils/attachAgent.js.map +1 -1
- package/dist/utils/codexHooks.d.ts +25 -0
- package/dist/utils/codexHooks.d.ts.map +1 -0
- package/dist/utils/codexHooks.js +131 -0
- package/dist/utils/codexHooks.js.map +1 -0
- package/dist/utils/conflictResolutionPane.d.ts.map +1 -1
- package/dist/utils/conflictResolutionPane.js +4 -0
- package/dist/utils/conflictResolutionPane.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/githubPullRequest.d.ts +18 -0
- package/dist/utils/githubPullRequest.d.ts.map +1 -0
- package/dist/utils/githubPullRequest.js +196 -0
- package/dist/utils/githubPullRequest.js.map +1 -0
- 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/input.d.ts +7 -6
- package/dist/utils/input.d.ts.map +1 -1
- package/dist/utils/input.js +47 -24
- package/dist/utils/input.js.map +1 -1
- package/dist/utils/paneBootstrapConfig.d.ts +27 -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 +517 -0
- package/dist/utils/paneBootstrapRunner.js.map +1 -0
- package/dist/utils/paneColors.d.ts +7 -0
- package/dist/utils/paneColors.d.ts.map +1 -0
- package/dist/utils/paneColors.js +42 -0
- package/dist/utils/paneColors.js.map +1 -0
- package/dist/utils/paneCreation.d.ts +3 -1
- package/dist/utils/paneCreation.d.ts.map +1 -1
- package/dist/utils/paneCreation.js +165 -225
- 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/paneTitle.d.ts +1 -0
- package/dist/utils/paneTitle.d.ts.map +1 -1
- package/dist/utils/paneTitle.js +5 -1
- package/dist/utils/paneTitle.js.map +1 -1
- package/dist/utils/paneTitlePrefix.d.ts +8 -0
- package/dist/utils/paneTitlePrefix.d.ts.map +1 -0
- package/dist/utils/paneTitlePrefix.js +20 -0
- package/dist/utils/paneTitlePrefix.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/popup.d.ts +1 -0
- package/dist/utils/popup.d.ts.map +1 -1
- package/dist/utils/popup.js +9 -2
- package/dist/utils/popup.js.map +1 -1
- package/dist/utils/prSummary.d.ts +34 -0
- package/dist/utils/prSummary.d.ts.map +1 -0
- package/dist/utils/prSummary.js +130 -0
- package/dist/utils/prSummary.js.map +1 -0
- package/dist/utils/projectActions.d.ts +6 -0
- package/dist/utils/projectActions.d.ts.map +1 -1
- package/dist/utils/projectActions.js +46 -0
- package/dist/utils/projectActions.js.map +1 -1
- package/dist/utils/reopenWorktree.d.ts.map +1 -1
- package/dist/utils/reopenWorktree.js +37 -5
- package/dist/utils/reopenWorktree.js.map +1 -1
- package/dist/utils/resumeBranches.d.ts.map +1 -1
- package/dist/utils/resumeBranches.js +9 -3
- package/dist/utils/resumeBranches.js.map +1 -1
- package/dist/utils/settingsManager.d.ts +11 -3
- package/dist/utils/settingsManager.d.ts.map +1 -1
- package/dist/utils/settingsManager.js +106 -21
- 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/sidebarProjects.d.ts +10 -3
- package/dist/utils/sidebarProjects.d.ts.map +1 -1
- package/dist/utils/sidebarProjects.js +125 -10
- package/dist/utils/sidebarProjects.js.map +1 -1
- package/dist/utils/tmuxHookCommands.d.ts +6 -0
- package/dist/utils/tmuxHookCommands.d.ts.map +1 -1
- package/dist/utils/tmuxHookCommands.js +12 -0
- package/dist/utils/tmuxHookCommands.js.map +1 -1
- package/dist/utils/tmuxSendKeys.d.ts +2 -0
- package/dist/utils/tmuxSendKeys.d.ts.map +1 -0
- package/dist/utils/tmuxSendKeys.js +8 -0
- package/dist/utils/tmuxSendKeys.js.map +1 -0
- package/dist/utils/toastLayout.d.ts +10 -0
- package/dist/utils/toastLayout.d.ts.map +1 -0
- package/dist/utils/toastLayout.js +24 -0
- package/dist/utils/toastLayout.js.map +1 -0
- package/dist/utils/welcomePane.d.ts +5 -1
- package/dist/utils/welcomePane.d.ts.map +1 -1
- package/dist/utils/welcomePane.js +33 -3
- package/dist/utils/welcomePane.js.map +1 -1
- package/dist/utils/welcomePaneManager.d.ts +3 -1
- package/dist/utils/welcomePaneManager.d.ts.map +1 -1
- package/dist/utils/welcomePaneManager.js +40 -2
- package/dist/utils/welcomePaneManager.js.map +1 -1
- package/dist/workers/PaneWorker.js +77 -0
- package/dist/workers/PaneWorker.js.map +1 -1
- package/dist/workers/WorkerMessages.d.ts +9 -1
- package/dist/workers/WorkerMessages.d.ts.map +1 -1
- package/dist/workers/WorkerMessages.js.map +1 -1
- package/dist/workers/panePollingWorker.js +33 -2
- package/dist/workers/panePollingWorker.js.map +1 -1
- package/package.json +1 -1
|
@@ -1,22 +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 {
|
|
10
|
+
import { triggerHook } from './hooks.js';
|
|
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 {
|
|
19
|
-
import {
|
|
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';
|
|
19
|
+
import { resolveProjectColorTheme } from './paneColors.js';
|
|
20
|
+
import { StateManager } from '../shared/StateManager.js';
|
|
21
|
+
import { DMUX_BOOTSTRAP_PANE_TITLE_PREFIX, } from './paneBootstrapConfig.js';
|
|
20
22
|
async function waitForPaneReady(tmuxService, paneId, timeoutMs = 600) {
|
|
21
23
|
const start = Date.now();
|
|
22
24
|
while ((Date.now() - start) < timeoutMs) {
|
|
@@ -26,12 +28,59 @@ async function waitForPaneReady(tmuxService, paneId, timeoutMs = 600) {
|
|
|
26
28
|
await new Promise((resolve) => setTimeout(resolve, 30));
|
|
27
29
|
}
|
|
28
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
|
+
}
|
|
29
78
|
/**
|
|
30
79
|
* Core pane creation logic that can be used by both TUI and API
|
|
31
80
|
* Returns the newly created pane and whether agent choice is needed
|
|
32
81
|
*/
|
|
33
82
|
export async function createPane(options, availableAgents) {
|
|
34
|
-
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, existingWorktree, startPointBranch, mergeTargetChain, skipAgentSelection = false, sessionConfigPath: optionsSessionConfigPath, sessionProjectRoot: optionsSessionProjectRoot, } = options;
|
|
35
84
|
let { agent, projectRoot: optionsProjectRoot } = options;
|
|
36
85
|
// Load settings to check for default agent and autopilot
|
|
37
86
|
const { SettingsManager } = await import('./settingsManager.js');
|
|
@@ -103,28 +152,48 @@ export async function createPane(options, availableAgents) {
|
|
|
103
152
|
if (branchPrefix && !isValidBranchName(branchPrefix)) {
|
|
104
153
|
throw new Error(`Invalid branch prefix: ${branchPrefix}`);
|
|
105
154
|
}
|
|
106
|
-
|
|
155
|
+
const overrideBranchName = (branchNameOverride || '').trim();
|
|
156
|
+
if (overrideBranchName && !isValidFullBranchName(overrideBranchName)) {
|
|
157
|
+
throw new Error(`Invalid branch name override: ${overrideBranchName}`);
|
|
158
|
+
}
|
|
159
|
+
const overrideBaseBranch = (baseBranchOverride || '').trim();
|
|
160
|
+
if (overrideBaseBranch && !isValidFullBranchName(overrideBaseBranch)) {
|
|
161
|
+
throw new Error(`Invalid base branch override: ${overrideBaseBranch}`);
|
|
162
|
+
}
|
|
163
|
+
// Generate slug/worktree + branch names.
|
|
164
|
+
// Explicit branch name override takes precedence over branchPrefix.
|
|
107
165
|
const generatedSlug = existingWorktree
|
|
108
166
|
? existingWorktree.slug
|
|
109
167
|
: (slugBase || await generateSlug(prompt));
|
|
110
|
-
const
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
:
|
|
168
|
+
const naming = resolvePaneNaming({
|
|
169
|
+
generatedSlug,
|
|
170
|
+
slugSuffix,
|
|
171
|
+
branchPrefix,
|
|
172
|
+
baseBranchSetting: settings.baseBranch,
|
|
173
|
+
baseBranchOverride: overrideBaseBranch,
|
|
174
|
+
branchNameOverride: overrideBranchName,
|
|
175
|
+
});
|
|
176
|
+
const slug = existingWorktree ? existingWorktree.slug : naming.slug;
|
|
177
|
+
const branchName = existingWorktree ? existingWorktree.branchName : naming.branchName;
|
|
178
|
+
const effectiveBaseBranch = naming.baseBranch;
|
|
116
179
|
const tmuxService = TmuxService.getInstance();
|
|
117
180
|
const worktreePath = existingWorktree?.worktreePath
|
|
118
181
|
|| path.join(projectRoot, '.dmux', 'worktrees', slug);
|
|
182
|
+
if (!existingWorktree && fs.existsSync(worktreePath)) {
|
|
183
|
+
throw new Error(`Worktree path already exists: ${worktreePath}. Choose a different branch/worktree name.`);
|
|
184
|
+
}
|
|
119
185
|
const originalPaneId = tmuxService.getCurrentPaneIdSync();
|
|
186
|
+
let currentWindowPaneIds = getCurrentWindowPaneIds(tmuxService);
|
|
120
187
|
// Load config to get control pane info
|
|
121
188
|
const configPath = optionsSessionConfigPath
|
|
122
189
|
|| path.join(sessionProjectRoot, '.dmux', 'dmux.config.json');
|
|
123
190
|
let controlPaneId;
|
|
191
|
+
let configSidebarProjects = [];
|
|
124
192
|
try {
|
|
125
193
|
const configContent = fs.readFileSync(configPath, 'utf-8');
|
|
126
194
|
const config = JSON.parse(configContent);
|
|
127
195
|
controlPaneId = config.controlPaneId;
|
|
196
|
+
configSidebarProjects = Array.isArray(config.sidebarProjects) ? config.sidebarProjects : [];
|
|
128
197
|
// Verify the control pane ID from config still exists
|
|
129
198
|
if (controlPaneId) {
|
|
130
199
|
const exists = await tmuxService.paneExists(controlPaneId);
|
|
@@ -171,11 +240,9 @@ export async function createPane(options, availableAgents) {
|
|
|
171
240
|
paneInfo = setupSidebarLayout(controlPaneId, projectRoot);
|
|
172
241
|
}
|
|
173
242
|
else {
|
|
174
|
-
//
|
|
175
|
-
//
|
|
176
|
-
const
|
|
177
|
-
const targetPane = dmuxPaneIds[dmuxPaneIds.length - 1]; // Split from the most recent dmux pane
|
|
178
|
-
// Always split horizontally - the layout manager will organize panes optimally
|
|
243
|
+
// Split from a pane in the active dmux window. Hidden panes live in
|
|
244
|
+
// detached tmux windows, so targeting them would create a hidden pane.
|
|
245
|
+
const targetPane = getPaneSplitTarget(existingPanes, currentWindowPaneIds, controlPaneId);
|
|
179
246
|
paneInfo = splitPane({ targetPane, cwd: projectRoot });
|
|
180
247
|
}
|
|
181
248
|
}
|
|
@@ -204,8 +271,8 @@ export async function createPane(options, availableAgents) {
|
|
|
204
271
|
paneInfo = setupSidebarLayout(controlPaneId, projectRoot);
|
|
205
272
|
}
|
|
206
273
|
else {
|
|
207
|
-
|
|
208
|
-
const targetPane =
|
|
274
|
+
currentWindowPaneIds = getCurrentWindowPaneIds(tmuxService);
|
|
275
|
+
const targetPane = getPaneSplitTarget(existingPanes, currentWindowPaneIds, controlPaneId);
|
|
209
276
|
paneInfo = splitPane({ targetPane, cwd: projectRoot });
|
|
210
277
|
}
|
|
211
278
|
}
|
|
@@ -215,12 +282,11 @@ export async function createPane(options, availableAgents) {
|
|
|
215
282
|
}
|
|
216
283
|
}
|
|
217
284
|
await waitForPaneReady(tmuxService, paneInfo);
|
|
218
|
-
//
|
|
285
|
+
// Mark the pane as dmux-owned immediately. Without this, the shell-pane
|
|
286
|
+
// detector can race the config save and classify a still-bootstrapping
|
|
287
|
+
// worktree pane as a user-created shell pane.
|
|
219
288
|
try {
|
|
220
|
-
|
|
221
|
-
? slug
|
|
222
|
-
: buildWorktreePaneTitle(slug, projectRoot, paneProjectName);
|
|
223
|
-
await tmuxService.setPaneTitle(paneInfo, paneTitle);
|
|
289
|
+
await tmuxService.setPaneTitle(paneInfo, `${DMUX_BOOTSTRAP_PANE_TITLE_PREFIX}${slug}`);
|
|
224
290
|
}
|
|
225
291
|
catch {
|
|
226
292
|
// Ignore if setting title fails
|
|
@@ -228,7 +294,8 @@ export async function createPane(options, availableAgents) {
|
|
|
228
294
|
// Apply optimal layout using the layout manager
|
|
229
295
|
if (controlPaneId) {
|
|
230
296
|
const dimensions = getTerminalDimensions();
|
|
231
|
-
const
|
|
297
|
+
const visibleContentPaneIds = getVisibleExistingPaneIds(existingPanes, currentWindowPaneIds);
|
|
298
|
+
const allContentPaneIds = [...visibleContentPaneIds, paneInfo];
|
|
232
299
|
await recalculateAndApplyLayout(controlPaneId, allContentPaneIds, dimensions.width, dimensions.height);
|
|
233
300
|
// Refresh tmux to apply changes
|
|
234
301
|
await tmuxService.refreshClient();
|
|
@@ -244,211 +311,78 @@ export async function createPane(options, availableAgents) {
|
|
|
244
311
|
// Check if this is a hooks editing session (before worktree creation)
|
|
245
312
|
const isHooksEditingSession = !!prompt && (/(create|edit|modify).*(dmux|\.)?.*hooks/i.test(prompt)
|
|
246
313
|
|| /\.dmux-hooks/i.test(prompt));
|
|
247
|
-
//
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
throw new Error(`Existing worktree not found at ${worktreePath}`);
|
|
252
|
-
}
|
|
253
|
-
await tmuxService.sendShellCommand(paneInfo, `cd "${worktreePath}"`);
|
|
254
|
-
await tmuxService.sendTmuxKeys(paneInfo, 'Enter');
|
|
255
|
-
await new Promise((resolve) => setTimeout(resolve, 300));
|
|
256
|
-
}
|
|
257
|
-
else {
|
|
258
|
-
// IMPORTANT: Prune stale worktrees first to avoid conflicts
|
|
259
|
-
// This must run synchronously from dmux, not in the pane
|
|
260
|
-
try {
|
|
261
|
-
execSync('git worktree prune', {
|
|
262
|
-
encoding: 'utf-8',
|
|
263
|
-
stdio: 'pipe',
|
|
264
|
-
cwd: projectRoot,
|
|
265
|
-
});
|
|
266
|
-
}
|
|
267
|
-
catch {
|
|
268
|
-
// Ignore prune errors, proceed anyway
|
|
269
|
-
}
|
|
270
|
-
// Validate and resolve base branch for new worktrees
|
|
271
|
-
const baseBranch = settings.baseBranch || '';
|
|
272
|
-
if (baseBranch && !isValidBranchName(baseBranch)) {
|
|
273
|
-
throw new Error(`Invalid base branch name: ${baseBranch}`);
|
|
274
|
-
}
|
|
275
|
-
const resolvedStartPoint = startPointBranch || baseBranch;
|
|
276
|
-
if (resolvedStartPoint && !isValidBranchName(resolvedStartPoint)) {
|
|
277
|
-
throw new Error(`Invalid worktree start-point branch name: ${resolvedStartPoint}`);
|
|
278
|
-
}
|
|
279
|
-
if (resolvedStartPoint) {
|
|
280
|
-
try {
|
|
281
|
-
execSync(`git rev-parse --verify "refs/heads/${resolvedStartPoint}"`, {
|
|
282
|
-
stdio: 'pipe',
|
|
283
|
-
cwd: projectRoot,
|
|
284
|
-
});
|
|
285
|
-
}
|
|
286
|
-
catch {
|
|
287
|
-
if (startPointBranch) {
|
|
288
|
-
throw new Error(`Worktree start-point branch "${resolvedStartPoint}" does not exist anymore. Reopen the parent worktree or recreate it before branching again.`);
|
|
289
|
-
}
|
|
290
|
-
throw new Error(`Base branch "${resolvedStartPoint}" does not exist. Update the baseBranch setting to a valid branch name.`);
|
|
291
|
-
}
|
|
292
|
-
}
|
|
293
|
-
const maxWorktreeAttempts = 3;
|
|
294
|
-
const maxWaitTime = 5000; // 5 seconds max
|
|
295
|
-
const checkInterval = 100; // Check every 100ms
|
|
296
|
-
let worktreeCreated = fs.existsSync(worktreePath);
|
|
297
|
-
for (let attempt = 1; attempt <= maxWorktreeAttempts && !worktreeCreated; attempt++) {
|
|
298
|
-
// Check if branch already exists (from a deleted worktree or a previous attempt)
|
|
299
|
-
let branchExists = false;
|
|
300
|
-
try {
|
|
301
|
-
execSync(`git show-ref --verify --quiet "refs/heads/${branchName}"`, {
|
|
302
|
-
stdio: 'pipe',
|
|
303
|
-
cwd: projectRoot,
|
|
304
|
-
});
|
|
305
|
-
branchExists = true;
|
|
306
|
-
}
|
|
307
|
-
catch {
|
|
308
|
-
// Branch doesn't exist yet
|
|
309
|
-
}
|
|
310
|
-
// Build worktree command:
|
|
311
|
-
// - If branch exists, use it (don't create with -b)
|
|
312
|
-
// - If branch doesn't exist, create it with -b, optionally from a configured base branch
|
|
313
|
-
const startPoint = resolvedStartPoint ? ` "${resolvedStartPoint}"` : '';
|
|
314
|
-
const worktreeAddCmd = branchExists
|
|
315
|
-
? `git worktree add "${worktreePath}" "${branchName}"`
|
|
316
|
-
: `git worktree add "${worktreePath}" -b "${branchName}"${startPoint}`;
|
|
317
|
-
const worktreeCmd = `cd "${projectRoot}" && ${worktreeAddCmd} && cd "${worktreePath}"`;
|
|
318
|
-
// Send the git worktree command (auto-quoted by sendShellCommand)
|
|
319
|
-
await tmuxService.sendShellCommand(paneInfo, worktreeCmd);
|
|
320
|
-
await tmuxService.sendTmuxKeys(paneInfo, 'Enter');
|
|
321
|
-
const startTime = Date.now();
|
|
322
|
-
while (!fs.existsSync(worktreePath) && (Date.now() - startTime) < maxWaitTime) {
|
|
323
|
-
await new Promise((resolve) => setTimeout(resolve, checkInterval));
|
|
324
|
-
}
|
|
325
|
-
worktreeCreated = fs.existsSync(worktreePath);
|
|
326
|
-
if (!worktreeCreated && attempt < maxWorktreeAttempts) {
|
|
327
|
-
await new Promise((resolve) => setTimeout(resolve, 250 * attempt));
|
|
328
|
-
}
|
|
329
|
-
}
|
|
330
|
-
// Verify worktree was created successfully
|
|
331
|
-
if (!worktreeCreated) {
|
|
332
|
-
throw new Error(`Worktree directory not created at ${worktreePath} after ${maxWorktreeAttempts} attempts`);
|
|
333
|
-
}
|
|
334
|
-
// Give a bit more time for git to finish setting up the worktree
|
|
335
|
-
await new Promise((resolve) => setTimeout(resolve, 500));
|
|
336
|
-
}
|
|
337
|
-
try {
|
|
338
|
-
writeWorktreeMetadata(worktreePath, {
|
|
339
|
-
agent,
|
|
340
|
-
permissionMode: settings.permissionMode,
|
|
341
|
-
displayName: existingWorktreeMetadata?.displayName,
|
|
342
|
-
branchName: branchName !== slug ? branchName : undefined,
|
|
343
|
-
mergeTargetChain,
|
|
344
|
-
});
|
|
345
|
-
}
|
|
346
|
-
catch (metadataError) {
|
|
347
|
-
LogService.getInstance().warn(`Failed to persist worktree metadata for ${slug}: ${metadataError}`, 'paneCreation');
|
|
348
|
-
}
|
|
349
|
-
// Initialize .dmux-hooks if this is a hooks editing session
|
|
350
|
-
if (isHooksEditingSession) {
|
|
351
|
-
initializeHooksDirectory(worktreePath);
|
|
352
|
-
}
|
|
314
|
+
// Validate branch settings before handing the slow setup work to the pane.
|
|
315
|
+
const resolvedStartPoint = startPointBranch || effectiveBaseBranch || undefined;
|
|
316
|
+
if (resolvedStartPoint && !isValidBranchName(resolvedStartPoint)) {
|
|
317
|
+
throw new Error(`Invalid worktree start-point branch name: ${resolvedStartPoint}`);
|
|
353
318
|
}
|
|
354
|
-
catch (error) {
|
|
355
|
-
// Worktree creation failed - send helpful error message to the pane
|
|
356
|
-
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
357
|
-
await tmuxService.sendShellCommand(paneInfo, `echo "❌ Failed to create worktree: ${errorMsg}"`);
|
|
358
|
-
await tmuxService.sendTmuxKeys(paneInfo, 'Enter');
|
|
359
|
-
await tmuxService.sendShellCommand(paneInfo, `echo "Tip: Try running: git worktree prune && git branch -D ${branchName}"`);
|
|
360
|
-
await tmuxService.sendTmuxKeys(paneInfo, 'Enter');
|
|
361
|
-
await new Promise((resolve) => setTimeout(resolve, TMUX_LAYOUT_APPLY_DELAY));
|
|
362
|
-
// Don't throw - let the pane stay open so user can debug
|
|
363
|
-
}
|
|
364
|
-
// Launch agent if specified
|
|
365
|
-
const hasInitialPrompt = !!(prompt && prompt.trim());
|
|
366
|
-
if (agent) {
|
|
367
|
-
if (agent === 'gemini') {
|
|
368
|
-
const geminiWorkspacePath = fs.existsSync(worktreePath)
|
|
369
|
-
? worktreePath
|
|
370
|
-
: projectRoot;
|
|
371
|
-
ensureGeminiFolderTrusted(geminiWorkspacePath);
|
|
372
|
-
}
|
|
373
|
-
const promptTransport = getPromptTransport(agent);
|
|
374
|
-
const shouldSendPromptViaTmux = hasInitialPrompt && promptTransport === 'send-keys';
|
|
375
|
-
let baselineCommand;
|
|
376
|
-
if (shouldSendPromptViaTmux) {
|
|
377
|
-
try {
|
|
378
|
-
baselineCommand = await tmuxService.getPaneCurrentCommand(paneInfo);
|
|
379
|
-
}
|
|
380
|
-
catch {
|
|
381
|
-
baselineCommand = undefined;
|
|
382
|
-
}
|
|
383
|
-
}
|
|
384
|
-
let launchCommand;
|
|
385
|
-
if (hasInitialPrompt && !shouldSendPromptViaTmux) {
|
|
386
|
-
let promptFilePath = null;
|
|
387
|
-
try {
|
|
388
|
-
promptFilePath = await writePromptFile(projectRoot, slug, prompt);
|
|
389
|
-
}
|
|
390
|
-
catch {
|
|
391
|
-
// Fall back to inline escaping if prompt file write fails
|
|
392
|
-
}
|
|
393
|
-
if (promptFilePath) {
|
|
394
|
-
const promptBootstrap = buildPromptReadAndDeleteSnippet(promptFilePath);
|
|
395
|
-
launchCommand = `${promptBootstrap}; ${buildInitialPromptCommand(agent, '"$DMUX_PROMPT_CONTENT"', settings.permissionMode)}`;
|
|
396
|
-
}
|
|
397
|
-
else {
|
|
398
|
-
const escapedPrompt = prompt
|
|
399
|
-
.replace(/\\/g, '\\\\')
|
|
400
|
-
.replace(/"/g, '\\"')
|
|
401
|
-
.replace(/`/g, '\\`')
|
|
402
|
-
.replace(/\$/g, '\\$');
|
|
403
|
-
launchCommand = buildInitialPromptCommand(agent, `"${escapedPrompt}"`, settings.permissionMode);
|
|
404
|
-
}
|
|
405
|
-
}
|
|
406
|
-
else {
|
|
407
|
-
launchCommand = buildAgentCommand(agent, settings.permissionMode);
|
|
408
|
-
}
|
|
409
|
-
await tmuxService.sendShellCommand(paneInfo, launchCommand);
|
|
410
|
-
await tmuxService.sendTmuxKeys(paneInfo, 'Enter');
|
|
411
|
-
if (shouldSendPromptViaTmux) {
|
|
412
|
-
await sendPromptViaTmux({
|
|
413
|
-
paneId: paneInfo,
|
|
414
|
-
prompt,
|
|
415
|
-
tmuxService,
|
|
416
|
-
expectedCommand: getAgentProcessName(agent),
|
|
417
|
-
baselineCommand,
|
|
418
|
-
prePromptKeys: getSendKeysPrePrompt(agent),
|
|
419
|
-
submitKeys: getSendKeysSubmit(agent),
|
|
420
|
-
postPasteDelayMs: getSendKeysPostPasteDelayMs(agent),
|
|
421
|
-
readyDelayMs: getSendKeysReadyDelayMs(agent),
|
|
422
|
-
});
|
|
423
|
-
}
|
|
424
|
-
if (agent === 'claude') {
|
|
425
|
-
// Auto-approve trust prompts for Claude (workspace trust, not edit permissions)
|
|
426
|
-
autoApproveTrustPrompt(paneInfo, prompt).catch(() => {
|
|
427
|
-
// Ignore errors in background monitoring
|
|
428
|
-
});
|
|
429
|
-
}
|
|
430
|
-
}
|
|
431
|
-
// Keep focus on the new pane
|
|
432
|
-
await tmuxService.selectPane(paneInfo);
|
|
433
|
-
// Create the pane object
|
|
434
319
|
const newPane = {
|
|
435
320
|
id: `dmux-${Date.now()}`,
|
|
436
321
|
slug,
|
|
437
322
|
displayName: existingWorktreeMetadata?.displayName,
|
|
438
|
-
branchName: branchName !== slug ? branchName : undefined,
|
|
323
|
+
branchName: branchName !== slug ? branchName : undefined,
|
|
439
324
|
prompt: prompt || 'No initial prompt',
|
|
440
325
|
paneId: paneInfo,
|
|
441
326
|
projectRoot,
|
|
442
327
|
projectName: paneProjectName,
|
|
328
|
+
colorTheme: resolveProjectColorTheme(projectRoot, configSidebarProjects),
|
|
443
329
|
worktreePath,
|
|
444
330
|
agent,
|
|
331
|
+
hidden: false,
|
|
445
332
|
permissionMode: settings.permissionMode,
|
|
446
|
-
// Set autopilot based on settings (use ?? to properly handle false vs undefined)
|
|
447
333
|
autopilot: settings.enableAutopilotByDefault ?? false,
|
|
448
334
|
mergeTargetChain,
|
|
449
335
|
};
|
|
450
|
-
|
|
451
|
-
|
|
336
|
+
const state = StateManager.getInstance().getState();
|
|
337
|
+
const tmuxTitle = getPaneTmuxTitle(newPane, sessionProjectRoot);
|
|
338
|
+
const hookExtraEnv = state.serverPort
|
|
339
|
+
? { DMUX_SERVER_PORT: String(state.serverPort) }
|
|
340
|
+
: undefined;
|
|
341
|
+
const bootstrapConfig = {
|
|
342
|
+
version: 1,
|
|
343
|
+
projectRoot,
|
|
344
|
+
worktreePath,
|
|
345
|
+
branchName,
|
|
346
|
+
slug,
|
|
347
|
+
prompt,
|
|
348
|
+
agent,
|
|
349
|
+
permissionMode: settings.permissionMode,
|
|
350
|
+
pane: newPane,
|
|
351
|
+
tmuxTitle,
|
|
352
|
+
existingWorktree: !!existingWorktree,
|
|
353
|
+
resolvedStartPoint,
|
|
354
|
+
isHooksEditingSession,
|
|
355
|
+
metadata: {
|
|
356
|
+
agent,
|
|
357
|
+
permissionMode: settings.permissionMode,
|
|
358
|
+
displayName: existingWorktreeMetadata?.displayName,
|
|
359
|
+
branchName: branchName !== slug ? branchName : undefined,
|
|
360
|
+
mergeTargetChain,
|
|
361
|
+
},
|
|
362
|
+
hookExtraEnv,
|
|
363
|
+
};
|
|
364
|
+
try {
|
|
365
|
+
const bootstrapConfigPath = writePaneBootstrapConfig(projectRoot, slug, bootstrapConfig);
|
|
366
|
+
const bootstrapCommand = buildPaneBootstrapCommand(resolvePaneBootstrapRunnerPath(), bootstrapConfigPath, worktreePath);
|
|
367
|
+
await tmuxService.sendShellCommand(paneInfo, bootstrapCommand);
|
|
368
|
+
await tmuxService.sendTmuxKeys(paneInfo, 'Enter');
|
|
369
|
+
}
|
|
370
|
+
catch (error) {
|
|
371
|
+
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
372
|
+
LogService.getInstance().error(`Failed to start pane bootstrap for ${slug}: ${errorMsg}`, 'paneCreation', undefined, error instanceof Error ? error : undefined);
|
|
373
|
+
try {
|
|
374
|
+
await tmuxService.killPane(paneInfo);
|
|
375
|
+
}
|
|
376
|
+
catch {
|
|
377
|
+
// best-effort cleanup
|
|
378
|
+
}
|
|
379
|
+
throw new Error(`Failed to start pane bootstrap for "${slug}": ${errorMsg}`);
|
|
380
|
+
}
|
|
381
|
+
// Keep focus on the new pane
|
|
382
|
+
await tmuxService.selectPane(paneInfo);
|
|
383
|
+
// CRITICAL: Save the pane to config IMMEDIATELY before destroying welcome pane.
|
|
384
|
+
// Only needed for the first content pane — ensures loadPanes sees a pane in config
|
|
385
|
+
// before we kill the welcome pane (prevents spurious "0 panes" welcome recreation).
|
|
452
386
|
if (isFirstContentPane) {
|
|
453
387
|
try {
|
|
454
388
|
const configContent = fs.readFileSync(configPath, 'utf-8');
|
|
@@ -457,16 +391,22 @@ export async function createPane(options, availableAgents) {
|
|
|
457
391
|
config.panes = [...existingPanes, newPane];
|
|
458
392
|
config.lastUpdated = new Date().toISOString();
|
|
459
393
|
atomicWriteJsonSync(configPath, config);
|
|
460
|
-
// NOW destroy the welcome pane (event-based destruction)
|
|
461
|
-
const { destroyWelcomePaneCoordinated } = await import('./welcomePaneManager.js');
|
|
462
|
-
destroyWelcomePaneCoordinated(sessionProjectRoot);
|
|
463
394
|
}
|
|
464
395
|
catch (error) {
|
|
465
396
|
// Log but don't fail - welcome pane cleanup is not critical
|
|
466
397
|
}
|
|
467
398
|
}
|
|
468
|
-
//
|
|
469
|
-
|
|
399
|
+
// Always destroy the welcome pane if one exists in config.
|
|
400
|
+
// We do this unconditionally because shell panes detected by detectAndAddShellPanes
|
|
401
|
+
// can make existingPanes.length > 0 even when no real content panes exist yet,
|
|
402
|
+
// which causes isFirstContentPane to be false and skips welcome pane destruction.
|
|
403
|
+
try {
|
|
404
|
+
const { destroyWelcomePaneCoordinated } = await import('./welcomePaneManager.js');
|
|
405
|
+
destroyWelcomePaneCoordinated(sessionProjectRoot);
|
|
406
|
+
}
|
|
407
|
+
catch {
|
|
408
|
+
// Ignore - welcome pane cleanup is not critical
|
|
409
|
+
}
|
|
470
410
|
// Switch back to the original pane
|
|
471
411
|
await tmuxService.selectPane(originalPaneId);
|
|
472
412
|
// Re-set the title for the dmux pane
|
|
@@ -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"}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
function normalizeSuffix(slugSuffix) {
|
|
2
|
+
if (!slugSuffix)
|
|
3
|
+
return '';
|
|
4
|
+
return slugSuffix
|
|
5
|
+
.trim()
|
|
6
|
+
.toLowerCase()
|
|
7
|
+
.replace(/[^a-z0-9-]/g, '-')
|
|
8
|
+
.replace(/-+/g, '-')
|
|
9
|
+
.replace(/^-+|-+$/g, '');
|
|
10
|
+
}
|
|
11
|
+
function appendNormalizedSuffix(value, slugSuffix) {
|
|
12
|
+
const suffix = normalizeSuffix(slugSuffix);
|
|
13
|
+
if (!suffix)
|
|
14
|
+
return value;
|
|
15
|
+
if (value.toLowerCase().endsWith(`-${suffix}`))
|
|
16
|
+
return value;
|
|
17
|
+
return `${value}-${suffix}`;
|
|
18
|
+
}
|
|
19
|
+
export function sanitizeWorktreeSlugFromBranch(branchName) {
|
|
20
|
+
const normalized = branchName
|
|
21
|
+
.trim()
|
|
22
|
+
.toLowerCase()
|
|
23
|
+
.replace(/[\\/]+/g, '-')
|
|
24
|
+
.replace(/[^a-z0-9._-]+/g, '-')
|
|
25
|
+
.replace(/-+/g, '-')
|
|
26
|
+
.replace(/^-+|-+$/g, '')
|
|
27
|
+
.replace(/^\.+|\.+$/g, '');
|
|
28
|
+
return normalized || 'pane';
|
|
29
|
+
}
|
|
30
|
+
export function resolvePaneNaming(input) {
|
|
31
|
+
const generatedSlug = (input.generatedSlug || '').trim() || 'pane';
|
|
32
|
+
const configuredBaseBranch = (input.baseBranchSetting || '').trim();
|
|
33
|
+
const overrideBaseBranch = (input.baseBranchOverride || '').trim();
|
|
34
|
+
const explicitBranchName = (input.branchNameOverride || '').trim();
|
|
35
|
+
const branchPrefix = input.branchPrefix || '';
|
|
36
|
+
const baseBranch = overrideBaseBranch || configuredBaseBranch;
|
|
37
|
+
const baseBranchName = explicitBranchName || `${branchPrefix}${generatedSlug}`;
|
|
38
|
+
const baseSlug = explicitBranchName
|
|
39
|
+
? sanitizeWorktreeSlugFromBranch(explicitBranchName)
|
|
40
|
+
: generatedSlug;
|
|
41
|
+
return {
|
|
42
|
+
slug: appendNormalizedSuffix(baseSlug, input.slugSuffix),
|
|
43
|
+
branchName: appendNormalizedSuffix(baseBranchName, input.slugSuffix),
|
|
44
|
+
baseBranch,
|
|
45
|
+
};
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=paneNaming.js.map
|