dmux 3.2.0 → 3.3.1

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 (655) hide show
  1. package/dist/DmuxApp.d.ts.map +1 -1
  2. package/dist/DmuxApp.js +270 -1606
  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 +201 -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 +123 -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 +184 -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/{FooterHelp.d.ts → ui/FooterHelp.d.ts} +4 -0
  208. package/dist/components/ui/FooterHelp.d.ts.map +1 -0
  209. package/dist/components/{FooterHelp.js → ui/FooterHelp.js} +45 -1
  210. package/dist/components/ui/FooterHelp.js.map +1 -0
  211. package/dist/components/ui/QRCode.d.ts.map +1 -0
  212. package/dist/components/ui/QRCode.js.map +1 -0
  213. package/dist/components/ui/ToastNotification.d.ts +13 -0
  214. package/dist/components/ui/ToastNotification.d.ts.map +1 -0
  215. package/dist/components/ui/ToastNotification.js +22 -0
  216. package/dist/components/ui/ToastNotification.js.map +1 -0
  217. package/dist/components/ui/index.d.ts +4 -0
  218. package/dist/components/ui/index.d.ts.map +1 -0
  219. package/dist/components/ui/index.js +4 -0
  220. package/dist/components/ui/index.js.map +1 -0
  221. package/dist/constants/timing.d.ts +22 -0
  222. package/dist/constants/timing.d.ts.map +1 -0
  223. package/dist/constants/timing.js +26 -0
  224. package/dist/constants/timing.js.map +1 -0
  225. package/dist/dashboard.js +2 -2
  226. package/dist/hooks/useActionSystem.d.ts +5 -4
  227. package/dist/hooks/useActionSystem.d.ts.map +1 -1
  228. package/dist/hooks/useActionSystem.js +105 -114
  229. package/dist/hooks/useActionSystem.js.map +1 -1
  230. package/dist/hooks/useDebugInfo.d.ts +11 -0
  231. package/dist/hooks/useDebugInfo.d.ts.map +1 -0
  232. package/dist/hooks/useDebugInfo.js +34 -0
  233. package/dist/hooks/useDebugInfo.js.map +1 -0
  234. package/dist/hooks/useDialogState.d.ts +22 -0
  235. package/dist/hooks/useDialogState.d.ts.map +1 -0
  236. package/dist/hooks/useDialogState.js +62 -0
  237. package/dist/hooks/useDialogState.js.map +1 -0
  238. package/dist/hooks/useInputHandling.d.ts +60 -0
  239. package/dist/hooks/useInputHandling.d.ts.map +1 -0
  240. package/dist/hooks/useInputHandling.js +294 -0
  241. package/dist/hooks/useInputHandling.js.map +1 -0
  242. package/dist/hooks/useLayoutManagement.d.ts +12 -0
  243. package/dist/hooks/useLayoutManagement.d.ts.map +1 -0
  244. package/dist/hooks/useLayoutManagement.js +63 -0
  245. package/dist/hooks/useLayoutManagement.js.map +1 -0
  246. package/dist/hooks/usePaneCreation.d.ts.map +1 -1
  247. package/dist/hooks/usePaneCreation.js +4 -9
  248. package/dist/hooks/usePaneCreation.js.map +1 -1
  249. package/dist/hooks/usePaneLoading.d.ts +45 -0
  250. package/dist/hooks/usePaneLoading.d.ts.map +1 -0
  251. package/dist/hooks/usePaneLoading.js +208 -0
  252. package/dist/hooks/usePaneLoading.js.map +1 -0
  253. package/dist/hooks/usePaneRunner.d.ts.map +1 -1
  254. package/dist/hooks/usePaneRunner.js +9 -6
  255. package/dist/hooks/usePaneRunner.js.map +1 -1
  256. package/dist/hooks/usePaneSync.d.ts +34 -0
  257. package/dist/hooks/usePaneSync.d.ts.map +1 -0
  258. package/dist/hooks/usePaneSync.js +186 -0
  259. package/dist/hooks/usePaneSync.js.map +1 -0
  260. package/dist/hooks/usePanes.d.ts.map +1 -1
  261. package/dist/hooks/usePanes.js +68 -406
  262. package/dist/hooks/usePanes.js.map +1 -1
  263. package/dist/hooks/useServices.d.ts +24 -0
  264. package/dist/hooks/useServices.d.ts.map +1 -0
  265. package/dist/hooks/useServices.js +39 -0
  266. package/dist/hooks/useServices.js.map +1 -0
  267. package/dist/hooks/useShellDetection.d.ts +10 -0
  268. package/dist/hooks/useShellDetection.d.ts.map +1 -0
  269. package/dist/hooks/useShellDetection.js +67 -0
  270. package/dist/hooks/useShellDetection.js.map +1 -0
  271. package/dist/hooks/useStatusMessages.d.ts +11 -0
  272. package/dist/hooks/useStatusMessages.d.ts.map +1 -0
  273. package/dist/hooks/useStatusMessages.js +32 -0
  274. package/dist/hooks/useStatusMessages.js.map +1 -0
  275. package/dist/hooks/useTemporaryStatus.d.ts +13 -0
  276. package/dist/hooks/useTemporaryStatus.d.ts.map +1 -0
  277. package/dist/hooks/useTemporaryStatus.js +30 -0
  278. package/dist/hooks/useTemporaryStatus.js.map +1 -0
  279. package/dist/hooks/useTerminalWidth.d.ts.map +1 -1
  280. package/dist/hooks/useTerminalWidth.js +7 -12
  281. package/dist/hooks/useTerminalWidth.js.map +1 -1
  282. package/dist/hooks/useTunnelManagement.d.ts +18 -0
  283. package/dist/hooks/useTunnelManagement.d.ts.map +1 -0
  284. package/dist/hooks/useTunnelManagement.js +55 -0
  285. package/dist/hooks/useTunnelManagement.js.map +1 -0
  286. package/dist/hooks/useWorktreeActions.d.ts.map +1 -1
  287. package/dist/hooks/useWorktreeActions.js +18 -13
  288. package/dist/hooks/useWorktreeActions.js.map +1 -1
  289. package/dist/index.js +124 -94
  290. package/dist/index.js.map +1 -1
  291. package/dist/layout/LayoutCalculator.d.ts +62 -0
  292. package/dist/layout/LayoutCalculator.d.ts.map +1 -0
  293. package/dist/layout/LayoutCalculator.js +140 -0
  294. package/dist/layout/LayoutCalculator.js.map +1 -0
  295. package/dist/layout/SpacerManager.d.ts +64 -0
  296. package/dist/layout/SpacerManager.d.ts.map +1 -0
  297. package/dist/layout/SpacerManager.js +156 -0
  298. package/dist/layout/SpacerManager.js.map +1 -0
  299. package/dist/layout/TmuxLayoutApplier.d.ts +62 -0
  300. package/dist/layout/TmuxLayoutApplier.d.ts.map +1 -0
  301. package/dist/layout/TmuxLayoutApplier.js +147 -0
  302. package/dist/layout/TmuxLayoutApplier.js.map +1 -0
  303. package/dist/panes/decorative-pane.d.ts.map +1 -0
  304. package/dist/{decorative-pane.js → panes/decorative-pane.js} +1 -1
  305. package/dist/panes/decorative-pane.js.map +1 -0
  306. package/dist/panes/spacer-pane.d.ts.map +1 -0
  307. package/dist/panes/spacer-pane.js.map +1 -0
  308. package/dist/server/embedded-assets.d.ts.map +1 -1
  309. package/dist/server/embedded-assets.js +727 -5677
  310. package/dist/server/embedded-assets.js.map +1 -1
  311. package/dist/server/routes/actionsRoutes.d.ts +2 -0
  312. package/dist/server/routes/actionsRoutes.d.ts.map +1 -0
  313. package/dist/server/routes/actionsRoutes.js +110 -0
  314. package/dist/server/routes/actionsRoutes.js.map +1 -0
  315. package/dist/server/routes/healthRoutes.d.ts +13 -0
  316. package/dist/server/routes/healthRoutes.d.ts.map +1 -0
  317. package/dist/server/routes/healthRoutes.js +70 -0
  318. package/dist/server/routes/healthRoutes.js.map +1 -0
  319. package/dist/server/routes/index.d.ts +8 -0
  320. package/dist/server/routes/index.d.ts.map +1 -0
  321. package/dist/server/routes/index.js +67 -0
  322. package/dist/server/routes/index.js.map +1 -0
  323. package/dist/server/routes/keysRoutes.d.ts +33 -0
  324. package/dist/server/routes/keysRoutes.d.ts.map +1 -0
  325. package/dist/server/routes/keysRoutes.js +128 -0
  326. package/dist/server/routes/keysRoutes.js.map +1 -0
  327. package/dist/server/routes/panesRoutes.d.ts +2 -0
  328. package/dist/server/routes/panesRoutes.d.ts.map +1 -0
  329. package/dist/server/routes/panesRoutes.js +373 -0
  330. package/dist/server/routes/panesRoutes.js.map +1 -0
  331. package/dist/server/routes/settingsRoutes.d.ts +94 -0
  332. package/dist/server/routes/settingsRoutes.d.ts.map +1 -0
  333. package/dist/server/routes/settingsRoutes.js +159 -0
  334. package/dist/server/routes/settingsRoutes.js.map +1 -0
  335. package/dist/server/routes/streamRoutes.d.ts +18 -0
  336. package/dist/server/routes/streamRoutes.d.ts.map +1 -0
  337. package/dist/server/routes/streamRoutes.js +87 -0
  338. package/dist/server/routes/streamRoutes.js.map +1 -0
  339. package/dist/server/routes/tunnelRoutes.d.ts +11 -0
  340. package/dist/server/routes/tunnelRoutes.d.ts.map +1 -0
  341. package/dist/server/routes/tunnelRoutes.js +28 -0
  342. package/dist/server/routes/tunnelRoutes.js.map +1 -0
  343. package/dist/server/routes.d.ts +16 -2
  344. package/dist/server/routes.d.ts.map +1 -1
  345. package/dist/server/routes.js +16 -878
  346. package/dist/server/routes.js.map +1 -1
  347. package/dist/{AutoUpdater.d.ts → services/AutoUpdater.d.ts} +1 -0
  348. package/dist/services/AutoUpdater.d.ts.map +1 -0
  349. package/dist/{AutoUpdater.js → services/AutoUpdater.js} +44 -10
  350. package/dist/services/AutoUpdater.js.map +1 -0
  351. package/dist/services/PaneAnalyzer.d.ts.map +1 -0
  352. package/dist/{PaneAnalyzer.js → services/PaneAnalyzer.js} +1 -1
  353. package/dist/services/PaneAnalyzer.js.map +1 -0
  354. package/dist/services/PaneLifecycleManager.d.ts +60 -0
  355. package/dist/services/PaneLifecycleManager.d.ts.map +1 -0
  356. package/dist/services/PaneLifecycleManager.js +119 -0
  357. package/dist/services/PaneLifecycleManager.js.map +1 -0
  358. package/dist/services/PaneWorkerManager.d.ts.map +1 -1
  359. package/dist/services/PaneWorkerManager.js +6 -3
  360. package/dist/services/PaneWorkerManager.js.map +1 -1
  361. package/dist/services/PopupManager.d.ts +68 -0
  362. package/dist/services/PopupManager.d.ts.map +1 -0
  363. package/dist/services/PopupManager.js +415 -0
  364. package/dist/services/PopupManager.js.map +1 -0
  365. package/dist/services/StatusDetector.d.ts.map +1 -1
  366. package/dist/services/StatusDetector.js +6 -8
  367. package/dist/services/StatusDetector.js.map +1 -1
  368. package/dist/services/TerminalStreamer.d.ts +1 -0
  369. package/dist/services/TerminalStreamer.d.ts.map +1 -1
  370. package/dist/services/TerminalStreamer.js +22 -16
  371. package/dist/services/TerminalStreamer.js.map +1 -1
  372. package/dist/services/TmuxService.d.ts +346 -0
  373. package/dist/services/TmuxService.d.ts.map +1 -0
  374. package/dist/services/TmuxService.js +849 -0
  375. package/dist/services/TmuxService.js.map +1 -0
  376. package/dist/services/ToastService.d.ts +71 -0
  377. package/dist/services/ToastService.d.ts.map +1 -0
  378. package/dist/services/ToastService.js +151 -0
  379. package/dist/services/ToastService.js.map +1 -0
  380. package/dist/services/TunnelService.d.ts.map +1 -1
  381. package/dist/services/TunnelService.js +2 -1
  382. package/dist/services/TunnelService.js.map +1 -1
  383. package/dist/shared/StateManager.d.ts +22 -0
  384. package/dist/shared/StateManager.d.ts.map +1 -1
  385. package/dist/shared/StateManager.js +68 -1
  386. package/dist/shared/StateManager.js.map +1 -1
  387. package/dist/terminal.js +3 -3
  388. package/dist/types.d.ts +7 -0
  389. package/dist/types.d.ts.map +1 -1
  390. package/dist/utils/asciiArt.d.ts.map +1 -1
  391. package/dist/utils/asciiArt.js +9 -22
  392. package/dist/utils/asciiArt.js.map +1 -1
  393. package/dist/utils/atomicWrite.d.ts +33 -0
  394. package/dist/utils/atomicWrite.d.ts.map +1 -0
  395. package/dist/utils/atomicWrite.js +89 -0
  396. package/dist/utils/atomicWrite.js.map +1 -0
  397. package/dist/utils/conflictMonitor.d.ts +20 -0
  398. package/dist/utils/conflictMonitor.d.ts.map +1 -0
  399. package/dist/utils/conflictMonitor.js +113 -0
  400. package/dist/utils/conflictMonitor.js.map +1 -0
  401. package/dist/utils/conflictResolutionPane.d.ts.map +1 -1
  402. package/dist/utils/conflictResolutionPane.js +70 -79
  403. package/dist/utils/conflictResolutionPane.js.map +1 -1
  404. package/dist/utils/errorHandling.d.ts +37 -0
  405. package/dist/utils/errorHandling.d.ts.map +1 -0
  406. package/dist/utils/errorHandling.js +138 -0
  407. package/dist/utils/errorHandling.js.map +1 -0
  408. package/dist/utils/generated-agents-doc.d.ts +1 -1
  409. package/dist/utils/generated-agents-doc.js +1 -1
  410. package/dist/utils/git.d.ts +4 -0
  411. package/dist/utils/git.d.ts.map +1 -1
  412. package/dist/utils/git.js +15 -0
  413. package/dist/utils/git.js.map +1 -1
  414. package/dist/utils/hooksDocs.d.ts +1 -1
  415. package/dist/utils/layoutManager.d.ts +20 -16
  416. package/dist/utils/layoutManager.d.ts.map +1 -1
  417. package/dist/utils/layoutManager.js +159 -380
  418. package/dist/utils/layoutManager.js.map +1 -1
  419. package/dist/utils/mergeExecution.d.ts.map +1 -1
  420. package/dist/utils/mergeExecution.js +8 -1
  421. package/dist/utils/mergeExecution.js.map +1 -1
  422. package/dist/utils/mergeValidation.d.ts.map +1 -1
  423. package/dist/utils/mergeValidation.js +46 -13
  424. package/dist/utils/mergeValidation.js.map +1 -1
  425. package/dist/utils/paneCreation.d.ts.map +1 -1
  426. package/dist/utils/paneCreation.js +115 -106
  427. package/dist/utils/paneCreation.js.map +1 -1
  428. package/dist/utils/paneRebinding.d.ts +14 -0
  429. package/dist/utils/paneRebinding.d.ts.map +1 -0
  430. package/dist/utils/paneRebinding.js +30 -0
  431. package/dist/utils/paneRebinding.js.map +1 -0
  432. package/dist/utils/popup.d.ts.map +1 -1
  433. package/dist/utils/popup.js +11 -17
  434. package/dist/utils/popup.js.map +1 -1
  435. package/dist/utils/postPaneCleanup.d.ts.map +1 -1
  436. package/dist/utils/postPaneCleanup.js +5 -14
  437. package/dist/utils/postPaneCleanup.js.map +1 -1
  438. package/dist/utils/shellPaneDetection.d.ts +3 -3
  439. package/dist/utils/shellPaneDetection.d.ts.map +1 -1
  440. package/dist/utils/shellPaneDetection.js +43 -29
  441. package/dist/utils/shellPaneDetection.js.map +1 -1
  442. package/dist/utils/systemCheck.d.ts +19 -0
  443. package/dist/utils/systemCheck.d.ts.map +1 -0
  444. package/dist/utils/systemCheck.js +160 -0
  445. package/dist/utils/systemCheck.js.map +1 -0
  446. package/dist/utils/tmux.d.ts +26 -7
  447. package/dist/utils/tmux.d.ts.map +1 -1
  448. package/dist/utils/tmux.js +84 -76
  449. package/dist/utils/tmux.js.map +1 -1
  450. package/dist/utils/welcomePane.d.ts +2 -2
  451. package/dist/utils/welcomePane.d.ts.map +1 -1
  452. package/dist/utils/welcomePane.js +19 -33
  453. package/dist/utils/welcomePane.js.map +1 -1
  454. package/dist/utils/welcomePaneManager.d.ts.map +1 -1
  455. package/dist/utils/welcomePaneManager.js +11 -25
  456. package/dist/utils/welcomePaneManager.js.map +1 -1
  457. package/dist/workers/PaneWorker.js +7 -9
  458. package/dist/workers/PaneWorker.js.map +1 -1
  459. package/dist/workers/updateChecker.js +1 -1
  460. package/dist/workers/updateChecker.js.map +1 -1
  461. package/package.json +3 -1
  462. package/dist/AutoUpdater.d.ts.map +0 -1
  463. package/dist/AutoUpdater.js.map +0 -1
  464. package/dist/BetterTextInput.d.ts +0 -10
  465. package/dist/BetterTextInput.d.ts.map +0 -1
  466. package/dist/BetterTextInput.js +0 -177
  467. package/dist/BetterTextInput.js.map +0 -1
  468. package/dist/CleanTextInput.d.ts.map +0 -1
  469. package/dist/CleanTextInput.js.map +0 -1
  470. package/dist/EnhancedTextInput.d.ts +0 -13
  471. package/dist/EnhancedTextInput.d.ts.map +0 -1
  472. package/dist/EnhancedTextInput.js +0 -443
  473. package/dist/EnhancedTextInput.js.map +0 -1
  474. package/dist/GeminiTextInput.d.ts +0 -12
  475. package/dist/GeminiTextInput.d.ts.map +0 -1
  476. package/dist/GeminiTextInput.js +0 -210
  477. package/dist/GeminiTextInput.js.map +0 -1
  478. package/dist/MergePane.d.ts.map +0 -1
  479. package/dist/MergePane.js.map +0 -1
  480. package/dist/MultilineTextInput.d.ts +0 -10
  481. package/dist/MultilineTextInput.d.ts.map +0 -1
  482. package/dist/MultilineTextInput.js +0 -184
  483. package/dist/MultilineTextInput.js.map +0 -1
  484. package/dist/PaneAnalyzer.d.ts.map +0 -1
  485. package/dist/PaneAnalyzer.js.map +0 -1
  486. package/dist/SimpleEnhancedInput.d.ts +0 -13
  487. package/dist/SimpleEnhancedInput.d.ts.map +0 -1
  488. package/dist/SimpleEnhancedInput.js +0 -639
  489. package/dist/SimpleEnhancedInput.js.map +0 -1
  490. package/dist/SimpleGeminiInput.d.ts +0 -12
  491. package/dist/SimpleGeminiInput.d.ts.map +0 -1
  492. package/dist/SimpleGeminiInput.js +0 -223
  493. package/dist/SimpleGeminiInput.js.map +0 -1
  494. package/dist/StyledTextInput.d.ts.map +0 -1
  495. package/dist/StyledTextInput.js.map +0 -1
  496. package/dist/components/ActionChoiceDialog.d.ts.map +0 -1
  497. package/dist/components/ActionChoiceDialog.js.map +0 -1
  498. package/dist/components/ActionConfirmDialog.d.ts.map +0 -1
  499. package/dist/components/ActionConfirmDialog.js.map +0 -1
  500. package/dist/components/ActionInputDialog.d.ts.map +0 -1
  501. package/dist/components/ActionInputDialog.js.map +0 -1
  502. package/dist/components/ActionProgressDialog.d.ts.map +0 -1
  503. package/dist/components/ActionProgressDialog.js.map +0 -1
  504. package/dist/components/AgentChoiceDialog.d.ts.map +0 -1
  505. package/dist/components/AgentChoiceDialog.js.map +0 -1
  506. package/dist/components/CloseOptionsDialog.d.ts.map +0 -1
  507. package/dist/components/CloseOptionsDialog.js.map +0 -1
  508. package/dist/components/CommandPromptDialog.d.ts.map +0 -1
  509. package/dist/components/CommandPromptDialog.js.map +0 -1
  510. package/dist/components/CreatingIndicator.d.ts.map +0 -1
  511. package/dist/components/CreatingIndicator.js.map +0 -1
  512. package/dist/components/DialogBox.d.ts.map +0 -1
  513. package/dist/components/DialogBox.js.map +0 -1
  514. package/dist/components/FileCopyPrompt.d.ts.map +0 -1
  515. package/dist/components/FileCopyPrompt.js.map +0 -1
  516. package/dist/components/FooterHelp.d.ts.map +0 -1
  517. package/dist/components/FooterHelp.js.map +0 -1
  518. package/dist/components/HooksDialog.d.ts.map +0 -1
  519. package/dist/components/HooksDialog.js.map +0 -1
  520. package/dist/components/KebabMenu.d.ts.map +0 -1
  521. package/dist/components/KebabMenu.js.map +0 -1
  522. package/dist/components/LoadingIndicator.d.ts.map +0 -1
  523. package/dist/components/LoadingIndicator.js.map +0 -1
  524. package/dist/components/MergeConfirmationDialog.d.ts.map +0 -1
  525. package/dist/components/MergeConfirmationDialog.js.map +0 -1
  526. package/dist/components/PaneCard.d.ts.map +0 -1
  527. package/dist/components/PaneCard.js.map +0 -1
  528. package/dist/components/PanesGrid.d.ts.map +0 -1
  529. package/dist/components/PanesGrid.js.map +0 -1
  530. package/dist/components/QRCode.d.ts.map +0 -1
  531. package/dist/components/QRCode.js.map +0 -1
  532. package/dist/components/RunningIndicator.d.ts.map +0 -1
  533. package/dist/components/RunningIndicator.js.map +0 -1
  534. package/dist/components/SettingsDialog.d.ts.map +0 -1
  535. package/dist/components/SettingsDialog.js.map +0 -1
  536. package/dist/components/Spinner.d.ts.map +0 -1
  537. package/dist/components/Spinner.js.map +0 -1
  538. package/dist/components/UpdateDialog.d.ts.map +0 -1
  539. package/dist/components/UpdateDialog.js.map +0 -1
  540. package/dist/components/UpdatingIndicator.d.ts.map +0 -1
  541. package/dist/components/UpdatingIndicator.js.map +0 -1
  542. package/dist/decorative-pane.d.ts.map +0 -1
  543. package/dist/decorative-pane.js.map +0 -1
  544. package/dist/popups/agentChoicePopup.d.ts.map +0 -1
  545. package/dist/popups/agentChoicePopup.js.map +0 -1
  546. package/dist/popups/choicePopup.d.ts.map +0 -1
  547. package/dist/popups/choicePopup.js.map +0 -1
  548. package/dist/popups/components/FileList.d.ts.map +0 -1
  549. package/dist/popups/components/FileList.js.map +0 -1
  550. package/dist/popups/components/PopupContainer.d.ts.map +0 -1
  551. package/dist/popups/components/PopupContainer.js.map +0 -1
  552. package/dist/popups/components/PopupInputBox.d.ts.map +0 -1
  553. package/dist/popups/components/PopupInputBox.js.map +0 -1
  554. package/dist/popups/components/PopupWrapper.d.ts.map +0 -1
  555. package/dist/popups/components/PopupWrapper.js.map +0 -1
  556. package/dist/popups/components/index.d.ts.map +0 -1
  557. package/dist/popups/components/index.js.map +0 -1
  558. package/dist/popups/config.d.ts.map +0 -1
  559. package/dist/popups/config.js.map +0 -1
  560. package/dist/popups/confirmPopup.d.ts.map +0 -1
  561. package/dist/popups/confirmPopup.js.map +0 -1
  562. package/dist/popups/hooksPopup.d.ts.map +0 -1
  563. package/dist/popups/hooksPopup.js.map +0 -1
  564. package/dist/popups/inputPopup.d.ts.map +0 -1
  565. package/dist/popups/inputPopup.js.map +0 -1
  566. package/dist/popups/kebabMenuPopup.d.ts.map +0 -1
  567. package/dist/popups/kebabMenuPopup.js.map +0 -1
  568. package/dist/popups/logsPopup.d.ts.map +0 -1
  569. package/dist/popups/logsPopup.js.map +0 -1
  570. package/dist/popups/mergePopup.d.ts.map +0 -1
  571. package/dist/popups/mergePopup.js.map +0 -1
  572. package/dist/popups/newPanePopup.d.ts.map +0 -1
  573. package/dist/popups/newPanePopup.js.map +0 -1
  574. package/dist/popups/progressPopup.d.ts.map +0 -1
  575. package/dist/popups/progressPopup.js.map +0 -1
  576. package/dist/popups/remotePopup.d.ts.map +0 -1
  577. package/dist/popups/remotePopup.js.map +0 -1
  578. package/dist/popups/settingsPopup.d.ts.map +0 -1
  579. package/dist/popups/settingsPopup.js.map +0 -1
  580. package/dist/popups/shortcutsPopup.d.ts.map +0 -1
  581. package/dist/popups/shortcutsPopup.js.map +0 -1
  582. package/dist/popups/templates/SimpleInputPopup.d.ts.map +0 -1
  583. package/dist/popups/templates/SimpleInputPopup.js.map +0 -1
  584. package/dist/server/static.d.ts +0 -6
  585. package/dist/server/static.d.ts.map +0 -1
  586. package/dist/server/static.js +0 -3040
  587. package/dist/server/static.js.map +0 -1
  588. package/dist/spacer-pane.d.ts.map +0 -1
  589. package/dist/spacer-pane.js.map +0 -1
  590. /package/dist/components/{ActionChoiceDialog.js → dialogs/ActionChoiceDialog.js} +0 -0
  591. /package/dist/components/{ActionConfirmDialog.d.ts → dialogs/ActionConfirmDialog.d.ts} +0 -0
  592. /package/dist/components/{ActionConfirmDialog.js → dialogs/ActionConfirmDialog.js} +0 -0
  593. /package/dist/components/{ActionInputDialog.d.ts → dialogs/ActionInputDialog.d.ts} +0 -0
  594. /package/dist/components/{ActionProgressDialog.d.ts → dialogs/ActionProgressDialog.d.ts} +0 -0
  595. /package/dist/components/{ActionProgressDialog.js → dialogs/ActionProgressDialog.js} +0 -0
  596. /package/dist/components/{AgentChoiceDialog.d.ts → dialogs/AgentChoiceDialog.d.ts} +0 -0
  597. /package/dist/components/{AgentChoiceDialog.js → dialogs/AgentChoiceDialog.js} +0 -0
  598. /package/dist/components/{CloseOptionsDialog.js → dialogs/CloseOptionsDialog.js} +0 -0
  599. /package/dist/components/{CommandPromptDialog.d.ts → dialogs/CommandPromptDialog.d.ts} +0 -0
  600. /package/dist/components/{DialogBox.d.ts → dialogs/DialogBox.d.ts} +0 -0
  601. /package/dist/components/{DialogBox.js → dialogs/DialogBox.js} +0 -0
  602. /package/dist/components/{HooksDialog.d.ts → dialogs/HooksDialog.d.ts} +0 -0
  603. /package/dist/components/{HooksDialog.js → dialogs/HooksDialog.js} +0 -0
  604. /package/dist/components/{MergeConfirmationDialog.js → dialogs/MergeConfirmationDialog.js} +0 -0
  605. /package/dist/components/{SettingsDialog.js → dialogs/SettingsDialog.js} +0 -0
  606. /package/dist/components/{UpdateDialog.d.ts → dialogs/UpdateDialog.d.ts} +0 -0
  607. /package/dist/components/{UpdateDialog.js → dialogs/UpdateDialog.js} +0 -0
  608. /package/dist/components/{CreatingIndicator.d.ts → indicators/CreatingIndicator.d.ts} +0 -0
  609. /package/dist/components/{CreatingIndicator.js → indicators/CreatingIndicator.js} +0 -0
  610. /package/dist/components/{LoadingIndicator.d.ts → indicators/LoadingIndicator.d.ts} +0 -0
  611. /package/dist/components/{LoadingIndicator.js → indicators/LoadingIndicator.js} +0 -0
  612. /package/dist/components/{RunningIndicator.d.ts → indicators/RunningIndicator.d.ts} +0 -0
  613. /package/dist/components/{RunningIndicator.js → indicators/RunningIndicator.js} +0 -0
  614. /package/dist/components/{Spinner.d.ts → indicators/Spinner.d.ts} +0 -0
  615. /package/dist/components/{Spinner.js → indicators/Spinner.js} +0 -0
  616. /package/dist/components/{UpdatingIndicator.d.ts → indicators/UpdatingIndicator.d.ts} +0 -0
  617. /package/dist/components/{UpdatingIndicator.js → indicators/UpdatingIndicator.js} +0 -0
  618. /package/dist/{CleanTextInput.d.ts → components/inputs/CleanTextInput.d.ts} +0 -0
  619. /package/dist/{StyledTextInput.d.ts → components/inputs/StyledTextInput.d.ts} +0 -0
  620. /package/dist/{StyledTextInput.js → components/inputs/StyledTextInput.js} +0 -0
  621. /package/dist/components/{KebabMenu.js → panes/KebabMenu.js} +0 -0
  622. /package/dist/{MergePane.d.ts → components/panes/MergePane.d.ts} +0 -0
  623. /package/dist/{popups → components/popups}/agentChoicePopup.d.ts +0 -0
  624. /package/dist/{popups → components/popups}/choicePopup.d.ts +0 -0
  625. /package/dist/{popups → components/popups}/config.d.ts +0 -0
  626. /package/dist/{popups → components/popups}/confirmPopup.d.ts +0 -0
  627. /package/dist/{popups → components/popups}/hooksPopup.d.ts +0 -0
  628. /package/dist/{popups → components/popups}/inputPopup.d.ts +0 -0
  629. /package/dist/{popups → components/popups}/kebabMenuPopup.d.ts +0 -0
  630. /package/dist/{popups → components/popups}/logsPopup.d.ts +0 -0
  631. /package/dist/{popups → components/popups}/mergePopup.d.ts +0 -0
  632. /package/dist/{popups → components/popups}/newPanePopup.d.ts +0 -0
  633. /package/dist/{popups → components/popups}/progressPopup.d.ts +0 -0
  634. /package/dist/{popups → components/popups}/remotePopup.d.ts +0 -0
  635. /package/dist/{popups → components/popups}/settingsPopup.d.ts +0 -0
  636. /package/dist/{popups/components → components/popups/shared}/FileList.d.ts +0 -0
  637. /package/dist/{popups/components → components/popups/shared}/FileList.js +0 -0
  638. /package/dist/{popups/components → components/popups/shared}/PopupContainer.d.ts +0 -0
  639. /package/dist/{popups/components → components/popups/shared}/PopupContainer.js +0 -0
  640. /package/dist/{popups/components → components/popups/shared}/PopupInputBox.d.ts +0 -0
  641. /package/dist/{popups/components → components/popups/shared}/PopupInputBox.js +0 -0
  642. /package/dist/{popups/components → components/popups/shared}/PopupWrapper.d.ts +0 -0
  643. /package/dist/{popups/components → components/popups/shared}/PopupWrapper.js +0 -0
  644. /package/dist/{popups/components → components/popups/shared}/index.d.ts +0 -0
  645. /package/dist/{popups/components → components/popups/shared}/index.js +0 -0
  646. /package/dist/{popups → components/popups}/shortcutsPopup.d.ts +0 -0
  647. /package/dist/{popups → components/popups}/templates/SimpleInputPopup.d.ts +0 -0
  648. /package/dist/components/{FileCopyPrompt.d.ts → ui/FileCopyPrompt.d.ts} +0 -0
  649. /package/dist/components/{FileCopyPrompt.js → ui/FileCopyPrompt.js} +0 -0
  650. /package/dist/components/{QRCode.d.ts → ui/QRCode.d.ts} +0 -0
  651. /package/dist/components/{QRCode.js → ui/QRCode.js} +0 -0
  652. /package/dist/{decorative-pane.d.ts → panes/decorative-pane.d.ts} +0 -0
  653. /package/dist/{spacer-pane.d.ts → panes/spacer-pane.d.ts} +0 -0
  654. /package/dist/{spacer-pane.js → panes/spacer-pane.js} +0 -0
  655. /package/dist/{PaneAnalyzer.d.ts → services/PaneAnalyzer.d.ts} +0 -0
