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.
Files changed (635) hide show
  1. package/dist/DmuxApp.d.ts.map +1 -1
  2. package/dist/DmuxApp.js +221 -1596
  3. package/dist/DmuxApp.js.map +1 -1
  4. package/dist/actions/implementations/closeAction.d.ts +10 -0
  5. package/dist/actions/implementations/closeAction.d.ts.map +1 -0
  6. package/dist/actions/implementations/closeAction.js +197 -0
  7. package/dist/actions/implementations/closeAction.js.map +1 -0
  8. package/dist/actions/implementations/copyPathAction.d.ts +10 -0
  9. package/dist/actions/implementations/copyPathAction.d.ts.map +1 -0
  10. package/dist/actions/implementations/copyPathAction.js +34 -0
  11. package/dist/actions/implementations/copyPathAction.js.map +1 -0
  12. package/dist/actions/implementations/duplicateAction.d.ts +10 -0
  13. package/dist/actions/implementations/duplicateAction.d.ts.map +1 -0
  14. package/dist/actions/implementations/duplicateAction.js +25 -0
  15. package/dist/actions/implementations/duplicateAction.js.map +1 -0
  16. package/dist/actions/implementations/index.d.ts +14 -0
  17. package/dist/actions/implementations/index.d.ts.map +1 -0
  18. package/dist/actions/implementations/index.js +14 -0
  19. package/dist/actions/implementations/index.js.map +1 -0
  20. package/dist/actions/implementations/mergeAction.d.ts +14 -0
  21. package/dist/actions/implementations/mergeAction.d.ts.map +1 -0
  22. package/dist/actions/implementations/mergeAction.js +84 -0
  23. package/dist/actions/implementations/mergeAction.js.map +1 -0
  24. package/dist/actions/implementations/openInEditorAction.d.ts +12 -0
  25. package/dist/actions/implementations/openInEditorAction.d.ts.map +1 -0
  26. package/dist/actions/implementations/openInEditorAction.js +33 -0
  27. package/dist/actions/implementations/openInEditorAction.js.map +1 -0
  28. package/dist/actions/implementations/renameAction.d.ts +13 -0
  29. package/dist/actions/implementations/renameAction.d.ts.map +1 -0
  30. package/dist/actions/implementations/renameAction.js +18 -0
  31. package/dist/actions/implementations/renameAction.js.map +1 -0
  32. package/dist/actions/implementations/toggleAutopilotAction.d.ts +10 -0
  33. package/dist/actions/implementations/toggleAutopilotAction.d.ts.map +1 -0
  34. package/dist/actions/implementations/toggleAutopilotAction.js +33 -0
  35. package/dist/actions/implementations/toggleAutopilotAction.js.map +1 -0
  36. package/dist/actions/implementations/viewAction.d.ts +10 -0
  37. package/dist/actions/implementations/viewAction.d.ts.map +1 -0
  38. package/dist/actions/implementations/viewAction.js +26 -0
  39. package/dist/actions/implementations/viewAction.js.map +1 -0
  40. package/dist/actions/merge/commitMessageHandler.d.ts +27 -0
  41. package/dist/actions/merge/commitMessageHandler.d.ts.map +1 -0
  42. package/dist/actions/merge/commitMessageHandler.js +131 -0
  43. package/dist/actions/merge/commitMessageHandler.js.map +1 -0
  44. package/dist/actions/merge/conflictResolution.d.ts +13 -0
  45. package/dist/actions/merge/conflictResolution.d.ts.map +1 -0
  46. package/dist/actions/merge/conflictResolution.js +134 -0
  47. package/dist/actions/merge/conflictResolution.js.map +1 -0
  48. package/dist/actions/merge/issueHandlers/index.d.ts +11 -0
  49. package/dist/actions/merge/issueHandlers/index.d.ts.map +1 -0
  50. package/dist/actions/merge/issueHandlers/index.js +8 -0
  51. package/dist/actions/merge/issueHandlers/index.js.map +1 -0
  52. package/dist/actions/merge/issueHandlers/mainDirtyHandler.d.ts +13 -0
  53. package/dist/actions/merge/issueHandlers/mainDirtyHandler.d.ts.map +1 -0
  54. package/dist/actions/merge/issueHandlers/mainDirtyHandler.js +72 -0
  55. package/dist/actions/merge/issueHandlers/mainDirtyHandler.js.map +1 -0
  56. package/dist/actions/merge/issueHandlers/mergeConflictHandler.d.ts +13 -0
  57. package/dist/actions/merge/issueHandlers/mergeConflictHandler.d.ts.map +1 -0
  58. package/dist/actions/merge/issueHandlers/mergeConflictHandler.js +52 -0
  59. package/dist/actions/merge/issueHandlers/mergeConflictHandler.js.map +1 -0
  60. package/dist/actions/merge/issueHandlers/nothingToMergeHandler.d.ts +7 -0
  61. package/dist/actions/merge/issueHandlers/nothingToMergeHandler.d.ts.map +1 -0
  62. package/dist/actions/merge/issueHandlers/nothingToMergeHandler.js +12 -0
  63. package/dist/actions/merge/issueHandlers/nothingToMergeHandler.js.map +1 -0
  64. package/dist/actions/merge/issueHandlers/worktreeUncommittedHandler.d.ts +13 -0
  65. package/dist/actions/merge/issueHandlers/worktreeUncommittedHandler.d.ts.map +1 -0
  66. package/dist/actions/merge/issueHandlers/worktreeUncommittedHandler.js +49 -0
  67. package/dist/actions/merge/issueHandlers/worktreeUncommittedHandler.js.map +1 -0
  68. package/dist/actions/merge/mergeExecution.d.ts +22 -0
  69. package/dist/actions/merge/mergeExecution.d.ts.map +1 -0
  70. package/dist/actions/merge/mergeExecution.js +180 -0
  71. package/dist/actions/merge/mergeExecution.js.map +1 -0
  72. package/dist/actions/paneActions.d.ts +3 -40
  73. package/dist/actions/paneActions.d.ts.map +1 -1
  74. package/dist/actions/paneActions.js +4 -1038
  75. package/dist/actions/paneActions.js.map +1 -1
  76. package/dist/actions/types.d.ts +1 -0
  77. package/dist/actions/types.d.ts.map +1 -1
  78. package/dist/actions/types.js.map +1 -1
  79. package/dist/components/{ActionChoiceDialog.d.ts → dialogs/ActionChoiceDialog.d.ts} +1 -1
  80. package/dist/components/dialogs/ActionChoiceDialog.d.ts.map +1 -0
  81. package/dist/components/dialogs/ActionChoiceDialog.js.map +1 -0
  82. package/dist/components/dialogs/ActionConfirmDialog.d.ts.map +1 -0
  83. package/dist/components/dialogs/ActionConfirmDialog.js.map +1 -0
  84. package/dist/components/dialogs/ActionInputDialog.d.ts.map +1 -0
  85. package/dist/components/{ActionInputDialog.js → dialogs/ActionInputDialog.js} +2 -2
  86. package/dist/components/dialogs/ActionInputDialog.js.map +1 -0
  87. package/dist/components/dialogs/ActionProgressDialog.d.ts.map +1 -0
  88. package/dist/components/dialogs/ActionProgressDialog.js.map +1 -0
  89. package/dist/components/dialogs/AgentChoiceDialog.d.ts.map +1 -0
  90. package/dist/components/dialogs/AgentChoiceDialog.js.map +1 -0
  91. package/dist/components/{CloseOptionsDialog.d.ts → dialogs/CloseOptionsDialog.d.ts} +1 -1
  92. package/dist/components/dialogs/CloseOptionsDialog.d.ts.map +1 -0
  93. package/dist/components/dialogs/CloseOptionsDialog.js.map +1 -0
  94. package/dist/components/dialogs/CommandPromptDialog.d.ts.map +1 -0
  95. package/dist/components/{CommandPromptDialog.js → dialogs/CommandPromptDialog.js} +1 -1
  96. package/dist/components/dialogs/CommandPromptDialog.js.map +1 -0
  97. package/dist/components/dialogs/DialogBox.d.ts.map +1 -0
  98. package/dist/components/dialogs/DialogBox.js.map +1 -0
  99. package/dist/components/dialogs/HooksDialog.d.ts.map +1 -0
  100. package/dist/components/dialogs/HooksDialog.js.map +1 -0
  101. package/dist/components/{MergeConfirmationDialog.d.ts → dialogs/MergeConfirmationDialog.d.ts} +1 -1
  102. package/dist/components/dialogs/MergeConfirmationDialog.d.ts.map +1 -0
  103. package/dist/components/dialogs/MergeConfirmationDialog.js.map +1 -0
  104. package/dist/components/{SettingsDialog.d.ts → dialogs/SettingsDialog.d.ts} +1 -1
  105. package/dist/components/dialogs/SettingsDialog.d.ts.map +1 -0
  106. package/dist/components/dialogs/SettingsDialog.js.map +1 -0
  107. package/dist/components/dialogs/UpdateDialog.d.ts.map +1 -0
  108. package/dist/components/dialogs/UpdateDialog.js.map +1 -0
  109. package/dist/components/indicators/CreatingIndicator.d.ts.map +1 -0
  110. package/dist/components/indicators/CreatingIndicator.js.map +1 -0
  111. package/dist/components/indicators/LoadingIndicator.d.ts.map +1 -0
  112. package/dist/components/indicators/LoadingIndicator.js.map +1 -0
  113. package/dist/components/indicators/RunningIndicator.d.ts.map +1 -0
  114. package/dist/components/indicators/RunningIndicator.js.map +1 -0
  115. package/dist/components/indicators/Spinner.d.ts.map +1 -0
  116. package/dist/components/indicators/Spinner.js.map +1 -0
  117. package/dist/components/indicators/UpdatingIndicator.d.ts.map +1 -0
  118. package/dist/components/indicators/UpdatingIndicator.js.map +1 -0
  119. package/dist/components/indicators/index.d.ts +6 -0
  120. package/dist/components/indicators/index.d.ts.map +1 -0
  121. package/dist/components/indicators/index.js +6 -0
  122. package/dist/components/indicators/index.js.map +1 -0
  123. package/dist/components/inputs/CleanTextInput.d.ts.map +1 -0
  124. package/dist/{CleanTextInput.js → components/inputs/CleanTextInput.js} +2 -144
  125. package/dist/components/inputs/CleanTextInput.js.map +1 -0
  126. package/dist/components/inputs/StyledTextInput.d.ts.map +1 -0
  127. package/dist/components/inputs/StyledTextInput.js.map +1 -0
  128. package/dist/components/inputs/index.d.ts +3 -0
  129. package/dist/components/inputs/index.d.ts.map +1 -0
  130. package/dist/components/inputs/index.js +3 -0
  131. package/dist/components/inputs/index.js.map +1 -0
  132. package/dist/components/{KebabMenu.d.ts → panes/KebabMenu.d.ts} +1 -1
  133. package/dist/components/panes/KebabMenu.d.ts.map +1 -0
  134. package/dist/components/panes/KebabMenu.js.map +1 -0
  135. package/dist/components/panes/MergePane.d.ts.map +1 -0
  136. package/dist/{MergePane.js → components/panes/MergePane.js} +1 -1
  137. package/dist/components/panes/MergePane.js.map +1 -0
  138. package/dist/components/{PaneCard.d.ts → panes/PaneCard.d.ts} +1 -1
  139. package/dist/components/panes/PaneCard.d.ts.map +1 -0
  140. package/dist/components/{PaneCard.js → panes/PaneCard.js} +1 -1
  141. package/dist/components/panes/PaneCard.js.map +1 -0
  142. package/dist/components/{PanesGrid.d.ts → panes/PanesGrid.d.ts} +2 -2
  143. package/dist/components/panes/PanesGrid.d.ts.map +1 -0
  144. package/dist/components/{PanesGrid.js → panes/PanesGrid.js} +1 -1
  145. package/dist/components/panes/PanesGrid.js.map +1 -0
  146. package/dist/components/panes/index.d.ts +5 -0
  147. package/dist/components/panes/index.d.ts.map +1 -0
  148. package/dist/components/panes/index.js +5 -0
  149. package/dist/components/panes/index.js.map +1 -0
  150. package/dist/components/popups/agentChoicePopup.d.ts.map +1 -0
  151. package/dist/{popups → components/popups}/agentChoicePopup.js +1 -1
  152. package/dist/components/popups/agentChoicePopup.js.map +1 -0
  153. package/dist/components/popups/choicePopup.d.ts.map +1 -0
  154. package/dist/{popups → components/popups}/choicePopup.js +3 -3
  155. package/dist/components/popups/choicePopup.js.map +1 -0
  156. package/dist/components/popups/config.d.ts.map +1 -0
  157. package/dist/{popups → components/popups}/config.js +1 -1
  158. package/dist/components/popups/config.js.map +1 -0
  159. package/dist/components/popups/confirmPopup.d.ts.map +1 -0
  160. package/dist/{popups → components/popups}/confirmPopup.js +2 -3
  161. package/dist/components/popups/confirmPopup.js.map +1 -0
  162. package/dist/components/popups/hooksPopup.d.ts.map +1 -0
  163. package/dist/{popups → components/popups}/hooksPopup.js +1 -1
  164. package/dist/components/popups/hooksPopup.js.map +1 -0
  165. package/dist/components/popups/inputPopup.d.ts.map +1 -0
  166. package/dist/{popups → components/popups}/inputPopup.js +3 -4
  167. package/dist/components/popups/inputPopup.js.map +1 -0
  168. package/dist/components/popups/kebabMenuPopup.d.ts.map +1 -0
  169. package/dist/{popups → components/popups}/kebabMenuPopup.js +1 -1
  170. package/dist/components/popups/kebabMenuPopup.js.map +1 -0
  171. package/dist/components/popups/logsPopup.d.ts.map +1 -0
  172. package/dist/{popups → components/popups}/logsPopup.js +15 -7
  173. package/dist/components/popups/logsPopup.js.map +1 -0
  174. package/dist/components/popups/mergePopup.d.ts.map +1 -0
  175. package/dist/{popups → components/popups}/mergePopup.js +6 -6
  176. package/dist/components/popups/mergePopup.js.map +1 -0
  177. package/dist/components/popups/newPanePopup.d.ts.map +1 -0
  178. package/dist/{popups → components/popups}/newPanePopup.js +3 -3
  179. package/dist/components/popups/newPanePopup.js.map +1 -0
  180. package/dist/components/popups/progressPopup.d.ts.map +1 -0
  181. package/dist/{popups → components/popups}/progressPopup.js +1 -2
  182. package/dist/components/popups/progressPopup.js.map +1 -0
  183. package/dist/components/popups/remotePopup.d.ts.map +1 -0
  184. package/dist/{popups → components/popups}/remotePopup.js +1 -1
  185. package/dist/components/popups/remotePopup.js.map +1 -0
  186. package/dist/components/popups/settingsPopup.d.ts.map +1 -0
  187. package/dist/{popups → components/popups}/settingsPopup.js +1 -1
  188. package/dist/components/popups/settingsPopup.js.map +1 -0
  189. package/dist/components/popups/shared/FileList.d.ts.map +1 -0
  190. package/dist/components/popups/shared/FileList.js.map +1 -0
  191. package/dist/components/popups/shared/PopupContainer.d.ts.map +1 -0
  192. package/dist/components/popups/shared/PopupContainer.js.map +1 -0
  193. package/dist/components/popups/shared/PopupInputBox.d.ts.map +1 -0
  194. package/dist/components/popups/shared/PopupInputBox.js.map +1 -0
  195. package/dist/components/popups/shared/PopupWrapper.d.ts.map +1 -0
  196. package/dist/components/popups/shared/PopupWrapper.js.map +1 -0
  197. package/dist/components/popups/shared/index.d.ts.map +1 -0
  198. package/dist/components/popups/shared/index.js.map +1 -0
  199. package/dist/components/popups/shortcutsPopup.d.ts.map +1 -0
  200. package/dist/{popups → components/popups}/shortcutsPopup.js +1 -1
  201. package/dist/components/popups/shortcutsPopup.js.map +1 -0
  202. package/dist/components/popups/templates/SimpleInputPopup.d.ts.map +1 -0
  203. package/dist/{popups → components/popups}/templates/SimpleInputPopup.js +2 -2
  204. package/dist/components/popups/templates/SimpleInputPopup.js.map +1 -0
  205. package/dist/components/ui/FileCopyPrompt.d.ts.map +1 -0
  206. package/dist/components/ui/FileCopyPrompt.js.map +1 -0
  207. package/dist/components/ui/FooterHelp.d.ts.map +1 -0
  208. package/dist/components/ui/FooterHelp.js.map +1 -0
  209. package/dist/components/ui/QRCode.d.ts.map +1 -0
  210. package/dist/components/ui/QRCode.js.map +1 -0
  211. package/dist/components/ui/index.d.ts +4 -0
  212. package/dist/components/ui/index.d.ts.map +1 -0
  213. package/dist/components/ui/index.js +4 -0
  214. package/dist/components/ui/index.js.map +1 -0
  215. package/dist/constants/timing.d.ts +22 -0
  216. package/dist/constants/timing.d.ts.map +1 -0
  217. package/dist/constants/timing.js +26 -0
  218. package/dist/constants/timing.js.map +1 -0
  219. package/dist/hooks/useActionSystem.d.ts +5 -4
  220. package/dist/hooks/useActionSystem.d.ts.map +1 -1
  221. package/dist/hooks/useActionSystem.js +120 -114
  222. package/dist/hooks/useActionSystem.js.map +1 -1
  223. package/dist/hooks/useDebugInfo.d.ts +11 -0
  224. package/dist/hooks/useDebugInfo.d.ts.map +1 -0
  225. package/dist/hooks/useDebugInfo.js +34 -0
  226. package/dist/hooks/useDebugInfo.js.map +1 -0
  227. package/dist/hooks/useDialogState.d.ts +22 -0
  228. package/dist/hooks/useDialogState.d.ts.map +1 -0
  229. package/dist/hooks/useDialogState.js +62 -0
  230. package/dist/hooks/useDialogState.js.map +1 -0
  231. package/dist/hooks/useInputHandling.d.ts +60 -0
  232. package/dist/hooks/useInputHandling.d.ts.map +1 -0
  233. package/dist/hooks/useInputHandling.js +280 -0
  234. package/dist/hooks/useInputHandling.js.map +1 -0
  235. package/dist/hooks/useLayoutManagement.d.ts +12 -0
  236. package/dist/hooks/useLayoutManagement.d.ts.map +1 -0
  237. package/dist/hooks/useLayoutManagement.js +58 -0
  238. package/dist/hooks/useLayoutManagement.js.map +1 -0
  239. package/dist/hooks/usePaneCreation.d.ts.map +1 -1
  240. package/dist/hooks/usePaneCreation.js +4 -9
  241. package/dist/hooks/usePaneCreation.js.map +1 -1
  242. package/dist/hooks/usePaneLoading.d.ts +45 -0
  243. package/dist/hooks/usePaneLoading.d.ts.map +1 -0
  244. package/dist/hooks/usePaneLoading.js +188 -0
  245. package/dist/hooks/usePaneLoading.js.map +1 -0
  246. package/dist/hooks/usePaneRunner.d.ts.map +1 -1
  247. package/dist/hooks/usePaneRunner.js +9 -6
  248. package/dist/hooks/usePaneRunner.js.map +1 -1
  249. package/dist/hooks/usePaneSync.d.ts +34 -0
  250. package/dist/hooks/usePaneSync.d.ts.map +1 -0
  251. package/dist/hooks/usePaneSync.js +182 -0
  252. package/dist/hooks/usePaneSync.js.map +1 -0
  253. package/dist/hooks/usePanes.d.ts.map +1 -1
  254. package/dist/hooks/usePanes.js +55 -405
  255. package/dist/hooks/usePanes.js.map +1 -1
  256. package/dist/hooks/useServices.d.ts +24 -0
  257. package/dist/hooks/useServices.d.ts.map +1 -0
  258. package/dist/hooks/useServices.js +39 -0
  259. package/dist/hooks/useServices.js.map +1 -0
  260. package/dist/hooks/useShellDetection.d.ts +10 -0
  261. package/dist/hooks/useShellDetection.d.ts.map +1 -0
  262. package/dist/hooks/useShellDetection.js +53 -0
  263. package/dist/hooks/useShellDetection.js.map +1 -0
  264. package/dist/hooks/useStatusMessages.d.ts +11 -0
  265. package/dist/hooks/useStatusMessages.d.ts.map +1 -0
  266. package/dist/hooks/useStatusMessages.js +32 -0
  267. package/dist/hooks/useStatusMessages.js.map +1 -0
  268. package/dist/hooks/useTemporaryStatus.d.ts +13 -0
  269. package/dist/hooks/useTemporaryStatus.d.ts.map +1 -0
  270. package/dist/hooks/useTemporaryStatus.js +30 -0
  271. package/dist/hooks/useTemporaryStatus.js.map +1 -0
  272. package/dist/hooks/useTerminalWidth.d.ts.map +1 -1
  273. package/dist/hooks/useTerminalWidth.js +7 -12
  274. package/dist/hooks/useTerminalWidth.js.map +1 -1
  275. package/dist/hooks/useTunnelManagement.d.ts +18 -0
  276. package/dist/hooks/useTunnelManagement.d.ts.map +1 -0
  277. package/dist/hooks/useTunnelManagement.js +55 -0
  278. package/dist/hooks/useTunnelManagement.js.map +1 -0
  279. package/dist/hooks/useWorktreeActions.d.ts.map +1 -1
  280. package/dist/hooks/useWorktreeActions.js +18 -13
  281. package/dist/hooks/useWorktreeActions.js.map +1 -1
  282. package/dist/index.js +75 -57
  283. package/dist/index.js.map +1 -1
  284. package/dist/layout/LayoutCalculator.d.ts +62 -0
  285. package/dist/layout/LayoutCalculator.d.ts.map +1 -0
  286. package/dist/layout/LayoutCalculator.js +143 -0
  287. package/dist/layout/LayoutCalculator.js.map +1 -0
  288. package/dist/layout/SpacerManager.d.ts +64 -0
  289. package/dist/layout/SpacerManager.d.ts.map +1 -0
  290. package/dist/layout/SpacerManager.js +148 -0
  291. package/dist/layout/SpacerManager.js.map +1 -0
  292. package/dist/layout/TmuxLayoutApplier.d.ts +59 -0
  293. package/dist/layout/TmuxLayoutApplier.d.ts.map +1 -0
  294. package/dist/layout/TmuxLayoutApplier.js +135 -0
  295. package/dist/layout/TmuxLayoutApplier.js.map +1 -0
  296. package/dist/panes/decorative-pane.d.ts.map +1 -0
  297. package/dist/{decorative-pane.js → panes/decorative-pane.js} +1 -1
  298. package/dist/panes/decorative-pane.js.map +1 -0
  299. package/dist/panes/spacer-pane.d.ts.map +1 -0
  300. package/dist/panes/spacer-pane.js.map +1 -0
  301. package/dist/server/embedded-assets.d.ts.map +1 -1
  302. package/dist/server/embedded-assets.js +636 -5637
  303. package/dist/server/embedded-assets.js.map +1 -1
  304. package/dist/server/routes/actionsRoutes.d.ts +2 -0
  305. package/dist/server/routes/actionsRoutes.d.ts.map +1 -0
  306. package/dist/server/routes/actionsRoutes.js +110 -0
  307. package/dist/server/routes/actionsRoutes.js.map +1 -0
  308. package/dist/server/routes/healthRoutes.d.ts +13 -0
  309. package/dist/server/routes/healthRoutes.d.ts.map +1 -0
  310. package/dist/server/routes/healthRoutes.js +70 -0
  311. package/dist/server/routes/healthRoutes.js.map +1 -0
  312. package/dist/server/routes/index.d.ts +8 -0
  313. package/dist/server/routes/index.d.ts.map +1 -0
  314. package/dist/server/routes/index.js +67 -0
  315. package/dist/server/routes/index.js.map +1 -0
  316. package/dist/server/routes/keysRoutes.d.ts +20 -0
  317. package/dist/server/routes/keysRoutes.d.ts.map +1 -0
  318. package/dist/server/routes/keysRoutes.js +111 -0
  319. package/dist/server/routes/keysRoutes.js.map +1 -0
  320. package/dist/server/routes/panesRoutes.d.ts +2 -0
  321. package/dist/server/routes/panesRoutes.d.ts.map +1 -0
  322. package/dist/server/routes/panesRoutes.js +373 -0
  323. package/dist/server/routes/panesRoutes.js.map +1 -0
  324. package/dist/server/routes/settingsRoutes.d.ts +94 -0
  325. package/dist/server/routes/settingsRoutes.d.ts.map +1 -0
  326. package/dist/server/routes/settingsRoutes.js +159 -0
  327. package/dist/server/routes/settingsRoutes.js.map +1 -0
  328. package/dist/server/routes/streamRoutes.d.ts +18 -0
  329. package/dist/server/routes/streamRoutes.d.ts.map +1 -0
  330. package/dist/server/routes/streamRoutes.js +87 -0
  331. package/dist/server/routes/streamRoutes.js.map +1 -0
  332. package/dist/server/routes/tunnelRoutes.d.ts +11 -0
  333. package/dist/server/routes/tunnelRoutes.d.ts.map +1 -0
  334. package/dist/server/routes/tunnelRoutes.js +28 -0
  335. package/dist/server/routes/tunnelRoutes.js.map +1 -0
  336. package/dist/server/routes.d.ts +16 -2
  337. package/dist/server/routes.d.ts.map +1 -1
  338. package/dist/server/routes.js +16 -878
  339. package/dist/server/routes.js.map +1 -1
  340. package/dist/{AutoUpdater.d.ts → services/AutoUpdater.d.ts} +1 -0
  341. package/dist/services/AutoUpdater.d.ts.map +1 -0
  342. package/dist/{AutoUpdater.js → services/AutoUpdater.js} +42 -9
  343. package/dist/services/AutoUpdater.js.map +1 -0
  344. package/dist/services/PaneAnalyzer.d.ts.map +1 -0
  345. package/dist/{PaneAnalyzer.js → services/PaneAnalyzer.js} +1 -1
  346. package/dist/services/PaneAnalyzer.js.map +1 -0
  347. package/dist/services/PaneLifecycleManager.d.ts +60 -0
  348. package/dist/services/PaneLifecycleManager.d.ts.map +1 -0
  349. package/dist/services/PaneLifecycleManager.js +119 -0
  350. package/dist/services/PaneLifecycleManager.js.map +1 -0
  351. package/dist/services/PaneWorkerManager.d.ts.map +1 -1
  352. package/dist/services/PaneWorkerManager.js +6 -3
  353. package/dist/services/PaneWorkerManager.js.map +1 -1
  354. package/dist/services/PopupManager.d.ts +68 -0
  355. package/dist/services/PopupManager.d.ts.map +1 -0
  356. package/dist/services/PopupManager.js +415 -0
  357. package/dist/services/PopupManager.js.map +1 -0
  358. package/dist/services/StatusDetector.js +1 -1
  359. package/dist/services/StatusDetector.js.map +1 -1
  360. package/dist/services/TerminalStreamer.d.ts +1 -0
  361. package/dist/services/TerminalStreamer.d.ts.map +1 -1
  362. package/dist/services/TerminalStreamer.js +22 -16
  363. package/dist/services/TerminalStreamer.js.map +1 -1
  364. package/dist/services/TmuxService.d.ts +298 -0
  365. package/dist/services/TmuxService.d.ts.map +1 -0
  366. package/dist/services/TmuxService.js +768 -0
  367. package/dist/services/TmuxService.js.map +1 -0
  368. package/dist/services/TunnelService.d.ts.map +1 -1
  369. package/dist/services/TunnelService.js +2 -1
  370. package/dist/services/TunnelService.js.map +1 -1
  371. package/dist/types.d.ts +4 -0
  372. package/dist/types.d.ts.map +1 -1
  373. package/dist/utils/asciiArt.d.ts.map +1 -1
  374. package/dist/utils/asciiArt.js +6 -19
  375. package/dist/utils/asciiArt.js.map +1 -1
  376. package/dist/utils/conflictMonitor.d.ts +20 -0
  377. package/dist/utils/conflictMonitor.d.ts.map +1 -0
  378. package/dist/utils/conflictMonitor.js +113 -0
  379. package/dist/utils/conflictMonitor.js.map +1 -0
  380. package/dist/utils/conflictResolutionPane.d.ts.map +1 -1
  381. package/dist/utils/conflictResolutionPane.js +70 -79
  382. package/dist/utils/conflictResolutionPane.js.map +1 -1
  383. package/dist/utils/errorHandling.d.ts +37 -0
  384. package/dist/utils/errorHandling.d.ts.map +1 -0
  385. package/dist/utils/errorHandling.js +112 -0
  386. package/dist/utils/errorHandling.js.map +1 -0
  387. package/dist/utils/generated-agents-doc.d.ts +1 -1
  388. package/dist/utils/generated-agents-doc.js +1 -1
  389. package/dist/utils/git.d.ts +4 -0
  390. package/dist/utils/git.d.ts.map +1 -1
  391. package/dist/utils/git.js +15 -0
  392. package/dist/utils/git.js.map +1 -1
  393. package/dist/utils/hooksDocs.d.ts +1 -1
  394. package/dist/utils/layoutManager.d.ts +20 -16
  395. package/dist/utils/layoutManager.d.ts.map +1 -1
  396. package/dist/utils/layoutManager.js +116 -367
  397. package/dist/utils/layoutManager.js.map +1 -1
  398. package/dist/utils/mergeExecution.d.ts.map +1 -1
  399. package/dist/utils/mergeExecution.js +8 -1
  400. package/dist/utils/mergeExecution.js.map +1 -1
  401. package/dist/utils/mergeValidation.d.ts.map +1 -1
  402. package/dist/utils/mergeValidation.js +42 -13
  403. package/dist/utils/mergeValidation.js.map +1 -1
  404. package/dist/utils/paneCreation.d.ts.map +1 -1
  405. package/dist/utils/paneCreation.js +111 -103
  406. package/dist/utils/paneCreation.js.map +1 -1
  407. package/dist/utils/paneRebinding.d.ts +14 -0
  408. package/dist/utils/paneRebinding.d.ts.map +1 -0
  409. package/dist/utils/paneRebinding.js +28 -0
  410. package/dist/utils/paneRebinding.js.map +1 -0
  411. package/dist/utils/popup.d.ts.map +1 -1
  412. package/dist/utils/popup.js +11 -17
  413. package/dist/utils/popup.js.map +1 -1
  414. package/dist/utils/postPaneCleanup.d.ts.map +1 -1
  415. package/dist/utils/postPaneCleanup.js +4 -3
  416. package/dist/utils/postPaneCleanup.js.map +1 -1
  417. package/dist/utils/shellPaneDetection.d.ts +3 -3
  418. package/dist/utils/shellPaneDetection.d.ts.map +1 -1
  419. package/dist/utils/shellPaneDetection.js +10 -6
  420. package/dist/utils/shellPaneDetection.js.map +1 -1
  421. package/dist/utils/systemCheck.d.ts +19 -0
  422. package/dist/utils/systemCheck.d.ts.map +1 -0
  423. package/dist/utils/systemCheck.js +160 -0
  424. package/dist/utils/systemCheck.js.map +1 -0
  425. package/dist/utils/tmux.d.ts +26 -7
  426. package/dist/utils/tmux.d.ts.map +1 -1
  427. package/dist/utils/tmux.js +66 -64
  428. package/dist/utils/tmux.js.map +1 -1
  429. package/dist/utils/welcomePane.d.ts +2 -2
  430. package/dist/utils/welcomePane.d.ts.map +1 -1
  431. package/dist/utils/welcomePane.js +20 -28
  432. package/dist/utils/welcomePane.js.map +1 -1
  433. package/dist/utils/welcomePaneManager.js +1 -1
  434. package/dist/utils/welcomePaneManager.js.map +1 -1
  435. package/dist/workers/PaneWorker.js +7 -9
  436. package/dist/workers/PaneWorker.js.map +1 -1
  437. package/dist/workers/updateChecker.js +1 -1
  438. package/dist/workers/updateChecker.js.map +1 -1
  439. package/package.json +3 -1
  440. package/dist/AutoUpdater.d.ts.map +0 -1
  441. package/dist/AutoUpdater.js.map +0 -1
  442. package/dist/BetterTextInput.d.ts +0 -10
  443. package/dist/BetterTextInput.d.ts.map +0 -1
  444. package/dist/BetterTextInput.js +0 -177
  445. package/dist/BetterTextInput.js.map +0 -1
  446. package/dist/CleanTextInput.d.ts.map +0 -1
  447. package/dist/CleanTextInput.js.map +0 -1
  448. package/dist/EnhancedTextInput.d.ts +0 -13
  449. package/dist/EnhancedTextInput.d.ts.map +0 -1
  450. package/dist/EnhancedTextInput.js +0 -443
  451. package/dist/EnhancedTextInput.js.map +0 -1
  452. package/dist/GeminiTextInput.d.ts +0 -12
  453. package/dist/GeminiTextInput.d.ts.map +0 -1
  454. package/dist/GeminiTextInput.js +0 -210
  455. package/dist/GeminiTextInput.js.map +0 -1
  456. package/dist/MergePane.d.ts.map +0 -1
  457. package/dist/MergePane.js.map +0 -1
  458. package/dist/MultilineTextInput.d.ts +0 -10
  459. package/dist/MultilineTextInput.d.ts.map +0 -1
  460. package/dist/MultilineTextInput.js +0 -184
  461. package/dist/MultilineTextInput.js.map +0 -1
  462. package/dist/PaneAnalyzer.d.ts.map +0 -1
  463. package/dist/PaneAnalyzer.js.map +0 -1
  464. package/dist/SimpleEnhancedInput.d.ts +0 -13
  465. package/dist/SimpleEnhancedInput.d.ts.map +0 -1
  466. package/dist/SimpleEnhancedInput.js +0 -639
  467. package/dist/SimpleEnhancedInput.js.map +0 -1
  468. package/dist/SimpleGeminiInput.d.ts +0 -12
  469. package/dist/SimpleGeminiInput.d.ts.map +0 -1
  470. package/dist/SimpleGeminiInput.js +0 -223
  471. package/dist/SimpleGeminiInput.js.map +0 -1
  472. package/dist/StyledTextInput.d.ts.map +0 -1
  473. package/dist/StyledTextInput.js.map +0 -1
  474. package/dist/components/ActionChoiceDialog.d.ts.map +0 -1
  475. package/dist/components/ActionChoiceDialog.js.map +0 -1
  476. package/dist/components/ActionConfirmDialog.d.ts.map +0 -1
  477. package/dist/components/ActionConfirmDialog.js.map +0 -1
  478. package/dist/components/ActionInputDialog.d.ts.map +0 -1
  479. package/dist/components/ActionInputDialog.js.map +0 -1
  480. package/dist/components/ActionProgressDialog.d.ts.map +0 -1
  481. package/dist/components/ActionProgressDialog.js.map +0 -1
  482. package/dist/components/AgentChoiceDialog.d.ts.map +0 -1
  483. package/dist/components/AgentChoiceDialog.js.map +0 -1
  484. package/dist/components/CloseOptionsDialog.d.ts.map +0 -1
  485. package/dist/components/CloseOptionsDialog.js.map +0 -1
  486. package/dist/components/CommandPromptDialog.d.ts.map +0 -1
  487. package/dist/components/CommandPromptDialog.js.map +0 -1
  488. package/dist/components/CreatingIndicator.d.ts.map +0 -1
  489. package/dist/components/CreatingIndicator.js.map +0 -1
  490. package/dist/components/DialogBox.d.ts.map +0 -1
  491. package/dist/components/DialogBox.js.map +0 -1
  492. package/dist/components/FileCopyPrompt.d.ts.map +0 -1
  493. package/dist/components/FileCopyPrompt.js.map +0 -1
  494. package/dist/components/FooterHelp.d.ts.map +0 -1
  495. package/dist/components/FooterHelp.js.map +0 -1
  496. package/dist/components/HooksDialog.d.ts.map +0 -1
  497. package/dist/components/HooksDialog.js.map +0 -1
  498. package/dist/components/KebabMenu.d.ts.map +0 -1
  499. package/dist/components/KebabMenu.js.map +0 -1
  500. package/dist/components/LoadingIndicator.d.ts.map +0 -1
  501. package/dist/components/LoadingIndicator.js.map +0 -1
  502. package/dist/components/MergeConfirmationDialog.d.ts.map +0 -1
  503. package/dist/components/MergeConfirmationDialog.js.map +0 -1
  504. package/dist/components/PaneCard.d.ts.map +0 -1
  505. package/dist/components/PaneCard.js.map +0 -1
  506. package/dist/components/PanesGrid.d.ts.map +0 -1
  507. package/dist/components/PanesGrid.js.map +0 -1
  508. package/dist/components/QRCode.d.ts.map +0 -1
  509. package/dist/components/QRCode.js.map +0 -1
  510. package/dist/components/RunningIndicator.d.ts.map +0 -1
  511. package/dist/components/RunningIndicator.js.map +0 -1
  512. package/dist/components/SettingsDialog.d.ts.map +0 -1
  513. package/dist/components/SettingsDialog.js.map +0 -1
  514. package/dist/components/Spinner.d.ts.map +0 -1
  515. package/dist/components/Spinner.js.map +0 -1
  516. package/dist/components/UpdateDialog.d.ts.map +0 -1
  517. package/dist/components/UpdateDialog.js.map +0 -1
  518. package/dist/components/UpdatingIndicator.d.ts.map +0 -1
  519. package/dist/components/UpdatingIndicator.js.map +0 -1
  520. package/dist/decorative-pane.d.ts.map +0 -1
  521. package/dist/decorative-pane.js.map +0 -1
  522. package/dist/popups/agentChoicePopup.d.ts.map +0 -1
  523. package/dist/popups/agentChoicePopup.js.map +0 -1
  524. package/dist/popups/choicePopup.d.ts.map +0 -1
  525. package/dist/popups/choicePopup.js.map +0 -1
  526. package/dist/popups/components/FileList.d.ts.map +0 -1
  527. package/dist/popups/components/FileList.js.map +0 -1
  528. package/dist/popups/components/PopupContainer.d.ts.map +0 -1
  529. package/dist/popups/components/PopupContainer.js.map +0 -1
  530. package/dist/popups/components/PopupInputBox.d.ts.map +0 -1
  531. package/dist/popups/components/PopupInputBox.js.map +0 -1
  532. package/dist/popups/components/PopupWrapper.d.ts.map +0 -1
  533. package/dist/popups/components/PopupWrapper.js.map +0 -1
  534. package/dist/popups/components/index.d.ts.map +0 -1
  535. package/dist/popups/components/index.js.map +0 -1
  536. package/dist/popups/config.d.ts.map +0 -1
  537. package/dist/popups/config.js.map +0 -1
  538. package/dist/popups/confirmPopup.d.ts.map +0 -1
  539. package/dist/popups/confirmPopup.js.map +0 -1
  540. package/dist/popups/hooksPopup.d.ts.map +0 -1
  541. package/dist/popups/hooksPopup.js.map +0 -1
  542. package/dist/popups/inputPopup.d.ts.map +0 -1
  543. package/dist/popups/inputPopup.js.map +0 -1
  544. package/dist/popups/kebabMenuPopup.d.ts.map +0 -1
  545. package/dist/popups/kebabMenuPopup.js.map +0 -1
  546. package/dist/popups/logsPopup.d.ts.map +0 -1
  547. package/dist/popups/logsPopup.js.map +0 -1
  548. package/dist/popups/mergePopup.d.ts.map +0 -1
  549. package/dist/popups/mergePopup.js.map +0 -1
  550. package/dist/popups/newPanePopup.d.ts.map +0 -1
  551. package/dist/popups/newPanePopup.js.map +0 -1
  552. package/dist/popups/progressPopup.d.ts.map +0 -1
  553. package/dist/popups/progressPopup.js.map +0 -1
  554. package/dist/popups/remotePopup.d.ts.map +0 -1
  555. package/dist/popups/remotePopup.js.map +0 -1
  556. package/dist/popups/settingsPopup.d.ts.map +0 -1
  557. package/dist/popups/settingsPopup.js.map +0 -1
  558. package/dist/popups/shortcutsPopup.d.ts.map +0 -1
  559. package/dist/popups/shortcutsPopup.js.map +0 -1
  560. package/dist/popups/templates/SimpleInputPopup.d.ts.map +0 -1
  561. package/dist/popups/templates/SimpleInputPopup.js.map +0 -1
  562. package/dist/server/static.d.ts +0 -6
  563. package/dist/server/static.d.ts.map +0 -1
  564. package/dist/server/static.js +0 -3040
  565. package/dist/server/static.js.map +0 -1
  566. package/dist/spacer-pane.d.ts.map +0 -1
  567. package/dist/spacer-pane.js.map +0 -1
  568. /package/dist/components/{ActionChoiceDialog.js → dialogs/ActionChoiceDialog.js} +0 -0
  569. /package/dist/components/{ActionConfirmDialog.d.ts → dialogs/ActionConfirmDialog.d.ts} +0 -0
  570. /package/dist/components/{ActionConfirmDialog.js → dialogs/ActionConfirmDialog.js} +0 -0
  571. /package/dist/components/{ActionInputDialog.d.ts → dialogs/ActionInputDialog.d.ts} +0 -0
  572. /package/dist/components/{ActionProgressDialog.d.ts → dialogs/ActionProgressDialog.d.ts} +0 -0
  573. /package/dist/components/{ActionProgressDialog.js → dialogs/ActionProgressDialog.js} +0 -0
  574. /package/dist/components/{AgentChoiceDialog.d.ts → dialogs/AgentChoiceDialog.d.ts} +0 -0
  575. /package/dist/components/{AgentChoiceDialog.js → dialogs/AgentChoiceDialog.js} +0 -0
  576. /package/dist/components/{CloseOptionsDialog.js → dialogs/CloseOptionsDialog.js} +0 -0
  577. /package/dist/components/{CommandPromptDialog.d.ts → dialogs/CommandPromptDialog.d.ts} +0 -0
  578. /package/dist/components/{DialogBox.d.ts → dialogs/DialogBox.d.ts} +0 -0
  579. /package/dist/components/{DialogBox.js → dialogs/DialogBox.js} +0 -0
  580. /package/dist/components/{HooksDialog.d.ts → dialogs/HooksDialog.d.ts} +0 -0
  581. /package/dist/components/{HooksDialog.js → dialogs/HooksDialog.js} +0 -0
  582. /package/dist/components/{MergeConfirmationDialog.js → dialogs/MergeConfirmationDialog.js} +0 -0
  583. /package/dist/components/{SettingsDialog.js → dialogs/SettingsDialog.js} +0 -0
  584. /package/dist/components/{UpdateDialog.d.ts → dialogs/UpdateDialog.d.ts} +0 -0
  585. /package/dist/components/{UpdateDialog.js → dialogs/UpdateDialog.js} +0 -0
  586. /package/dist/components/{CreatingIndicator.d.ts → indicators/CreatingIndicator.d.ts} +0 -0
  587. /package/dist/components/{CreatingIndicator.js → indicators/CreatingIndicator.js} +0 -0
  588. /package/dist/components/{LoadingIndicator.d.ts → indicators/LoadingIndicator.d.ts} +0 -0
  589. /package/dist/components/{LoadingIndicator.js → indicators/LoadingIndicator.js} +0 -0
  590. /package/dist/components/{RunningIndicator.d.ts → indicators/RunningIndicator.d.ts} +0 -0
  591. /package/dist/components/{RunningIndicator.js → indicators/RunningIndicator.js} +0 -0
  592. /package/dist/components/{Spinner.d.ts → indicators/Spinner.d.ts} +0 -0
  593. /package/dist/components/{Spinner.js → indicators/Spinner.js} +0 -0
  594. /package/dist/components/{UpdatingIndicator.d.ts → indicators/UpdatingIndicator.d.ts} +0 -0
  595. /package/dist/components/{UpdatingIndicator.js → indicators/UpdatingIndicator.js} +0 -0
  596. /package/dist/{CleanTextInput.d.ts → components/inputs/CleanTextInput.d.ts} +0 -0
  597. /package/dist/{StyledTextInput.d.ts → components/inputs/StyledTextInput.d.ts} +0 -0
  598. /package/dist/{StyledTextInput.js → components/inputs/StyledTextInput.js} +0 -0
  599. /package/dist/components/{KebabMenu.js → panes/KebabMenu.js} +0 -0
  600. /package/dist/{MergePane.d.ts → components/panes/MergePane.d.ts} +0 -0
  601. /package/dist/{popups → components/popups}/agentChoicePopup.d.ts +0 -0
  602. /package/dist/{popups → components/popups}/choicePopup.d.ts +0 -0
  603. /package/dist/{popups → components/popups}/config.d.ts +0 -0
  604. /package/dist/{popups → components/popups}/confirmPopup.d.ts +0 -0
  605. /package/dist/{popups → components/popups}/hooksPopup.d.ts +0 -0
  606. /package/dist/{popups → components/popups}/inputPopup.d.ts +0 -0
  607. /package/dist/{popups → components/popups}/kebabMenuPopup.d.ts +0 -0
  608. /package/dist/{popups → components/popups}/logsPopup.d.ts +0 -0
  609. /package/dist/{popups → components/popups}/mergePopup.d.ts +0 -0
  610. /package/dist/{popups → components/popups}/newPanePopup.d.ts +0 -0
  611. /package/dist/{popups → components/popups}/progressPopup.d.ts +0 -0
  612. /package/dist/{popups → components/popups}/remotePopup.d.ts +0 -0
  613. /package/dist/{popups → components/popups}/settingsPopup.d.ts +0 -0
  614. /package/dist/{popups/components → components/popups/shared}/FileList.d.ts +0 -0
  615. /package/dist/{popups/components → components/popups/shared}/FileList.js +0 -0
  616. /package/dist/{popups/components → components/popups/shared}/PopupContainer.d.ts +0 -0
  617. /package/dist/{popups/components → components/popups/shared}/PopupContainer.js +0 -0
  618. /package/dist/{popups/components → components/popups/shared}/PopupInputBox.d.ts +0 -0
  619. /package/dist/{popups/components → components/popups/shared}/PopupInputBox.js +0 -0
  620. /package/dist/{popups/components → components/popups/shared}/PopupWrapper.d.ts +0 -0
  621. /package/dist/{popups/components → components/popups/shared}/PopupWrapper.js +0 -0
  622. /package/dist/{popups/components → components/popups/shared}/index.d.ts +0 -0
  623. /package/dist/{popups/components → components/popups/shared}/index.js +0 -0
  624. /package/dist/{popups → components/popups}/shortcutsPopup.d.ts +0 -0
  625. /package/dist/{popups → components/popups}/templates/SimpleInputPopup.d.ts +0 -0
  626. /package/dist/components/{FileCopyPrompt.d.ts → ui/FileCopyPrompt.d.ts} +0 -0
  627. /package/dist/components/{FileCopyPrompt.js → ui/FileCopyPrompt.js} +0 -0
  628. /package/dist/components/{FooterHelp.d.ts → ui/FooterHelp.d.ts} +0 -0
  629. /package/dist/components/{FooterHelp.js → ui/FooterHelp.js} +0 -0
  630. /package/dist/components/{QRCode.d.ts → ui/QRCode.d.ts} +0 -0
  631. /package/dist/components/{QRCode.js → ui/QRCode.js} +0 -0
  632. /package/dist/{decorative-pane.d.ts → panes/decorative-pane.d.ts} +0 -0
  633. /package/dist/{spacer-pane.d.ts → panes/spacer-pane.d.ts} +0 -0
  634. /package/dist/{spacer-pane.js → panes/spacer-pane.js} +0 -0
  635. /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,CA6Bb;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"}
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":"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"}
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,gDAAgD;YAChD,MAAM,aAAa,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;YAExD,8DAA8D;YAC9D,0DAA0D;YAC1D,UAAU,CAAC,YAAY,CAAC,CAAC;YAEzB,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,0BAA0B;gBACjC,aAAa;gBACb,qBAAqB,EAAE,IAAI;aAC5B,CAAC;QACJ,CAAC;QAED,8DAA8D;QAC9D,IAAI,cAAc,CAAC,YAAY,CAAC,EAAE,CAAC;YACjC,UAAU,CAAC,YAAY,CAAC,CAAC;QAC3B,CAAC;QAED,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,YAAY;SACpB,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,YAAoB,EACpB,cAAsB;IAEtB,IAAI,CAAC;QACH,QAAQ,CAAC,aAAa,cAAc,YAAY,EAAE;YAChD,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,+EAA+E;QAC/E,IAAI,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,YAAY,CAAC,QAAQ,CAAC,UAAU,CAAC,EAAE,CAAC;YAC3E,MAAM,aAAa,GAAG,mBAAmB,CAAC,YAAY,CAAC,CAAC;YAExD,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,oCAAoC;gBAC3C,aAAa;gBACb,qBAAqB,EAAE,IAAI;aAC5B,CAAC;QACJ,CAAC;QAED,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,YAAY;SACpB,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,QAAgB;IAClD,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,sCAAsC,EAAE;YAC9D,GAAG,EAAE,QAAQ;YACb,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,MAAM;SACd,CAAC,CAAC;QAEH,OAAO,MAAM;aACV,IAAI,EAAE;aACN,KAAK,CAAC,IAAI,CAAC;aACX,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACjC,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,UAAU,CAAC,QAAgB;IACzC,IAAI,CAAC;QACH,QAAQ,CAAC,mBAAmB,EAAE;YAC5B,GAAG,EAAE,QAAQ;YACb,KAAK,EAAE,MAAM;SACd,CAAC,CAAC;QACH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,YAAY,EAAE;YACpC,GAAG,EAAE,QAAQ;YACb,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,MAAM;SACd,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,QAAQ,CAAC,yBAAyB,CAAC;YAC1C,MAAM,CAAC,QAAQ,CAAC,+CAA+C,CAAC,CAAC;IAC1E,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAAC,QAAgB,EAAE,OAAgB;IAC9D,IAAI,CAAC;QACH,sCAAsC;QACtC,MAAM,aAAa,GAAG,mBAAmB,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,aAAa,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC7B,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,sCAAsC;gBAC7C,aAAa;gBACb,qBAAqB,EAAE,IAAI;aAC5B,CAAC;QACJ,CAAC;QAED,qBAAqB;QACrB,MAAM,SAAS,GAAG,OAAO,IAAI,sCAAsC,CAAC;QACpE,QAAQ,CAAC,kBAAkB,SAAS,CAAC,OAAO,CAAC,IAAI,EAAE,KAAK,CAAC,GAAG,EAAE;YAC5D,GAAG,EAAE,QAAQ;YACb,KAAK,EAAE,MAAM;SACd,CAAC,CAAC;QAEH,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC;IAC3B,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAC/B,YAAoB,EACpB,YAAoB,EACpB,UAAkB;IAElB,IAAI,CAAC;QACH,kBAAkB;QAClB,QAAQ,CAAC,wBAAwB,YAAY,WAAW,EAAE;YACxD,GAAG,EAAE,YAAY;YACjB,KAAK,EAAE,MAAM;SACd,CAAC,CAAC;QAEH,gEAAgE;QAChE,QAAQ,CAAC,iBAAiB,UAAU,EAAE,EAAE;YACtC,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,OAAO;YACL,OAAO,EAAE,KAAK;YACd,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;SAC9D,CAAC;IACJ,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,QAAgB;IAC7C,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,oBAAoB,EAAE;YAC5C,GAAG,EAAE,QAAQ;YACb,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,MAAM;SACd,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"mergeValidation.d.ts","sourceRoot":"","sources":["../../src/utils/mergeValidation.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,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,CA0BxD;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,CAUzD;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,CAwCpD;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"}
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 => line.substring(3)); // Remove status prefix (e.g., "M ", "A ", etc.)
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
- try {
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, assume there might be conflicts
103
- return { hasConflicts: true, conflictFiles: [] };
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":"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"}
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;AAWxD,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,CAmY3B"}
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 { setupSidebarLayout, getTerminalDimensions, } from './tmux.js';
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 = execSync('tmux display-message -p "#{pane_id}"', {
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
- try {
91
- execSync(`tmux display-message -t '${controlPaneId}' -p '#{pane_id}'`, {
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 = parseInt(execSync('tmux list-panes | wc -l', { encoding: 'utf-8' }).trim());
117
+ const paneCount = tmuxService.getAllPaneIdsSync().length;
121
118
  // Enable pane borders to show titles
122
119
  try {
123
- execSync(`tmux set-option -g pane-border-status top`, { stdio: 'pipe' });
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 (isFirstContentPane) {
133
- // First, create the tmux pane but DON'T destroy welcome pane yet
134
- // This way we can save the pane to config first, THEN destroy welcome pane
135
- paneInfo = setupSidebarLayout(controlPaneId);
136
- // Wait for pane creation to settle
137
- await new Promise((resolve) => setTimeout(resolve, 300));
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
- else {
140
- // Subsequent panes - always split horizontally, let layout manager organize
141
- // Get actual dmux pane IDs (not welcome pane) from existingPanes
142
- const dmuxPaneIds = existingPanes.map(p => p.paneId);
143
- const targetPane = dmuxPaneIds[dmuxPaneIds.length - 1]; // Split from the most recent dmux pane
144
- // Always split horizontally - the layout manager will organize panes optimally
145
- paneInfo = execSync(`tmux split-window -h -t '${targetPane}' -P -F '#{pane_id}'`, { encoding: 'utf-8' }).trim();
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
- execSync(`tmux select-pane -t '${paneInfo}' -T "${slug}"`, {
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
- execSync('tmux refresh-client', { stdio: 'pipe' });
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
- execSync(`tmux send-keys -t '${paneInfo}' '${worktreeCmd}' Enter`, {
210
- stdio: 'pipe',
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
- execSync(`tmux send-keys -t '${paneInfo}' 'echo "❌ Failed to create worktree: ${errorMsg}"' Enter`, { stdio: 'pipe' });
245
- execSync(`tmux send-keys -t '${paneInfo}' 'echo "Tip: Try running: git worktree prune && git branch -D ${slug}"' Enter`, { stdio: 'pipe' });
246
- await new Promise((resolve) => setTimeout(resolve, 1000));
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
- const escapedCmd = claudeCmd.replace(/'/g, "'\\''");
264
- execSync(`tmux send-keys -t '${paneInfo}' '${escapedCmd}'`, {
265
- stdio: 'pipe',
266
- });
267
- execSync(`tmux send-keys -t '${paneInfo}' Enter`, { stdio: 'pipe' });
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
- const openCoderCmd = `opencode`;
275
- const escapedOpenCmd = openCoderCmd.replace(/'/g, "'\\''");
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
- execSync(`tmux set-buffer -b '${bufName}' -- '${promptEsc}'`, {
285
- stdio: 'pipe',
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
- execSync(`tmux delete-buffer -b '${bufName}'`, { stdio: 'pipe' });
292
- execSync(`tmux send-keys -t '${paneInfo}' Enter`, { stdio: 'pipe' });
318
+ await tmuxService.deleteBuffer(bufName);
319
+ await tmuxService.sendTmuxKeys(paneInfo, 'Enter');
293
320
  }
294
321
  }
295
322
  // Keep focus on the new pane
296
- execSync(`tmux select-pane -t '${paneInfo}'`, { stdio: 'pipe' });
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
- execSync(`tmux select-pane -t '${originalPaneId}'`, { stdio: 'pipe' });
356
+ await tmuxService.selectPane(originalPaneId);
330
357
  // Re-set the title for the dmux pane
331
358
  try {
332
- execSync(`tmux select-pane -t '${originalPaneId}' -T "dmux-${projectName}"`, { stdio: 'pipe' });
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, 800));
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
- /accept.*edits/i,
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
- const hasClaudePermissionPrompt = paneContent.includes('Do you trust') ||
397
- paneContent.includes('trust the files') ||
398
- paneContent.includes('permission') ||
399
- paneContent.includes('allow') ||
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
- execSync(`tmux send-keys -t '${paneInfo}' Enter`, {
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
- execSync(`tmux send-keys -t '${paneInfo}' 'y'`, { stdio: 'pipe' });
433
+ await tmuxService.sendTmuxKeys(paneInfo, 'y');
416
434
  await new Promise((resolve) => setTimeout(resolve, 50));
417
- execSync(`tmux send-keys -t '${paneInfo}' Enter`, {
418
- stdio: 'pipe',
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