dmux 5.1.0 → 5.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +46 -143
- package/dist/DmuxApp.d.ts.map +1 -1
- package/dist/DmuxApp.js +99 -56
- package/dist/DmuxApp.js.map +1 -1
- package/dist/actions/implementations/closeAction.d.ts.map +1 -1
- package/dist/actions/implementations/closeAction.js +55 -21
- package/dist/actions/implementations/closeAction.js.map +1 -1
- package/dist/actions/implementations/index.d.ts +1 -0
- package/dist/actions/implementations/index.d.ts.map +1 -1
- package/dist/actions/implementations/index.js +3 -0
- package/dist/actions/implementations/index.js.map +1 -1
- package/dist/actions/implementations/mergeAction.d.ts.map +1 -1
- package/dist/actions/implementations/mergeAction.js +61 -20
- package/dist/actions/implementations/mergeAction.js.map +1 -1
- package/dist/actions/index.d.ts.map +1 -1
- package/dist/actions/index.js +6 -0
- package/dist/actions/index.js.map +1 -1
- package/dist/actions/merge/conflictResolution.d.ts.map +1 -1
- package/dist/actions/merge/conflictResolution.js +19 -13
- package/dist/actions/merge/conflictResolution.js.map +1 -1
- package/dist/actions/merge/issueHandlers/mainDirtyHandler.d.ts.map +1 -1
- package/dist/actions/merge/issueHandlers/mainDirtyHandler.js +8 -6
- package/dist/actions/merge/issueHandlers/mainDirtyHandler.js.map +1 -1
- package/dist/actions/merge/issueHandlers/worktreeUncommittedHandler.d.ts +1 -1
- package/dist/actions/merge/issueHandlers/worktreeUncommittedHandler.d.ts.map +1 -1
- package/dist/actions/merge/issueHandlers/worktreeUncommittedHandler.js +9 -2
- package/dist/actions/merge/issueHandlers/worktreeUncommittedHandler.js.map +1 -1
- package/dist/actions/merge/mergeExecution.d.ts.map +1 -1
- package/dist/actions/merge/mergeExecution.js +2 -1
- package/dist/actions/merge/mergeExecution.js.map +1 -1
- package/dist/actions/merge/multiMergeOrchestrator.d.ts.map +1 -1
- package/dist/actions/merge/multiMergeOrchestrator.js +33 -14
- package/dist/actions/merge/multiMergeOrchestrator.js.map +1 -1
- package/dist/actions/types.d.ts +4 -2
- package/dist/actions/types.d.ts.map +1 -1
- package/dist/actions/types.js +19 -1
- package/dist/actions/types.js.map +1 -1
- package/dist/components/dialogs/AgentChoiceDialog.d.ts +2 -1
- package/dist/components/dialogs/AgentChoiceDialog.d.ts.map +1 -1
- package/dist/components/dialogs/AgentChoiceDialog.js +4 -5
- package/dist/components/dialogs/AgentChoiceDialog.js.map +1 -1
- package/dist/components/dialogs/SettingsDialog.d.ts.map +1 -1
- package/dist/components/dialogs/SettingsDialog.js +3 -1
- package/dist/components/dialogs/SettingsDialog.js.map +1 -1
- package/dist/components/panes/MergePane.d.ts +1 -0
- package/dist/components/panes/MergePane.d.ts.map +1 -1
- package/dist/components/panes/MergePane.js +14 -3
- package/dist/components/panes/MergePane.js.map +1 -1
- package/dist/components/panes/PaneCard.d.ts +1 -3
- package/dist/components/panes/PaneCard.d.ts.map +1 -1
- package/dist/components/panes/PaneCard.js +54 -37
- package/dist/components/panes/PaneCard.js.map +1 -1
- package/dist/components/panes/PanesGrid.d.ts +1 -0
- package/dist/components/panes/PanesGrid.d.ts.map +1 -1
- package/dist/components/panes/PanesGrid.js +60 -78
- package/dist/components/panes/PanesGrid.js.map +1 -1
- package/dist/components/popups/agentChoicePopup.d.ts +2 -2
- package/dist/components/popups/agentChoicePopup.js +85 -56
- package/dist/components/popups/agentChoicePopup.js.map +1 -1
- package/dist/components/popups/diffPeekPopup.d.ts +7 -0
- package/dist/components/popups/diffPeekPopup.d.ts.map +1 -0
- package/dist/components/popups/diffPeekPopup.js +99 -0
- package/dist/components/popups/diffPeekPopup.js.map +1 -0
- package/dist/components/popups/enabledAgentsPopup.d.ts +7 -0
- package/dist/components/popups/enabledAgentsPopup.d.ts.map +1 -0
- package/dist/components/popups/enabledAgentsPopup.js +196 -0
- package/dist/components/popups/enabledAgentsPopup.js.map +1 -0
- package/dist/components/popups/kebabMenuPopup.js +2 -2
- package/dist/components/popups/kebabMenuPopup.js.map +1 -1
- package/dist/components/popups/mergeUncommittedChoicePopup.d.ts +7 -0
- package/dist/components/popups/mergeUncommittedChoicePopup.d.ts.map +1 -0
- package/dist/components/popups/mergeUncommittedChoicePopup.js +289 -0
- package/dist/components/popups/mergeUncommittedChoicePopup.js.map +1 -0
- package/dist/components/popups/newPanePopup.js +8 -0
- package/dist/components/popups/newPanePopup.js.map +1 -1
- package/dist/components/popups/projectSelectPopup.d.ts +7 -0
- package/dist/components/popups/projectSelectPopup.d.ts.map +1 -0
- package/dist/components/popups/projectSelectPopup.js +124 -0
- package/dist/components/popups/projectSelectPopup.js.map +1 -0
- package/dist/components/popups/reopenWorktreePopup.js +33 -3
- package/dist/components/popups/reopenWorktreePopup.js.map +1 -1
- package/dist/components/popups/settingsPopup.js +25 -8
- package/dist/components/popups/settingsPopup.js.map +1 -1
- package/dist/components/popups/shared/DirectoryList.d.ts +14 -0
- package/dist/components/popups/shared/DirectoryList.d.ts.map +1 -0
- package/dist/components/popups/shared/DirectoryList.js +46 -0
- package/dist/components/popups/shared/DirectoryList.js.map +1 -0
- package/dist/components/popups/shared/index.d.ts +1 -0
- package/dist/components/popups/shared/index.d.ts.map +1 -1
- package/dist/components/popups/shared/index.js +1 -0
- package/dist/components/popups/shared/index.js.map +1 -1
- package/dist/components/popups/shortcutsPopup.js +15 -12
- package/dist/components/popups/shortcutsPopup.js.map +1 -1
- package/dist/components/popups/singleAgentChoicePopup.d.ts +7 -0
- package/dist/components/popups/singleAgentChoicePopup.d.ts.map +1 -0
- package/dist/components/popups/singleAgentChoicePopup.js +95 -0
- package/dist/components/popups/singleAgentChoicePopup.js.map +1 -0
- package/dist/components/ui/FooterHelp.js +1 -1
- package/dist/components/ui/FooterHelp.js.map +1 -1
- package/dist/hooks/useActionSystem.d.ts +1 -1
- package/dist/hooks/useActionSystem.d.ts.map +1 -1
- package/dist/hooks/useActionSystem.js +1 -1
- package/dist/hooks/useActionSystem.js.map +1 -1
- package/dist/hooks/useAgentDetection.d.ts +2 -2
- package/dist/hooks/useAgentDetection.d.ts.map +1 -1
- package/dist/hooks/useAgentDetection.js +18 -88
- package/dist/hooks/useAgentDetection.js.map +1 -1
- package/dist/hooks/useAutoUpdater.d.ts.map +1 -1
- package/dist/hooks/useAutoUpdater.js +43 -26
- package/dist/hooks/useAutoUpdater.js.map +1 -1
- package/dist/hooks/useInputHandling.d.ts +5 -0
- package/dist/hooks/useInputHandling.d.ts.map +1 -1
- package/dist/hooks/useInputHandling.js +89 -16
- package/dist/hooks/useInputHandling.js.map +1 -1
- package/dist/hooks/useNavigation.d.ts +1 -1
- package/dist/hooks/useNavigation.d.ts.map +1 -1
- package/dist/hooks/useNavigation.js +26 -4
- package/dist/hooks/useNavigation.js.map +1 -1
- package/dist/hooks/usePaneCreation.d.ts +5 -2
- package/dist/hooks/usePaneCreation.d.ts.map +1 -1
- package/dist/hooks/usePaneCreation.js +123 -23
- package/dist/hooks/usePaneCreation.js.map +1 -1
- package/dist/hooks/usePaneSync.d.ts +1 -1
- package/dist/hooks/usePaneSync.d.ts.map +1 -1
- package/dist/hooks/usePaneSync.js +14 -1
- package/dist/hooks/usePaneSync.js.map +1 -1
- package/dist/hooks/usePanes.js +1 -1
- package/dist/hooks/usePanes.js.map +1 -1
- package/dist/hooks/useServices.d.ts +1 -1
- package/dist/hooks/useServices.d.ts.map +1 -1
- package/dist/hooks/useServices.js +2 -2
- package/dist/hooks/useServices.js.map +1 -1
- package/dist/hooks/useWorktreeActions.d.ts.map +1 -1
- package/dist/hooks/useWorktreeActions.js +16 -8
- package/dist/hooks/useWorktreeActions.js.map +1 -1
- package/dist/index.js +199 -18
- package/dist/index.js.map +1 -1
- package/dist/layout/SpacerManager.d.ts.map +1 -1
- package/dist/layout/SpacerManager.js +2 -1
- package/dist/layout/SpacerManager.js.map +1 -1
- package/dist/server/embedded-assets.d.ts.map +1 -1
- package/dist/server/embedded-assets.js +37 -26
- package/dist/server/embedded-assets.js.map +1 -1
- package/dist/services/AutoUpdater.d.ts +4 -0
- package/dist/services/AutoUpdater.d.ts.map +1 -1
- package/dist/services/AutoUpdater.js +23 -0
- package/dist/services/AutoUpdater.js.map +1 -1
- package/dist/services/PaneEventService.d.ts.map +1 -1
- package/dist/services/PaneEventService.js +2 -5
- package/dist/services/PaneEventService.js.map +1 -1
- package/dist/services/PaneWorkerManager.d.ts.map +1 -1
- package/dist/services/PaneWorkerManager.js +2 -14
- package/dist/services/PaneWorkerManager.js.map +1 -1
- package/dist/services/PopupManager.d.ts +8 -2
- package/dist/services/PopupManager.d.ts.map +1 -1
- package/dist/services/PopupManager.js +149 -27
- package/dist/services/PopupManager.js.map +1 -1
- package/dist/services/TmuxService.d.ts +15 -1
- package/dist/services/TmuxService.d.ts.map +1 -1
- package/dist/services/TmuxService.js +29 -3
- package/dist/services/TmuxService.js.map +1 -1
- package/dist/services/WorktreeCleanupService.d.ts +22 -0
- package/dist/services/WorktreeCleanupService.d.ts.map +1 -0
- package/dist/services/WorktreeCleanupService.js +80 -0
- package/dist/services/WorktreeCleanupService.js.map +1 -0
- package/dist/types.d.ts +9 -3
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/agentDetection.d.ts +15 -8
- package/dist/utils/agentDetection.d.ts.map +1 -1
- package/dist/utils/agentDetection.js +49 -73
- package/dist/utils/agentDetection.js.map +1 -1
- package/dist/utils/agentLaunch.d.ts +63 -1
- package/dist/utils/agentLaunch.d.ts.map +1 -1
- package/dist/utils/agentLaunch.js +497 -24
- package/dist/utils/agentLaunch.js.map +1 -1
- package/dist/utils/agentPromptDispatch.d.ts +33 -0
- package/dist/utils/agentPromptDispatch.d.ts.map +1 -0
- package/dist/utils/agentPromptDispatch.js +99 -0
- package/dist/utils/agentPromptDispatch.js.map +1 -0
- package/dist/utils/asciiArt.d.ts.map +1 -1
- package/dist/utils/asciiArt.js +6 -7
- package/dist/utils/asciiArt.js.map +1 -1
- package/dist/utils/attachAgent.d.ts +21 -0
- package/dist/utils/attachAgent.d.ts.map +1 -0
- package/dist/utils/attachAgent.js +128 -0
- package/dist/utils/attachAgent.js.map +1 -0
- package/dist/utils/conflictResolutionPane.d.ts +2 -1
- package/dist/utils/conflictResolutionPane.d.ts.map +1 -1
- package/dist/utils/conflictResolutionPane.js +69 -36
- package/dist/utils/conflictResolutionPane.js.map +1 -1
- package/dist/utils/devSource.d.ts +7 -0
- package/dist/utils/devSource.d.ts.map +1 -0
- package/dist/utils/devSource.js +19 -0
- package/dist/utils/devSource.js.map +1 -0
- package/dist/utils/devWatchCommand.d.ts +8 -0
- package/dist/utils/devWatchCommand.d.ts.map +1 -0
- package/dist/utils/devWatchCommand.js +14 -0
- package/dist/utils/devWatchCommand.js.map +1 -0
- package/dist/utils/dirScanner.d.ts +30 -0
- package/dist/utils/dirScanner.d.ts.map +1 -0
- package/dist/utils/dirScanner.js +99 -0
- package/dist/utils/dirScanner.js.map +1 -0
- package/dist/utils/geminiTrust.d.ts +8 -0
- package/dist/utils/geminiTrust.d.ts.map +1 -0
- package/dist/utils/geminiTrust.js +67 -0
- package/dist/utils/geminiTrust.js.map +1 -0
- package/dist/utils/generated-agents-doc.d.ts +1 -1
- package/dist/utils/generated-agents-doc.js +3 -3
- package/dist/utils/git.d.ts +13 -0
- package/dist/utils/git.d.ts.map +1 -1
- package/dist/utils/git.js +20 -0
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/hooks.js +1 -1
- package/dist/utils/hooks.js.map +1 -1
- package/dist/utils/hooksDocs.d.ts +2 -9
- package/dist/utils/hooksDocs.d.ts.map +1 -1
- package/dist/utils/hooksDocs.js +26 -6
- package/dist/utils/hooksDocs.js.map +1 -1
- package/dist/utils/mergeExecution.d.ts.map +1 -1
- package/dist/utils/mergeExecution.js +6 -3
- package/dist/utils/mergeExecution.js.map +1 -1
- package/dist/utils/paneCreation.d.ts +8 -2
- package/dist/utils/paneCreation.d.ts.map +1 -1
- package/dist/utils/paneCreation.js +129 -80
- package/dist/utils/paneCreation.js.map +1 -1
- package/dist/utils/paneGrouping.d.ts.map +1 -1
- package/dist/utils/paneGrouping.js +30 -0
- package/dist/utils/paneGrouping.js.map +1 -1
- package/dist/utils/projectActions.d.ts +5 -0
- package/dist/utils/projectActions.d.ts.map +1 -1
- package/dist/utils/projectActions.js +15 -4
- package/dist/utils/projectActions.js.map +1 -1
- package/dist/utils/promptStore.d.ts +7 -0
- package/dist/utils/promptStore.d.ts.map +1 -0
- package/dist/utils/promptStore.js +75 -0
- package/dist/utils/promptStore.js.map +1 -0
- package/dist/utils/reopenWorktree.d.ts +1 -1
- package/dist/utils/reopenWorktree.d.ts.map +1 -1
- package/dist/utils/reopenWorktree.js +26 -27
- package/dist/utils/reopenWorktree.js.map +1 -1
- package/dist/utils/runtimePaths.d.ts +2 -0
- package/dist/utils/runtimePaths.d.ts.map +1 -0
- package/dist/utils/runtimePaths.js +8 -0
- package/dist/utils/runtimePaths.js.map +1 -0
- package/dist/utils/settingsManager.d.ts.map +1 -1
- package/dist/utils/settingsManager.js +96 -4
- package/dist/utils/settingsManager.js.map +1 -1
- package/dist/utils/systemCheck.d.ts.map +1 -1
- package/dist/utils/systemCheck.js +0 -13
- package/dist/utils/systemCheck.js.map +1 -1
- package/dist/utils/welcomePane.d.ts +2 -1
- package/dist/utils/welcomePane.d.ts.map +1 -1
- package/dist/utils/welcomePane.js +3 -2
- package/dist/utils/welcomePane.js.map +1 -1
- package/dist/utils/welcomePaneManager.js +1 -1
- package/dist/utils/welcomePaneManager.js.map +1 -1
- package/dist/workers/PaneWorker.js.map +1 -1
- package/dist/workers/WorkerMessages.d.ts +2 -1
- package/dist/workers/WorkerMessages.d.ts.map +1 -1
- package/dist/workers/WorkerMessages.js.map +1 -1
- package/dist/workers/updateChecker.js +21 -6
- package/dist/workers/updateChecker.js.map +1 -1
- package/package.json +14 -12
- package/dist/components/popups/remotePopup.d.ts +0 -6
- package/dist/components/popups/remotePopup.d.ts.map +0 -1
- package/dist/components/popups/remotePopup.js +0 -166
- package/dist/components/popups/remotePopup.js.map +0 -1
- package/dist/hooks/useTunnelManagement.d.ts +0 -18
- package/dist/hooks/useTunnelManagement.d.ts.map +0 -1
- package/dist/hooks/useTunnelManagement.js +0 -55
- package/dist/hooks/useTunnelManagement.js.map +0 -1
- package/dist/server/actionsApi.d.ts +0 -37
- package/dist/server/actionsApi.d.ts.map +0 -1
- package/dist/server/actionsApi.js +0 -256
- package/dist/server/actionsApi.js.map +0 -1
- package/dist/server/index.d.ts +0 -21
- package/dist/server/index.d.ts.map +0 -1
- package/dist/server/index.js +0 -100
- package/dist/server/index.js.map +0 -1
- package/dist/server/routes/actionsRoutes.d.ts +0 -2
- package/dist/server/routes/actionsRoutes.d.ts.map +0 -1
- package/dist/server/routes/actionsRoutes.js +0 -110
- package/dist/server/routes/actionsRoutes.js.map +0 -1
- package/dist/server/routes/healthRoutes.d.ts +0 -13
- package/dist/server/routes/healthRoutes.d.ts.map +0 -1
- package/dist/server/routes/healthRoutes.js +0 -70
- package/dist/server/routes/healthRoutes.js.map +0 -1
- package/dist/server/routes/index.d.ts +0 -8
- package/dist/server/routes/index.d.ts.map +0 -1
- package/dist/server/routes/index.js +0 -67
- package/dist/server/routes/index.js.map +0 -1
- package/dist/server/routes/keysRoutes.d.ts +0 -33
- package/dist/server/routes/keysRoutes.d.ts.map +0 -1
- package/dist/server/routes/keysRoutes.js +0 -128
- package/dist/server/routes/keysRoutes.js.map +0 -1
- package/dist/server/routes/panesRoutes.d.ts +0 -2
- package/dist/server/routes/panesRoutes.d.ts.map +0 -1
- package/dist/server/routes/panesRoutes.js +0 -414
- package/dist/server/routes/panesRoutes.js.map +0 -1
- package/dist/server/routes/settingsRoutes.d.ts +0 -94
- package/dist/server/routes/settingsRoutes.d.ts.map +0 -1
- package/dist/server/routes/settingsRoutes.js +0 -159
- package/dist/server/routes/settingsRoutes.js.map +0 -1
- package/dist/server/routes/streamRoutes.d.ts +0 -18
- package/dist/server/routes/streamRoutes.d.ts.map +0 -1
- package/dist/server/routes/streamRoutes.js +0 -87
- package/dist/server/routes/streamRoutes.js.map +0 -1
- package/dist/server/routes/tunnelRoutes.d.ts +0 -11
- package/dist/server/routes/tunnelRoutes.d.ts.map +0 -1
- package/dist/server/routes/tunnelRoutes.js +0 -28
- package/dist/server/routes/tunnelRoutes.js.map +0 -1
- package/dist/server/routes.d.ts +0 -17
- package/dist/server/routes.d.ts.map +0 -1
- package/dist/server/routes.js +0 -17
- package/dist/server/routes.js.map +0 -1
- package/dist/services/TunnelService.d.ts +0 -10
- package/dist/services/TunnelService.d.ts.map +0 -1
- package/dist/services/TunnelService.js +0 -98
- package/dist/services/TunnelService.js.map +0 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import type { DmuxPane } from '../types.js';
|
|
2
|
+
import { type AgentName } from '../utils/agentLaunch.js';
|
|
2
3
|
interface Params {
|
|
3
4
|
panes: DmuxPane[];
|
|
4
5
|
savePanes: (p: DmuxPane[]) => Promise<void>;
|
|
@@ -8,17 +9,19 @@ interface Params {
|
|
|
8
9
|
setIsCreatingPane: (v: boolean) => void;
|
|
9
10
|
setStatusMessage: (msg: string) => void;
|
|
10
11
|
loadPanes: () => Promise<void>;
|
|
11
|
-
availableAgents:
|
|
12
|
+
availableAgents: AgentName[];
|
|
12
13
|
}
|
|
13
14
|
interface CreateNewPaneOptions {
|
|
14
15
|
existingPanes?: DmuxPane[];
|
|
15
16
|
slugSuffix?: string;
|
|
16
17
|
slugBase?: string;
|
|
17
18
|
targetProjectRoot?: string;
|
|
19
|
+
skipAgentSelection?: boolean;
|
|
18
20
|
}
|
|
19
21
|
export default function usePaneCreation({ panes, savePanes, projectName, sessionProjectRoot, panesFile, setIsCreatingPane, setStatusMessage, loadPanes, availableAgents, }: Params): {
|
|
20
22
|
readonly openInEditor: (currentPrompt: string, setPrompt: (v: string) => void) => Promise<void>;
|
|
21
|
-
readonly createNewPane: (prompt: string, agent?:
|
|
23
|
+
readonly createNewPane: (prompt: string, agent?: AgentName, options?: CreateNewPaneOptions) => Promise<DmuxPane | null>;
|
|
24
|
+
readonly createPanesForAgents: (prompt: string, selectedAgents: AgentName[], options?: Pick<CreateNewPaneOptions, "existingPanes" | "targetProjectRoot">) => Promise<DmuxPane[]>;
|
|
22
25
|
};
|
|
23
26
|
export {};
|
|
24
27
|
//# sourceMappingURL=usePaneCreation.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePaneCreation.d.ts","sourceRoot":"","sources":["../../src/hooks/usePaneCreation.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"usePaneCreation.d.ts","sourceRoot":"","sources":["../../src/hooks/usePaneCreation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,EAAsB,KAAK,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAG7E,UAAU,MAAM;IACd,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,SAAS,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,eAAe,EAAE,SAAS,EAAE,CAAC;CAC9B;AAED,UAAU,oBAAoB;IAC5B,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AA6BD,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACtC,KAAK,EACL,SAAS,EACT,WAAW,EACX,kBAAkB,EAClB,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,EACT,eAAe,GAChB,EAAE,MAAM;2CACoC,MAAM,aAAa,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI;qCAkDvE,MAAM,UACN,SAAS,YACR,oBAAoB,KAC5B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;4CA6BjB,MAAM,kBACE,SAAS,EAAE,YAClB,IAAI,CAAC,oBAAoB,EAAE,eAAe,GAAG,mBAAmB,CAAC,KACzE,OAAO,CAAC,QAAQ,EAAE,CAAC;EA8GvB"}
|
|
@@ -1,10 +1,31 @@
|
|
|
1
1
|
import path from 'path';
|
|
2
|
+
import * as os from 'os';
|
|
2
3
|
import { createPane } from '../utils/paneCreation.js';
|
|
3
4
|
import { LogService } from '../services/LogService.js';
|
|
5
|
+
import { getAgentSlugSuffix } from '../utils/agentLaunch.js';
|
|
6
|
+
import { generateSlug } from '../utils/slug.js';
|
|
7
|
+
const MAX_PARALLEL_PANE_CREATIONS = 4;
|
|
8
|
+
function getParallelPaneCreationLimit(totalAgents) {
|
|
9
|
+
if (totalAgents <= 1) {
|
|
10
|
+
return 1;
|
|
11
|
+
}
|
|
12
|
+
const overrideRaw = process.env.DMUX_PANE_CREATE_CONCURRENCY;
|
|
13
|
+
if (overrideRaw) {
|
|
14
|
+
const override = Number.parseInt(overrideRaw, 10);
|
|
15
|
+
if (Number.isFinite(override) && override > 0) {
|
|
16
|
+
return Math.min(totalAgents, override);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
const maybeAvailableParallelism = os.availableParallelism;
|
|
20
|
+
const cpuCount = typeof maybeAvailableParallelism === 'function'
|
|
21
|
+
? maybeAvailableParallelism.call(os)
|
|
22
|
+
: os.cpus().length;
|
|
23
|
+
const conservativeLimit = Math.max(1, Math.floor(cpuCount / 2));
|
|
24
|
+
return Math.max(1, Math.min(totalAgents, MAX_PARALLEL_PANE_CREATIONS, conservativeLimit));
|
|
25
|
+
}
|
|
4
26
|
export default function usePaneCreation({ panes, savePanes, projectName, sessionProjectRoot, panesFile, setIsCreatingPane, setStatusMessage, loadPanes, availableAgents, }) {
|
|
5
27
|
const openInEditor = async (currentPrompt, setPrompt) => {
|
|
6
28
|
try {
|
|
7
|
-
const os = await import('os');
|
|
8
29
|
const fs = await import('fs');
|
|
9
30
|
const tmpFile = path.join(os.tmpdir(), `dmux-prompt-${Date.now()}.md`);
|
|
10
31
|
fs.writeFileSync(tmpFile, currentPrompt || '# Enter your Claude prompt here\n\n');
|
|
@@ -24,37 +45,38 @@ export default function usePaneCreation({ panes, savePanes, projectName, session
|
|
|
24
45
|
}
|
|
25
46
|
catch { }
|
|
26
47
|
};
|
|
48
|
+
const createPaneInternal = async (prompt, agent, options = {}) => {
|
|
49
|
+
const panesForCreation = options.existingPanes ?? panes;
|
|
50
|
+
const result = await createPane({
|
|
51
|
+
prompt,
|
|
52
|
+
agent,
|
|
53
|
+
projectName,
|
|
54
|
+
existingPanes: panesForCreation,
|
|
55
|
+
slugSuffix: options.slugSuffix,
|
|
56
|
+
slugBase: options.slugBase,
|
|
57
|
+
projectRoot: options.targetProjectRoot,
|
|
58
|
+
skipAgentSelection: options.skipAgentSelection,
|
|
59
|
+
sessionProjectRoot,
|
|
60
|
+
sessionConfigPath: panesFile,
|
|
61
|
+
}, availableAgents);
|
|
62
|
+
if (result.needsAgentChoice) {
|
|
63
|
+
throw new Error('Agent choice is required');
|
|
64
|
+
}
|
|
65
|
+
return result.pane;
|
|
66
|
+
};
|
|
27
67
|
const createNewPane = async (prompt, agent, options = {}) => {
|
|
28
68
|
const panesForCreation = options.existingPanes ?? panes;
|
|
29
69
|
try {
|
|
30
70
|
setIsCreatingPane(true);
|
|
31
71
|
setStatusMessage("Creating pane...");
|
|
32
|
-
|
|
33
|
-
const result = await createPane({
|
|
34
|
-
prompt,
|
|
35
|
-
agent,
|
|
36
|
-
projectName,
|
|
37
|
-
existingPanes: panesForCreation,
|
|
38
|
-
slugSuffix: options.slugSuffix,
|
|
39
|
-
slugBase: options.slugBase,
|
|
40
|
-
projectRoot: options.targetProjectRoot,
|
|
41
|
-
sessionProjectRoot,
|
|
42
|
-
sessionConfigPath: panesFile,
|
|
43
|
-
}, availableAgents);
|
|
44
|
-
if (result.needsAgentChoice) {
|
|
45
|
-
// This shouldn't happen in the TUI flow since we handle agent choice
|
|
46
|
-
// before calling createNewPane, but just in case
|
|
47
|
-
setStatusMessage('Agent choice is required');
|
|
48
|
-
setTimeout(() => setStatusMessage(''), 3000);
|
|
49
|
-
return null;
|
|
50
|
-
}
|
|
72
|
+
const pane = await createPaneInternal(prompt, agent, options);
|
|
51
73
|
// Save the pane
|
|
52
|
-
const updatedPanes = [...panesForCreation,
|
|
74
|
+
const updatedPanes = [...panesForCreation, pane];
|
|
53
75
|
await savePanes(updatedPanes);
|
|
54
76
|
await loadPanes();
|
|
55
77
|
setStatusMessage("Pane created");
|
|
56
78
|
setTimeout(() => setStatusMessage(""), 2000);
|
|
57
|
-
return
|
|
79
|
+
return pane;
|
|
58
80
|
}
|
|
59
81
|
catch (error) {
|
|
60
82
|
const msg = 'Failed to create pane';
|
|
@@ -67,6 +89,84 @@ export default function usePaneCreation({ panes, savePanes, projectName, session
|
|
|
67
89
|
setIsCreatingPane(false);
|
|
68
90
|
}
|
|
69
91
|
};
|
|
70
|
-
|
|
92
|
+
const createPanesForAgents = async (prompt, selectedAgents, options = {}) => {
|
|
93
|
+
const panesForCreation = options.existingPanes ?? panes;
|
|
94
|
+
const dedupedAgents = selectedAgents.filter((agent, index) => selectedAgents.indexOf(agent) === index);
|
|
95
|
+
if (dedupedAgents.length === 0) {
|
|
96
|
+
return [];
|
|
97
|
+
}
|
|
98
|
+
const isMultiLaunch = dedupedAgents.length > 1;
|
|
99
|
+
const slugBase = isMultiLaunch ? await generateSlug(prompt) : undefined;
|
|
100
|
+
const parallelLimit = getParallelPaneCreationLimit(dedupedAgents.length);
|
|
101
|
+
try {
|
|
102
|
+
setIsCreatingPane(true);
|
|
103
|
+
if (parallelLimit > 1) {
|
|
104
|
+
setStatusMessage(`Creating ${dedupedAgents.length} panes (${parallelLimit} parallel)...`);
|
|
105
|
+
}
|
|
106
|
+
else {
|
|
107
|
+
setStatusMessage(`Creating ${dedupedAgents.length} pane${dedupedAgents.length === 1 ? '' : 's'}...`);
|
|
108
|
+
}
|
|
109
|
+
const createdByIndex = new Array(dedupedAgents.length).fill(null);
|
|
110
|
+
const firstAgent = dedupedAgents[0];
|
|
111
|
+
const firstPane = await createPaneInternal(prompt, firstAgent, {
|
|
112
|
+
existingPanes: panesForCreation,
|
|
113
|
+
slugSuffix: isMultiLaunch ? getAgentSlugSuffix(firstAgent) : undefined,
|
|
114
|
+
slugBase,
|
|
115
|
+
targetProjectRoot: options.targetProjectRoot,
|
|
116
|
+
});
|
|
117
|
+
createdByIndex[0] = firstPane;
|
|
118
|
+
const remainingAgents = dedupedAgents.slice(1);
|
|
119
|
+
const workerCount = Math.min(parallelLimit, remainingAgents.length);
|
|
120
|
+
let nextTaskIndex = 0;
|
|
121
|
+
const failures = [];
|
|
122
|
+
const workers = Array.from({ length: workerCount }, async () => {
|
|
123
|
+
while (nextTaskIndex < remainingAgents.length) {
|
|
124
|
+
const currentTaskIndex = nextTaskIndex;
|
|
125
|
+
nextTaskIndex += 1;
|
|
126
|
+
const selectedAgent = remainingAgents[currentTaskIndex];
|
|
127
|
+
const agentResultIndex = currentTaskIndex + 1;
|
|
128
|
+
try {
|
|
129
|
+
const createdSoFar = createdByIndex.filter((pane) => pane !== null);
|
|
130
|
+
const pane = await createPaneInternal(prompt, selectedAgent, {
|
|
131
|
+
existingPanes: [...panesForCreation, ...createdSoFar],
|
|
132
|
+
slugSuffix: getAgentSlugSuffix(selectedAgent),
|
|
133
|
+
slugBase,
|
|
134
|
+
targetProjectRoot: options.targetProjectRoot,
|
|
135
|
+
});
|
|
136
|
+
createdByIndex[agentResultIndex] = pane;
|
|
137
|
+
}
|
|
138
|
+
catch (error) {
|
|
139
|
+
failures.push({ agent: selectedAgent, error });
|
|
140
|
+
LogService.getInstance().error(`Failed to create pane for agent ${selectedAgent}`, 'usePaneCreation', undefined, error instanceof Error ? error : undefined);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
});
|
|
144
|
+
await Promise.all(workers);
|
|
145
|
+
const createdPanes = createdByIndex.filter((pane) => pane !== null);
|
|
146
|
+
if (createdPanes.length > 0) {
|
|
147
|
+
const updatedPanes = [...panesForCreation, ...createdPanes];
|
|
148
|
+
await savePanes(updatedPanes);
|
|
149
|
+
await loadPanes();
|
|
150
|
+
}
|
|
151
|
+
if (failures.length > 0) {
|
|
152
|
+
setStatusMessage(`Created ${createdPanes.length}/${dedupedAgents.length} panes (${failures.length} failed)`);
|
|
153
|
+
}
|
|
154
|
+
else {
|
|
155
|
+
setStatusMessage(`Created ${createdPanes.length} pane${createdPanes.length === 1 ? '' : 's'}`);
|
|
156
|
+
}
|
|
157
|
+
setTimeout(() => setStatusMessage(""), 3000);
|
|
158
|
+
return createdPanes;
|
|
159
|
+
}
|
|
160
|
+
catch (error) {
|
|
161
|
+
LogService.getInstance().error('Failed to create panes', 'usePaneCreation', undefined, error instanceof Error ? error : undefined);
|
|
162
|
+
setStatusMessage(`Failed to create panes: ${error}`);
|
|
163
|
+
setTimeout(() => setStatusMessage(''), 3000);
|
|
164
|
+
return [];
|
|
165
|
+
}
|
|
166
|
+
finally {
|
|
167
|
+
setIsCreatingPane(false);
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
return { openInEditor, createNewPane, createPanesForAgents };
|
|
71
171
|
}
|
|
72
172
|
//# sourceMappingURL=usePaneCreation.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePaneCreation.js","sourceRoot":"","sources":["../../src/hooks/usePaneCreation.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,MAAM,CAAC;
|
|
1
|
+
{"version":3,"file":"usePaneCreation.js","sourceRoot":"","sources":["../../src/hooks/usePaneCreation.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,7 @@ import type { DmuxPane } from '../types.js';
|
|
|
3
3
|
* Enforces that pane titles in tmux match the slugs in the config
|
|
4
4
|
* This ensures dmux config is the source of truth for pane names
|
|
5
5
|
*/
|
|
6
|
-
export declare function enforcePaneTitles(panes: DmuxPane[], allPaneIds: string[]): Promise<void>;
|
|
6
|
+
export declare function enforcePaneTitles(panes: DmuxPane[], allPaneIds: string[], controlPaneId?: string): Promise<void>;
|
|
7
7
|
/**
|
|
8
8
|
* Saves panes to config file with rebinding and write lock protection
|
|
9
9
|
* Used for explicit save operations (not periodic background saves)
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePaneSync.d.ts","sourceRoot":"","sources":["../../src/hooks/usePaneSync.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAW5C;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,QAAQ,EAAE,EACjB,UAAU,EAAE,MAAM,EAAE,
|
|
1
|
+
{"version":3,"file":"usePaneSync.d.ts","sourceRoot":"","sources":["../../src/hooks/usePaneSync.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAW5C;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,QAAQ,EAAE,EACjB,UAAU,EAAE,MAAM,EAAE,EACpB,aAAa,CAAC,EAAE,MAAM,GACrB,OAAO,CAAC,IAAI,CAAC,CAqDf;AAED;;;GAGG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,QAAQ,EAAE,EACjB,aAAa,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAC5D,OAAO,CAAC,QAAQ,EAAE,CAAC,CAoDrB;AAED;;;;;;;;;;GAUG;AACH,wBAAgB,oBAAoB,CAClC,WAAW,EAAE,QAAQ,EAAE,EACvB,SAAS,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,EAC9B,UAAU,EAAE,MAAM,EAAE,EACpB,aAAa,EAAE,OAAO,GACrB;IAAE,WAAW,EAAE,QAAQ,EAAE,CAAC;IAAC,iBAAiB,EAAE,OAAO,CAAC;IAAC,uBAAuB,EAAE,QAAQ,EAAE,CAAA;CAAE,CAuF9F;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CACzC,SAAS,EAAE,MAAM,EACjB,WAAW,EAAE,QAAQ,EAAE,EACvB,aAAa,EAAE,CAAC,CAAC,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GAC5D,OAAO,CAAC,IAAI,CAAC,CAsBf;AAED;;;GAGG;AACH,wBAAsB,qBAAqB,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAG9E;AAED;;GAEG;AACH,wBAAsB,0BAA0B,CAC9C,SAAS,EAAE,MAAM,EACjB,gBAAgB,EAAE,MAAM,EACxB,YAAY,EAAE,MAAM,GACnB,OAAO,CAAC,IAAI,CAAC,CAuBf"}
|
|
@@ -10,7 +10,7 @@ import { StateManager } from '../shared/StateManager.js';
|
|
|
10
10
|
* Enforces that pane titles in tmux match the slugs in the config
|
|
11
11
|
* This ensures dmux config is the source of truth for pane names
|
|
12
12
|
*/
|
|
13
|
-
export async function enforcePaneTitles(panes, allPaneIds) {
|
|
13
|
+
export async function enforcePaneTitles(panes, allPaneIds, controlPaneId) {
|
|
14
14
|
const tmuxService = TmuxService.getInstance();
|
|
15
15
|
const sessionProjectRoot = StateManager.getInstance().getState().projectRoot;
|
|
16
16
|
const titleByPaneId = new Map();
|
|
@@ -23,6 +23,19 @@ export async function enforcePaneTitles(panes, allPaneIds) {
|
|
|
23
23
|
catch {
|
|
24
24
|
// Fall back to per-pane title lookups below.
|
|
25
25
|
}
|
|
26
|
+
// Enforce control pane title stays "dmux"
|
|
27
|
+
if (controlPaneId) {
|
|
28
|
+
try {
|
|
29
|
+
const controlTitle = titleByPaneId.get(controlPaneId)
|
|
30
|
+
?? await tmuxService.getPaneTitle(controlPaneId);
|
|
31
|
+
if (controlTitle !== 'dmux') {
|
|
32
|
+
await tmuxService.setPaneTitle(controlPaneId, 'dmux');
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
catch {
|
|
36
|
+
// Ignore - control pane might not exist yet
|
|
37
|
+
}
|
|
38
|
+
}
|
|
26
39
|
for (const pane of panes) {
|
|
27
40
|
if (allPaneIds.includes(pane.paneId)) {
|
|
28
41
|
try {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePaneSync.js","sourceRoot":"","sources":["../../src/hooks/usePaneSync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,aAAa,CAAC;AAE7B,OAAO,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AACvD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,oBAAoB,EAAE,MAAM,qCAAqC,CAAC;AAG3E,OAAO,EAAE,eAAe,EAAE,MAAM,yBAAyB,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,iBAAiB,CACrC,KAAiB,EACjB,UAAoB;
|
|
1
|
+
{"version":3,"file":"usePaneSync.js","sourceRoot":"","sources":["../../src/hooks/usePaneSync.ts"],"names":[],"mappings":"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"}
|
package/dist/hooks/usePanes.js
CHANGED
|
@@ -72,7 +72,7 @@ export default function usePanes(panesFile, skipLoading, sessionName, controlPan
|
|
|
72
72
|
// Destroy welcome pane if transitioning from 0 to >0 panes
|
|
73
73
|
await destroyWelcomePaneIfNeeded(panesFile, panesRef.current.length, finalPanes.length);
|
|
74
74
|
// Enforce pane titles always match slug (worktree name)
|
|
75
|
-
await enforcePaneTitles(finalPanes, allPaneIds);
|
|
75
|
+
await enforcePaneTitles(finalPanes, allPaneIds, controlPaneId);
|
|
76
76
|
// Check if panes changed (compare IDs and paneIds only)
|
|
77
77
|
const currentPaneIds = panesRef.current.map(p => `${p.id}:${p.paneId}`).sort().join(',');
|
|
78
78
|
const newPaneIds = finalPanes.map(p => `${p.id}:${p.paneId}`).sort().join(',');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"usePanes.js","sourceRoot":"","sources":["../../src/hooks/usePanes.ts"],"names":[],"mappings":"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
|
|
1
|
+
{"version":3,"file":"usePanes.js","sourceRoot":"","sources":["../../src/hooks/usePanes.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,10 +5,10 @@ interface UseServicesProps {
|
|
|
5
5
|
sidebarWidth: number;
|
|
6
6
|
projectRoot: string;
|
|
7
7
|
popupsSupported: boolean;
|
|
8
|
+
isDevMode: boolean;
|
|
8
9
|
terminalWidth: number;
|
|
9
10
|
terminalHeight: number;
|
|
10
11
|
availableAgents: AgentName[];
|
|
11
|
-
agentChoice: AgentName | null;
|
|
12
12
|
settingsManager: any;
|
|
13
13
|
projectSettings: ProjectSettings;
|
|
14
14
|
setStatusMessage: (msg: string) => void;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useServices.d.ts","sourceRoot":"","sources":["../../src/hooks/useServices.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAA2B,MAAM,6BAA6B,CAAA;AACnF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAExD,UAAU,gBAAgB;IAExB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,OAAO,CAAA;IACxB,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,SAAS,EAAE,CAAA;IAC5B,
|
|
1
|
+
{"version":3,"file":"useServices.d.ts","sourceRoot":"","sources":["../../src/hooks/useServices.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAA2B,MAAM,6BAA6B,CAAA;AACnF,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAClD,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAA;AAExD,UAAU,gBAAgB;IAExB,YAAY,EAAE,MAAM,CAAA;IACpB,WAAW,EAAE,MAAM,CAAA;IACnB,eAAe,EAAE,OAAO,CAAA;IACxB,SAAS,EAAE,OAAO,CAAA;IAClB,aAAa,EAAE,MAAM,CAAA;IACrB,cAAc,EAAE,MAAM,CAAA;IACtB,eAAe,EAAE,SAAS,EAAE,CAAA;IAC5B,eAAe,EAAE,GAAG,CAAA;IACpB,eAAe,EAAE,eAAe,CAAA;IAGhC,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAA;IACvC,cAAc,EAAE,CAAC,MAAM,EAAE,OAAO,KAAK,IAAI,CAAA;CAC1C;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,gBAAgB;;EAqClD"}
|
|
@@ -7,10 +7,10 @@ export function useServices(props) {
|
|
|
7
7
|
sidebarWidth: props.sidebarWidth,
|
|
8
8
|
projectRoot: props.projectRoot,
|
|
9
9
|
popupsSupported: props.popupsSupported,
|
|
10
|
+
isDevMode: props.isDevMode,
|
|
10
11
|
terminalWidth: props.terminalWidth,
|
|
11
12
|
terminalHeight: props.terminalHeight,
|
|
12
13
|
availableAgents: props.availableAgents,
|
|
13
|
-
agentChoice: props.agentChoice,
|
|
14
14
|
settingsManager: props.settingsManager,
|
|
15
15
|
projectSettings: props.projectSettings,
|
|
16
16
|
};
|
|
@@ -19,10 +19,10 @@ export function useServices(props) {
|
|
|
19
19
|
props.sidebarWidth,
|
|
20
20
|
props.projectRoot,
|
|
21
21
|
props.popupsSupported,
|
|
22
|
+
props.isDevMode,
|
|
22
23
|
props.terminalWidth,
|
|
23
24
|
props.terminalHeight,
|
|
24
25
|
props.availableAgents,
|
|
25
|
-
props.agentChoice,
|
|
26
26
|
props.settingsManager,
|
|
27
27
|
props.projectSettings,
|
|
28
28
|
props.setStatusMessage,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useServices.js","sourceRoot":"","sources":["../../src/hooks/useServices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,YAAY,EAA2B,MAAM,6BAA6B,CAAA;AAqBnF,MAAM,UAAU,WAAW,CAAC,KAAuB;IACjD,0BAA0B;IAC1B,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,MAAM,MAAM,GAAuB;YACjC,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,
|
|
1
|
+
{"version":3,"file":"useServices.js","sourceRoot":"","sources":["../../src/hooks/useServices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,OAAO,CAAA;AAC/B,OAAO,EAAE,YAAY,EAA2B,MAAM,6BAA6B,CAAA;AAqBnF,MAAM,UAAU,WAAW,CAAC,KAAuB;IACjD,0BAA0B;IAC1B,MAAM,YAAY,GAAG,OAAO,CAAC,GAAG,EAAE;QAChC,MAAM,MAAM,GAAuB;YACjC,YAAY,EAAE,KAAK,CAAC,YAAY;YAChC,WAAW,EAAE,KAAK,CAAC,WAAW;YAC9B,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,aAAa,EAAE,KAAK,CAAC,aAAa;YAClC,cAAc,EAAE,KAAK,CAAC,cAAc;YACpC,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,eAAe,EAAE,KAAK,CAAC,eAAe;YACtC,eAAe,EAAE,KAAK,CAAC,eAAe;SACvC,CAAA;QAED,OAAO,IAAI,YAAY,CACrB,MAAM,EACN,KAAK,CAAC,gBAAgB,EACtB,KAAK,CAAC,cAAc,CACrB,CAAA;IACH,CAAC,EAAE;QACD,KAAK,CAAC,YAAY;QAClB,KAAK,CAAC,WAAW;QACjB,KAAK,CAAC,eAAe;QACrB,KAAK,CAAC,SAAS;QACf,KAAK,CAAC,aAAa;QACnB,KAAK,CAAC,cAAc;QACpB,KAAK,CAAC,eAAe;QACrB,KAAK,CAAC,eAAe;QACrB,KAAK,CAAC,eAAe;QACrB,KAAK,CAAC,gBAAgB;QACtB,KAAK,CAAC,cAAc;KACrB,CAAC,CAAA;IAEF,OAAO;QACL,YAAY;KACb,CAAA;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWorktreeActions.d.ts","sourceRoot":"","sources":["../../src/hooks/useWorktreeActions.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"useWorktreeActions.d.ts","sourceRoot":"","sources":["../../src/hooks/useWorktreeActions.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAS5C,UAAU,MAAM;IACd,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,SAAS,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,wBAAwB,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IAC/C,aAAa,EAAE,CAAC,IAAI,EAAE,QAAQ,GAAG,IAAI,KAAK,IAAI,CAAC;CAChD;AAED,MAAM,CAAC,OAAO,UAAU,kBAAkB,CAAC,EAAE,KAAK,EAAE,SAAS,EAAE,gBAAgB,EAAE,wBAAwB,EAAE,aAAa,EAAE,EAAE,MAAM;+BAGrF,QAAQ;mCA2BJ,QAAQ;mCA8DR,QAAQ;0CA2DD,QAAQ;yCAqBT,MAAM,QAAQ,QAAQ;EAkB5E"}
|
|
@@ -3,7 +3,9 @@ import { useCallback } from 'react';
|
|
|
3
3
|
import { TmuxService } from '../services/TmuxService.js';
|
|
4
4
|
import { enforceControlPaneSize } from '../utils/tmux.js';
|
|
5
5
|
import { SIDEBAR_WIDTH } from '../utils/layoutManager.js';
|
|
6
|
-
import { getCurrentBranch } from '../utils/git.js';
|
|
6
|
+
import { getCurrentBranch, getPaneBranchName } from '../utils/git.js';
|
|
7
|
+
import { cleanupPromptFilesForSlug } from '../utils/promptStore.js';
|
|
8
|
+
import { deriveProjectRootFromWorktreePath } from '../utils/paneProject.js';
|
|
7
9
|
import { useTemporaryStatus } from './useTemporaryStatus.js';
|
|
8
10
|
export default function useWorktreeActions({ panes, savePanes, setStatusMessage, setShowMergeConfirmation, setMergedPane }) {
|
|
9
11
|
const showTemporary = useTemporaryStatus(setStatusMessage);
|
|
@@ -56,13 +58,13 @@ export default function useWorktreeActions({ panes, savePanes, setStatusMessage,
|
|
|
56
58
|
}
|
|
57
59
|
setStatusMessage('Merging into main...');
|
|
58
60
|
try {
|
|
59
|
-
execSync(`git merge ${pane
|
|
61
|
+
execSync(`git merge "${getPaneBranchName(pane)}"`, { stdio: 'pipe' });
|
|
60
62
|
}
|
|
61
63
|
catch (mergeError) {
|
|
62
64
|
const errorMessage = mergeError.message || String(mergeError);
|
|
63
65
|
if (errorMessage.includes('CONFLICT') || errorMessage.includes('conflict')) {
|
|
64
66
|
process.stderr.write('\n\x1b[31m✗ Merge conflict detected!\x1b[0m\n');
|
|
65
|
-
process.stderr.write(`\nThere are merge conflicts when merging branch '${pane
|
|
67
|
+
process.stderr.write(`\nThere are merge conflicts when merging branch '${getPaneBranchName(pane)}' into '${mainBranch}'.\n`);
|
|
66
68
|
process.stderr.write('\nTo resolve:\n');
|
|
67
69
|
process.stderr.write('1. Manually resolve the merge conflicts in your editor\n');
|
|
68
70
|
process.stderr.write('2. Stage the resolved files: git add <resolved-files>\n');
|
|
@@ -83,7 +85,9 @@ export default function useWorktreeActions({ panes, savePanes, setStatusMessage,
|
|
|
83
85
|
}
|
|
84
86
|
// Only remove worktree if merge succeeded
|
|
85
87
|
execSync(`git worktree remove "${pane.worktreePath}"`, { stdio: 'pipe' });
|
|
86
|
-
|
|
88
|
+
const mainRepoPath = deriveProjectRootFromWorktreePath(pane.worktreePath) || process.cwd();
|
|
89
|
+
await cleanupPromptFilesForSlug(mainRepoPath, pane.slug);
|
|
90
|
+
execSync(`git branch -d "${getPaneBranchName(pane)}"`, { stdio: 'pipe' });
|
|
87
91
|
setStatusMessage(`Merged ${pane.slug} into ${mainBranch}`);
|
|
88
92
|
setTimeout(() => setStatusMessage(''), 3000);
|
|
89
93
|
setMergedPane(pane);
|
|
@@ -112,13 +116,13 @@ export default function useWorktreeActions({ panes, savePanes, setStatusMessage,
|
|
|
112
116
|
}
|
|
113
117
|
setStatusMessage('Merging into main...');
|
|
114
118
|
try {
|
|
115
|
-
execSync(`git merge ${pane
|
|
119
|
+
execSync(`git merge "${getPaneBranchName(pane)}"`, { stdio: 'pipe' });
|
|
116
120
|
}
|
|
117
121
|
catch (mergeError) {
|
|
118
122
|
const errorMessage = mergeError.message || String(mergeError);
|
|
119
123
|
if (errorMessage.includes('CONFLICT') || errorMessage.includes('conflict')) {
|
|
120
124
|
process.stderr.write('\n\x1b[31m✗ Merge conflict detected!\x1b[0m\n');
|
|
121
|
-
process.stderr.write(`\nThere are merge conflicts when merging branch '${pane
|
|
125
|
+
process.stderr.write(`\nThere are merge conflicts when merging branch '${getPaneBranchName(pane)}' into '${mainBranch}'.\n`);
|
|
122
126
|
process.stderr.write('\nTo resolve:\n');
|
|
123
127
|
process.stderr.write('1. Manually resolve the merge conflicts in your editor\n');
|
|
124
128
|
process.stderr.write('2. Stage the resolved files: git add <resolved-files>\n');
|
|
@@ -139,7 +143,9 @@ export default function useWorktreeActions({ panes, savePanes, setStatusMessage,
|
|
|
139
143
|
}
|
|
140
144
|
// Only remove worktree if merge succeeded
|
|
141
145
|
execSync(`git worktree remove "${pane.worktreePath}"`, { stdio: 'pipe' });
|
|
142
|
-
|
|
146
|
+
const mainRepoPath = deriveProjectRootFromWorktreePath(pane.worktreePath) || process.cwd();
|
|
147
|
+
await cleanupPromptFilesForSlug(mainRepoPath, pane.slug);
|
|
148
|
+
execSync(`git branch -d "${getPaneBranchName(pane)}"`, { stdio: 'pipe' });
|
|
143
149
|
await closePane(pane);
|
|
144
150
|
setStatusMessage(`Merged ${pane.slug} into ${mainBranch} and closed pane`);
|
|
145
151
|
setTimeout(() => setStatusMessage(''), 3000);
|
|
@@ -157,8 +163,10 @@ export default function useWorktreeActions({ panes, savePanes, setStatusMessage,
|
|
|
157
163
|
try {
|
|
158
164
|
setStatusMessage('Removing worktree with unsaved changes...');
|
|
159
165
|
execSync(`git worktree remove --force "${pane.worktreePath}"`, { stdio: 'pipe' });
|
|
166
|
+
const mainRepoPath = deriveProjectRootFromWorktreePath(pane.worktreePath) || process.cwd();
|
|
167
|
+
await cleanupPromptFilesForSlug(mainRepoPath, pane.slug);
|
|
160
168
|
try {
|
|
161
|
-
execSync(`git branch -D ${pane
|
|
169
|
+
execSync(`git branch -D "${getPaneBranchName(pane)}"`, { stdio: 'pipe' });
|
|
162
170
|
}
|
|
163
171
|
catch { }
|
|
164
172
|
await closePane(pane);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"useWorktreeActions.js","sourceRoot":"","sources":["../../src/hooks/useWorktreeActions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAEzC,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAEpC,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AACzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAC1D,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"useWorktreeActions.js","sourceRoot":"","sources":["../../src/hooks/useWorktreeActions.ts"],"names":[],"mappings":"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"}
|