package/dist/index.js CHANGED
@@ -1,5 +1,5 @@
1
1
  #!/usr/bin/env node
2
- import { execSync } from 'child_process';
2
+ import { execSync, spawnSync } from 'child_process';
3
3
  import fs from 'fs/promises';
4
4
  import * as fsSync from 'fs';
5
5
  import path from 'path';
@@ -9,14 +9,15 @@ import React from 'react';
9
9
  import { createHash } from 'crypto';
10
10
  import { createRequire } from 'module';
11
11
  import DmuxApp from './DmuxApp.js';
12
- import { AutoUpdater } from './AutoUpdater.js';
13
- import readline from 'readline';
12
+ import { AutoUpdater } from './services/AutoUpdater.js';
14
13
  import { DmuxServer } from './server/index.js';
15
14
  import { StateManager } from './shared/StateManager.js';
16
15
  import { LogService } from './services/LogService.js';
16
+ import { TmuxService } from './services/TmuxService.js';
17
17
  import { createWelcomePane } from './utils/welcomePane.js';
18
18
  import { TMUX_COLORS } from './theme/colors.js';
19
19
  import { SIDEBAR_WIDTH } from './utils/layoutManager.js';
20
+ import { validateSystemRequirements, printValidationResults } from './utils/systemCheck.js';
20
21
  const __dirname = path.dirname(fileURLToPath(import.meta.url));
