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.
Files changed (147) hide show
  1. package/README.md +11 -1
  2. package/dist/DmuxApp.d.ts.map +1 -1
  3. package/dist/DmuxApp.js +23 -13
  4. package/dist/DmuxApp.js.map +1 -1
  5. package/dist/components/inputs/InlineCursorInput.d.ts +10 -0
  6. package/dist/components/inputs/InlineCursorInput.d.ts.map +1 -0
  7. package/dist/components/inputs/InlineCursorInput.js +101 -0
  8. package/dist/components/inputs/InlineCursorInput.js.map +1 -0
  9. package/dist/components/popups/newPaneFieldNavigation.d.ts +9 -0
  10. package/dist/components/popups/newPaneFieldNavigation.d.ts.map +1 -0
  11. package/dist/components/popups/newPaneFieldNavigation.js +20 -0
  12. package/dist/components/popups/newPaneFieldNavigation.js.map +1 -0
  13. package/dist/components/popups/newPaneGitOptions.d.ts +23 -0
  14. package/dist/components/popups/newPaneGitOptions.d.ts.map +1 -0
  15. package/dist/components/popups/newPaneGitOptions.js +91 -0
  16. package/dist/components/popups/newPaneGitOptions.js.map +1 -0
  17. package/dist/components/popups/newPanePopup.d.ts +7 -2
  18. package/dist/components/popups/newPanePopup.d.ts.map +1 -1
  19. package/dist/components/popups/newPanePopup.js +267 -19
  20. package/dist/components/popups/newPanePopup.js.map +1 -1
  21. package/dist/hooks/useInputHandling.d.ts +3 -2
  22. package/dist/hooks/useInputHandling.d.ts.map +1 -1
  23. package/dist/hooks/useInputHandling.js +11 -15
  24. package/dist/hooks/useInputHandling.js.map +1 -1
  25. package/dist/hooks/usePaneCreation.d.ts +6 -3
  26. package/dist/hooks/usePaneCreation.d.ts.map +1 -1
  27. package/dist/hooks/usePaneCreation.js +20 -3
  28. package/dist/hooks/usePaneCreation.js.map +1 -1
  29. package/dist/hooks/usePaneLoading.d.ts.map +1 -1
  30. package/dist/hooks/usePaneLoading.js +16 -1
  31. package/dist/hooks/usePaneLoading.js.map +1 -1
  32. package/dist/i18n/index.d.ts +33 -0
  33. package/dist/i18n/index.d.ts.map +1 -0
  34. package/dist/i18n/index.js +70 -0
  35. package/dist/i18n/index.js.map +1 -0
  36. package/dist/i18n/locales/en.d.ts +4 -0
  37. package/dist/i18n/locales/en.d.ts.map +1 -0
  38. package/dist/i18n/locales/en.js +114 -0
  39. package/dist/i18n/locales/en.js.map +1 -0
  40. package/dist/i18n/locales/ja.d.ts +4 -0
  41. package/dist/i18n/locales/ja.d.ts.map +1 -0
  42. package/dist/i18n/locales/ja.js +114 -0
  43. package/dist/i18n/locales/ja.js.map +1 -0
  44. package/dist/index.js +15 -14
  45. package/dist/index.js.map +1 -1
  46. package/dist/server/embedded-assets.d.ts.map +1 -1
  47. package/dist/server/embedded-assets.js +4 -12
  48. package/dist/server/embedded-assets.js.map +1 -1
  49. package/dist/services/DmuxAttentionService.d.ts +2 -0
  50. package/dist/services/DmuxAttentionService.d.ts.map +1 -1
  51. package/dist/services/DmuxAttentionService.js +17 -0
  52. package/dist/services/DmuxAttentionService.js.map +1 -1
  53. package/dist/services/DmuxFocusService.d.ts +1 -0
  54. package/dist/services/DmuxFocusService.d.ts.map +1 -1
  55. package/dist/services/DmuxFocusService.js +7 -0
  56. package/dist/services/DmuxFocusService.js.map +1 -1
  57. package/dist/services/PopupManager.d.ts +7 -2
  58. package/dist/services/PopupManager.d.ts.map +1 -1
  59. package/dist/services/PopupManager.js +44 -6
  60. package/dist/services/PopupManager.js.map +1 -1
  61. package/dist/services/StatusDetector.d.ts +1 -1
  62. package/dist/services/StatusDetector.d.ts.map +1 -1
  63. package/dist/services/StatusDetector.js +6 -3
  64. package/dist/services/StatusDetector.js.map +1 -1
  65. package/dist/types.d.ts +11 -0
  66. package/dist/types.d.ts.map +1 -1
  67. package/dist/utils/agentLaunch.d.ts +4 -0
  68. package/dist/utils/agentLaunch.d.ts.map +1 -1
  69. package/dist/utils/agentLaunch.js +28 -10
  70. package/dist/utils/agentLaunch.js.map +1 -1
  71. package/dist/utils/attachAgent.d.ts +1 -0
  72. package/dist/utils/attachAgent.d.ts.map +1 -1
  73. package/dist/utils/attachAgent.js +17 -1
  74. package/dist/utils/attachAgent.js.map +1 -1
  75. package/dist/utils/claudeHooks.d.ts +9 -0
  76. package/dist/utils/claudeHooks.d.ts.map +1 -0
  77. package/dist/utils/claudeHooks.js +104 -0
  78. package/dist/utils/claudeHooks.js.map +1 -0
  79. package/dist/utils/codexHooks.d.ts +5 -0
  80. package/dist/utils/codexHooks.d.ts.map +1 -1
  81. package/dist/utils/codexHooks.js +17 -3
  82. package/dist/utils/codexHooks.js.map +1 -1
  83. package/dist/utils/devWatchCommand.d.ts.map +1 -1
  84. package/dist/utils/devWatchCommand.js +6 -2
  85. package/dist/utils/devWatchCommand.js.map +1 -1
  86. package/dist/utils/dmuxCommand.d.ts +4 -3
  87. package/dist/utils/dmuxCommand.d.ts.map +1 -1
  88. package/dist/utils/dmuxCommand.js +15 -14
  89. package/dist/utils/dmuxCommand.js.map +1 -1
  90. package/dist/utils/generated-agents-doc.d.ts +1 -1
  91. package/dist/utils/generated-agents-doc.d.ts.map +1 -1
  92. package/dist/utils/generated-agents-doc.js +46 -11
  93. package/dist/utils/generated-agents-doc.js.map +1 -1
  94. package/dist/utils/git.d.ts +8 -0
  95. package/dist/utils/git.d.ts.map +1 -1
  96. package/dist/utils/git.js +26 -0
  97. package/dist/utils/git.js.map +1 -1
  98. package/dist/utils/hooks.d.ts +15 -0
  99. package/dist/utils/hooks.d.ts.map +1 -1
  100. package/dist/utils/hooks.js +105 -0
  101. package/dist/utils/hooks.js.map +1 -1
  102. package/dist/utils/hooksDocs.d.ts +1 -1
  103. package/dist/utils/hooksDocs.d.ts.map +1 -1
  104. package/dist/utils/hooksDocs.js +21 -11
  105. package/dist/utils/hooksDocs.js.map +1 -1
  106. package/dist/utils/paneBootstrapConfig.d.ts +29 -0
  107. package/dist/utils/paneBootstrapConfig.d.ts.map +1 -0
  108. package/dist/utils/paneBootstrapConfig.js +2 -0
  109. package/dist/utils/paneBootstrapConfig.js.map +1 -0
  110. package/dist/utils/paneBootstrapRunner.d.ts +3 -0
  111. package/dist/utils/paneBootstrapRunner.d.ts.map +1 -0
  112. package/dist/utils/paneBootstrapRunner.js +533 -0
  113. package/dist/utils/paneBootstrapRunner.js.map +1 -0
  114. package/dist/utils/paneCreation.d.ts +4 -1
  115. package/dist/utils/paneCreation.d.ts.map +1 -1
  116. package/dist/utils/paneCreation.js +142 -267
  117. package/dist/utils/paneCreation.js.map +1 -1
  118. package/dist/utils/paneNaming.d.ts +16 -0
  119. package/dist/utils/paneNaming.d.ts.map +1 -0
  120. package/dist/utils/paneNaming.js +47 -0
  121. package/dist/utils/paneNaming.js.map +1 -0
  122. package/dist/utils/pathEnvironment.d.ts +6 -0
  123. package/dist/utils/pathEnvironment.d.ts.map +1 -0
  124. package/dist/utils/pathEnvironment.js +59 -0
  125. package/dist/utils/pathEnvironment.js.map +1 -0
  126. package/dist/utils/reopenWorktree.d.ts.map +1 -1
  127. package/dist/utils/reopenWorktree.js +18 -1
  128. package/dist/utils/reopenWorktree.js.map +1 -1
  129. package/dist/utils/settingsManager.d.ts +6 -0
  130. package/dist/utils/settingsManager.d.ts.map +1 -1
  131. package/dist/utils/settingsManager.js +164 -0
  132. package/dist/utils/settingsManager.js.map +1 -1
  133. package/dist/utils/shellPaneDetection.d.ts.map +1 -1
  134. package/dist/utils/shellPaneDetection.js +4 -0
  135. package/dist/utils/shellPaneDetection.js.map +1 -1
  136. package/dist/utils/worktreeMetadata.d.ts +1 -0
  137. package/dist/utils/worktreeMetadata.d.ts.map +1 -1
  138. package/dist/utils/worktreeMetadata.js +3 -0
  139. package/dist/utils/worktreeMetadata.js.map +1 -1
  140. package/dist/workers/PaneWorker.js +43 -18
  141. package/dist/workers/PaneWorker.js.map +1 -1
  142. package/dist/workers/WorkerMessages.d.ts +5 -2
  143. package/dist/workers/WorkerMessages.d.ts.map +1 -1
  144. package/dist/workers/WorkerMessages.js.map +1 -1
  145. package/native/macos/dmux-helper.swift +1 -18
  146. package/native/macos/prebuilt/dmux-helper.app/Contents/MacOS/dmux-helper +0 -0
  147. 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, triggerHookSync, initializeHooksDirectory } from './hooks.js';
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 { appendSlugSuffix, buildAgentCommand, buildInitialPromptCommand, getAgentProcessName, getPromptTransport, getSendKeysPostPasteDelayMs, getSendKeysPrePrompt, getSendKeysReadyDelayMs, getSendKeysSubmit, } from './agentLaunch.js';
14
- import { buildWorktreePaneTitle } from './paneTitle.js';
15
- import { buildPromptReadAndDeleteSnippet, writePromptFile, } from './promptStore.js';
16
- import { ensureGeminiFolderTrusted } from './geminiTrust.js';
17
- import { isValidBranchName } from './git.js';
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
- // Generate slug (filesystem-safe directory name) and branch name (may include prefix).
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 slug = existingWorktree
113
- ? existingWorktree.slug
114
- : appendSlugSuffix(generatedSlug, slugSuffix);
115
- const branchName = existingWorktree
116
- ? existingWorktree.branchName
117
- : (branchPrefix ? `${branchPrefix}${slug}` : slug);
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
- // Subsequent panes - always split horizontally, let layout manager organize
179
- // Get actual dmux pane IDs (not welcome pane) from existingPanes
180
- const dmuxPaneIds = existingPanes.map(p => p.paneId);
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
- const dmuxPaneIds = existingPanes.map(p => p.paneId);
212
- const targetPane = dmuxPaneIds[dmuxPaneIds.length - 1];
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
- // Set pane title (project-tagged for collision-safe rebinding across projects)
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
- const paneTitle = projectRoot === sessionProjectRoot
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 allContentPaneIds = [...existingPanes.map(p => p.paneId), paneInfo];
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
- // Create git worktree and cd into it
252
- try {
253
- if (existingWorktree) {
254
- if (!fs.existsSync(path.join(worktreePath, '.git'))) {
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
- // Run worktree_created hook synchronously BEFORE launching the agent.
401
- // If the hook fails, tear down the pane and abort so the agent never
402
- // runs against a half-configured worktree.
403
- const hookResult = await triggerHookSync('worktree_created', projectRoot, newPane);
404
- if (!hookResult.success) {
405
- const hookError = hookResult.error || 'unknown error';
406
- LogService.getInstance().error(`worktree_created hook failed for ${slug}: ${hookError}`, 'paneCreation');
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 (killError) {
411
- LogService.getInstance().warn(`Failed to kill pane ${paneInfo} after worktree_created hook failure: ${killError}`, 'paneCreation');
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"}