dmux 5.6.1 → 5.6.3

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 (125) hide show
  1. package/dist/DmuxApp.d.ts.map +1 -1
  2. package/dist/DmuxApp.js +43 -17
  3. package/dist/DmuxApp.js.map +1 -1
  4. package/dist/actions/implementations/closeAction.d.ts.map +1 -1
  5. package/dist/actions/implementations/closeAction.js +8 -5
  6. package/dist/actions/implementations/closeAction.js.map +1 -1
  7. package/dist/actions/implementations/duplicateAction.d.ts.map +1 -1
  8. package/dist/actions/implementations/duplicateAction.js +3 -1
  9. package/dist/actions/implementations/duplicateAction.js.map +1 -1
  10. package/dist/actions/implementations/mergeAction.d.ts.map +1 -1
  11. package/dist/actions/implementations/mergeAction.js +9 -6
  12. package/dist/actions/implementations/mergeAction.js.map +1 -1
  13. package/dist/actions/implementations/renameAction.d.ts +0 -9
  14. package/dist/actions/implementations/renameAction.d.ts.map +1 -1
  15. package/dist/actions/implementations/renameAction.js +77 -13
  16. package/dist/actions/implementations/renameAction.js.map +1 -1
  17. package/dist/actions/implementations/toggleAutopilotAction.d.ts.map +1 -1
  18. package/dist/actions/implementations/toggleAutopilotAction.js +3 -1
  19. package/dist/actions/implementations/toggleAutopilotAction.js.map +1 -1
  20. package/dist/actions/implementations/viewAction.d.ts.map +1 -1
  21. package/dist/actions/implementations/viewAction.js +4 -2
  22. package/dist/actions/implementations/viewAction.js.map +1 -1
  23. package/dist/actions/merge/issueHandlers/mergeConflictHandler.d.ts.map +1 -1
  24. package/dist/actions/merge/issueHandlers/mergeConflictHandler.js +3 -1
  25. package/dist/actions/merge/issueHandlers/mergeConflictHandler.js.map +1 -1
  26. package/dist/components/panes/PaneCard.d.ts.map +1 -1
  27. package/dist/components/panes/PaneCard.js +4 -1
  28. package/dist/components/panes/PaneCard.js.map +1 -1
  29. package/dist/components/popups/logsPopup.js +2 -1
  30. package/dist/components/popups/logsPopup.js.map +1 -1
  31. package/dist/components/popups/projectSelectPopup.d.ts +6 -0
  32. package/dist/components/popups/projectSelectPopup.d.ts.map +1 -1
  33. package/dist/components/popups/projectSelectPopup.js +23 -4
  34. package/dist/components/popups/projectSelectPopup.js.map +1 -1
  35. package/dist/components/popups/reopenWorktreePopup.d.ts +26 -8
  36. package/dist/components/popups/reopenWorktreePopup.d.ts.map +1 -1
  37. package/dist/components/popups/reopenWorktreePopup.js +280 -50
  38. package/dist/components/popups/reopenWorktreePopup.js.map +1 -1
  39. package/dist/hooks/useInputHandling.d.ts +4 -1
  40. package/dist/hooks/useInputHandling.d.ts.map +1 -1
  41. package/dist/hooks/useInputHandling.js +81 -29
  42. package/dist/hooks/useInputHandling.js.map +1 -1
  43. package/dist/hooks/useNavigation.d.ts.map +1 -1
  44. package/dist/hooks/useNavigation.js +7 -8
  45. package/dist/hooks/useNavigation.js.map +1 -1
  46. package/dist/hooks/usePaneLoading.js +1 -1
  47. package/dist/hooks/usePaneLoading.js.map +1 -1
  48. package/dist/hooks/usePaneSync.d.ts +2 -2
  49. package/dist/hooks/usePaneSync.js +2 -2
  50. package/dist/hooks/usePanes.d.ts.map +1 -1
  51. package/dist/hooks/usePanes.js +2 -1
  52. package/dist/hooks/usePanes.js.map +1 -1
  53. package/dist/index.js +2 -1
  54. package/dist/index.js.map +1 -1
  55. package/dist/server/embedded-assets.js +1 -1
  56. package/dist/services/PaneAnalyzer.d.ts +1 -1
  57. package/dist/services/PaneAnalyzer.d.ts.map +1 -1
  58. package/dist/services/PaneAnalyzer.js +7 -3
  59. package/dist/services/PaneAnalyzer.js.map +1 -1
  60. package/dist/services/PopupManager.d.ts +11 -8
  61. package/dist/services/PopupManager.d.ts.map +1 -1
  62. package/dist/services/PopupManager.js +45 -8
  63. package/dist/services/PopupManager.js.map +1 -1
  64. package/dist/services/StatusDetector.d.ts.map +1 -1
  65. package/dist/services/StatusDetector.js +4 -3
  66. package/dist/services/StatusDetector.js.map +1 -1
  67. package/dist/services/TmuxService.d.ts +4 -0
  68. package/dist/services/TmuxService.d.ts.map +1 -1
  69. package/dist/services/TmuxService.js +12 -0
  70. package/dist/services/TmuxService.js.map +1 -1
  71. package/dist/services/WorktreeCleanupService.d.ts +2 -0
  72. package/dist/services/WorktreeCleanupService.d.ts.map +1 -1
  73. package/dist/services/WorktreeCleanupService.js +68 -6
  74. package/dist/services/WorktreeCleanupService.js.map +1 -1
  75. package/dist/types.d.ts +2 -0
  76. package/dist/types.d.ts.map +1 -1
  77. package/dist/utils/conflictResolutionPane.d.ts.map +1 -1
  78. package/dist/utils/conflictResolutionPane.js +2 -2
  79. package/dist/utils/conflictResolutionPane.js.map +1 -1
  80. package/dist/utils/generated-agents-doc.d.ts +1 -1
  81. package/dist/utils/generated-agents-doc.js +1 -1
  82. package/dist/utils/mergeTargets.d.ts +1 -1
  83. package/dist/utils/mergeTargets.d.ts.map +1 -1
  84. package/dist/utils/mergeTargets.js +12 -8
  85. package/dist/utils/mergeTargets.js.map +1 -1
  86. package/dist/utils/mergeValidation.d.ts.map +1 -1
  87. package/dist/utils/mergeValidation.js +45 -11
  88. package/dist/utils/mergeValidation.js.map +1 -1
  89. package/dist/utils/paneAttentionHeuristics.d.ts +1 -0
  90. package/dist/utils/paneAttentionHeuristics.d.ts.map +1 -1
  91. package/dist/utils/paneAttentionHeuristics.js +89 -9
  92. package/dist/utils/paneAttentionHeuristics.js.map +1 -1
  93. package/dist/utils/paneCreation.d.ts +5 -0
  94. package/dist/utils/paneCreation.d.ts.map +1 -1
  95. package/dist/utils/paneCreation.js +96 -74
  96. package/dist/utils/paneCreation.js.map +1 -1
  97. package/dist/utils/paneRebinding.d.ts +1 -1
  98. package/dist/utils/paneRebinding.js +1 -1
  99. package/dist/utils/paneTitle.d.ts +7 -1
  100. package/dist/utils/paneTitle.d.ts.map +1 -1
  101. package/dist/utils/paneTitle.js +54 -10
  102. package/dist/utils/paneTitle.js.map +1 -1
  103. package/dist/utils/projectRoot.d.ts +8 -0
  104. package/dist/utils/projectRoot.d.ts.map +1 -1
  105. package/dist/utils/projectRoot.js +73 -6
  106. package/dist/utils/projectRoot.js.map +1 -1
  107. package/dist/utils/reopenWorktree.d.ts +2 -0
  108. package/dist/utils/reopenWorktree.d.ts.map +1 -1
  109. package/dist/utils/reopenWorktree.js +8 -6
  110. package/dist/utils/reopenWorktree.js.map +1 -1
  111. package/dist/utils/resumeBranches.d.ts +29 -0
  112. package/dist/utils/resumeBranches.d.ts.map +1 -0
  113. package/dist/utils/resumeBranches.js +640 -0
  114. package/dist/utils/resumeBranches.js.map +1 -0
  115. package/dist/utils/tmux.d.ts +4 -0
  116. package/dist/utils/tmux.d.ts.map +1 -1
  117. package/dist/utils/tmux.js +8 -0
  118. package/dist/utils/tmux.js.map +1 -1
  119. package/dist/utils/worktreeMetadata.d.ts +1 -0
  120. package/dist/utils/worktreeMetadata.d.ts.map +1 -1
  121. package/dist/utils/worktreeMetadata.js +17 -1
  122. package/dist/utils/worktreeMetadata.js.map +1 -1
  123. package/dist/workers/PaneWorker.js +30 -17
  124. package/dist/workers/PaneWorker.js.map +1 -1
  125. package/package.json +1 -1
@@ -2,7 +2,7 @@ import path from 'path';
2
2
  import * as fs from 'fs';
3
3
  import { execSync } from 'child_process';
4
4
  import { TmuxService } from '../services/TmuxService.js';
5
- import { setupSidebarLayout, getTerminalDimensions, splitPane, } from './tmux.js';
5
+ import { ensurePaneBorderStatusForCurrentSession, setupSidebarLayout, getTerminalDimensions, splitPane, } from './tmux.js';
6
6
  import { SIDEBAR_WIDTH, recalculateAndApplyLayout } from './layoutManager.js';
7
7
  import { generateSlug } from './slug.js';
8
8
  import { capturePaneContent } from './paneCapture.js';
@@ -16,7 +16,7 @@ import { buildPromptReadAndDeleteSnippet, writePromptFile, } from './promptStore
16
16
  import { ensureGeminiFolderTrusted } from './geminiTrust.js';