21
22
  const require = createRequire(import.meta.url);
22
23
  const packageJson = require('../package.json');
@@ -29,9 +30,9 @@ class Dmux {
29
30
  autoUpdater;
30
31
  server;
31
32
  stateManager;
32
- static cachedProjectRoot = null;
33
33
  constructor() {
34
- // Get git root directory to determine project scope (cached)
34
+ // Get git root directory to determine project scope
35
+ // NOTE: No caching - must be re-evaluated per instance to support multiple projects
35
36
  this.projectRoot = this.getProjectRoot();
36
37
  // Get project name from git root directory
37
38
  this.projectName = path.basename(this.projectRoot);
@@ -91,7 +92,7 @@ class Dmux {
91
92
  // Session exists, will attach
92
93
  }
93
94
  catch {
94
- // Create new session
95
+ // Expected - session doesn't exist, create new one
95
96
  // Create new session first
96
97
  execSync(`tmux new-session -d -s ${this.sessionName}`, { stdio: 'inherit' });
97
98
  // Enable pane borders to show titles
@@ -140,20 +141,16 @@ class Dmux {
140
141
  // // Ignore if it fails
141
142
  // }
142
143
  // Set pane title for the current pane running dmux
143
- // NOTE: Temporarily disabled to test if title updates cause UI shifts
144
- // try {
145
- // execSync(`tmux select-pane -T "dmux v${packageJson.version} - ${this.projectName}"`, { stdio: 'pipe' });
146
- // } catch {
147
- // // Ignore if it fails (might not have permission or tmux version doesn't support it)
148
- // }
144
+ // TODO(future): Re-enable control pane title once UI shift issue is resolved
145
+ // Setting the title can cause visual artifacts in some tmux configurations
146
+ // Original code: execSync(`tmux select-pane -T "dmux v${version} - ${project}"`)
147
+ // See: Title updates are currently handled by enforcePaneTitles() in usePaneSync.ts
149
148
  // Get current pane ID (control pane for left sidebar)
150
149
  let controlPaneId;
151
150
  try {
152
151
  // Get current pane ID
153
- controlPaneId = execSync('tmux display-message -p "#{pane_id}"', {
154
- encoding: 'utf-8',
155
- stdio: 'pipe',
156
- }).trim();
152
+ const tmuxService = TmuxService.getInstance();
153
+ controlPaneId = await tmuxService.getCurrentPaneId();
157
154
  // Load existing config
158
155
  const configContent = await fs.readFile(this.panesFile, 'utf-8');
159
156
  const config = JSON.parse(configContent);
@@ -163,15 +160,24 @@ class Dmux {
163
160
  }
164
161
  // ALWAYS update controlPaneId with current pane (it changes on restart)
165
162
  // This ensures layout manager always has the correct control pane ID
166
- const needsUpdate = config.controlPaneId !== controlPaneId;
163
+ const oldControlPaneId = config.controlPaneId;
164
+ const needsUpdate = oldControlPaneId !== controlPaneId;
165
+ if (needsUpdate) {
166
+ if (oldControlPaneId) {
167
+ LogService.getInstance().info(`Control pane ID changed: ${oldControlPaneId} → ${controlPaneId}`, 'Setup');
168
+ }
169
+ else {
170
+ LogService.getInstance().info(`Setting initial control pane ID: ${controlPaneId}`, 'Setup');
171
+ }
172
+ }
167
173
  config.controlPaneId = controlPaneId;
168
174
  config.controlPaneSize = SIDEBAR_WIDTH;
169
175
  // If this is initial load or control pane changed, resize the sidebar
170
176
  if (needsUpdate) {
171
177
  // Resize control pane to sidebar width
172
- execSync(`tmux resize-pane -t '${controlPaneId}' -x ${SIDEBAR_WIDTH}`, { stdio: 'pipe' });
178
+ await tmuxService.resizePane(controlPaneId, { width: SIDEBAR_WIDTH });
173
179
  // Refresh client
174
- execSync('tmux refresh-client', { stdio: 'pipe' });
180
+ await tmuxService.refreshClient();
175
181
  // Save updated config
176
182
  config.lastUpdated = new Date().toISOString();
177
183
  await fs.writeFile(this.panesFile, JSON.stringify(config, null, 2));
@@ -179,7 +185,23 @@ class Dmux {
179
185
  // Create welcome pane if there are no dmux panes and no existing welcome pane
180
186
  // Check if welcome pane actually exists, not just if it's in config (handles tmux restarts)
181
187
  const { welcomePaneExists } = await import('./utils/welcomePane.js');
182
- const hasValidWelcomePane = config.welcomePaneId && welcomePaneExists(config.welcomePaneId);
188
+ // Validate welcome pane existence
189
+ let hasValidWelcomePane = false;
190
+ if (config.welcomePaneId) {
191
+ hasValidWelcomePane = await welcomePaneExists(config.welcomePaneId);
192
+ if (!hasValidWelcomePane) {
193
+ LogService.getInstance().info(`Welcome pane ${config.welcomePaneId} no longer exists, will create new one`, 'Setup');
194
+ // Clear stale welcome pane ID from config
195
+ const staleWelcomePaneId = config.welcomePaneId;
196
+ config.welcomePaneId = undefined;
197
+ config.lastUpdated = new Date().toISOString();
198
+ await fs.writeFile(this.panesFile, JSON.stringify(config, null, 2));
199
+ LogService.getInstance().debug(`Cleared stale welcome pane ID ${staleWelcomePaneId} from config`, 'Setup');
200
+ }
201
+ else {
202
+ LogService.getInstance().debug(`Welcome pane ${config.welcomePaneId} exists`, 'Setup');
203
+ }
204
+ }
183
205
  if (controlPaneId && config.panes && config.panes.length === 0) {
184
206
  if (!hasValidWelcomePane) {
185
207
  // Create new welcome pane
@@ -188,7 +210,7 @@ class Dmux {
188
210
  config.welcomePaneId = welcomePaneId;
189
211
  config.lastUpdated = new Date().toISOString();
190
212
  await fs.writeFile(this.panesFile, JSON.stringify(config, null, 2));
191
- LogService.getInstance().debug(`Created welcome pane: ${welcomePaneId}`, 'Setup');
213
+ LogService.getInstance().info(`Created welcome pane: ${welcomePaneId}`, 'Setup');
192
214
  }
193
215
  }
194
216
  else {
@@ -196,10 +218,11 @@ class Dmux {
196
218
  LogService.getInstance().debug('Welcome pane exists, applying correct layout', 'Setup');
197
219
  // Apply correct layout: sidebar (40) | welcome pane (rest)
198
220
  // Use "latest" mode so window auto-follows terminal size
221
+ // Note: setOption doesn't have window-specific options yet, using execSync for these
199
222
  execSync(`tmux set-window-option window-size latest`, { stdio: 'pipe' });
200
223
  execSync(`tmux set-window-option main-pane-width ${SIDEBAR_WIDTH}`, { stdio: 'pipe' });
201
224
  execSync(`tmux select-layout main-vertical`, { stdio: 'pipe' });
202
- execSync(`tmux refresh-client`, { stdio: 'pipe' });
225
+ await tmuxService.refreshClient();
203
226
  }
204
227
  }
205
228
  }
@@ -221,17 +244,7 @@ class Dmux {
221
244
  LogService.getInstance().error('Failed to start HTTP server', 'Setup', undefined, err instanceof Error ? err : undefined);
222
245
  // Continue without server - not critical for main functionality
223
246
  }
224
- // Add test logs to verify logging system functionality
225
- const logService = LogService.getInstance();
226
- logService.debug(`dmux started for project: ${this.projectName}`, 'startup');
227
- logService.debug(`Project root: ${this.projectRoot}`, 'startup');
228
- logService.debug(`HTTP server running on port ${serverInfo.port}`, 'startup');
229
- logService.debug('Debug log: System initialized successfully', 'startup');
230
- // Add a sample warning and error for testing
231
- if (process.env.DMUX_DEV === 'true') {
232
- logService.debug('Development mode enabled - this is a test warning', 'startup');
233
- logService.debug('Press [l] to view logs, [L] to reset layout', 'startup');
234
- }
247
+ // Logging system is ready (removed debug logs to reduce clutter)
235
248
  // Suppress console output from LogService to prevent interference with Ink UI
236
249
  LogService.getInstance().setSuppressConsole(true);
237
250
  // Clear screen before launching Ink - minimal clearing to avoid artifacts
@@ -242,7 +255,7 @@ class Dmux {
242
255
  // Small delay to let terminal settle
243
256
  await new Promise(resolve => setTimeout(resolve, 50));
244
257
  // Launch the Ink app
245
- const app = render(React.createElement(DmuxApp, {
258
+ const appProps = {
246
259
  panesFile: this.panesFile,
247
260
  settingsFile: this.settingsFile,
248
261
  projectName: this.projectName,
@@ -251,10 +264,15 @@ class Dmux {
251
264
  autoUpdater: this.autoUpdater,
252
265
  serverPort: serverInfo.port,
253
266
  server: this.server,
254
- controlPaneId
255
- }), {
267
+ controlPaneId,
268
+ // Pass rerender function as a ref that will be set after first render
269
+ rerenderRef: { current: null }
270
+ };
271
+ const app = render(React.createElement(DmuxApp, appProps), {
256
272
  exitOnCtrlC: false // Disable automatic exit on Ctrl+C
257
273
  });
274
+ // Set the rerender function so DmuxApp can use it
275
+ appProps.rerenderRef.current = app.rerender;
258
276
  // Clean shutdown on app exit
259
277
  app.waitUntilExit().then(async () => {
260
278
  await this.server.stop();
@@ -267,6 +285,7 @@ class Dmux {
267
285
  return true;
268
286
  }
269
287
  catch {
288
+ // Expected - file doesn't exist
270
289
  return false;
271
290
  }
272
291
  }
@@ -287,14 +306,11 @@ class Dmux {
287
306
  return false;
288
307
  }
289
308
  catch {
309
+ // Expected - errors during git/file checks
290
310
  return false;
291
311
  }
292
312
  }
293
313
  getProjectRoot() {
294
- // Return cached value if available
295
- if (Dmux.cachedProjectRoot) {
296
- return Dmux.cachedProjectRoot;
297
- }
298
314
  try {
299
315
  // First, try to get the main worktree if we're in a git repository
300
316
  // This ensures we always use the main repository root, even when run from a worktree
@@ -306,7 +322,6 @@ class Dmux {
306
322
  const mainWorktreeLine = worktreeList.split('\n')[0];
307
323
  if (mainWorktreeLine && mainWorktreeLine.startsWith('worktree ')) {
308
324
  const mainWorktreePath = mainWorktreeLine.substring(9).trim();
309
- Dmux.cachedProjectRoot = mainWorktreePath;
310
325
  return mainWorktreePath;
311
326
  }
312
327
  // Fallback to git rev-parse if worktree list fails
@@ -314,14 +329,11 @@ class Dmux {
314
329
  encoding: 'utf-8',
315
330
  stdio: 'pipe'
316
331
  }).trim();
317
- Dmux.cachedProjectRoot = gitRoot;
318
332
  return gitRoot;
319
333
  }
320
334
  catch {
321
335
  // Fallback to current directory if not in a git repo
322
- const cwd = process.cwd();
323
- Dmux.cachedProjectRoot = cwd;
324
- return cwd;
336
+ return process.cwd();
325
337
  }
326
338
  }
327
339
  async ensureDmuxDirectory() {
@@ -335,47 +347,38 @@ class Dmux {
335
347
  if (!await this.fileExists(worktreesDir)) {
336
348
  await fs.mkdir(worktreesDir, { recursive: true });
337
349
  }
338
- // Check if .gitignore exists and if .dmux is in it
350
+ // Check if .dmux is ignored by either this repo's .gitignore or global gitignore
351
+ const isIgnored = spawnSync('git', ['check-ignore', '--quiet', dmuxDir], {
352
+ cwd: this.projectRoot
353
+ }).status === 0;
354
+ if (isIgnored) {
355
+ return;
356
+ }
357
+ // Auto-add .dmux to .gitignore if not already present
339
358
  const gitignorePath = path.join(this.projectRoot, '.gitignore');
340
359
  if (await this.fileExists(gitignorePath)) {
341
360
  const gitignoreContent = await fs.readFile(gitignorePath, 'utf-8');
342
361
  const lines = gitignoreContent.split('\n');
343
- const hasDmuxEntry = lines.some(line => line.trim() === '.dmux' ||
344
- line.trim() === '.dmux/' ||
345
- line.trim() === '/.dmux' ||
346
- line.trim() === '/.dmux/');
362
+ // Check if .dmux is already in .gitignore (exact match or pattern match)
363
+ const hasDmuxEntry = lines.some(line => {
364
+ const trimmed = line.trim();
365
+ return trimmed === '.dmux/' || trimmed === '.dmux' || trimmed === '/.dmux/';
366
+ });
347
367
  if (!hasDmuxEntry) {
348
- // Prompt user to add .dmux to .gitignore
349
- const shouldAdd = await this.promptUser('The .dmux directory is not in .gitignore. Would you like to add it? (y/n): ');
350
- if (shouldAdd) {
351
- // Add .dmux to .gitignore
352
- const newGitignore = gitignoreContent.endsWith('\n')
353
- ? gitignoreContent + '.dmux/\n'
354
- : gitignoreContent + '\n.dmux/\n';
355
- await fs.writeFile(gitignorePath, newGitignore);
356
- }
368
+ // Add .dmux/ to .gitignore
369
+ const newGitignore = gitignoreContent.endsWith('\n')
370
+ ? gitignoreContent + '.dmux/\n'
371
+ : gitignoreContent + '\n.dmux/\n';
372
+ await fs.writeFile(gitignorePath, newGitignore);
373
+ LogService.getInstance().debug('Added .dmux/ to .gitignore', 'Setup');
357
374
  }
358
375
  }
359
376
  else {
360
- // No .gitignore exists, prompt to create one
361
- const shouldCreate = await this.promptUser('No .gitignore file found. Would you like to create one with .dmux/ entry? (y/n): ');
362
- if (shouldCreate) {
363
- await fs.writeFile(gitignorePath, '.dmux/\n');
364
- }
377
+ // No .gitignore exists, create one with .dmux/ entry
378
+ await fs.writeFile(gitignorePath, '.dmux/\n');
379
+ LogService.getInstance().debug('Created .gitignore with .dmux/ entry', 'Setup');
365
380
  }
366
381
  }
367
- async promptUser(question) {
368
- const rl = readline.createInterface({
369
- input: process.stdin,
370
- output: process.stdout
371
- });
372
- return new Promise((resolve) => {
373
- rl.question(question, (answer) => {
374
- rl.close();
375
- resolve(answer.toLowerCase() === 'y' || answer.toLowerCase() === 'yes');
376
- });
377
- });
378
- }
379
382
  async migrateOldConfig() {
380
383
  // Check if we're using the new config location
381
384
  const dmuxDir = path.join(this.projectRoot, '.dmux');
@@ -398,7 +401,9 @@ class Dmux {
398
401
  const oldPanesContent = await fs.readFile(oldPanesFile, 'utf-8');
399
402
  panes = JSON.parse(oldPanesContent);
400
403
  }
401
- catch { }
404
+ catch {
405
+ // Intentionally silent - migration is best-effort
406
+ }
402
407
  }
403
408
  // Try to read old settings file
404
409
  if (await this.fileExists(oldSettingsFile)) {
@@ -406,7 +411,9 @@ class Dmux {
406
411
  const oldSettingsContent = await fs.readFile(oldSettingsFile, 'utf-8');
407
412
  settings = JSON.parse(oldSettingsContent);
408
413
  }
409
- catch { }
414
+ catch {
415
+ // Intentionally silent - migration is best-effort
416
+ }
410
417
  }
411
418
  // Try to read old update settings file
412
419
  if (await this.fileExists(oldUpdateSettingsFile)) {
@@ -414,7 +421,9 @@ class Dmux {
414
421
  const oldUpdateContent = await fs.readFile(oldUpdateSettingsFile, 'utf-8');
415
422
  updateSettings = JSON.parse(oldUpdateContent);
416
423
  }
417
- catch { }
424
+ catch {
425
+ // Intentionally silent - migration is best-effort
426
+ }
418
427
  }
419
428
  // Check for config from previous parent directory location
420
429
  if (await this.fileExists(oldParentConfigFile)) {
@@ -427,7 +436,9 @@ class Dmux {
427
436
  if (oldConfig.updateSettings)
428
437
  updateSettings = oldConfig.updateSettings;
429
438
  }
430
- catch { }
439
+ catch {
440
+ // Intentionally silent - migration is best-effort
441
+ }
431
442
  }
432
443
  // If we found old config, migrate it
433
444
  if (panes.length > 0 || Object.keys(settings).length > 0 || Object.keys(updateSettings).length > 0) {
@@ -445,19 +456,27 @@ class Dmux {
445
456
  try {
446
457
  await fs.unlink(oldPanesFile);
447
458
  }
448
- catch { }
459
+ catch {
460
+ // Intentionally silent - cleanup is best-effort
461
+ }
449
462
  try {
450
463
  await fs.unlink(oldSettingsFile);
451
464
  }
452
- catch { }
465
+ catch {
466
+ // Intentionally silent - cleanup is best-effort
467
+ }
453
468
  try {
454
469
  await fs.unlink(oldUpdateSettingsFile);
455
470
  }
456
- catch { }
471
+ catch {
472
+ // Intentionally silent - cleanup is best-effort
473
+ }
457
474
  try {
458
475
  await fs.unlink(oldParentConfigFile);
459
476
  }
460
- catch { }
477
+ catch {
478
+ // Intentionally silent - cleanup is best-effort
479
+ }
461
480
  }
462
481
  }
463
482
  }
@@ -497,10 +516,10 @@ class Dmux {
497
516
  // This works inside tmux where normal SIGWINCH may not propagate
498
517
  const pid = process.pid;
499
518
  execSync(`tmux set-hook -t '${this.sessionName}' client-resized 'run-shell "kill -USR1 ${pid} 2>/dev/null || true"'`, { stdio: 'pipe' });
500
- LogService.getInstance().debug(`Set up resize hook for session ${this.sessionName}`, 'Setup');
519
+ // LogService.getInstance().debug(`Set up resize hook for session ${this.sessionName}`, 'Setup');
501
520
  }
502
521
  catch (error) {
503
- LogService.getInstance().debug('Failed to set up resize hook', 'Setup');
522
+ LogService.getInstance().warn('Failed to set up resize hook', 'Setup');
504
523
  }
505
524
  }
506
525
  setupPaneSplitHook() {
@@ -509,10 +528,10 @@ class Dmux {
509
528
  // This allows us to detect manually created panes via Ctrl+b %
510
529
  const pid = process.pid;
511
530
  execSync(`tmux set-hook -t '${this.sessionName}' after-split-window 'run-shell "kill -USR2 ${pid} 2>/dev/null || true"'`, { stdio: 'pipe' });
512
- LogService.getInstance().debug(`Set up pane split detection hook for session ${this.sessionName}`, 'Setup');
531
+ // LogService.getInstance().debug(`Set up pane split detection hook for session ${this.sessionName}`, 'Setup');
513
532
  }
514
533
  catch (error) {
515
- LogService.getInstance().debug('Failed to set up pane split hook', 'Setup');
534
+ LogService.getInstance().warn('Failed to set up pane split hook', 'Setup');
516
535
  }
517
536
  }
518
537
  cleanupResizeHook() {
@@ -536,7 +555,7 @@ class Dmux {
536
555
  }
537
556
  }
538
557
  setupGlobalSignalHandlers() {
539
- const cleanTerminalExit = () => {
558
+ const cleanTerminalExit = async () => {
540
559
  // Clean up hooks
541
560
  if (process.env.TMUX) {
542
561
  this.cleanupResizeHook();
@@ -549,10 +568,13 @@ class Dmux {
549
568
  // Clear tmux pane if we're in tmux
550
569
  if (process.env.TMUX) {
551
570
  try {
552
- execSync('tmux clear-history', { stdio: 'pipe' });
553
- execSync('tmux send-keys C-l', { stdio: 'pipe' });
571
+ const tmuxService = TmuxService.getInstance();
572
+ tmuxService.clearHistorySync();
573
+ await tmuxService.sendKeys('', 'C-l');
574
+ }
575
+ catch {
576
+ // Intentionally silent - cleanup is best-effort
554
577
  }
555
- catch { }
556
578
  }
557
579
  // Wait a moment for clearing to settle, then show goodbye message
558
580
  setTimeout(() => {
@@ -583,6 +605,14 @@ class Dmux {
583
605
  });
584
606
  }
585
607
  }
586
- const dmux = new Dmux();
587
- dmux.init().catch(() => process.exit(1));
608
+ // Validate system requirements before starting
609
+ (async () => {
610
+ const validationResult = await validateSystemRequirements();
611
+ printValidationResults(validationResult);
612
+ // Only proceed if system requirements are met
613
+ if (validationResult.canRun) {
614
+ const dmux = new Dmux();
615
+ dmux.init().catch(() => process.exit(1));
616
+ }
617
+ })();
588
618
  //# sourceMappingURL=index.js.map
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,62 @@
1
+ import type { LayoutConfig } from '../utils/layoutManager.js';
2
+ /**
3
+ * Result of layout calculation containing optimal grid dimensions
4
+ */
5
+ export interface LayoutConfiguration {
6
+ cols: number;
7
+ rows: number;
8
+ windowWidth: number;
9
+ paneDistribution: number[];
10
+ actualPaneWidth: number;
11
+ }
12
+ /**
13
+ * LayoutCalculator - Determines optimal grid layout for content panes
14
+ *
15
+ * Responsibilities:
16
+ * - Calculate optimal columns/rows for given terminal dimensions
17
+ * - Score layouts based on height comfort and balance
18
+ * - Distribute panes evenly across columns
19
+ *
20
+ * Does NOT:
21
+ * - Create/destroy tmux panes
22
+ * - Apply layouts to tmux
23
+ * - Manage spacer panes
24
+ */
25
+ export declare class LayoutCalculator {
26
+ private config;
27
+ constructor(config: LayoutConfig);
28
+ /**
29
+ * Calculates the optimal layout for the given number of panes and terminal dimensions
30
+ *
31
+ * Algorithm:
32
+ * 1. Try all possible column counts (from numPanes down to 1)
33
+ * 2. For each, check if it fits in terminal at minimum comfortable size
34
+ * 3. Score layouts based on height, balance, and width comfort
35
+ * 4. Return the highest-scoring layout
36
+ *
37
+ * @param numContentPanes - Number of content panes to layout (excludes sidebar)
38
+ * @param terminalWidth - Total terminal width in cells
39
+ * @param terminalHeight - Total terminal height in cells
40
+ * @returns Optimal layout configuration
41
+ */
42
+ calculateOptimalLayout(numContentPanes: number, terminalWidth: number, terminalHeight: number): LayoutConfiguration;
43
+ /**
44
+ * Distributes panes as evenly as possible across columns
45
+ * Examples:
46
+ * 5 panes, 3 cols → [2, 2, 1] (first 2 columns get extra pane)
47
+ * 5 panes, 4 cols → [2, 1, 1, 1] (first column gets extra pane)
48
+ * 6 panes, 3 cols → [2, 2, 2] (perfectly even)
49
+ */
50
+ distributePanes(numPanes: number, cols: number): number[];
51
+ /**
52
+ * Scores a layout based on multiple factors
53
+ * Prefers layouts that:
54
+ * 1. Have more vertical space (bigger height)
55
+ * 2. Are more balanced (fewer rows, but not too wide)
56
+ * 3. Don't have a single pane in the last row
57
+ *
58
+ * @returns Score (0-1, higher is better)
59
+ */
60
+ private scoreLayout;
61
+ }
62
+ //# sourceMappingURL=LayoutCalculator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LayoutCalculator.d.ts","sourceRoot":"","sources":["../../src/layout/LayoutCalculator.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAE9D;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;GAYG;AACH,qBAAa,gBAAgB;IACf,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,YAAY;IAExC;;;;;;;;;;;;;OAaG;IACH,sBAAsB,CACpB,eAAe,EAAE,MAAM,EACvB,aAAa,EAAE,MAAM,EACrB,cAAc,EAAE,MAAM,GACrB,mBAAmB;IAmGtB;;;;;;OAMG;IACH,eAAe,CAAC,QAAQ,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,MAAM,EAAE;IAazD;;;;;;;;OAQG;IACH,OAAO,CAAC,WAAW;CAqBpB"}