dmux 3.2.0 → 3.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/dist/DmuxApp.d.ts.map +1 -1
- package/dist/DmuxApp.js +221 -1596
- package/dist/DmuxApp.js.map +1 -1
- package/dist/actions/implementations/closeAction.d.ts +10 -0
- package/dist/actions/implementations/closeAction.d.ts.map +1 -0
- package/dist/actions/implementations/closeAction.js +197 -0
- package/dist/actions/implementations/closeAction.js.map +1 -0
- package/dist/actions/implementations/copyPathAction.d.ts +10 -0
- package/dist/actions/implementations/copyPathAction.d.ts.map +1 -0
- package/dist/actions/implementations/copyPathAction.js +34 -0
- package/dist/actions/implementations/copyPathAction.js.map +1 -0
- package/dist/actions/implementations/duplicateAction.d.ts +10 -0
- package/dist/actions/implementations/duplicateAction.d.ts.map +1 -0
- package/dist/actions/implementations/duplicateAction.js +25 -0
- package/dist/actions/implementations/duplicateAction.js.map +1 -0
- package/dist/actions/implementations/index.d.ts +14 -0
- package/dist/actions/implementations/index.d.ts.map +1 -0
- package/dist/actions/implementations/index.js +14 -0
- package/dist/actions/implementations/index.js.map +1 -0
- package/dist/actions/implementations/mergeAction.d.ts +14 -0
- package/dist/actions/implementations/mergeAction.d.ts.map +1 -0
- package/dist/actions/implementations/mergeAction.js +84 -0
- package/dist/actions/implementations/mergeAction.js.map +1 -0
- package/dist/actions/implementations/openInEditorAction.d.ts +12 -0
- package/dist/actions/implementations/openInEditorAction.d.ts.map +1 -0
- package/dist/actions/implementations/openInEditorAction.js +33 -0
- package/dist/actions/implementations/openInEditorAction.js.map +1 -0
- package/dist/actions/implementations/renameAction.d.ts +13 -0
- package/dist/actions/implementations/renameAction.d.ts.map +1 -0
- package/dist/actions/implementations/renameAction.js +18 -0
- package/dist/actions/implementations/renameAction.js.map +1 -0
- package/dist/actions/implementations/toggleAutopilotAction.d.ts +10 -0
- package/dist/actions/implementations/toggleAutopilotAction.d.ts.map +1 -0
- package/dist/actions/implementations/toggleAutopilotAction.js +33 -0
- package/dist/actions/implementations/toggleAutopilotAction.js.map +1 -0
- package/dist/actions/implementations/viewAction.d.ts +10 -0
- package/dist/actions/implementations/viewAction.d.ts.map +1 -0
- package/dist/actions/implementations/viewAction.js +26 -0
- package/dist/actions/implementations/viewAction.js.map +1 -0
- package/dist/actions/merge/commitMessageHandler.d.ts +27 -0
- package/dist/actions/merge/commitMessageHandler.d.ts.map +1 -0
- package/dist/actions/merge/commitMessageHandler.js +131 -0
- package/dist/actions/merge/commitMessageHandler.js.map +1 -0
- package/dist/actions/merge/conflictResolution.d.ts +13 -0
- package/dist/actions/merge/conflictResolution.d.ts.map +1 -0
- package/dist/actions/merge/conflictResolution.js +134 -0
- package/dist/actions/merge/conflictResolution.js.map +1 -0
- package/dist/actions/merge/issueHandlers/index.d.ts +11 -0
- package/dist/actions/merge/issueHandlers/index.d.ts.map +1 -0
- package/dist/actions/merge/issueHandlers/index.js +8 -0
- package/dist/actions/merge/issueHandlers/index.js.map +1 -0
- package/dist/actions/merge/issueHandlers/mainDirtyHandler.d.ts +13 -0
- package/dist/actions/merge/issueHandlers/mainDirtyHandler.d.ts.map +1 -0
- package/dist/actions/merge/issueHandlers/mainDirtyHandler.js +72 -0
- package/dist/actions/merge/issueHandlers/mainDirtyHandler.js.map +1 -0
- package/dist/actions/merge/issueHandlers/mergeConflictHandler.d.ts +13 -0
- package/dist/actions/merge/issueHandlers/mergeConflictHandler.d.ts.map +1 -0
- package/dist/actions/merge/issueHandlers/mergeConflictHandler.js +52 -0
- package/dist/actions/merge/issueHandlers/mergeConflictHandler.js.map +1 -0
- package/dist/actions/merge/issueHandlers/nothingToMergeHandler.d.ts +7 -0
- package/dist/actions/merge/issueHandlers/nothingToMergeHandler.d.ts.map +1 -0
- package/dist/actions/merge/issueHandlers/nothingToMergeHandler.js +12 -0
- package/dist/actions/merge/issueHandlers/nothingToMergeHandler.js.map +1 -0
- package/dist/actions/merge/issueHandlers/worktreeUncommittedHandler.d.ts +13 -0
- package/dist/actions/merge/issueHandlers/worktreeUncommittedHandler.d.ts.map +1 -0
- package/dist/actions/merge/issueHandlers/worktreeUncommittedHandler.js +49 -0
- package/dist/actions/merge/issueHandlers/worktreeUncommittedHandler.js.map +1 -0
- package/dist/actions/merge/mergeExecution.d.ts +22 -0
- package/dist/actions/merge/mergeExecution.d.ts.map +1 -0
- package/dist/actions/merge/mergeExecution.js +180 -0
- package/dist/actions/merge/mergeExecution.js.map +1 -0
- package/dist/actions/paneActions.d.ts +3 -40
- package/dist/actions/paneActions.d.ts.map +1 -1
- package/dist/actions/paneActions.js +4 -1038
- package/dist/actions/paneActions.js.map +1 -1
- package/dist/actions/types.d.ts +1 -0
- package/dist/actions/types.d.ts.map +1 -1
- package/dist/actions/types.js.map +1 -1
- package/dist/components/{ActionChoiceDialog.d.ts → dialogs/ActionChoiceDialog.d.ts} +1 -1
- package/dist/components/dialogs/ActionChoiceDialog.d.ts.map +1 -0
- package/dist/components/dialogs/ActionChoiceDialog.js.map +1 -0
- package/dist/components/dialogs/ActionConfirmDialog.d.ts.map +1 -0
- package/dist/components/dialogs/ActionConfirmDialog.js.map +1 -0
- package/dist/components/dialogs/ActionInputDialog.d.ts.map +1 -0
- package/dist/components/{ActionInputDialog.js → dialogs/ActionInputDialog.js} +2 -2
- package/dist/components/dialogs/ActionInputDialog.js.map +1 -0
- package/dist/components/dialogs/ActionProgressDialog.d.ts.map +1 -0
- package/dist/components/dialogs/ActionProgressDialog.js.map +1 -0
- package/dist/components/dialogs/AgentChoiceDialog.d.ts.map +1 -0
- package/dist/components/dialogs/AgentChoiceDialog.js.map +1 -0
- package/dist/components/{CloseOptionsDialog.d.ts → dialogs/CloseOptionsDialog.d.ts} +1 -1
- package/dist/components/dialogs/CloseOptionsDialog.d.ts.map +1 -0
- package/dist/components/dialogs/CloseOptionsDialog.js.map +1 -0
- package/dist/components/dialogs/CommandPromptDialog.d.ts.map +1 -0
- package/dist/components/{CommandPromptDialog.js → dialogs/CommandPromptDialog.js} +1 -1
- package/dist/components/dialogs/CommandPromptDialog.js.map +1 -0
- package/dist/components/dialogs/DialogBox.d.ts.map +1 -0
- package/dist/components/dialogs/DialogBox.js.map +1 -0
- package/dist/components/dialogs/HooksDialog.d.ts.map +1 -0
- package/dist/components/dialogs/HooksDialog.js.map +1 -0
- package/dist/components/{MergeConfirmationDialog.d.ts → dialogs/MergeConfirmationDialog.d.ts} +1 -1
- package/dist/components/dialogs/MergeConfirmationDialog.d.ts.map +1 -0
- package/dist/components/dialogs/MergeConfirmationDialog.js.map +1 -0
- package/dist/components/{SettingsDialog.d.ts → dialogs/SettingsDialog.d.ts} +1 -1
- package/dist/components/dialogs/SettingsDialog.d.ts.map +1 -0
- package/dist/components/dialogs/SettingsDialog.js.map +1 -0
- package/dist/components/dialogs/UpdateDialog.d.ts.map +1 -0
- package/dist/components/dialogs/UpdateDialog.js.map +1 -0
- package/dist/components/indicators/CreatingIndicator.d.ts.map +1 -0
- package/dist/components/indicators/CreatingIndicator.js.map +1 -0
- package/dist/components/indicators/LoadingIndicator.d.ts.map +1 -0
- package/dist/components/indicators/LoadingIndicator.js.map +1 -0
- package/dist/components/indicators/RunningIndicator.d.ts.map +1 -0
- package/dist/components/indicators/RunningIndicator.js.map +1 -0
- package/dist/components/indicators/Spinner.d.ts.map +1 -0
- package/dist/components/indicators/Spinner.js.map +1 -0
- package/dist/components/indicators/UpdatingIndicator.d.ts.map +1 -0
- package/dist/components/indicators/UpdatingIndicator.js.map +1 -0
- package/dist/components/indicators/index.d.ts +6 -0
- package/dist/components/indicators/index.d.ts.map +1 -0
- package/dist/components/indicators/index.js +6 -0
- package/dist/components/indicators/index.js.map +1 -0
- package/dist/components/inputs/CleanTextInput.d.ts.map +1 -0
- package/dist/{CleanTextInput.js → components/inputs/CleanTextInput.js} +2 -144
- package/dist/components/inputs/CleanTextInput.js.map +1 -0
- package/dist/components/inputs/StyledTextInput.d.ts.map +1 -0
- package/dist/components/inputs/StyledTextInput.js.map +1 -0
- package/dist/components/inputs/index.d.ts +3 -0
- package/dist/components/inputs/index.d.ts.map +1 -0
- package/dist/components/inputs/index.js +3 -0
- package/dist/components/inputs/index.js.map +1 -0
- package/dist/components/{KebabMenu.d.ts → panes/KebabMenu.d.ts} +1 -1
- package/dist/components/panes/KebabMenu.d.ts.map +1 -0
- package/dist/components/panes/KebabMenu.js.map +1 -0
- package/dist/components/panes/MergePane.d.ts.map +1 -0
- package/dist/{MergePane.js → components/panes/MergePane.js} +1 -1
- package/dist/components/panes/MergePane.js.map +1 -0
- package/dist/components/{PaneCard.d.ts → panes/PaneCard.d.ts} +1 -1
- package/dist/components/panes/PaneCard.d.ts.map +1 -0
- package/dist/components/{PaneCard.js → panes/PaneCard.js} +1 -1
- package/dist/components/panes/PaneCard.js.map +1 -0
- package/dist/components/{PanesGrid.d.ts → panes/PanesGrid.d.ts} +2 -2
- package/dist/components/panes/PanesGrid.d.ts.map +1 -0
- package/dist/components/{PanesGrid.js → panes/PanesGrid.js} +1 -1
- package/dist/components/panes/PanesGrid.js.map +1 -0
- package/dist/components/panes/index.d.ts +5 -0
- package/dist/components/panes/index.d.ts.map +1 -0
- package/dist/components/panes/index.js +5 -0
- package/dist/components/panes/index.js.map +1 -0
- package/dist/components/popups/agentChoicePopup.d.ts.map +1 -0
- package/dist/{popups → components/popups}/agentChoicePopup.js +1 -1
- package/dist/components/popups/agentChoicePopup.js.map +1 -0
- package/dist/components/popups/choicePopup.d.ts.map +1 -0
- package/dist/{popups → components/popups}/choicePopup.js +3 -3
- package/dist/components/popups/choicePopup.js.map +1 -0
- package/dist/components/popups/config.d.ts.map +1 -0
- package/dist/{popups → components/popups}/config.js +1 -1
- package/dist/components/popups/config.js.map +1 -0
- package/dist/components/popups/confirmPopup.d.ts.map +1 -0
- package/dist/{popups → components/popups}/confirmPopup.js +2 -3
- package/dist/components/popups/confirmPopup.js.map +1 -0
- package/dist/components/popups/hooksPopup.d.ts.map +1 -0
- package/dist/{popups → components/popups}/hooksPopup.js +1 -1
- package/dist/components/popups/hooksPopup.js.map +1 -0
- package/dist/components/popups/inputPopup.d.ts.map +1 -0
- package/dist/{popups → components/popups}/inputPopup.js +3 -4
- package/dist/components/popups/inputPopup.js.map +1 -0
- package/dist/components/popups/kebabMenuPopup.d.ts.map +1 -0
- package/dist/{popups → components/popups}/kebabMenuPopup.js +1 -1
- package/dist/components/popups/kebabMenuPopup.js.map +1 -0
- package/dist/components/popups/logsPopup.d.ts.map +1 -0
- package/dist/{popups → components/popups}/logsPopup.js +15 -7
- package/dist/components/popups/logsPopup.js.map +1 -0
- package/dist/components/popups/mergePopup.d.ts.map +1 -0
- package/dist/{popups → components/popups}/mergePopup.js +6 -6
- package/dist/components/popups/mergePopup.js.map +1 -0
- package/dist/components/popups/newPanePopup.d.ts.map +1 -0
- package/dist/{popups → components/popups}/newPanePopup.js +3 -3
- package/dist/components/popups/newPanePopup.js.map +1 -0
- package/dist/components/popups/progressPopup.d.ts.map +1 -0
- package/dist/{popups → components/popups}/progressPopup.js +1 -2
- package/dist/components/popups/progressPopup.js.map +1 -0
- package/dist/components/popups/remotePopup.d.ts.map +1 -0
- package/dist/{popups → components/popups}/remotePopup.js +1 -1
- package/dist/components/popups/remotePopup.js.map +1 -0
- package/dist/components/popups/settingsPopup.d.ts.map +1 -0
- package/dist/{popups → components/popups}/settingsPopup.js +1 -1
- package/dist/components/popups/settingsPopup.js.map +1 -0
- package/dist/components/popups/shared/FileList.d.ts.map +1 -0
- package/dist/components/popups/shared/FileList.js.map +1 -0
- package/dist/components/popups/shared/PopupContainer.d.ts.map +1 -0
- package/dist/components/popups/shared/PopupContainer.js.map +1 -0
- package/dist/components/popups/shared/PopupInputBox.d.ts.map +1 -0
- package/dist/components/popups/shared/PopupInputBox.js.map +1 -0
- package/dist/components/popups/shared/PopupWrapper.d.ts.map +1 -0
- package/dist/components/popups/shared/PopupWrapper.js.map +1 -0
- package/dist/components/popups/shared/index.d.ts.map +1 -0
- package/dist/components/popups/shared/index.js.map +1 -0
- package/dist/components/popups/shortcutsPopup.d.ts.map +1 -0
- package/dist/{popups → components/popups}/shortcutsPopup.js +1 -1
- package/dist/components/popups/shortcutsPopup.js.map +1 -0
- package/dist/components/popups/templates/SimpleInputPopup.d.ts.map +1 -0
- package/dist/{popups → components/popups}/templates/SimpleInputPopup.js +2 -2
- package/dist/components/popups/templates/SimpleInputPopup.js.map +1 -0
- package/dist/components/ui/FileCopyPrompt.d.ts.map +1 -0
- package/dist/components/ui/FileCopyPrompt.js.map +1 -0
- package/dist/components/ui/FooterHelp.d.ts.map +1 -0
- package/dist/components/ui/FooterHelp.js.map +1 -0
- package/dist/components/ui/QRCode.d.ts.map +1 -0
- package/dist/components/ui/QRCode.js.map +1 -0
- package/dist/components/ui/index.d.ts +4 -0
- package/dist/components/ui/index.d.ts.map +1 -0
- package/dist/components/ui/index.js +4 -0
- package/dist/components/ui/index.js.map +1 -0
- package/dist/constants/timing.d.ts +22 -0
- package/dist/constants/timing.d.ts.map +1 -0
- package/dist/constants/timing.js +26 -0
- package/dist/constants/timing.js.map +1 -0
- package/dist/hooks/useActionSystem.d.ts +5 -4
- package/dist/hooks/useActionSystem.d.ts.map +1 -1
- package/dist/hooks/useActionSystem.js +120 -114
- package/dist/hooks/useActionSystem.js.map +1 -1
- package/dist/hooks/useDebugInfo.d.ts +11 -0
- package/dist/hooks/useDebugInfo.d.ts.map +1 -0
- package/dist/hooks/useDebugInfo.js +34 -0
- package/dist/hooks/useDebugInfo.js.map +1 -0
- package/dist/hooks/useDialogState.d.ts +22 -0
- package/dist/hooks/useDialogState.d.ts.map +1 -0
- package/dist/hooks/useDialogState.js +62 -0
- package/dist/hooks/useDialogState.js.map +1 -0
- package/dist/hooks/useInputHandling.d.ts +60 -0
- package/dist/hooks/useInputHandling.d.ts.map +1 -0
- package/dist/hooks/useInputHandling.js +280 -0
- package/dist/hooks/useInputHandling.js.map +1 -0
- package/dist/hooks/useLayoutManagement.d.ts +12 -0
- package/dist/hooks/useLayoutManagement.d.ts.map +1 -0
- package/dist/hooks/useLayoutManagement.js +58 -0
- package/dist/hooks/useLayoutManagement.js.map +1 -0
- package/dist/hooks/usePaneCreation.d.ts.map +1 -1
- package/dist/hooks/usePaneCreation.js +4 -9
- package/dist/hooks/usePaneCreation.js.map +1 -1
- package/dist/hooks/usePaneLoading.d.ts +45 -0
- package/dist/hooks/usePaneLoading.d.ts.map +1 -0
- package/dist/hooks/usePaneLoading.js +188 -0
- package/dist/hooks/usePaneLoading.js.map +1 -0
- package/dist/hooks/usePaneRunner.d.ts.map +1 -1
- package/dist/hooks/usePaneRunner.js +9 -6
- package/dist/hooks/usePaneRunner.js.map +1 -1
- package/dist/hooks/usePaneSync.d.ts +34 -0
- package/dist/hooks/usePaneSync.d.ts.map +1 -0
- package/dist/hooks/usePaneSync.js +182 -0
- package/dist/hooks/usePaneSync.js.map +1 -0
- package/dist/hooks/usePanes.d.ts.map +1 -1
- package/dist/hooks/usePanes.js +55 -405
- package/dist/hooks/usePanes.js.map +1 -1
- package/dist/hooks/useServices.d.ts +24 -0
- package/dist/hooks/useServices.d.ts.map +1 -0
- package/dist/hooks/useServices.js +39 -0
- package/dist/hooks/useServices.js.map +1 -0
- package/dist/hooks/useShellDetection.d.ts +10 -0
- package/dist/hooks/useShellDetection.d.ts.map +1 -0
- package/dist/hooks/useShellDetection.js +53 -0
- package/dist/hooks/useShellDetection.js.map +1 -0
- package/dist/hooks/useStatusMessages.d.ts +11 -0
- package/dist/hooks/useStatusMessages.d.ts.map +1 -0
- package/dist/hooks/useStatusMessages.js +32 -0
- package/dist/hooks/useStatusMessages.js.map +1 -0
- package/dist/hooks/useTemporaryStatus.d.ts +13 -0
- package/dist/hooks/useTemporaryStatus.d.ts.map +1 -0
- package/dist/hooks/useTemporaryStatus.js +30 -0
- package/dist/hooks/useTemporaryStatus.js.map +1 -0
- package/dist/hooks/useTerminalWidth.d.ts.map +1 -1
- package/dist/hooks/useTerminalWidth.js +7 -12
- package/dist/hooks/useTerminalWidth.js.map +1 -1
- package/dist/hooks/useTunnelManagement.d.ts +18 -0
- package/dist/hooks/useTunnelManagement.d.ts.map +1 -0
- package/dist/hooks/useTunnelManagement.js +55 -0
- package/dist/hooks/useTunnelManagement.js.map +1 -0
- package/dist/hooks/useWorktreeActions.d.ts.map +1 -1
- package/dist/hooks/useWorktreeActions.js +18 -13
- package/dist/hooks/useWorktreeActions.js.map +1 -1
- package/dist/index.js +75 -57
- package/dist/index.js.map +1 -1
- package/dist/layout/LayoutCalculator.d.ts +62 -0
- package/dist/layout/LayoutCalculator.d.ts.map +1 -0
- package/dist/layout/LayoutCalculator.js +143 -0
- package/dist/layout/LayoutCalculator.js.map +1 -0
- package/dist/layout/SpacerManager.d.ts +64 -0
- package/dist/layout/SpacerManager.d.ts.map +1 -0
- package/dist/layout/SpacerManager.js +148 -0
- package/dist/layout/SpacerManager.js.map +1 -0
- package/dist/layout/TmuxLayoutApplier.d.ts +59 -0
- package/dist/layout/TmuxLayoutApplier.d.ts.map +1 -0
- package/dist/layout/TmuxLayoutApplier.js +135 -0
- package/dist/layout/TmuxLayoutApplier.js.map +1 -0
- package/dist/panes/decorative-pane.d.ts.map +1 -0
- package/dist/{decorative-pane.js → panes/decorative-pane.js} +1 -1
- package/dist/panes/decorative-pane.js.map +1 -0
- package/dist/panes/spacer-pane.d.ts.map +1 -0
- package/dist/panes/spacer-pane.js.map +1 -0
- package/dist/server/embedded-assets.d.ts.map +1 -1
- package/dist/server/embedded-assets.js +636 -5637
- package/dist/server/embedded-assets.js.map +1 -1
- package/dist/server/routes/actionsRoutes.d.ts +2 -0
- package/dist/server/routes/actionsRoutes.d.ts.map +1 -0
- package/dist/server/routes/actionsRoutes.js +110 -0
- package/dist/server/routes/actionsRoutes.js.map +1 -0
- package/dist/server/routes/healthRoutes.d.ts +13 -0
- package/dist/server/routes/healthRoutes.d.ts.map +1 -0
- package/dist/server/routes/healthRoutes.js +70 -0
- package/dist/server/routes/healthRoutes.js.map +1 -0
- package/dist/server/routes/index.d.ts +8 -0
- package/dist/server/routes/index.d.ts.map +1 -0
- package/dist/server/routes/index.js +67 -0
- package/dist/server/routes/index.js.map +1 -0
- package/dist/server/routes/keysRoutes.d.ts +20 -0
- package/dist/server/routes/keysRoutes.d.ts.map +1 -0
- package/dist/server/routes/keysRoutes.js +111 -0
- package/dist/server/routes/keysRoutes.js.map +1 -0
- package/dist/server/routes/panesRoutes.d.ts +2 -0
- package/dist/server/routes/panesRoutes.d.ts.map +1 -0
- package/dist/server/routes/panesRoutes.js +373 -0
- package/dist/server/routes/panesRoutes.js.map +1 -0
- package/dist/server/routes/settingsRoutes.d.ts +94 -0
- package/dist/server/routes/settingsRoutes.d.ts.map +1 -0
- package/dist/server/routes/settingsRoutes.js +159 -0
- package/dist/server/routes/settingsRoutes.js.map +1 -0
- package/dist/server/routes/streamRoutes.d.ts +18 -0
- package/dist/server/routes/streamRoutes.d.ts.map +1 -0
- package/dist/server/routes/streamRoutes.js +87 -0
- package/dist/server/routes/streamRoutes.js.map +1 -0
- package/dist/server/routes/tunnelRoutes.d.ts +11 -0
- package/dist/server/routes/tunnelRoutes.d.ts.map +1 -0
- package/dist/server/routes/tunnelRoutes.js +28 -0
- package/dist/server/routes/tunnelRoutes.js.map +1 -0
- package/dist/server/routes.d.ts +16 -2
- package/dist/server/routes.d.ts.map +1 -1
- package/dist/server/routes.js +16 -878
- package/dist/server/routes.js.map +1 -1
- package/dist/{AutoUpdater.d.ts → services/AutoUpdater.d.ts} +1 -0
- package/dist/services/AutoUpdater.d.ts.map +1 -0
- package/dist/{AutoUpdater.js → services/AutoUpdater.js} +42 -9
- package/dist/services/AutoUpdater.js.map +1 -0
- package/dist/services/PaneAnalyzer.d.ts.map +1 -0
- package/dist/{PaneAnalyzer.js → services/PaneAnalyzer.js} +1 -1
- package/dist/services/PaneAnalyzer.js.map +1 -0
- package/dist/services/PaneLifecycleManager.d.ts +60 -0
- package/dist/services/PaneLifecycleManager.d.ts.map +1 -0
- package/dist/services/PaneLifecycleManager.js +119 -0
- package/dist/services/PaneLifecycleManager.js.map +1 -0
- package/dist/services/PaneWorkerManager.d.ts.map +1 -1
- package/dist/services/PaneWorkerManager.js +6 -3
- package/dist/services/PaneWorkerManager.js.map +1 -1
- package/dist/services/PopupManager.d.ts +68 -0
- package/dist/services/PopupManager.d.ts.map +1 -0
- package/dist/services/PopupManager.js +415 -0
- package/dist/services/PopupManager.js.map +1 -0
- package/dist/services/StatusDetector.js +1 -1
- package/dist/services/StatusDetector.js.map +1 -1
- package/dist/services/TerminalStreamer.d.ts +1 -0
- package/dist/services/TerminalStreamer.d.ts.map +1 -1
- package/dist/services/TerminalStreamer.js +22 -16
- package/dist/services/TerminalStreamer.js.map +1 -1
- package/dist/services/TmuxService.d.ts +298 -0
- package/dist/services/TmuxService.d.ts.map +1 -0
- package/dist/services/TmuxService.js +768 -0
- package/dist/services/TmuxService.js.map +1 -0
- package/dist/services/TunnelService.d.ts.map +1 -1
- package/dist/services/TunnelService.js +2 -1
- package/dist/services/TunnelService.js.map +1 -1
- package/dist/types.d.ts +4 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/utils/asciiArt.d.ts.map +1 -1
- package/dist/utils/asciiArt.js +6 -19
- package/dist/utils/asciiArt.js.map +1 -1
- package/dist/utils/conflictMonitor.d.ts +20 -0
- package/dist/utils/conflictMonitor.d.ts.map +1 -0
- package/dist/utils/conflictMonitor.js +113 -0
- package/dist/utils/conflictMonitor.js.map +1 -0
- package/dist/utils/conflictResolutionPane.d.ts.map +1 -1
- package/dist/utils/conflictResolutionPane.js +70 -79
- package/dist/utils/conflictResolutionPane.js.map +1 -1
- package/dist/utils/errorHandling.d.ts +37 -0
- package/dist/utils/errorHandling.d.ts.map +1 -0
- package/dist/utils/errorHandling.js +112 -0
- package/dist/utils/errorHandling.js.map +1 -0
- package/dist/utils/generated-agents-doc.d.ts +1 -1
- package/dist/utils/generated-agents-doc.js +1 -1
- package/dist/utils/git.d.ts +4 -0
- package/dist/utils/git.d.ts.map +1 -1
- package/dist/utils/git.js +15 -0
- package/dist/utils/git.js.map +1 -1
- package/dist/utils/hooksDocs.d.ts +1 -1
- package/dist/utils/layoutManager.d.ts +20 -16
- package/dist/utils/layoutManager.d.ts.map +1 -1
- package/dist/utils/layoutManager.js +116 -367
- package/dist/utils/layoutManager.js.map +1 -1
- package/dist/utils/mergeExecution.d.ts.map +1 -1
- package/dist/utils/mergeExecution.js +8 -1
- package/dist/utils/mergeExecution.js.map +1 -1
- package/dist/utils/mergeValidation.d.ts.map +1 -1
- package/dist/utils/mergeValidation.js +42 -13
- package/dist/utils/mergeValidation.js.map +1 -1
- package/dist/utils/paneCreation.d.ts.map +1 -1
- package/dist/utils/paneCreation.js +111 -103
- package/dist/utils/paneCreation.js.map +1 -1
- package/dist/utils/paneRebinding.d.ts +14 -0
- package/dist/utils/paneRebinding.d.ts.map +1 -0
- package/dist/utils/paneRebinding.js +28 -0
- package/dist/utils/paneRebinding.js.map +1 -0
- package/dist/utils/popup.d.ts.map +1 -1
- package/dist/utils/popup.js +11 -17
- package/dist/utils/popup.js.map +1 -1
- package/dist/utils/postPaneCleanup.d.ts.map +1 -1
- package/dist/utils/postPaneCleanup.js +4 -3
- package/dist/utils/postPaneCleanup.js.map +1 -1
- package/dist/utils/shellPaneDetection.d.ts +3 -3
- package/dist/utils/shellPaneDetection.d.ts.map +1 -1
- package/dist/utils/shellPaneDetection.js +10 -6
- package/dist/utils/shellPaneDetection.js.map +1 -1
- package/dist/utils/systemCheck.d.ts +19 -0
- package/dist/utils/systemCheck.d.ts.map +1 -0
- package/dist/utils/systemCheck.js +160 -0
- package/dist/utils/systemCheck.js.map +1 -0
- package/dist/utils/tmux.d.ts +26 -7
- package/dist/utils/tmux.d.ts.map +1 -1
- package/dist/utils/tmux.js +66 -64
- package/dist/utils/tmux.js.map +1 -1
- package/dist/utils/welcomePane.d.ts +2 -2
- package/dist/utils/welcomePane.d.ts.map +1 -1
- package/dist/utils/welcomePane.js +20 -28
- 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 +7 -9
- package/dist/workers/PaneWorker.js.map +1 -1
- package/dist/workers/updateChecker.js +1 -1
- package/dist/workers/updateChecker.js.map +1 -1
- package/package.json +3 -1
- package/dist/AutoUpdater.d.ts.map +0 -1
- package/dist/AutoUpdater.js.map +0 -1
- package/dist/BetterTextInput.d.ts +0 -10
- package/dist/BetterTextInput.d.ts.map +0 -1
- package/dist/BetterTextInput.js +0 -177
- package/dist/BetterTextInput.js.map +0 -1
- package/dist/CleanTextInput.d.ts.map +0 -1
- package/dist/CleanTextInput.js.map +0 -1
- package/dist/EnhancedTextInput.d.ts +0 -13
- package/dist/EnhancedTextInput.d.ts.map +0 -1
- package/dist/EnhancedTextInput.js +0 -443
- package/dist/EnhancedTextInput.js.map +0 -1
- package/dist/GeminiTextInput.d.ts +0 -12
- package/dist/GeminiTextInput.d.ts.map +0 -1
- package/dist/GeminiTextInput.js +0 -210
- package/dist/GeminiTextInput.js.map +0 -1
- package/dist/MergePane.d.ts.map +0 -1
- package/dist/MergePane.js.map +0 -1
- package/dist/MultilineTextInput.d.ts +0 -10
- package/dist/MultilineTextInput.d.ts.map +0 -1
- package/dist/MultilineTextInput.js +0 -184
- package/dist/MultilineTextInput.js.map +0 -1
- package/dist/PaneAnalyzer.d.ts.map +0 -1
- package/dist/PaneAnalyzer.js.map +0 -1
- package/dist/SimpleEnhancedInput.d.ts +0 -13
- package/dist/SimpleEnhancedInput.d.ts.map +0 -1
- package/dist/SimpleEnhancedInput.js +0 -639
- package/dist/SimpleEnhancedInput.js.map +0 -1
- package/dist/SimpleGeminiInput.d.ts +0 -12
- package/dist/SimpleGeminiInput.d.ts.map +0 -1
- package/dist/SimpleGeminiInput.js +0 -223
- package/dist/SimpleGeminiInput.js.map +0 -1
- package/dist/StyledTextInput.d.ts.map +0 -1
- package/dist/StyledTextInput.js.map +0 -1
- package/dist/components/ActionChoiceDialog.d.ts.map +0 -1
- package/dist/components/ActionChoiceDialog.js.map +0 -1
- package/dist/components/ActionConfirmDialog.d.ts.map +0 -1
- package/dist/components/ActionConfirmDialog.js.map +0 -1
- package/dist/components/ActionInputDialog.d.ts.map +0 -1
- package/dist/components/ActionInputDialog.js.map +0 -1
- package/dist/components/ActionProgressDialog.d.ts.map +0 -1
- package/dist/components/ActionProgressDialog.js.map +0 -1
- package/dist/components/AgentChoiceDialog.d.ts.map +0 -1
- package/dist/components/AgentChoiceDialog.js.map +0 -1
- package/dist/components/CloseOptionsDialog.d.ts.map +0 -1
- package/dist/components/CloseOptionsDialog.js.map +0 -1
- package/dist/components/CommandPromptDialog.d.ts.map +0 -1
- package/dist/components/CommandPromptDialog.js.map +0 -1
- package/dist/components/CreatingIndicator.d.ts.map +0 -1
- package/dist/components/CreatingIndicator.js.map +0 -1
- package/dist/components/DialogBox.d.ts.map +0 -1
- package/dist/components/DialogBox.js.map +0 -1
- package/dist/components/FileCopyPrompt.d.ts.map +0 -1
- package/dist/components/FileCopyPrompt.js.map +0 -1
- package/dist/components/FooterHelp.d.ts.map +0 -1
- package/dist/components/FooterHelp.js.map +0 -1
- package/dist/components/HooksDialog.d.ts.map +0 -1
- package/dist/components/HooksDialog.js.map +0 -1
- package/dist/components/KebabMenu.d.ts.map +0 -1
- package/dist/components/KebabMenu.js.map +0 -1
- package/dist/components/LoadingIndicator.d.ts.map +0 -1
- package/dist/components/LoadingIndicator.js.map +0 -1
- package/dist/components/MergeConfirmationDialog.d.ts.map +0 -1
- package/dist/components/MergeConfirmationDialog.js.map +0 -1
- package/dist/components/PaneCard.d.ts.map +0 -1
- package/dist/components/PaneCard.js.map +0 -1
- package/dist/components/PanesGrid.d.ts.map +0 -1
- package/dist/components/PanesGrid.js.map +0 -1
- package/dist/components/QRCode.d.ts.map +0 -1
- package/dist/components/QRCode.js.map +0 -1
- package/dist/components/RunningIndicator.d.ts.map +0 -1
- package/dist/components/RunningIndicator.js.map +0 -1
- package/dist/components/SettingsDialog.d.ts.map +0 -1
- package/dist/components/SettingsDialog.js.map +0 -1
- package/dist/components/Spinner.d.ts.map +0 -1
- package/dist/components/Spinner.js.map +0 -1
- package/dist/components/UpdateDialog.d.ts.map +0 -1
- package/dist/components/UpdateDialog.js.map +0 -1
- package/dist/components/UpdatingIndicator.d.ts.map +0 -1
- package/dist/components/UpdatingIndicator.js.map +0 -1
- package/dist/decorative-pane.d.ts.map +0 -1
- package/dist/decorative-pane.js.map +0 -1
- package/dist/popups/agentChoicePopup.d.ts.map +0 -1
- package/dist/popups/agentChoicePopup.js.map +0 -1
- package/dist/popups/choicePopup.d.ts.map +0 -1
- package/dist/popups/choicePopup.js.map +0 -1
- package/dist/popups/components/FileList.d.ts.map +0 -1
- package/dist/popups/components/FileList.js.map +0 -1
- package/dist/popups/components/PopupContainer.d.ts.map +0 -1
- package/dist/popups/components/PopupContainer.js.map +0 -1
- package/dist/popups/components/PopupInputBox.d.ts.map +0 -1
- package/dist/popups/components/PopupInputBox.js.map +0 -1
- package/dist/popups/components/PopupWrapper.d.ts.map +0 -1
- package/dist/popups/components/PopupWrapper.js.map +0 -1
- package/dist/popups/components/index.d.ts.map +0 -1
- package/dist/popups/components/index.js.map +0 -1
- package/dist/popups/config.d.ts.map +0 -1
- package/dist/popups/config.js.map +0 -1
- package/dist/popups/confirmPopup.d.ts.map +0 -1
- package/dist/popups/confirmPopup.js.map +0 -1
- package/dist/popups/hooksPopup.d.ts.map +0 -1
- package/dist/popups/hooksPopup.js.map +0 -1
- package/dist/popups/inputPopup.d.ts.map +0 -1
- package/dist/popups/inputPopup.js.map +0 -1
- package/dist/popups/kebabMenuPopup.d.ts.map +0 -1
- package/dist/popups/kebabMenuPopup.js.map +0 -1
- package/dist/popups/logsPopup.d.ts.map +0 -1
- package/dist/popups/logsPopup.js.map +0 -1
- package/dist/popups/mergePopup.d.ts.map +0 -1
- package/dist/popups/mergePopup.js.map +0 -1
- package/dist/popups/newPanePopup.d.ts.map +0 -1
- package/dist/popups/newPanePopup.js.map +0 -1
- package/dist/popups/progressPopup.d.ts.map +0 -1
- package/dist/popups/progressPopup.js.map +0 -1
- package/dist/popups/remotePopup.d.ts.map +0 -1
- package/dist/popups/remotePopup.js.map +0 -1
- package/dist/popups/settingsPopup.d.ts.map +0 -1
- package/dist/popups/settingsPopup.js.map +0 -1
- package/dist/popups/shortcutsPopup.d.ts.map +0 -1
- package/dist/popups/shortcutsPopup.js.map +0 -1
- package/dist/popups/templates/SimpleInputPopup.d.ts.map +0 -1
- package/dist/popups/templates/SimpleInputPopup.js.map +0 -1
- package/dist/server/static.d.ts +0 -6
- package/dist/server/static.d.ts.map +0 -1
- package/dist/server/static.js +0 -3040
- package/dist/server/static.js.map +0 -1
- package/dist/spacer-pane.d.ts.map +0 -1
- package/dist/spacer-pane.js.map +0 -1
- /package/dist/components/{ActionChoiceDialog.js → dialogs/ActionChoiceDialog.js} +0 -0
- /package/dist/components/{ActionConfirmDialog.d.ts → dialogs/ActionConfirmDialog.d.ts} +0 -0
- /package/dist/components/{ActionConfirmDialog.js → dialogs/ActionConfirmDialog.js} +0 -0
- /package/dist/components/{ActionInputDialog.d.ts → dialogs/ActionInputDialog.d.ts} +0 -0
- /package/dist/components/{ActionProgressDialog.d.ts → dialogs/ActionProgressDialog.d.ts} +0 -0
- /package/dist/components/{ActionProgressDialog.js → dialogs/ActionProgressDialog.js} +0 -0
- /package/dist/components/{AgentChoiceDialog.d.ts → dialogs/AgentChoiceDialog.d.ts} +0 -0
- /package/dist/components/{AgentChoiceDialog.js → dialogs/AgentChoiceDialog.js} +0 -0
- /package/dist/components/{CloseOptionsDialog.js → dialogs/CloseOptionsDialog.js} +0 -0
- /package/dist/components/{CommandPromptDialog.d.ts → dialogs/CommandPromptDialog.d.ts} +0 -0
- /package/dist/components/{DialogBox.d.ts → dialogs/DialogBox.d.ts} +0 -0
- /package/dist/components/{DialogBox.js → dialogs/DialogBox.js} +0 -0
- /package/dist/components/{HooksDialog.d.ts → dialogs/HooksDialog.d.ts} +0 -0
- /package/dist/components/{HooksDialog.js → dialogs/HooksDialog.js} +0 -0
- /package/dist/components/{MergeConfirmationDialog.js → dialogs/MergeConfirmationDialog.js} +0 -0
- /package/dist/components/{SettingsDialog.js → dialogs/SettingsDialog.js} +0 -0
- /package/dist/components/{UpdateDialog.d.ts → dialogs/UpdateDialog.d.ts} +0 -0
- /package/dist/components/{UpdateDialog.js → dialogs/UpdateDialog.js} +0 -0
- /package/dist/components/{CreatingIndicator.d.ts → indicators/CreatingIndicator.d.ts} +0 -0
- /package/dist/components/{CreatingIndicator.js → indicators/CreatingIndicator.js} +0 -0
- /package/dist/components/{LoadingIndicator.d.ts → indicators/LoadingIndicator.d.ts} +0 -0
- /package/dist/components/{LoadingIndicator.js → indicators/LoadingIndicator.js} +0 -0
- /package/dist/components/{RunningIndicator.d.ts → indicators/RunningIndicator.d.ts} +0 -0
- /package/dist/components/{RunningIndicator.js → indicators/RunningIndicator.js} +0 -0
- /package/dist/components/{Spinner.d.ts → indicators/Spinner.d.ts} +0 -0
- /package/dist/components/{Spinner.js → indicators/Spinner.js} +0 -0
- /package/dist/components/{UpdatingIndicator.d.ts → indicators/UpdatingIndicator.d.ts} +0 -0
- /package/dist/components/{UpdatingIndicator.js → indicators/UpdatingIndicator.js} +0 -0
- /package/dist/{CleanTextInput.d.ts → components/inputs/CleanTextInput.d.ts} +0 -0
- /package/dist/{StyledTextInput.d.ts → components/inputs/StyledTextInput.d.ts} +0 -0
- /package/dist/{StyledTextInput.js → components/inputs/StyledTextInput.js} +0 -0
- /package/dist/components/{KebabMenu.js → panes/KebabMenu.js} +0 -0
- /package/dist/{MergePane.d.ts → components/panes/MergePane.d.ts} +0 -0
- /package/dist/{popups → components/popups}/agentChoicePopup.d.ts +0 -0
- /package/dist/{popups → components/popups}/choicePopup.d.ts +0 -0
- /package/dist/{popups → components/popups}/config.d.ts +0 -0
- /package/dist/{popups → components/popups}/confirmPopup.d.ts +0 -0
- /package/dist/{popups → components/popups}/hooksPopup.d.ts +0 -0
- /package/dist/{popups → components/popups}/inputPopup.d.ts +0 -0
- /package/dist/{popups → components/popups}/kebabMenuPopup.d.ts +0 -0
- /package/dist/{popups → components/popups}/logsPopup.d.ts +0 -0
- /package/dist/{popups → components/popups}/mergePopup.d.ts +0 -0
- /package/dist/{popups → components/popups}/newPanePopup.d.ts +0 -0
- /package/dist/{popups → components/popups}/progressPopup.d.ts +0 -0
- /package/dist/{popups → components/popups}/remotePopup.d.ts +0 -0
- /package/dist/{popups → components/popups}/settingsPopup.d.ts +0 -0
- /package/dist/{popups/components → components/popups/shared}/FileList.d.ts +0 -0
- /package/dist/{popups/components → components/popups/shared}/FileList.js +0 -0
- /package/dist/{popups/components → components/popups/shared}/PopupContainer.d.ts +0 -0
- /package/dist/{popups/components → components/popups/shared}/PopupContainer.js +0 -0
- /package/dist/{popups/components → components/popups/shared}/PopupInputBox.d.ts +0 -0
- /package/dist/{popups/components → components/popups/shared}/PopupInputBox.js +0 -0
- /package/dist/{popups/components → components/popups/shared}/PopupWrapper.d.ts +0 -0
- /package/dist/{popups/components → components/popups/shared}/PopupWrapper.js +0 -0
- /package/dist/{popups/components → components/popups/shared}/index.d.ts +0 -0
- /package/dist/{popups/components → components/popups/shared}/index.js +0 -0
- /package/dist/{popups → components/popups}/shortcutsPopup.d.ts +0 -0
- /package/dist/{popups → components/popups}/templates/SimpleInputPopup.d.ts +0 -0
- /package/dist/components/{FileCopyPrompt.d.ts → ui/FileCopyPrompt.d.ts} +0 -0
- /package/dist/components/{FileCopyPrompt.js → ui/FileCopyPrompt.js} +0 -0
- /package/dist/components/{FooterHelp.d.ts → ui/FooterHelp.d.ts} +0 -0
- /package/dist/components/{FooterHelp.js → ui/FooterHelp.js} +0 -0
- /package/dist/components/{QRCode.d.ts → ui/QRCode.d.ts} +0 -0
- /package/dist/components/{QRCode.js → ui/QRCode.js} +0 -0
- /package/dist/{decorative-pane.d.ts → panes/decorative-pane.d.ts} +0 -0
- /package/dist/{spacer-pane.d.ts → panes/spacer-pane.d.ts} +0 -0
- /package/dist/{spacer-pane.js → panes/spacer-pane.js} +0 -0
- /package/dist/{PaneAnalyzer.d.ts → services/PaneAnalyzer.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"layoutManager.js","sourceRoot":"","sources":["../../src/utils/layoutManager.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"layoutManager.js","sourceRoot":"","sources":["../../src/utils/layoutManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mergeExecution.d.ts","sourceRoot":"","sources":["../../src/utils/mergeExecution.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACjB,WAAW,
|
|
1
|
+
{"version":3,"file":"mergeExecution.d.ts","sourceRoot":"","sources":["../../src/utils/mergeExecution.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,aAAa,CAAC,EAAE,MAAM,EAAE,CAAC;IACzB,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACjC;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACjB,WAAW,CAsCb;AAED;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,GACrB,WAAW,CA4Bb;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE,CAe9D;AAED;;GAEG;AACH,wBAAgB,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAajF;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAaxD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,WAAW,CA2B7E;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,UAAU,EAAE,MAAM,GACjB;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAqBtC;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAYvD"}
|
|
@@ -20,8 +20,11 @@ export function mergeMainIntoWorktree(worktreePath, mainBranch) {
|
|
|
20
20
|
const errorMessage = error instanceof Error ? error.message : String(error);
|
|
21
21
|
// Check if it's a merge conflict
|
|
22
22
|
if (errorMessage.includes('CONFLICT') || errorMessage.includes('conflict')) {
|
|
23
|
-
// Get list of conflicting files
|
|
23
|
+
// Get list of conflicting files BEFORE aborting
|
|
24
24
|
const conflictFiles = getConflictingFiles(worktreePath);
|
|
25
|
+
// CRITICAL: Abort the merge to return worktree to clean state
|
|
26
|
+
// This prevents conflict markers from being left in files
|
|
27
|
+
abortMerge(worktreePath);
|
|
25
28
|
return {
|
|
26
29
|
success: false,
|
|
27
30
|
error: 'Merge conflicts detected',
|
|
@@ -29,6 +32,10 @@ export function mergeMainIntoWorktree(worktreePath, mainBranch) {
|
|
|
29
32
|
needsManualResolution: true,
|
|
30
33
|
};
|
|
31
34
|
}
|
|
35
|
+
// For non-conflict errors, also abort if we're in merge state
|
|
36
|
+
if (isInMergeState(worktreePath)) {
|
|
37
|
+
abortMerge(worktreePath);
|
|
38
|
+
}
|
|
32
39
|
return {
|
|
33
40
|
success: false,
|
|
34
41
|
error: errorMessage,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mergeExecution.js","sourceRoot":"","sources":["../../src/utils/mergeExecution.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AASzC;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,YAAoB,EACpB,UAAkB;IAElB,IAAI,CAAC;QACH,QAAQ,CAAC,aAAa,UAAU,YAAY,EAAE;YAC5C,GAAG,EAAE,YAAY;YACjB,KAAK,EAAE,MAAM;SACd,CAAC,CAAC;QAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QAE5E,iCAAiC;QACjC,IAAI,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3E,
|
|
1
|
+
{"version":3,"file":"mergeExecution.js","sourceRoot":"","sources":["../../src/utils/mergeExecution.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mergeValidation.d.ts","sourceRoot":"","sources":["../../src/utils/mergeValidation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;
|
|
1
|
+
{"version":3,"file":"mergeValidation.d.ts","sourceRoot":"","sources":["../../src/utils/mergeValidation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH,MAAM,WAAW,qBAAqB;IACpC,QAAQ,EAAE,OAAO,CAAC;IAClB,MAAM,EAAE,UAAU,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,YAAY,GAAG,sBAAsB,GAAG,gBAAgB,GAAG,kBAAkB,CAAC;IACpF,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,EAAE,CAAC;IACjB,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,SAAS;IACxB,UAAU,EAAE,OAAO,CAAC;IACpB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAsCxD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAEzD;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,GAAG,OAAO,CAWjG;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,QAAQ,EAAE,MAAM,EAChB,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,GACnB;IAAE,YAAY,EAAE,OAAO,CAAC;IAAC,aAAa,EAAE,MAAM,EAAE,CAAA;CAAE,CA0EpD;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,YAAY,EAAE,MAAM,EACpB,YAAY,EAAE,MAAM,EACpB,cAAc,EAAE,MAAM,GACrB,qBAAqB,CA4DvB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CActF;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,MAAM,GACd;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CActC;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,KAAK,CAAC,EAAE,MAAM,CAAA;CAAE,CAanF"}
|
|
@@ -4,6 +4,8 @@
|
|
|
4
4
|
* Provides comprehensive pre-merge validation to detect issues before attempting merge
|
|
5
5
|
*/
|
|
6
6
|
import { execSync } from 'child_process';
|
|
7
|
+
import { LogService } from '../services/LogService.js';
|
|
8
|
+
import { getCurrentBranch as getCurrentBranchUtil } from './git.js';
|
|
7
9
|
/**
|
|
8
10
|
* Get git status for a repository
|
|
9
11
|
*/
|
|
@@ -18,7 +20,18 @@ export function getGitStatus(repoPath) {
|
|
|
18
20
|
.trim()
|
|
19
21
|
.split('\n')
|
|
20
22
|
.filter(line => line.trim())
|
|
21
|
-
.map(line =>
|
|
23
|
+
.map(line => {
|
|
24
|
+
// Git status porcelain format can vary:
|
|
25
|
+
// Standard: " M filename" (2 status chars + space + filename)
|
|
26
|
+
// Sometimes: "M filename" (1 status char + space + filename)
|
|
27
|
+
// Solution: trim leading spaces, find first space, take everything after it and trim again
|
|
28
|
+
const trimmed = line.trimStart();
|
|
29
|
+
const spaceIndex = trimmed.indexOf(' ');
|
|
30
|
+
const filename = spaceIndex >= 0 ? trimmed.slice(spaceIndex + 1).trim() : trimmed;
|
|
31
|
+
LogService.getInstance().info(`Git status: "${line}" → "${filename}"`, 'mergeValidation');
|
|
32
|
+
return filename;
|
|
33
|
+
});
|
|
34
|
+
LogService.getInstance().info(`Final files: ${JSON.stringify(files)}`, 'mergeValidation');
|
|
22
35
|
return {
|
|
23
36
|
hasChanges: files.length > 0,
|
|
24
37
|
files,
|
|
@@ -37,16 +50,7 @@ export function getGitStatus(repoPath) {
|
|
|
37
50
|
* Get current branch name
|
|
38
51
|
*/
|
|
39
52
|
export function getCurrentBranch(repoPath) {
|
|
40
|
-
|
|
41
|
-
return execSync('git branch --show-current', {
|
|
42
|
-
cwd: repoPath,
|
|
43
|
-
encoding: 'utf-8',
|
|
44
|
-
stdio: 'pipe',
|
|
45
|
-
}).trim();
|
|
46
|
-
}
|
|
47
|
-
catch {
|
|
48
|
-
return 'main';
|
|
49
|
-
}
|
|
53
|
+
return getCurrentBranchUtil(repoPath);
|
|
50
54
|
}
|
|
51
55
|
/**
|
|
52
56
|
* Check if there are any commits to merge
|
|
@@ -99,8 +103,33 @@ export function detectMergeConflicts(repoPath, sourceBranch, targetBranch) {
|
|
|
99
103
|
return { hasConflicts, conflictFiles };
|
|
100
104
|
}
|
|
101
105
|
catch (error) {
|
|
102
|
-
// If git merge-tree fails,
|
|
103
|
-
|
|
106
|
+
// If git merge-tree fails, try a simpler approach
|
|
107
|
+
try {
|
|
108
|
+
// Check if branches have diverged (different commits)
|
|
109
|
+
const diverged = execSync(`git rev-list --left-right --count ${targetBranch}...${sourceBranch}`, {
|
|
110
|
+
cwd: repoPath,
|
|
111
|
+
encoding: 'utf-8',
|
|
112
|
+
stdio: 'pipe',
|
|
113
|
+
});
|
|
114
|
+
const [behind, ahead] = diverged.trim().split('\t').map(Number);
|
|
115
|
+
// If both branches have commits (diverged), there might be conflicts
|
|
116
|
+
// If only one side has commits, it's a fast-forward merge (no conflicts)
|
|
117
|
+
if (behind > 0 && ahead > 0) {
|
|
118
|
+
// Get list of changed files on both sides
|
|
119
|
+
const changedFiles = execSync(`git diff --name-only ${targetBranch}...${sourceBranch}`, {
|
|
120
|
+
cwd: repoPath,
|
|
121
|
+
encoding: 'utf-8',
|
|
122
|
+
stdio: 'pipe',
|
|
123
|
+
}).trim().split('\n').filter(Boolean);
|
|
124
|
+
return { hasConflicts: true, conflictFiles: changedFiles };
|
|
125
|
+
}
|
|
126
|
+
// Fast-forward merge, no conflicts
|
|
127
|
+
return { hasConflicts: false, conflictFiles: [] };
|
|
128
|
+
}
|
|
129
|
+
catch {
|
|
130
|
+
// If everything fails, be conservative but don't claim conflicts
|
|
131
|
+
return { hasConflicts: false, conflictFiles: [] };
|
|
132
|
+
}
|
|
104
133
|
}
|
|
105
134
|
}
|
|
106
135
|
/**
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"mergeValidation.js","sourceRoot":"","sources":["../../src/utils/mergeValidation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;
|
|
1
|
+
{"version":3,"file":"mergeValidation.js","sourceRoot":"","sources":["../../src/utils/mergeValidation.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"paneCreation.d.ts","sourceRoot":"","sources":["../../src/utils/paneCreation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAc,MAAM,aAAa,CAAC;
|
|
1
|
+
{"version":3,"file":"paneCreation.d.ts","sourceRoot":"","sources":["../../src/utils/paneCreation.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,QAAQ,EAAc,MAAM,aAAa,CAAC;AAcxD,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,QAAQ,GAAG,UAAU,CAAC;IAC9B,WAAW,EAAE,MAAM,CAAC;IACpB,aAAa,EAAE,QAAQ,EAAE,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,QAAQ,CAAC;IACf,gBAAgB,EAAE,OAAO,CAAC;CAC3B;AAED;;;GAGG;AACH,wBAAsB,UAAU,CAC9B,OAAO,EAAE,iBAAiB,EAC1B,eAAe,EAAE,KAAK,CAAC,QAAQ,GAAG,UAAU,CAAC,GAC5C,OAAO,CAAC,gBAAgB,CAAC,CAoZ3B"}
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
import { execSync } from 'child_process';
|
|
2
1
|
import path from 'path';
|
|
3
2
|
import * as fs from 'fs';
|
|
4
|
-
import {
|
|
3
|
+
import { execSync } from 'child_process';
|
|
4
|
+
import { TmuxService } from '../services/TmuxService.js';
|
|
5
|
+
import { setupSidebarLayout, getTerminalDimensions, splitPane, } from './tmux.js';
|
|
5
6
|
import { SIDEBAR_WIDTH, recalculateAndApplyLayout } from './layoutManager.js';
|
|
6
7
|
import { generateSlug } from './slug.js';
|
|
7
8
|
import { capturePaneContent } from './paneCapture.js';
|
|
8
9
|
import { triggerHook } from './hooks.js';
|
|
10
|
+
import { TMUX_LAYOUT_APPLY_DELAY, TMUX_SPLIT_DELAY } from '../constants/timing.js';
|
|
9
11
|
/**
|
|
10
12
|
* Core pane creation logic that can be used by both TUI and API
|
|
11
13
|
* Returns the newly created pane and whether agent choice is needed
|
|
@@ -74,10 +76,9 @@ export async function createPane(options, availableAgents) {
|
|
|
74
76
|
});
|
|
75
77
|
// Generate slug
|
|
76
78
|
const slug = await generateSlug(prompt);
|
|
79
|
+
const tmuxService = TmuxService.getInstance();
|
|
77
80
|
const worktreePath = path.join(projectRoot, '.dmux', 'worktrees', slug);
|
|
78
|
-
const originalPaneId =
|
|
79
|
-
encoding: 'utf-8',
|
|
80
|
-
}).trim();
|
|
81
|
+
const originalPaneId = tmuxService.getCurrentPaneIdSync();
|
|
81
82
|
// Load config to get control pane info
|
|
82
83
|
const configPath = path.join(projectRoot, '.dmux', 'dmux.config.json');
|
|
83
84
|
let controlPaneId;
|
|
@@ -87,21 +88,17 @@ export async function createPane(options, availableAgents) {
|
|
|
87
88
|
controlPaneId = config.controlPaneId;
|
|
88
89
|
// Verify the control pane ID from config still exists
|
|
89
90
|
if (controlPaneId) {
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
encoding: 'utf-8',
|
|
93
|
-
stdio: 'pipe'
|
|
94
|
-
});
|
|
95
|
-
// Pane exists, we can use it
|
|
96
|
-
}
|
|
97
|
-
catch {
|
|
91
|
+
const exists = await tmuxService.paneExists(controlPaneId);
|
|
92
|
+
if (!exists) {
|
|
98
93
|
// Pane doesn't exist anymore, use current pane and update config
|
|
94
|
+
console.error(`[dmux] Control pane ${controlPaneId} no longer exists, updating to ${originalPaneId}`);
|
|
99
95
|
controlPaneId = originalPaneId;
|
|
100
96
|
config.controlPaneId = controlPaneId;
|
|
101
97
|
config.controlPaneSize = SIDEBAR_WIDTH;
|
|
102
98
|
config.lastUpdated = new Date().toISOString();
|
|
103
99
|
fs.writeFileSync(configPath, JSON.stringify(config, null, 2));
|
|
104
100
|
}
|
|
101
|
+
// Else: Pane exists, we can use it
|
|
105
102
|
}
|
|
106
103
|
// If control pane ID is missing, save it
|
|
107
104
|
if (!controlPaneId) {
|
|
@@ -117,10 +114,10 @@ export async function createPane(options, availableAgents) {
|
|
|
117
114
|
controlPaneId = originalPaneId;
|
|
118
115
|
}
|
|
119
116
|
// Get current pane count
|
|
120
|
-
const paneCount =
|
|
117
|
+
const paneCount = tmuxService.getAllPaneIdsSync().length;
|
|
121
118
|
// Enable pane borders to show titles
|
|
122
119
|
try {
|
|
123
|
-
|
|
120
|
+
tmuxService.setGlobalOptionSync('pane-border-status', 'top');
|
|
124
121
|
}
|
|
125
122
|
catch {
|
|
126
123
|
// Ignore if already set or fails
|
|
@@ -129,28 +126,65 @@ export async function createPane(options, availableAgents) {
|
|
|
129
126
|
// Check existingPanes instead of contentPaneIds, because contentPaneIds includes the welcome pane
|
|
130
127
|
const isFirstContentPane = existingPanes.length === 0;
|
|
131
128
|
let paneInfo;
|
|
132
|
-
if
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
129
|
+
// Self-healing: Try to create pane, if it fails due to stale controlPaneId, fix and retry
|
|
130
|
+
try {
|
|
131
|
+
if (isFirstContentPane) {
|
|
132
|
+
// First, create the tmux pane but DON'T destroy welcome pane yet
|
|
133
|
+
// This way we can save the pane to config first, THEN destroy welcome pane
|
|
134
|
+
paneInfo = setupSidebarLayout(controlPaneId);
|
|
135
|
+
// Wait for pane creation to settle
|
|
136
|
+
await new Promise((resolve) => setTimeout(resolve, 300));
|
|
137
|
+
}
|
|
138
|
+
else {
|
|
139
|
+
// Subsequent panes - always split horizontally, let layout manager organize
|
|
140
|
+
// Get actual dmux pane IDs (not welcome pane) from existingPanes
|
|
141
|
+
const dmuxPaneIds = existingPanes.map(p => p.paneId);
|
|
142
|
+
const targetPane = dmuxPaneIds[dmuxPaneIds.length - 1]; // Split from the most recent dmux pane
|
|
143
|
+
// Always split horizontally - the layout manager will organize panes optimally
|
|
144
|
+
paneInfo = splitPane({ targetPane });
|
|
145
|
+
}
|
|
138
146
|
}
|
|
139
|
-
|
|
140
|
-
//
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
147
|
+
catch (error) {
|
|
148
|
+
// Check if error is due to stale pane ID (can't find pane)
|
|
149
|
+
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
150
|
+
if (errorMsg.includes("can't find pane")) {
|
|
151
|
+
console.error(`[dmux] Pane creation failed with stale ID, self-healing...`);
|
|
152
|
+
// Fix: Update controlPaneId to current pane and save to config
|
|
153
|
+
const currentPaneId = originalPaneId; // We got this at the start of createPane
|
|
154
|
+
console.error(`[dmux] Updating controlPaneId from ${controlPaneId} to ${currentPaneId}`);
|
|
155
|
+
try {
|
|
156
|
+
const configContent = fs.readFileSync(configPath, 'utf-8');
|
|
157
|
+
const config = JSON.parse(configContent);
|
|
158
|
+
config.controlPaneId = currentPaneId;
|
|
159
|
+
config.lastUpdated = new Date().toISOString();
|
|
160
|
+
fs.writeFileSync(configPath, JSON.stringify(config, null, 2));
|
|
161
|
+
controlPaneId = currentPaneId; // Update local variable
|
|
162
|
+
}
|
|
163
|
+
catch (configError) {
|
|
164
|
+
console.error('[dmux] Failed to update config:', configError);
|
|
165
|
+
throw error; // Re-throw original error
|
|
166
|
+
}
|
|
167
|
+
// Retry pane creation with corrected controlPaneId
|
|
168
|
+
if (isFirstContentPane) {
|
|
169
|
+
paneInfo = setupSidebarLayout(controlPaneId);
|
|
170
|
+
await new Promise((resolve) => setTimeout(resolve, 300));
|
|
171
|
+
}
|
|
172
|
+
else {
|
|
173
|
+
const dmuxPaneIds = existingPanes.map(p => p.paneId);
|
|
174
|
+
const targetPane = dmuxPaneIds[dmuxPaneIds.length - 1];
|
|
175
|
+
paneInfo = splitPane({ targetPane });
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
else {
|
|
179
|
+
// Different error, re-throw
|
|
180
|
+
throw error;
|
|
181
|
+
}
|
|
146
182
|
}
|
|
147
183
|
// Wait for pane creation to settle
|
|
148
184
|
await new Promise((resolve) => setTimeout(resolve, 500));
|
|
149
185
|
// Set pane title to match the slug
|
|
150
186
|
try {
|
|
151
|
-
|
|
152
|
-
stdio: 'pipe',
|
|
153
|
-
});
|
|
187
|
+
await tmuxService.setPaneTitle(paneInfo, slug);
|
|
154
188
|
}
|
|
155
189
|
catch {
|
|
156
190
|
// Ignore if setting title fails
|
|
@@ -159,9 +193,9 @@ export async function createPane(options, availableAgents) {
|
|
|
159
193
|
if (controlPaneId) {
|
|
160
194
|
const dimensions = getTerminalDimensions();
|
|
161
195
|
const allContentPaneIds = [...existingPanes.map(p => p.paneId), paneInfo];
|
|
162
|
-
recalculateAndApplyLayout(controlPaneId, allContentPaneIds, dimensions.width, dimensions.height);
|
|
196
|
+
await recalculateAndApplyLayout(controlPaneId, allContentPaneIds, dimensions.width, dimensions.height);
|
|
163
197
|
// Refresh tmux to apply changes
|
|
164
|
-
|
|
198
|
+
await tmuxService.refreshClient();
|
|
165
199
|
}
|
|
166
200
|
// Trigger pane_created hook (after pane created, before worktree)
|
|
167
201
|
await triggerHook('pane_created', projectRoot, undefined, {
|
|
@@ -206,9 +240,9 @@ export async function createPane(options, availableAgents) {
|
|
|
206
240
|
const worktreeCmd = branchExists
|
|
207
241
|
? `git worktree add "${worktreePath}" ${slug} && cd "${worktreePath}"`
|
|
208
242
|
: `git worktree add "${worktreePath}" -b ${slug} && cd "${worktreePath}"`;
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
243
|
+
// Send the git worktree command (auto-quoted by sendShellCommand)
|
|
244
|
+
await tmuxService.sendShellCommand(paneInfo, worktreeCmd);
|
|
245
|
+
await tmuxService.sendTmuxKeys(paneInfo, 'Enter');
|
|
212
246
|
// Wait for worktree to actually exist on the filesystem
|
|
213
247
|
const maxWaitTime = 5000; // 5 seconds max
|
|
214
248
|
const checkInterval = 100; // Check every 100ms
|
|
@@ -241,9 +275,11 @@ export async function createPane(options, availableAgents) {
|
|
|
241
275
|
catch (error) {
|
|
242
276
|
// Worktree creation failed - send helpful error message to the pane
|
|
243
277
|
const errorMsg = error instanceof Error ? error.message : String(error);
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
await
|
|
278
|
+
await tmuxService.sendShellCommand(paneInfo, `echo "❌ Failed to create worktree: ${errorMsg}"`);
|
|
279
|
+
await tmuxService.sendTmuxKeys(paneInfo, 'Enter');
|
|
280
|
+
await tmuxService.sendShellCommand(paneInfo, `echo "Tip: Try running: git worktree prune && git branch -D ${slug}"`);
|
|
281
|
+
await tmuxService.sendTmuxKeys(paneInfo, 'Enter');
|
|
282
|
+
await new Promise((resolve) => setTimeout(resolve, TMUX_LAYOUT_APPLY_DELAY));
|
|
247
283
|
// Don't throw - let the pane stay open so user can debug
|
|
248
284
|
}
|
|
249
285
|
// Launch agent if specified
|
|
@@ -260,40 +296,31 @@ export async function createPane(options, availableAgents) {
|
|
|
260
296
|
else {
|
|
261
297
|
claudeCmd = `claude --permission-mode=acceptEdits`;
|
|
262
298
|
}
|
|
263
|
-
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
// Auto-approve trust prompts for Claude
|
|
299
|
+
// Send the claude command (auto-quoted by sendShellCommand)
|
|
300
|
+
await tmuxService.sendShellCommand(paneInfo, claudeCmd);
|
|
301
|
+
await tmuxService.sendTmuxKeys(paneInfo, 'Enter');
|
|
302
|
+
// Auto-approve trust prompts for Claude (workspace trust, not edit permissions)
|
|
303
|
+
// Note: --permission-mode=acceptEdits handles edit permissions, but not workspace trust
|
|
269
304
|
autoApproveTrustPrompt(paneInfo, prompt).catch(() => {
|
|
270
305
|
// Ignore errors in background monitoring
|
|
271
306
|
});
|
|
272
307
|
}
|
|
273
308
|
else if (agent === 'opencode') {
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
execSync(`tmux send-keys -t '${paneInfo}' '${escapedOpenCmd}'`, {
|
|
277
|
-
stdio: 'pipe',
|
|
278
|
-
});
|
|
279
|
-
execSync(`tmux send-keys -t '${paneInfo}' Enter`, { stdio: 'pipe' });
|
|
309
|
+
await tmuxService.sendShellCommand(paneInfo, 'opencode');
|
|
310
|
+
await tmuxService.sendTmuxKeys(paneInfo, 'Enter');
|
|
280
311
|
if (prompt && prompt.trim()) {
|
|
281
312
|
await new Promise((resolve) => setTimeout(resolve, 1500));
|
|
282
313
|
const bufName = `dmux_prompt_${Date.now()}`;
|
|
283
314
|
const promptEsc = prompt.replace(/\\/g, '\\\\').replace(/'/g, "'\\''");
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
});
|
|
287
|
-
execSync(`tmux paste-buffer -b '${bufName}' -t '${paneInfo}'`, {
|
|
288
|
-
stdio: 'pipe',
|
|
289
|
-
});
|
|
315
|
+
await tmuxService.setBuffer(bufName, promptEsc);
|
|
316
|
+
await tmuxService.pasteBuffer(bufName, paneInfo);
|
|
290
317
|
await new Promise((resolve) => setTimeout(resolve, 200));
|
|
291
|
-
|
|
292
|
-
|
|
318
|
+
await tmuxService.deleteBuffer(bufName);
|
|
319
|
+
await tmuxService.sendTmuxKeys(paneInfo, 'Enter');
|
|
293
320
|
}
|
|
294
321
|
}
|
|
295
322
|
// Keep focus on the new pane
|
|
296
|
-
|
|
323
|
+
await tmuxService.selectPane(paneInfo);
|
|
297
324
|
// Create the pane object
|
|
298
325
|
const newPane = {
|
|
299
326
|
id: `dmux-${Date.now()}`,
|
|
@@ -326,10 +353,10 @@ export async function createPane(options, availableAgents) {
|
|
|
326
353
|
// Trigger worktree_created hook (after full pane setup)
|
|
327
354
|
await triggerHook('worktree_created', projectRoot, newPane);
|
|
328
355
|
// Switch back to the original pane
|
|
329
|
-
|
|
356
|
+
await tmuxService.selectPane(originalPaneId);
|
|
330
357
|
// Re-set the title for the dmux pane
|
|
331
358
|
try {
|
|
332
|
-
|
|
359
|
+
await tmuxService.setPaneTitle(originalPaneId, `dmux-${projectName}`);
|
|
333
360
|
}
|
|
334
361
|
catch {
|
|
335
362
|
// Ignore if setting title fails
|
|
@@ -343,36 +370,26 @@ export async function createPane(options, availableAgents) {
|
|
|
343
370
|
* Auto-approve Claude trust prompts
|
|
344
371
|
*/
|
|
345
372
|
async function autoApproveTrustPrompt(paneInfo, prompt) {
|
|
346
|
-
// Wait for Claude to start up before checking for prompts
|
|
347
|
-
await new Promise((resolve) => setTimeout(resolve,
|
|
373
|
+
// Wait longer for Claude to start up before checking for prompts
|
|
374
|
+
await new Promise((resolve) => setTimeout(resolve, 1200));
|
|
348
375
|
const maxChecks = 100; // 100 checks * 100ms = 10 seconds total
|
|
349
376
|
const checkInterval = 100; // Check every 100ms
|
|
350
377
|
let lastContent = '';
|
|
351
378
|
let stableContentCount = 0;
|
|
352
379
|
let promptHandled = false;
|
|
353
|
-
// Trust prompt patterns
|
|
380
|
+
// Trust prompt patterns - made more specific to avoid false positives
|
|
354
381
|
const trustPromptPatterns = [
|
|
382
|
+
// Specific trust/permission questions
|
|
355
383
|
/Do you trust the files in this folder\?/i,
|
|
356
384
|
/Trust the files in this workspace\?/i,
|
|
357
385
|
/Do you trust the authors of the files/i,
|
|
358
386
|
/Do you want to trust this workspace\?/i,
|
|
359
387
|
/trust.*files.*folder/i,
|
|
360
388
|
/trust.*workspace/i,
|
|
361
|
-
/Do you trust/i,
|
|
362
389
|
/Trust this folder/i,
|
|
363
390
|
/trust.*directory/i,
|
|
364
|
-
/permission.*grant/i,
|
|
365
|
-
/allow.*access/i,
|
|
366
391
|
/workspace.*trust/i,
|
|
367
|
-
|
|
368
|
-
/permission.*mode/i,
|
|
369
|
-
/allow.*claude/i,
|
|
370
|
-
/\[y\/n\]/i,
|
|
371
|
-
/\(y\/n\)/i,
|
|
372
|
-
/Yes\/No/i,
|
|
373
|
-
/\[Y\/n\]/i,
|
|
374
|
-
/press.*enter.*accept/i,
|
|
375
|
-
/press.*enter.*continue/i,
|
|
392
|
+
// Claude-specific numbered menu format
|
|
376
393
|
/❯\s*1\.\s*Yes,\s*proceed/i,
|
|
377
394
|
/Enter to confirm.*Esc to exit/i,
|
|
378
395
|
/1\.\s*Yes,\s*proceed/i,
|
|
@@ -383,6 +400,12 @@ async function autoApproveTrustPrompt(paneInfo, prompt) {
|
|
|
383
400
|
try {
|
|
384
401
|
// Capture the pane content
|
|
385
402
|
const paneContent = capturePaneContent(paneInfo, 30);
|
|
403
|
+
// Early exit: If Claude is already running (prompt has been processed), we're done
|
|
404
|
+
if (paneContent.includes('Claude') ||
|
|
405
|
+
paneContent.includes('Assistant') ||
|
|
406
|
+
paneContent.includes('claude>')) {
|
|
407
|
+
break;
|
|
408
|
+
}
|
|
386
409
|
// Check if content has stabilized
|
|
387
410
|
if (paneContent === lastContent) {
|
|
388
411
|
stableContentCount++;
|
|
@@ -391,36 +414,27 @@ async function autoApproveTrustPrompt(paneInfo, prompt) {
|
|
|
391
414
|
stableContentCount = 0;
|
|
392
415
|
lastContent = paneContent;
|
|
393
416
|
}
|
|
394
|
-
// Look for trust prompt
|
|
417
|
+
// Look for trust prompt using specific patterns only
|
|
395
418
|
const hasTrustPrompt = trustPromptPatterns.some((pattern) => pattern.test(paneContent));
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
(paneContent.includes('folder') && paneContent.includes('?'));
|
|
401
|
-
if ((hasTrustPrompt || hasClaudePermissionPrompt) && !promptHandled) {
|
|
402
|
-
// Content is stable and we found a prompt
|
|
403
|
-
if (stableContentCount >= 2) {
|
|
419
|
+
// Only act if we have high confidence it's a trust prompt
|
|
420
|
+
if (hasTrustPrompt && !promptHandled) {
|
|
421
|
+
// Require content to be stable for longer to avoid false positives
|
|
422
|
+
if (stableContentCount >= 5) {
|
|
404
423
|
// Check if this is the new Claude numbered menu format
|
|
405
424
|
const isNewClaudeFormat = /❯\s*1\.\s*Yes,\s*proceed/i.test(paneContent) ||
|
|
406
425
|
/Enter to confirm.*Esc to exit/i.test(paneContent);
|
|
426
|
+
const tmuxService = TmuxService.getInstance();
|
|
407
427
|
if (isNewClaudeFormat) {
|
|
408
428
|
// For new Claude format, just press Enter
|
|
409
|
-
|
|
410
|
-
stdio: 'pipe',
|
|
411
|
-
});
|
|
429
|
+
await tmuxService.sendTmuxKeys(paneInfo, 'Enter');
|
|
412
430
|
}
|
|
413
431
|
else {
|
|
414
432
|
// Try multiple response methods for older formats
|
|
415
|
-
|
|
433
|
+
await tmuxService.sendTmuxKeys(paneInfo, 'y');
|
|
416
434
|
await new Promise((resolve) => setTimeout(resolve, 50));
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
await new Promise((resolve) => setTimeout(resolve, 100));
|
|
421
|
-
execSync(`tmux send-keys -t '${paneInfo}' Enter`, {
|
|
422
|
-
stdio: 'pipe',
|
|
423
|
-
});
|
|
435
|
+
await tmuxService.sendTmuxKeys(paneInfo, 'Enter');
|
|
436
|
+
await new Promise((resolve) => setTimeout(resolve, TMUX_SPLIT_DELAY));
|
|
437
|
+
await tmuxService.sendTmuxKeys(paneInfo, 'Enter');
|
|
424
438
|
}
|
|
425
439
|
promptHandled = true;
|
|
426
440
|
// Wait and check if prompt is gone
|
|
@@ -445,12 +459,6 @@ async function autoApproveTrustPrompt(paneInfo, prompt) {
|
|
|
445
459
|
}
|
|
446
460
|
}
|
|
447
461
|
}
|
|
448
|
-
// If Claude is already running, we're done
|
|
449
|
-
if (!hasTrustPrompt &&
|
|
450
|
-
!hasClaudePermissionPrompt &&
|
|
451
|
-
(paneContent.includes('Claude') || paneContent.includes('Assistant'))) {
|
|
452
|
-
break;
|
|
453
|
-
}
|
|
454
462
|
}
|
|
455
463
|
catch (error) {
|
|
456
464
|
// Continue checking, errors are non-fatal
|