17
17
  import { isValidBranchName } from './git.js';
18
18
  import { sendPromptViaTmux } from './agentPromptDispatch.js';
19
- import { writeWorktreeMetadata } from './worktreeMetadata.js';
19
+ import { readWorktreeMetadata, writeWorktreeMetadata } from './worktreeMetadata.js';
20
20
  async function waitForPaneReady(tmuxService, paneId, timeoutMs = 600) {
21
21
  const start = Date.now();
22
22
  while ((Date.now() - start) < timeoutMs) {
@@ -31,7 +31,7 @@ async function waitForPaneReady(tmuxService, paneId, timeoutMs = 600) {
31
31
  * Returns the newly created pane and whether agent choice is needed
32
32
  */
33
33
  export async function createPane(options, availableAgents) {
34
- const { prompt, projectName, existingPanes, slugSuffix, slugBase, startPointBranch, mergeTargetChain, skipAgentSelection = false, sessionConfigPath: optionsSessionConfigPath, sessionProjectRoot: optionsSessionProjectRoot, } = options;
34
+ const { prompt, projectName, existingPanes, slugSuffix, slugBase, existingWorktree, startPointBranch, mergeTargetChain, skipAgentSelection = false, sessionConfigPath: optionsSessionConfigPath, sessionProjectRoot: optionsSessionProjectRoot, } = options;
35
35
  let { agent, projectRoot: optionsProjectRoot } = options;
36
36
  // Load settings to check for default agent and autopilot
37
37
  const { SettingsManager } = await import('./settingsManager.js');
@@ -68,6 +68,9 @@ export async function createPane(options, availableAgents) {
68
68
  }
69
69
  const settingsManager = new SettingsManager(projectRoot);
70
70
  const settings = settingsManager.getSettings();
71
+ const existingWorktreeMetadata = existingWorktree
72
+ ? readWorktreeMetadata(existingWorktree.worktreePath)
73
+ : null;
71
74
  const sessionProjectRoot = optionsSessionProjectRoot
72
75
  || (optionsSessionConfigPath ? path.dirname(path.dirname(optionsSessionConfigPath)) : projectRoot);
73
76
  const paneProjectName = path.basename(projectRoot);
@@ -100,12 +103,19 @@ export async function createPane(options, availableAgents) {
100
103
  if (branchPrefix && !isValidBranchName(branchPrefix)) {
101
104
  throw new Error(`Invalid branch prefix: ${branchPrefix}`);
102
105
  }
103
- // Generate slug (filesystem-safe directory name) and branch name (may include prefix)
104
- const generatedSlug = slugBase || await generateSlug(prompt);
105
- const slug = appendSlugSuffix(generatedSlug, slugSuffix);
106
- const branchName = branchPrefix ? `${branchPrefix}${slug}` : slug;
106
+ // Generate slug (filesystem-safe directory name) and branch name (may include prefix).
107
+ const generatedSlug = existingWorktree
108
+ ? existingWorktree.slug
109
+ : (slugBase || await generateSlug(prompt));
110
+ const slug = existingWorktree
111
+ ? existingWorktree.slug
112
+ : appendSlugSuffix(generatedSlug, slugSuffix);
113
+ const branchName = existingWorktree
114
+ ? existingWorktree.branchName
115
+ : (branchPrefix ? `${branchPrefix}${slug}` : slug);
107
116
  const tmuxService = TmuxService.getInstance();
108
- const worktreePath = path.join(projectRoot, '.dmux', 'worktrees', slug);
117
+ const worktreePath = existingWorktree?.worktreePath
118
+ || path.join(projectRoot, '.dmux', 'worktrees', slug);
109
119
  const originalPaneId = tmuxService.getCurrentPaneIdSync();
110
120
  // Load config to get control pane info
111
121
  const configPath = optionsSessionConfigPath
@@ -144,7 +154,7 @@ export async function createPane(options, availableAgents) {
144
154
  }
145
155
  // Enable pane borders to show titles
146
156
  try {
147
- tmuxService.setGlobalOptionSync('pane-border-status', 'top');
157
+ ensurePaneBorderStatusForCurrentSession();
148
158
  }
149
159
  catch {
150
160
  // Ignore if already set or fails
@@ -236,88 +246,99 @@ export async function createPane(options, availableAgents) {
236
246
  || /\.dmux-hooks/i.test(prompt));
237
247
  // Create git worktree and cd into it
238
248
  try {
239
- // IMPORTANT: Prune stale worktrees first to avoid conflicts
240
- // This must run synchronously from dmux, not in the pane
241
- try {
242
- execSync('git worktree prune', {
243
- encoding: 'utf-8',
244
- stdio: 'pipe',
245
- cwd: projectRoot,
246
- });
247
- }
248
- catch {
249
- // Ignore prune errors, proceed anyway
250
- }
251
- // Validate and resolve base branch for new worktrees
252
- const baseBranch = settings.baseBranch || '';
253
- if (baseBranch && !isValidBranchName(baseBranch)) {
254
- throw new Error(`Invalid base branch name: ${baseBranch}`);
255
- }
256
- const resolvedStartPoint = startPointBranch || baseBranch;
257
- if (resolvedStartPoint && !isValidBranchName(resolvedStartPoint)) {
258
- throw new Error(`Invalid worktree start-point branch name: ${resolvedStartPoint}`);
249
+ if (existingWorktree) {
250
+ if (!fs.existsSync(path.join(worktreePath, '.git'))) {
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));
259
256
  }
260
- if (resolvedStartPoint) {
257
+ else {
258
+ // IMPORTANT: Prune stale worktrees first to avoid conflicts
259
+ // This must run synchronously from dmux, not in the pane
261
260
  try {
262
- execSync(`git rev-parse --verify "refs/heads/${resolvedStartPoint}"`, {
261
+ execSync('git worktree prune', {
262
+ encoding: 'utf-8',
263
263
  stdio: 'pipe',
264
264
  cwd: projectRoot,
265
265
  });
266
266
  }
267
267
  catch {
268
- if (startPointBranch) {
269
- throw new Error(`Worktree start-point branch "${resolvedStartPoint}" does not exist anymore. Reopen the parent worktree or recreate it before branching again.`);
270
- }
271
- throw new Error(`Base branch "${resolvedStartPoint}" does not exist. Update the baseBranch setting to a valid branch name.`);
268
+ // Ignore prune errors, proceed anyway
272
269
  }
273
- }
274
- const maxWorktreeAttempts = 3;
275
- const maxWaitTime = 5000; // 5 seconds max
276
- const checkInterval = 100; // Check every 100ms
277
- let worktreeCreated = fs.existsSync(worktreePath);
278
- for (let attempt = 1; attempt <= maxWorktreeAttempts && !worktreeCreated; attempt++) {
279
- // Check if branch already exists (from a deleted worktree or a previous attempt)
280
- let branchExists = false;
281
- try {
282
- execSync(`git show-ref --verify --quiet "refs/heads/${branchName}"`, {
283
- stdio: 'pipe',
284
- cwd: projectRoot,
285
- });
286
- branchExists = true;
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}`);
287
274
  }
288
- catch {
289
- // Branch doesn't exist yet
275
+ const resolvedStartPoint = startPointBranch || baseBranch;
276
+ if (resolvedStartPoint && !isValidBranchName(resolvedStartPoint)) {
277
+ throw new Error(`Invalid worktree start-point branch name: ${resolvedStartPoint}`);
290
278
  }
291
- // Build worktree command:
292
- // - If branch exists, use it (don't create with -b)
293
- // - If branch doesn't exist, create it with -b, optionally from a configured base branch
294
- const startPoint = resolvedStartPoint ? ` "${resolvedStartPoint}"` : '';
295
- const worktreeAddCmd = branchExists
296
- ? `git worktree add "${worktreePath}" "${branchName}"`
297
- : `git worktree add "${worktreePath}" -b "${branchName}"${startPoint}`;
298
- const worktreeCmd = `cd "${projectRoot}" && ${worktreeAddCmd} && cd "${worktreePath}"`;
299
- // Send the git worktree command (auto-quoted by sendShellCommand)
300
- await tmuxService.sendShellCommand(paneInfo, worktreeCmd);
301
- await tmuxService.sendTmuxKeys(paneInfo, 'Enter');
302
- const startTime = Date.now();
303
- while (!fs.existsSync(worktreePath) && (Date.now() - startTime) < maxWaitTime) {
304
- await new Promise((resolve) => setTimeout(resolve, checkInterval));
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
+ }
305
292
  }
306
- worktreeCreated = fs.existsSync(worktreePath);
307
- if (!worktreeCreated && attempt < maxWorktreeAttempts) {
308
- await new Promise((resolve) => setTimeout(resolve, 250 * attempt));
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
+ }
309
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));
310
336
  }
311
- // Verify worktree was created successfully
312
- if (!worktreeCreated) {
313
- throw new Error(`Worktree directory not created at ${worktreePath} after ${maxWorktreeAttempts} attempts`);
314
- }
315
- // Give a bit more time for git to finish setting up the worktree
316
- await new Promise((resolve) => setTimeout(resolve, 500));
317
337
  try {
318
338
  writeWorktreeMetadata(worktreePath, {
319
339
  agent,
320
340
  permissionMode: settings.permissionMode,
341
+ displayName: existingWorktreeMetadata?.displayName,
321
342
  branchName: branchName !== slug ? branchName : undefined,
322
343
  mergeTargetChain,
323
344
  });
@@ -413,6 +434,7 @@ export async function createPane(options, availableAgents) {
413
434
  const newPane = {
414
435
  id: `dmux-${Date.now()}`,
415
436
  slug,
437
+ displayName: existingWorktreeMetadata?.displayName,
416
438
  branchName: branchName !== slug ? branchName : undefined, // Only store if different from slug
417
439
  prompt: prompt || 'No initial prompt',
418
440
  paneId: paneInfo,
@@ -1 +1 @@
1
- {"version":3,"file":"paneCreation.js","sourceRoot":"","sources":["../../src/utils/paneCreation.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;AACxB,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EACL,kBAAkB,EAClB,qBAAqB,EACrB,SAAS,GACV,MAAM,WAAW,CAAC;AACnB,OAAO,EAAE,aAAa,EAAE,yBAAyB,EAAE,MAAM,oBAAoB,CAAC;AAC9E,OAAO,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AACtD,OAAO,EAAE,WAAW,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AACnE,OAAO,EAAE,uBAAuB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAC;AACnF,OAAO,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC;AACvD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EACL,gBAAgB,EAChB,iBAAiB,EACjB,yBAAyB,EACzB,mBAAmB,EACnB,kBAAkB,EAClB,2BAA2B,EAC3B,oBAAoB,EACpB,uBAAuB,EACvB,iBAAiB,GAElB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AACxD,OAAO,EACL,+BAA+B,EAC/B,eAAe,GAChB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,yBAAyB,EAAE,MAAM,kBAAkB,CAAC;AAC7D,OAAO,EAAE,iBAAiB,EAAE,MAAM,UAAU,CAAC;AAC7C,OAAO,EAAE,iBAAiB,EAAE,MAAM,0BAA0B,CAAC;AAC7D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAsB9D,KAAK,UAAU,gBAAgB,CAC7B,WAAwB,EACxB,MAAc,EACd,YAAoB,GAAG;IAEvB,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IACzB,OAAO,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,KAAK,CAAC,GAAG,SAAS,EAAE,CAAC;QACxC,IAAI,MAAM,WAAW,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;YACzC,OAAO;QACT,CAAC;QACD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;IAC1D,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,UAAU,CAC9B,OAA0B,EAC1B,eAA4B;IAE5B,MAAM,EACJ,MAAM,EACN,WAAW,EACX,aAAa,EACb,UAAU,EACV,QAAQ,EACR,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,GAAG,KAAK,EAC1B,iBAAiB,EAAE,wBAAwB,EAC3C,kBAAkB,EAAE,yBAAyB,GAC9C,GAAG,OAAO,CAAC;IACZ,IAAI,EAAE,KAAK,EAAE,WAAW,EAAE,kBAAkB,EAAE,GAAG,OAAO,CAAC;IAEzD,yDAAyD;IACzD,MAAM,EAAE,eAAe,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CAAC,CAAC;IAEjE,oDAAoD;IACpD,IAAI,WAAmB,CAAC;IACxB,IAAI,kBAAkB,EAAE,CAAC;QACvB,WAAW,GAAG,kBAAkB,CAAC;IACnC,CAAC;SAAM,CAAC;QACN,IAAI,CAAC;YACH,oFAAoF;YACpF,kEAAkE;YAClE,MAAM,YAAY,GAAG,QAAQ,CAAC,gCAAgC,EAAE;gBAC9D,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,MAAM;aACd,CAAC,CAAC,IAAI,EAAE,CAAC;YAEV,yEAAyE;YACzE,gDAAgD;YAChD,IAAI,YAAY,KAAK,MAAM,EAAE,CAAC;gBAC5B,yBAAyB;gBACzB,WAAW,GAAG,QAAQ,CAAC,+BAA+B,EAAE;oBACtD,QAAQ,EAAE,OAAO;oBACjB,KAAK,EAAE,MAAM;iBACd,CAAC,CAAC,IAAI,EAAE,CAAC;YACZ,CAAC;iBAAM,CAAC;gBACN,sEAAsE;gBACtE,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;YAC3C,CAAC;QACH,CAAC;QAAC,MAAM,CAAC;YACP,WAAW,GAAG,OAAO,CAAC,GAAG,EAAE,CAAC;QAC9B,CAAC;IACH,CAAC;IAED,MAAM,eAAe,GAAG,IAAI,eAAe,CAAC,WAAW,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,eAAe,CAAC,WAAW,EAAE,CAAC;IAE/C,MAAM,kBAAkB,GAAG,yBAAyB;WAC/C,CAAC,wBAAwB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,wBAAwB,CAAC,CAAC,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC;IACrG,MAAM,eAAe,GAAG,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;IAEnD,4GAA4G;IAC5G,IAAI,CAAC,KAAK,IAAI,CAAC,kBAAkB,IAAI,QAAQ,CAAC,YAAY,EAAE,CAAC;QAC3D,qCAAqC;QACrC,IAAI,eAAe,CAAC,QAAQ,CAAC,QAAQ,CAAC,YAAY,CAAC,EAAE,CAAC;YACpD,KAAK,GAAG,QAAQ,CAAC,YAAY,CAAC;QAChC,CAAC;IACH,CAAC;IAED,oCAAoC;IACpC,IAAI,CAAC,KAAK,IAAI,CAAC,kBAAkB,IAAI,eAAe,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChE,iCAAiC;QACjC,OAAO;YACL,IAAI,EAAE,IAAW;YACjB,gBAAgB,EAAE,IAAI;SACvB,CAAC;IACJ,CAAC;IAED,iEAAiE;IACjE,IAAI,CAAC,KAAK,IAAI,CAAC,kBAAkB,IAAI,eAAe,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QAClE,KAAK,GAAG,eAAe,CAAC,CAAC,CAAC,CAAC;IAC7B,CAAC;IAED,kCAAkC;IAClC,MAAM,WAAW,CAAC,oBAAoB,EAAE,WAAW,EAAE,SAAS,EAAE;QAC9D,WAAW,EAAE,MAAM;QACnB,UAAU,EAAE,KAAK,IAAI,SAAS;KAC/B,CAAC,CAAC;IAEH,mCAAmC;IACnC,MAAM,YAAY,GAAG,QAAQ,CAAC,YAAY,IAAI,EAAE,CAAC;IACjD,IAAI,YAAY,IAAI,CAAC,iBAAiB,CAAC,YAAY,CAAC,EAAE,CAAC;QACrD,MAAM,IAAI,KAAK,CAAC,0BAA0B,YAAY,EAAE,CAAC,CAAC;IAC5D,CAAC;IAED,sFAAsF;IACtF,MAAM,aAAa,GAAG,QAAQ,IAAI,MAAM,YAAY,CAAC,MAAM,CAAC,CAAC;IAC7D,MAAM,IAAI,GAAG,gBAAgB,CAAC,aAAa,EAAE,UAAU,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,YAAY,CAAC,CAAC,CAAC,GAAG,YAAY,GAAG,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;IAClE,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;IAE9C,MAAM,YAAY,GAAG,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,OAAO,EAAE,WAAW,EAAE,IAAI,CAAC,CAAC;IACxE,MAAM,cAAc,GAAG,WAAW,CAAC,oBAAoB,EAAE,CAAC;IAE1D,uCAAuC;IACvC,MAAM,UAAU,GAAG,wBAAwB;WACtC,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,OAAO,EAAE,kBAAkB,CAAC,CAAC;IAChE,IAAI,aAAiC,CAAC;IAEtC,IAAI,CAAC;QACH,MAAM,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QAC3D,MAAM,MAAM,GAAe,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;QACrD,aAAa,GAAG,MAAM,CAAC,aAAa,CAAC;QAErC,sDAAsD;QACtD,IAAI,aAAa,EAAE,CAAC;YAClB,MAAM,MAAM,GAAG,MAAM,WAAW,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;YAC3D,IAAI,CAAC,MAAM,EAAE,CAAC;gBACZ,iEAAiE;gBACjE,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,CAC3B,gBAAgB,aAAa,kCAAkC,cAAc,EAAE,EAC/E,cAAc,CACf,CAAC;gBACF,aAAa,GAAG,cAAc,CAAC;gBAC/B,MAAM,CAAC,aAAa,GAAG,aAAa,CAAC;gBACrC,MAAM,CAAC,eAAe,GAAG,aAAa,CAAC;gBACvC,MAAM,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBAC9C,mBAAmB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAC1C,CAAC;YACD,mCAAmC;QACrC,CAAC;QAED,yCAAyC;QACzC,IAAI,CAAC,aAAa,EAAE,CAAC;YACnB,aAAa,GAAG,cAAc,CAAC;YAC/B,MAAM,CAAC,aAAa,GAAG,aAAa,CAAC;YACrC,MAAM,CAAC,eAAe,GAAG,aAAa,CAAC;YACvC,MAAM,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAE9C,mBAAmB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAC1C,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,mCAAmC;QACnC,aAAa,GAAG,cAAc,CAAC;IACjC,CAAC;IAED,qCAAqC;IACrC,IAAI,CAAC;QACH,WAAW,CAAC,mBAAmB,CAAC,oBAAoB,EAAE,KAAK,CAAC,CAAC;IAC/D,CAAC;IAAC,MAAM,CAAC;QACP,iCAAiC;IACnC,CAAC;IAED,8CAA8C;IAC9C,kGAAkG;IAClG,MAAM,kBAAkB,GAAG,aAAa,CAAC,MAAM,KAAK,CAAC,CAAC;IAEtD,IAAI,QAAgB,CAAC;IAErB,0FAA0F;IAC1F,IAAI,CAAC;QACH,IAAI,kBAAkB,EAAE,CAAC;YACvB,iEAAiE;YACjE,2EAA2E;YAC3E,QAAQ,GAAG,kBAAkB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;QAC5D,CAAC;aAAM,CAAC;YACN,4EAA4E;YAC5E,iEAAiE;YACjE,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;YACrD,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,uCAAuC;YAE/F,+EAA+E;YAC/E,QAAQ,GAAG,SAAS,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;QACzD,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,2DAA2D;QAC3D,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxE,IAAI,QAAQ,CAAC,QAAQ,CAAC,iBAAiB,CAAC,EAAE,CAAC;YACzC,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,CAAC,+DAA+D,EAAE,cAAc,CAAC,CAAC;YAE/G,+DAA+D;YAC/D,MAAM,aAAa,GAAG,cAAc,CAAC,CAAC,yCAAyC;YAC/E,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,CAC3B,+BAA+B,aAAa,OAAO,aAAa,EAAE,EAClE,cAAc,CACf,CAAC;YAEF,IAAI,CAAC;gBACH,MAAM,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBAC3D,MAAM,MAAM,GAAe,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;gBACrD,MAAM,CAAC,aAAa,GAAG,aAAa,CAAC;gBACrC,MAAM,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;gBAC9C,mBAAmB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;gBACxC,aAAa,GAAG,aAAa,CAAC,CAAC,wBAAwB;YACzD,CAAC;YAAC,OAAO,WAAW,EAAE,CAAC;gBACrB,UAAU,CAAC,WAAW,EAAE,CAAC,KAAK,CAC5B,wDAAwD,WAAW,EAAE,EACrE,cAAc,CACf,CAAC;gBACF,MAAM,KAAK,CAAC,CAAC,0BAA0B;YACzC,CAAC;YAED,mDAAmD;YACnD,IAAI,kBAAkB,EAAE,CAAC;gBACvB,QAAQ,GAAG,kBAAkB,CAAC,aAAa,EAAE,WAAW,CAAC,CAAC;YAC5D,CAAC;iBAAM,CAAC;gBACN,MAAM,WAAW,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC;gBACrD,MAAM,UAAU,GAAG,WAAW,CAAC,WAAW,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;gBACvD,QAAQ,GAAG,SAAS,CAAC,EAAE,UAAU,EAAE,GAAG,EAAE,WAAW,EAAE,CAAC,CAAC;YACzD,CAAC;QACH,CAAC;aAAM,CAAC;YACN,4BAA4B;YAC5B,MAAM,KAAK,CAAC;QACd,CAAC;IACH,CAAC;IAED,MAAM,gBAAgB,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;IAE9C,+EAA+E;IAC/E,IAAI,CAAC;QACH,MAAM,SAAS,GAAG,WAAW,KAAK,kBAAkB;YAClD,CAAC,CAAC,IAAI;YACN,CAAC,CAAC,sBAAsB,CAAC,IAAI,EAAE,WAAW,EAAE,eAAe,CAAC,CAAC;QAC/D,MAAM,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;IACtD,CAAC;IAAC,MAAM,CAAC;QACP,gCAAgC;IAClC,CAAC;IAED,gDAAgD;IAChD,IAAI,aAAa,EAAE,CAAC;QAClB,MAAM,UAAU,GAAG,qBAAqB,EAAE,CAAC;QAC3C,MAAM,iBAAiB,GAAG,CAAC,GAAG,aAAa,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,CAAC,CAAC;QAE1E,MAAM,yBAAyB,CAC7B,aAAa,EACb,iBAAiB,EACjB,UAAU,CAAC,KAAK,EAChB,UAAU,CAAC,MAAM,CAClB,CAAC;QAEF,gCAAgC;QAChC,MAAM,WAAW,CAAC,aAAa,EAAE,CAAC;IACpC,CAAC;IAED,kEAAkE;IAClE,MAAM,WAAW,CAAC,cAAc,EAAE,WAAW,EAAE,SAAS,EAAE;QACxD,YAAY,EAAE,QAAQ,IAAI,CAAC,GAAG,EAAE,EAAE;QAClC,SAAS,EAAE,IAAI;QACf,WAAW,EAAE,MAAM;QACnB,UAAU,EAAE,KAAK,IAAI,SAAS;QAC9B,iBAAiB,EAAE,QAAQ;KAC5B,CAAC,CAAC;IAEH,sEAAsE;IACtE,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,IAAI,CACxC,0CAA0C,CAAC,IAAI,CAAC,MAAM,CAAC;WACpD,eAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAChC,CAAC;IAEF,qCAAqC;IACrC,IAAI,CAAC;QACH,4DAA4D;QAC5D,yDAAyD;QACzD,IAAI,CAAC;YACH,QAAQ,CAAC,oBAAoB,EAAE;gBAC7B,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,MAAM;gBACb,GAAG,EAAE,WAAW;aACjB,CAAC,CAAC;QACL,CAAC;QAAC,MAAM,CAAC;YACP,sCAAsC;QACxC,CAAC;QAED,qDAAqD;QACrD,MAAM,UAAU,GAAG,QAAQ,CAAC,UAAU,IAAI,EAAE,CAAC;QAC7C,IAAI,UAAU,IAAI,CAAC,iBAAiB,CAAC,UAAU,CAAC,EAAE,CAAC;YACjD,MAAM,IAAI,KAAK,CAAC,6BAA6B,UAAU,EAAE,CAAC,CAAC;QAC7D,CAAC;QACD,MAAM,kBAAkB,GAAG,gBAAgB,IAAI,UAAU,CAAC;QAC1D,IAAI,kBAAkB,IAAI,CAAC,iBAAiB,CAAC,kBAAkB,CAAC,EAAE,CAAC;YACjE,MAAM,IAAI,KAAK,CAAC,6CAA6C,kBAAkB,EAAE,CAAC,CAAC;QACrF,CAAC;QACD,IAAI,kBAAkB,EAAE,CAAC;YACvB,IAAI,CAAC;gBACH,QAAQ,CAAC,sCAAsC,kBAAkB,GAAG,EAAE;oBACpE,KAAK,EAAE,MAAM;oBACb,GAAG,EAAE,WAAW;iBACjB,CAAC,CAAC;YACL,CAAC;YAAC,MAAM,CAAC;gBACP,IAAI,gBAAgB,EAAE,CAAC;oBACrB,MAAM,IAAI,KAAK,CACb,gCAAgC,kBAAkB,6FAA6F,CAChJ,CAAC;gBACJ,CAAC;gBAED,MAAM,IAAI,KAAK,CACb,gBAAgB,kBAAkB,yEAAyE,CAC5G,CAAC;YACJ,CAAC;QACH,CAAC;QAED,MAAM,mBAAmB,GAAG,CAAC,CAAC;QAC9B,MAAM,WAAW,GAAG,IAAI,CAAC,CAAC,gBAAgB;QAC1C,MAAM,aAAa,GAAG,GAAG,CAAC,CAAC,oBAAoB;QAC/C,IAAI,eAAe,GAAG,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;QAElD,KAAK,IAAI,OAAO,GAAG,CAAC,EAAE,OAAO,IAAI,mBAAmB,IAAI,CAAC,eAAe,EAAE,OAAO,EAAE,EAAE,CAAC;YACpF,iFAAiF;YACjF,IAAI,YAAY,GAAG,KAAK,CAAC;YACzB,IAAI,CAAC;gBACH,QAAQ,CAAC,6CAA6C,UAAU,GAAG,EAAE;oBACnE,KAAK,EAAE,MAAM;oBACb,GAAG,EAAE,WAAW;iBACjB,CAAC,CAAC;gBACH,YAAY,GAAG,IAAI,CAAC;YACtB,CAAC;YAAC,MAAM,CAAC;gBACP,2BAA2B;YAC7B,CAAC;YAED,0BAA0B;YAC1B,oDAAoD;YACpD,yFAAyF;YACzF,MAAM,UAAU,GAAG,kBAAkB,CAAC,CAAC,CAAC,KAAK,kBAAkB,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC;YACxE,MAAM,cAAc,GAAG,YAAY;gBACjC,CAAC,CAAC,qBAAqB,YAAY,MAAM,UAAU,GAAG;gBACtD,CAAC,CAAC,qBAAqB,YAAY,SAAS,UAAU,IAAI,UAAU,EAAE,CAAC;YACzE,MAAM,WAAW,GAAG,OAAO,WAAW,QAAQ,cAAc,WAAW,YAAY,GAAG,CAAC;YAEvF,kEAAkE;YAClE,MAAM,WAAW,CAAC,gBAAgB,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;YAC1D,MAAM,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;YAElD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;YAC7B,OAAO,CAAC,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,EAAE,GAAG,SAAS,CAAC,GAAG,WAAW,EAAE,CAAC;gBAC9E,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;YACrE,CAAC;YAED,eAAe,GAAG,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC,CAAC;YAC9C,IAAI,CAAC,eAAe,IAAI,OAAO,GAAG,mBAAmB,EAAE,CAAC;gBACtD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC;YACrE,CAAC;QACH,CAAC;QAED,2CAA2C;QAC3C,IAAI,CAAC,eAAe,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CAAC,qCAAqC,YAAY,UAAU,mBAAmB,WAAW,CAAC,CAAC;QAC7G,CAAC;QAED,iEAAiE;QACjE,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;QAEzD,IAAI,CAAC;YACH,qBAAqB,CAAC,YAAY,EAAE;gBAClC,KAAK;gBACL,cAAc,EAAE,QAAQ,CAAC,cAAc;gBACvC,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS;gBACxD,gBAAgB;aACjB,CAAC,CAAC;QACL,CAAC;QAAC,OAAO,aAAa,EAAE,CAAC;YACvB,UAAU,CAAC,WAAW,EAAE,CAAC,IAAI,CAC3B,2CAA2C,IAAI,KAAK,aAAa,EAAE,EACnE,cAAc,CACf,CAAC;QACJ,CAAC;QAED,4DAA4D;QAC5D,IAAI,qBAAqB,EAAE,CAAC;YAC1B,wBAAwB,CAAC,YAAY,CAAC,CAAC;QACzC,CAAC;IACH,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,oEAAoE;QACpE,MAAM,QAAQ,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACxE,MAAM,WAAW,CAAC,gBAAgB,CAChC,QAAQ,EACR,sCAAsC,QAAQ,GAAG,CAClD,CAAC;QACF,MAAM,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,WAAW,CAAC,gBAAgB,CAChC,QAAQ,EACR,+DAA+D,UAAU,GAAG,CAC7E,CAAC;QACF,MAAM,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAClD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,uBAAuB,CAAC,CAAC,CAAC;QAE7E,yDAAyD;IAC3D,CAAC;IAED,4BAA4B;IAC5B,MAAM,gBAAgB,GAAG,CAAC,CAAC,CAAC,MAAM,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;IAErD,IAAI,KAAK,EAAE,CAAC;QACV,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,MAAM,mBAAmB,GAAG,EAAE,CAAC,UAAU,CAAC,YAAY,CAAC;gBACrD,CAAC,CAAC,YAAY;gBACd,CAAC,CAAC,WAAW,CAAC;YAChB,yBAAyB,CAAC,mBAAmB,CAAC,CAAC;QACjD,CAAC;QAED,MAAM,eAAe,GAAG,kBAAkB,CAAC,KAAK,CAAC,CAAC;QAClD,MAAM,uBAAuB,GAAG,gBAAgB,IAAI,eAAe,KAAK,WAAW,CAAC;QACpF,IAAI,eAAmC,CAAC;QACxC,IAAI,uBAAuB,EAAE,CAAC;YAC5B,IAAI,CAAC;gBACH,eAAe,GAAG,MAAM,WAAW,CAAC,qBAAqB,CAAC,QAAQ,CAAC,CAAC;YACtE,CAAC;YAAC,MAAM,CAAC;gBACP,eAAe,GAAG,SAAS,CAAC;YAC9B,CAAC;QACH,CAAC;QAED,IAAI,aAAqB,CAAC;QAC1B,IAAI,gBAAgB,IAAI,CAAC,uBAAuB,EAAE,CAAC;YACjD,IAAI,cAAc,GAAkB,IAAI,CAAC;YACzC,IAAI,CAAC;gBACH,cAAc,GAAG,MAAM,eAAe,CAAC,WAAW,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;YACpE,CAAC;YAAC,MAAM,CAAC;gBACP,0DAA0D;YAC5D,CAAC;YAED,IAAI,cAAc,EAAE,CAAC;gBACnB,MAAM,eAAe,GAAG,+BAA+B,CAAC,cAAc,CAAC,CAAC;gBACxE,aAAa,GAAG,GAAG,eAAe,KAAK,yBAAyB,CAC9D,KAAK,EACL,wBAAwB,EACxB,QAAQ,CAAC,cAAc,CACxB,EAAE,CAAC;YACN,CAAC;iBAAM,CAAC;gBACN,MAAM,aAAa,GAAG,MAAM;qBACzB,OAAO,CAAC,KAAK,EAAE,MAAM,CAAC;qBACtB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;qBACpB,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC;qBACpB,OAAO,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;gBACzB,aAAa,GAAG,yBAAyB,CACvC,KAAK,EACL,IAAI,aAAa,GAAG,EACpB,QAAQ,CAAC,cAAc,CACxB,CAAC;YACJ,CAAC;QACH,CAAC;aAAM,CAAC;YACN,aAAa,GAAG,iBAAiB,CAAC,KAAK,EAAE,QAAQ,CAAC,cAAc,CAAC,CAAC;QACpE,CAAC;QAED,MAAM,WAAW,CAAC,gBAAgB,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC;QAC5D,MAAM,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAElD,IAAI,uBAAuB,EAAE,CAAC;YAC5B,MAAM,iBAAiB,CAAC;gBACtB,MAAM,EAAE,QAAQ;gBAChB,MAAM;gBACN,WAAW;gBACX,eAAe,EAAE,mBAAmB,CAAC,KAAK,CAAC;gBAC3C,eAAe;gBACf,aAAa,EAAE,oBAAoB,CAAC,KAAK,CAAC;gBAC1C,UAAU,EAAE,iBAAiB,CAAC,KAAK,CAAC;gBACpC,gBAAgB,EAAE,2BAA2B,CAAC,KAAK,CAAC;gBACpD,YAAY,EAAE,uBAAuB,CAAC,KAAK,CAAC;aAC7C,CAAC,CAAC;QACL,CAAC;QAED,IAAI,KAAK,KAAK,QAAQ,EAAE,CAAC;YACvB,gFAAgF;YAChF,sBAAsB,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC,KAAK,CAAC,GAAG,EAAE;gBAClD,yCAAyC;YAC3C,CAAC,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED,6BAA6B;IAC7B,MAAM,WAAW,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;IAEvC,yBAAyB;IACzB,MAAM,OAAO,GAAa;QACxB,EAAE,EAAE,QAAQ,IAAI,CAAC,GAAG,EAAE,EAAE;QACxB,IAAI;QACJ,UAAU,EAAE,UAAU,KAAK,IAAI,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,SAAS,EAAE,oCAAoC;QAC9F,MAAM,EAAE,MAAM,IAAI,mBAAmB;QACrC,MAAM,EAAE,QAAQ;QAChB,WAAW;QACX,WAAW,EAAE,eAAe;QAC5B,YAAY;QACZ,KAAK;QACL,cAAc,EAAE,QAAQ,CAAC,cAAc;QACvC,iFAAiF;QACjF,SAAS,EAAE,QAAQ,CAAC,wBAAwB,IAAI,KAAK;QACrD,gBAAgB;KACjB,CAAC;IAEF,+EAA+E;IAC/E,qFAAqF;IACrF,IAAI,kBAAkB,EAAE,CAAC;QACvB,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;YAC3D,MAAM,MAAM,GAAe,IAAI,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;YAErD,wDAAwD;YACxD,MAAM,CAAC,KAAK,GAAG,CAAC,GAAG,aAAa,EAAE,OAAO,CAAC,CAAC;YAC3C,MAAM,CAAC,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;YAC9C,mBAAmB,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;YAExC,yDAAyD;YACzD,MAAM,EAAE,6BAA6B,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAC;YAClF,6BAA6B,CAAC,kBAAkB,CAAC,CAAC;QACpD,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,4DAA4D;QAC9D,CAAC;IACH,CAAC;IAED,wDAAwD;IACxD,MAAM,WAAW,CAAC,kBAAkB,EAAE,WAAW,EAAE,OAAO,CAAC,CAAC;IAE5D,mCAAmC;IACnC,MAAM,WAAW,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;IAE7C,qCAAqC;IACrC,IAAI,CAAC;QACH,MAAM,WAAW,CAAC,YAAY,CAAC,cAAc,EAAE,MAAM,CAAC,CAAC;IACzD,CAAC;IAAC,MAAM,CAAC;QACP,gCAAgC;IAClC,CAAC;IAED,OAAO;QACL,IAAI,EAAE,OAAO;QACb,gBAAgB,EAAE,KAAK;KACxB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,CAAC,KAAK,UAAU,sBAAsB,CAC1C,QAAgB,EAChB,MAAc;IAEd,iEAAiE;IACjE,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC,CAAC;IAE1D,MAAM,SAAS,GAAG,GAAG,CAAC,CAAC,wCAAwC;IAC/D,MAAM,aAAa,GAAG,GAAG,CAAC,CAAC,oBAAoB;IAC/C,IAAI,WAAW,GAAG,EAAE,CAAC;IACrB,IAAI,kBAAkB,GAAG,CAAC,CAAC;IAC3B,IAAI,aAAa,GAAG,KAAK,CAAC;IAE1B,sEAAsE;IACtE,MAAM,mBAAmB,GAAG;QAC1B,sCAAsC;QACtC,0CAA0C;QAC1C,sCAAsC;QACtC,wCAAwC;QACxC,wCAAwC;QACxC,uBAAuB;QACvB,mBAAmB;QACnB,oBAAoB;QACpB,mBAAmB;QACnB,mBAAmB;QACnB,uCAAuC;QACvC,2BAA2B;QAC3B,gCAAgC;QAChC,uBAAuB;QACvB,mBAAmB;KACpB,CAAC;IAEF,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC;QACnC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC,CAAC;QAEnE,IAAI,CAAC;YACH,2BAA2B;YAC3B,MAAM,WAAW,GAAG,kBAAkB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;YAErD,mFAAmF;YACnF,IACE,WAAW,CAAC,QAAQ,CAAC,QAAQ,CAAC;gBAC9B,WAAW,CAAC,QAAQ,CAAC,WAAW,CAAC;gBACjC,WAAW,CAAC,QAAQ,CAAC,SAAS,CAAC,EAC/B,CAAC;gBACD,MAAM;YACR,CAAC;YAED,kCAAkC;YAClC,IAAI,WAAW,KAAK,WAAW,EAAE,CAAC;gBAChC,kBAAkB,EAAE,CAAC;YACvB,CAAC;iBAAM,CAAC;gBACN,kBAAkB,GAAG,CAAC,CAAC;gBACvB,WAAW,GAAG,WAAW,CAAC;YAC5B,CAAC;YAED,qDAAqD;YACrD,MAAM,cAAc,GAAG,mBAAmB,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,EAAE,CAC1D,OAAO,CAAC,IAAI,CAAC,WAAW,CAAC,CAC1B,CAAC;YAEF,0DAA0D;YAC1D,IAAI,cAAc,IAAI,CAAC,aAAa,EAAE,CAAC;gBACrC,mEAAmE;gBACnE,IAAI,kBAAkB,IAAI,CAAC,EAAE,CAAC;oBAC5B,uDAAuD;oBACvD,MAAM,iBAAiB,GACrB,2BAA2B,CAAC,IAAI,CAAC,WAAW,CAAC;wBAC7C,gCAAgC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;oBAErD,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,EAAE,CAAC;oBAC9C,IAAI,iBAAiB,EAAE,CAAC;wBACtB,0CAA0C;wBAC1C,MAAM,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBACpD,CAAC;yBAAM,CAAC;wBACN,kDAAkD;wBAClD,MAAM,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;wBAC9C,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC,CAAC;wBACxD,MAAM,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;wBAClD,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC;wBACtE,MAAM,WAAW,CAAC,YAAY,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;oBACpD,CAAC;oBAED,aAAa,GAAG,IAAI,CAAC;oBAErB,mCAAmC;oBACnC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;oBAEzD,4BAA4B;oBAC5B,MAAM,cAAc,GAAG,kBAAkB,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;oBAExD,MAAM,UAAU,GAAG,CAAC,mBAAmB,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CACjD,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,CACvB,CAAC;oBAEF,IAAI,UAAU,EAAE,CAAC;wBACf,6BAA6B;wBAC7B,MAAM,aAAa,GACjB,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC;4BACjC,cAAc,CAAC,QAAQ,CAAC,QAAQ,CAAC;4BACjC,cAAc,CAAC,QAAQ,CAAC,WAAW,CAAC;4BACpC,CAAC,MAAM;gCACL,cAAc,CAAC,QAAQ,CACrB,MAAM,CAAC,SAAS,CAAC,CAAC,EAAE,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC,CACjD,CAAC,CAAC;wBAEP,IAAI,CAAC,aAAa,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;4BACpD,kCAAkC;4BAClC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,GAAG,CAAC,CAAC,CAAC;4BACzD,uEAAuE;4BACvE,+CAA+C;wBACjD,CAAC;wBAED,MAAM;oBACR,CAAC;gBACH,CAAC;YACH,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,0CAA0C;QAC5C,CAAC;IACH,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"paneCreation.js","sourceRoot":"","sources":["../../src/utils/paneCreation.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,6 @@
1
1
  import type { DmuxPane } from '../types.js';
2
2
  /**
3
- * Attempts to rebind a pane whose ID has changed by matching on title (slug).
3
+ * Attempts to rebind a pane whose ID has changed by matching on its stable tmux title.
4
4
  *
5
5
  * IMPORTANT: Only rebinds if the pane ID is truly missing (pane was killed and recreated).
6
6
  * Does NOT rebind if the title simply changed (user renamed it).
@@ -1,7 +1,7 @@
1
1
  import { getPaneTitleCandidates } from './paneTitle.js';
2
2
  import { StateManager } from '../shared/StateManager.js';
3
3
  /**
4
- * Attempts to rebind a pane whose ID has changed by matching on title (slug).
4
+ * Attempts to rebind a pane whose ID has changed by matching on its stable tmux title.
5
5
  *
6
6
  * IMPORTANT: Only rebinds if the pane ID is truly missing (pane was killed and recreated).
7
7
  * Does NOT rebind if the title simply changed (user renamed it).
@@ -1,4 +1,9 @@
1
1
  import type { DmuxPane } from '../types.js';
2
+ export declare const PANE_TITLE_DELIMITER = "__dmux__";
3
+ export declare const LEGACY_PANE_TITLE_DELIMITERS: readonly ["::dmux::"];
4
+ export declare const TMUX_PANE_TITLE_DISPLAY_FORMAT = "#{s|__dmux__.*$||:pane_title}";
5
+ export declare function sanitizePaneDisplayName(value: string): string;
6
+ export declare function getPaneDisplayName(pane: Pick<DmuxPane, 'slug' | 'displayName'>): string;
2
7
  /**
3
8
  * Tmux pane title used for rebinding. Includes a stable project tag for
4
9
  * worktree panes so duplicate slugs across projects do not collide.
@@ -6,7 +11,8 @@ import type { DmuxPane } from '../types.js';
6
11
  export declare function getPaneTmuxTitle(pane: DmuxPane, fallbackProjectRoot?: string, fallbackProjectName?: string): string;
7
12
  /**
8
13
  * Candidate titles to check when rebinding panes.
9
- * Includes legacy slug-only title for backward compatibility.
14
+ * Includes legacy encoded titles so existing sessions keep rebinding after
15
+ * delimiter migrations.
10
16
  */
11
17
  export declare function getPaneTitleCandidates(pane: DmuxPane, fallbackProjectRoot?: string, fallbackProjectName?: string): string[];
12
18
  export declare function buildWorktreePaneTitle(slug: string, projectRoot: string, projectName?: string): string;
@@ -1 +1 @@
1
- {"version":3,"file":"paneTitle.d.ts","sourceRoot":"","sources":["../../src/utils/paneTitle.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAY5C;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,QAAQ,EACd,mBAAmB,CAAC,EAAE,MAAM,EAC5B,mBAAmB,CAAC,EAAE,MAAM,GAC3B,MAAM,CAqBR;AAED;;;GAGG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,QAAQ,EACd,mBAAmB,CAAC,EAAE,MAAM,EAC5B,mBAAmB,CAAC,EAAE,MAAM,GAC3B,MAAM,EAAE,CAMV;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CAGR"}
1
+ {"version":3,"file":"paneTitle.d.ts","sourceRoot":"","sources":["../../src/utils/paneTitle.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C,eAAO,MAAM,oBAAoB,aAAa,CAAC;AAC/C,eAAO,MAAM,4BAA4B,uBAAwB,CAAC;AAKlE,eAAO,MAAM,8BAA8B,kCAAiD,CAAC;AAW7F,wBAAgB,uBAAuB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAQ7D;AAED,wBAAgB,kBAAkB,CAChC,IAAI,EAAE,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,aAAa,CAAC,GAC3C,MAAM,CAKR;AAmDD;;;GAGG;AACH,wBAAgB,gBAAgB,CAC9B,IAAI,EAAE,QAAQ,EACd,mBAAmB,CAAC,EAAE,MAAM,EAC5B,mBAAmB,CAAC,EAAE,MAAM,GAC3B,MAAM,CAOR;AAED;;;;GAIG;AACH,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,QAAQ,EACd,mBAAmB,CAAC,EAAE,MAAM,EAC5B,mBAAmB,CAAC,EAAE,MAAM,GAC3B,MAAM,EAAE,CAcV;AAED,wBAAgB,sBAAsB,CACpC,IAAI,EAAE,MAAM,EACZ,WAAW,EAAE,MAAM,EACnB,WAAW,CAAC,EAAE,MAAM,GACnB,MAAM,CAGR"}
@@ -1,6 +1,12 @@
1
1
  import { createHash } from 'crypto';
2
2
  import path from 'path';
3
3
  import { getPaneProjectName, getPaneProjectRoot } from './paneProject.js';
4
+ export const PANE_TITLE_DELIMITER = '__dmux__';
5
+ export const LEGACY_PANE_TITLE_DELIMITERS = ['::dmux::'];
6
+ const ALL_PANE_TITLE_DELIMITERS = [PANE_TITLE_DELIMITER, ...LEGACY_PANE_TITLE_DELIMITERS];
7
+ // Tmux's s/foo/bar/: modifier uses ":" to separate the target variable, so the
8
+ // encoded title delimiter itself must not contain ":" or the format expands blank.
9
+ export const TMUX_PANE_TITLE_DISPLAY_FORMAT = `#{s|${PANE_TITLE_DELIMITER}.*$||:pane_title}`;
4
10
  function getProjectTag(projectRoot, projectName) {
5
11
  const hash = createHash('md5')
6
12
  .update(projectRoot)
@@ -9,11 +15,32 @@ function getProjectTag(projectRoot, projectName) {
9
15
  const sanitizedName = projectName.replace(/[^a-zA-Z0-9._-]+/g, '-');
10
16
  return `${sanitizedName}-${hash}`;
11
17
  }
12
- /**
13
- * Tmux pane title used for rebinding. Includes a stable project tag for
14
- * worktree panes so duplicate slugs across projects do not collide.
15
- */
16
- export function getPaneTmuxTitle(pane, fallbackProjectRoot, fallbackProjectName) {
18
+ export function sanitizePaneDisplayName(value) {
19
+ return ALL_PANE_TITLE_DELIMITERS.reduce((sanitized, delimiter) => sanitized.replaceAll(delimiter, ' '), value)
20
+ .replace(/[\x00-\x1f\x7f]/g, ' ')
21
+ .replace(/\s+/g, ' ')
22
+ .trim();
23
+ }
24
+ export function getPaneDisplayName(pane) {
25
+ const displayName = typeof pane.displayName === 'string'
26
+ ? sanitizePaneDisplayName(pane.displayName)
27
+ : '';
28
+ return displayName || pane.slug;
29
+ }
30
+ function encodePaneTmuxTitle(displayTitle, stableTitle, delimiter = PANE_TITLE_DELIMITER) {
31
+ if (displayTitle === stableTitle) {
32
+ return stableTitle;
33
+ }
34
+ return `${displayTitle}${delimiter}${stableTitle}`;
35
+ }
36
+ function getCustomPaneDisplayName(pane) {
37
+ if (typeof pane.displayName !== 'string') {
38
+ return undefined;
39
+ }
40
+ const displayName = sanitizePaneDisplayName(pane.displayName);
41
+ return displayName || undefined;
42
+ }
43
+ function getStablePaneTmuxTitle(pane, fallbackProjectRoot, fallbackProjectName) {
17
44
  if (pane.type === 'shell') {
18
45
  return pane.slug;
19
46
  }
@@ -30,16 +57,33 @@ export function getPaneTmuxTitle(pane, fallbackProjectRoot, fallbackProjectName)
30
57
  const projectName = getPaneProjectName(pane, projectRoot, fallbackProjectName);
31
58
  return buildWorktreePaneTitle(pane.slug, projectRoot, projectName);
32
59
  }
60
+ /**
61
+ * Tmux pane title used for rebinding. Includes a stable project tag for
62
+ * worktree panes so duplicate slugs across projects do not collide.
63
+ */
64
+ export function getPaneTmuxTitle(pane, fallbackProjectRoot, fallbackProjectName) {
65
+ const stableTitle = getStablePaneTmuxTitle(pane, fallbackProjectRoot, fallbackProjectName);
66
+ const displayTitle = getCustomPaneDisplayName(pane);
67
+ return displayTitle
68
+ ? encodePaneTmuxTitle(displayTitle, stableTitle)
69
+ : stableTitle;
70
+ }
33
71
  /**
34
72
  * Candidate titles to check when rebinding panes.
35
- * Includes legacy slug-only title for backward compatibility.
73
+ * Includes legacy encoded titles so existing sessions keep rebinding after
74
+ * delimiter migrations.
36
75
  */
37
76
  export function getPaneTitleCandidates(pane, fallbackProjectRoot, fallbackProjectName) {
38
- const nextTitle = getPaneTmuxTitle(pane, fallbackProjectRoot, fallbackProjectName);
39
- if (nextTitle === pane.slug) {
40
- return [pane.slug];
77
+ const stableTitle = getStablePaneTmuxTitle(pane, fallbackProjectRoot, fallbackProjectName);
78
+ const displayTitle = getCustomPaneDisplayName(pane);
79
+ const candidates = new Set([stableTitle, pane.slug]);
80
+ if (!displayTitle) {
81
+ return Array.from(candidates);
82
+ }
83
+ for (const delimiter of ALL_PANE_TITLE_DELIMITERS) {
84
+ candidates.add(encodePaneTmuxTitle(displayTitle, stableTitle, delimiter));
41
85
  }
42
- return [nextTitle, pane.slug];
86
+ return Array.from(candidates);
43
87
  }
44
88
  export function buildWorktreePaneTitle(slug, projectRoot, projectName) {
45
89
  const name = projectName || 'project';
@@ -1 +1 @@
1
- {"version":3,"file":"paneTitle.js","sourceRoot":"","sources":["../../src/utils/paneTitle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE1E,SAAS,aAAa,CAAC,WAAmB,EAAE,WAAmB;IAC7D,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC;SAC3B,MAAM,CAAC,WAAW,CAAC;SACnB,MAAM,CAAC,KAAK,CAAC;SACb,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACf,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;IACpE,OAAO,GAAG,aAAa,IAAI,IAAI,EAAE,CAAC;AACpC,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAc,EACd,mBAA4B,EAC5B,mBAA4B;IAE5B,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW;WAC/B,CAAC,mBAAmB,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACvF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IACE,mBAAmB;WAChB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAClE,CAAC;QACD,4EAA4E;QAC5E,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,mBAAmB,CAAC,CAAC;IAC/E,OAAO,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;AACrE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAAc,EACd,mBAA4B,EAC5B,mBAA4B;IAE5B,MAAM,SAAS,GAAG,gBAAgB,CAAC,IAAI,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;IACnF,IAAI,SAAS,KAAK,IAAI,CAAC,IAAI,EAAE,CAAC;QAC5B,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;IACrB,CAAC;IACD,OAAO,CAAC,SAAS,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,IAAY,EACZ,WAAmB,EACnB,WAAoB;IAEpB,MAAM,IAAI,GAAG,WAAW,IAAI,SAAS,CAAC;IACtC,OAAO,GAAG,IAAI,IAAI,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC;AACvD,CAAC"}
1
+ {"version":3,"file":"paneTitle.js","sourceRoot":"","sources":["../../src/utils/paneTitle.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,IAAI,MAAM,MAAM,CAAC;AAExB,OAAO,EAAE,kBAAkB,EAAE,kBAAkB,EAAE,MAAM,kBAAkB,CAAC;AAE1E,MAAM,CAAC,MAAM,oBAAoB,GAAG,UAAU,CAAC;AAC/C,MAAM,CAAC,MAAM,4BAA4B,GAAG,CAAC,UAAU,CAAU,CAAC;AAClE,MAAM,yBAAyB,GAAG,CAAC,oBAAoB,EAAE,GAAG,4BAA4B,CAAC,CAAC;AAE1F,+EAA+E;AAC/E,mFAAmF;AACnF,MAAM,CAAC,MAAM,8BAA8B,GAAG,OAAO,oBAAoB,mBAAmB,CAAC;AAE7F,SAAS,aAAa,CAAC,WAAmB,EAAE,WAAmB;IAC7D,MAAM,IAAI,GAAG,UAAU,CAAC,KAAK,CAAC;SAC3B,MAAM,CAAC,WAAW,CAAC;SACnB,MAAM,CAAC,KAAK,CAAC;SACb,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACf,MAAM,aAAa,GAAG,WAAW,CAAC,OAAO,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAC;IACpE,OAAO,GAAG,aAAa,IAAI,IAAI,EAAE,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,uBAAuB,CAAC,KAAa;IACnD,OAAO,yBAAyB,CAAC,MAAM,CACrC,CAAC,SAAS,EAAE,SAAS,EAAE,EAAE,CAAC,SAAS,CAAC,UAAU,CAAC,SAAS,EAAE,GAAG,CAAC,EAC9D,KAAK,CACN;SACE,OAAO,CAAC,kBAAkB,EAAE,GAAG,CAAC;SAChC,OAAO,CAAC,MAAM,EAAE,GAAG,CAAC;SACpB,IAAI,EAAE,CAAC;AACZ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAChC,IAA4C;IAE5C,MAAM,WAAW,GAAG,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ;QACtD,CAAC,CAAC,uBAAuB,CAAC,IAAI,CAAC,WAAW,CAAC;QAC3C,CAAC,CAAC,EAAE,CAAC;IACP,OAAO,WAAW,IAAI,IAAI,CAAC,IAAI,CAAC;AAClC,CAAC;AAED,SAAS,mBAAmB,CAC1B,YAAoB,EACpB,WAAmB,EACnB,YAAoB,oBAAoB;IAExC,IAAI,YAAY,KAAK,WAAW,EAAE,CAAC;QACjC,OAAO,WAAW,CAAC;IACrB,CAAC;IACD,OAAO,GAAG,YAAY,GAAG,SAAS,GAAG,WAAW,EAAE,CAAC;AACrD,CAAC;AAED,SAAS,wBAAwB,CAC/B,IAAmC;IAEnC,IAAI,OAAO,IAAI,CAAC,WAAW,KAAK,QAAQ,EAAE,CAAC;QACzC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,WAAW,GAAG,uBAAuB,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC;IAC9D,OAAO,WAAW,IAAI,SAAS,CAAC;AAClC,CAAC;AAED,SAAS,sBAAsB,CAC7B,IAAc,EACd,mBAA4B,EAC5B,mBAA4B;IAE5B,IAAI,IAAI,CAAC,IAAI,KAAK,OAAO,EAAE,CAAC;QAC1B,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,WAAW;WAC/B,CAAC,mBAAmB,CAAC,CAAC,CAAC,kBAAkB,CAAC,IAAI,EAAE,mBAAmB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IACvF,IAAI,CAAC,WAAW,EAAE,CAAC;QACjB,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,IACE,mBAAmB;WAChB,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,KAAK,IAAI,CAAC,OAAO,CAAC,mBAAmB,CAAC,EAClE,CAAC;QACD,4EAA4E;QAC5E,OAAO,IAAI,CAAC,IAAI,CAAC;IACnB,CAAC;IAED,MAAM,WAAW,GAAG,kBAAkB,CAAC,IAAI,EAAE,WAAW,EAAE,mBAAmB,CAAC,CAAC;IAC/E,OAAO,sBAAsB,CAAC,IAAI,CAAC,IAAI,EAAE,WAAW,EAAE,WAAW,CAAC,CAAC;AACrE,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAC9B,IAAc,EACd,mBAA4B,EAC5B,mBAA4B;IAE5B,MAAM,WAAW,GAAG,sBAAsB,CAAC,IAAI,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;IAC3F,MAAM,YAAY,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;IAEpD,OAAO,YAAY;QACjB,CAAC,CAAC,mBAAmB,CAAC,YAAY,EAAE,WAAW,CAAC;QAChD,CAAC,CAAC,WAAW,CAAC;AAClB,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,sBAAsB,CACpC,IAAc,EACd,mBAA4B,EAC5B,mBAA4B;IAE5B,MAAM,WAAW,GAAG,sBAAsB,CAAC,IAAI,EAAE,mBAAmB,EAAE,mBAAmB,CAAC,CAAC;IAC3F,MAAM,YAAY,GAAG,wBAAwB,CAAC,IAAI,CAAC,CAAC;IACpD,MAAM,UAAU,GAAG,IAAI,GAAG,CAAS,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC;IAE7D,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IAChC,CAAC;IAED,KAAK,MAAM,SAAS,IAAI,yBAAyB,EAAE,CAAC;QAClD,UAAU,CAAC,GAAG,CAAC,mBAAmB,CAAC,YAAY,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC,CAAC;IAC5E,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,sBAAsB,CACpC,IAAY,EACZ,WAAmB,EACnB,WAAoB;IAEpB,MAAM,IAAI,GAAG,WAAW,IAAI,SAAS,CAAC;IACtC,OAAO,GAAG,IAAI,IAAI,aAAa,CAAC,WAAW,EAAE,IAAI,CAAC,EAAE,CAAC;AACvD,CAAC"}
@@ -3,8 +3,16 @@ export interface ResolvedProjectRoot {
3
3
  projectName: string;
4
4
  requestedPath: string;
5
5
  }
6
+ export type ProjectCreationTargetState = 'missing' | 'empty_directory' | 'directory_not_empty' | 'file';
7
+ export interface ProjectCreationTarget {
8
+ requestedPath: string;
9
+ absolutePath: string;
10
+ state: ProjectCreationTargetState;
11
+ }
12
+ export declare function inspectProjectCreationTarget(rawPath: string, baseDir?: string): ProjectCreationTarget;
6
13
  /**
7
14
  * Resolve any path inside a git repo/worktree to the main repository root.
8
15
  */
9
16
  export declare function resolveProjectRootFromPath(rawPath: string, baseDir?: string): ResolvedProjectRoot;
17
+ export declare function createEmptyGitProject(rawPath: string, baseDir?: string): ResolvedProjectRoot;
10
18
  //# sourceMappingURL=projectRoot.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"projectRoot.d.ts","sourceRoot":"","sources":["../../src/utils/projectRoot.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAWD;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,MAAsB,GAC9B,mBAAmB,CAmDrB"}
1
+ {"version":3,"file":"projectRoot.d.ts","sourceRoot":"","sources":["../../src/utils/projectRoot.ts"],"names":[],"mappings":"AAIA,MAAM,WAAW,mBAAmB;IAClC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,0BAA0B,GAClC,SAAS,GACT,iBAAiB,GACjB,qBAAqB,GACrB,MAAM,CAAC;AAEX,MAAM,WAAW,qBAAqB;IACpC,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,0BAA0B,CAAC;CACnC;AA2BD,wBAAgB,4BAA4B,CAC1C,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,MAAsB,GAC9B,qBAAqB,CA0BvB;AAED;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,MAAsB,GAC9B,mBAAmB,CA6CrB;AAED,wBAAgB,qBAAqB,CACnC,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,MAAsB,GAC9B,mBAAmB,CA0CrB"}
@@ -1,5 +1,5 @@
1
1
  import { execSync } from 'child_process';
2
- import { existsSync, statSync } from 'fs';
2
+ import { existsSync, mkdirSync, readdirSync, rmSync, statSync } from 'fs';
3
3
  import path from 'path';
4
4
  function expandHomePath(inputPath) {
5
5
  if (!inputPath.startsWith('~'))
@@ -13,16 +13,46 @@ function expandHomePath(inputPath) {
13
13
  return path.join(home, inputPath.slice(2));
14
14
  return inputPath;
15
15
  }
16
- /**
17
- * Resolve any path inside a git repo/worktree to the main repository root.
18
- */
19
- export function resolveProjectRootFromPath(rawPath, baseDir = process.cwd()) {
16
+ function resolveProjectPathInput(rawPath, baseDir = process.cwd()) {
20
17
  const requestedPath = rawPath.trim();
21
18
  if (!requestedPath) {
22
19
  throw new Error('Project path is required');
23
20
  }
24
21
  const expanded = expandHomePath(requestedPath);
25
- const absolutePath = path.resolve(baseDir, expanded);
22
+ return {
23
+ requestedPath,
24
+ absolutePath: path.resolve(baseDir, expanded),
25
+ };
26
+ }
27
+ export function inspectProjectCreationTarget(rawPath, baseDir = process.cwd()) {
28
+ const { requestedPath, absolutePath } = resolveProjectPathInput(rawPath, baseDir);
29
+ if (!existsSync(absolutePath)) {
30
+ return {
31
+ requestedPath,
32
+ absolutePath,
33
+ state: 'missing',
34
+ };
35
+ }
36
+ const stat = statSync(absolutePath);
37
+ if (!stat.isDirectory()) {
38
+ return {
39
+ requestedPath,
40
+ absolutePath,
41
+ state: 'file',
42
+ };
43
+ }
44
+ const entries = readdirSync(absolutePath);
45
+ return {
46
+ requestedPath,
47
+ absolutePath,
48
+ state: entries.length === 0 ? 'empty_directory' : 'directory_not_empty',
49
+ };
50
+ }
51
+ /**
52
+ * Resolve any path inside a git repo/worktree to the main repository root.
53
+ */
54
+ export function resolveProjectRootFromPath(rawPath, baseDir = process.cwd()) {
55
+ const { requestedPath, absolutePath } = resolveProjectPathInput(rawPath, baseDir);
26
56
  if (!existsSync(absolutePath)) {
27
57
  throw new Error(`Path does not exist: ${absolutePath}`);
28
58
  }
@@ -63,4 +93,41 @@ export function resolveProjectRootFromPath(rawPath, baseDir = process.cwd()) {
63
93
  requestedPath,
64
94
  };
65
95
  }
96
+ export function createEmptyGitProject(rawPath, baseDir = process.cwd()) {
97
+ const target = inspectProjectCreationTarget(rawPath, baseDir);
98
+ if (target.state === 'file') {
99
+ throw new Error(`Path is not a directory: ${target.absolutePath}`);
100
+ }
101
+ if (target.state === 'directory_not_empty') {
102
+ throw new Error(`Directory is not empty: ${target.absolutePath}. New projects can only be created in an empty directory.`);
103
+ }
104
+ let createdDirectory = false;
105
+ if (target.state === 'missing') {
106
+ mkdirSync(target.absolutePath, { recursive: true });
107
+ createdDirectory = true;
108
+ }
109
+ try {
110
+ execSync('git init', {
111
+ cwd: target.absolutePath,
112
+ encoding: 'utf-8',
113
+ stdio: 'pipe',
114
+ });
115
+ }
116
+ catch {
117
+ if (createdDirectory) {
118
+ try {
119
+ rmSync(target.absolutePath, { recursive: true, force: true });
120
+ }
121
+ catch {
122
+ // Best-effort cleanup only.
123
+ }
124
+ }
125
+ throw new Error(`Failed to initialize git repository: ${target.absolutePath}`);
126
+ }
127
+ return {
128
+ projectRoot: target.absolutePath,
129
+ projectName: path.basename(target.absolutePath) || 'project',
130
+ requestedPath: target.requestedPath,
131
+ };
132
+ }
66
133
  //# sourceMappingURL=projectRoot.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"projectRoot.js","sourceRoot":"","sources":["../../src/utils/projectRoot.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,IAAI,CAAC;AAC1C,OAAO,IAAI,MAAM,MAAM,CAAC;AAQxB,SAAS,cAAc,CAAC,SAAiB;IACvC,IAAI,CAAC,SAAS,CAAC,UAAU,CAAC,GAAG,CAAC;QAAE,OAAO,SAAS,CAAC;IACjD,MAAM,IAAI,GAAG,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC;IAC9B,IAAI,CAAC,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5B,IAAI,SAAS,KAAK,GAAG;QAAE,OAAO,IAAI,CAAC;IACnC,IAAI,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC;QAAE,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC;IAC3E,OAAO,SAAS,CAAC;AACnB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACxC,OAAe,EACf,UAAkB,OAAO,CAAC,GAAG,EAAE;IAE/B,MAAM,aAAa,GAAG,OAAO,CAAC,IAAI,EAAE,CAAC;IACrC,IAAI,CAAC,aAAa,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CAAC,0BAA0B,CAAC,CAAC;IAC9C,CAAC;IAED,MAAM,QAAQ,GAAG,cAAc,CAAC,aAAa,CAAC,CAAC;IAC/C,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;IAErD,IAAI,CAAC,UAAU,CAAC,YAAY,CAAC,EAAE,CAAC;QAC9B,MAAM,IAAI,KAAK,CAAC,wBAAwB,YAAY,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,MAAM,IAAI,GAAG,QAAQ,CAAC,YAAY,CAAC,CAAC;IACpC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAElF,IAAI,YAAoB,CAAC;IACzB,IAAI,CAAC;QACH,YAAY,GAAG,QAAQ,CAAC,uDAAuD,EAAE;YAC/E,GAAG,EAAE,UAAU;YACf,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,MAAM;SACd,CAAC,CAAC,IAAI,EAAE,CAAC;IACZ,CAAC;IAAC,MAAM,CAAC;QACP,IAAI,CAAC;YACH,MAAM,YAAY,GAAG,QAAQ,CAAC,+BAA+B,EAAE;gBAC7D,GAAG,EAAE,UAAU;gBACf,QAAQ,EAAE,OAAO;gBACjB,KAAK,EAAE,MAAM;aACd,CAAC,CAAC,IAAI,EAAE,CAAC;YAEV,OAAO;gBACL,WAAW,EAAE,YAAY;gBACzB,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC;gBACxC,aAAa;aACd,CAAC;QACJ,CAAC;QAAC,MAAM,CAAC;YACP,MAAM,IAAI,KAAK,CAAC,yBAAyB,YAAY,EAAE,CAAC,CAAC;QAC3D,CAAC;IACH,CAAC;IAED,IAAI,CAAC,YAAY,EAAE,CAAC;QAClB,MAAM,IAAI,KAAK,CAAC,qCAAqC,YAAY,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;IAC/C,OAAO;QACL,WAAW;QACX,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC;QACvC,aAAa;KACd,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"projectRoot.js","sourceRoot":"","sources":["../../src/utils/projectRoot.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,7 @@
1
1
  import type { DmuxPane } from '../types.js';
2
+ import { type AgentName } from './agentLaunch.js';
2
3
  export interface ReopenWorktreeOptions {
4
+ agent?: AgentName;
3
5
  slug: string;
4
6
  worktreePath: string;
5
7
  projectRoot: string;