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
@@ -0,0 +1 @@
1
+ {"version":3,"file":"TmuxService.js","sourceRoot":"","sources":["../../src/services/TmuxService.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,71 @@
1
+ import { EventEmitter } from 'events';
2
+ export type ToastSeverity = 'success' | 'error' | 'info' | 'warning';
3
+ export interface Toast {
4
+ id: string;
5
+ message: string;
6
+ severity: ToastSeverity;
7
+ timestamp: number;
8
+ }
9
+ /**
10
+ * ToastService - Manages toast notifications with queue
11
+ *
12
+ * Features:
13
+ * - One toast visible at a time
14
+ * - Queue additional toasts
15
+ * - Auto-dismiss after timeout
16
+ * - Show queue position (1/3, 2/3, etc.)
17
+ */
18
+ export declare class ToastService extends EventEmitter {
19
+ private static instance;
20
+ private currentToast;
21
+ private queue;
22
+ private dismissTimer;
23
+ private toastStartTime;
24
+ private constructor();
25
+ static getInstance(): ToastService;
26
+ /**
27
+ * Show a toast notification
28
+ * If a toast is already showing, queue it and adjust current timeout
29
+ */
30
+ showToast(message: string, severity?: ToastSeverity): void;
31
+ /**
32
+ * Adjust current toast timeout when queue goes from empty to having items
33
+ * Ensures current toast only shows for QUEUED_TOAST_DURATION total
34
+ */
35
+ private adjustCurrentToastTimeout;
36
+ /**
37
+ * Display a toast and set auto-dismiss timer
38
+ */
39
+ private displayToast;
40
+ /**
41
+ * Dismiss the current toast and show next in queue
42
+ */
43
+ private dismissCurrent;
44
+ /**
45
+ * Manually dismiss the current toast
46
+ */
47
+ dismiss(): void;
48
+ /**
49
+ * Clear all toasts (current + queue)
50
+ */
51
+ clearAll(): void;
52
+ /**
53
+ * Get current toast and queue info
54
+ */
55
+ getState(): {
56
+ currentToast: Toast | null;
57
+ queueLength: number;
58
+ queuePosition: number | null;
59
+ };
60
+ /**
61
+ * Get total count (current + queue)
62
+ */
63
+ getTotalCount(): number;
64
+ /**
65
+ * Reset service (for testing)
66
+ */
67
+ reset(): void;
68
+ }
69
+ declare const _default: ToastService;
70
+ export default _default;
71
+ //# sourceMappingURL=ToastService.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToastService.d.ts","sourceRoot":"","sources":["../../src/services/ToastService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAEtC,MAAM,MAAM,aAAa,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAAG,SAAS,CAAC;AAErE,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,aAAa,CAAC;IACxB,SAAS,EAAE,MAAM,CAAC;CACnB;AAKD;;;;;;;;GAQG;AACH,qBAAa,YAAa,SAAQ,YAAY;IAC5C,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAe;IACtC,OAAO,CAAC,YAAY,CAAsB;IAC1C,OAAO,CAAC,KAAK,CAAe;IAC5B,OAAO,CAAC,YAAY,CAA+B;IACnD,OAAO,CAAC,cAAc,CAAa;IAEnC,OAAO;IAIP,MAAM,CAAC,WAAW,IAAI,YAAY;IAOlC;;;OAGG;IACH,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,GAAE,aAAsB,GAAG,IAAI;IAwBlE;;;OAGG;IACH,OAAO,CAAC,yBAAyB;IAcjC;;OAEG;IACH,OAAO,CAAC,YAAY;IAqBpB;;OAEG;IACH,OAAO,CAAC,cAAc;IAYtB;;OAEG;IACH,OAAO,IAAI,IAAI;IAOf;;OAEG;IACH,QAAQ,IAAI,IAAI;IAUhB;;OAEG;IACH,QAAQ,IAAI;QACV,YAAY,EAAE,KAAK,GAAG,IAAI,CAAC;QAC3B,WAAW,EAAE,MAAM,CAAC;QACpB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;KAC9B;IAUD;;OAEG;IACH,aAAa,IAAI,MAAM;IAIvB;;OAEG;IACH,KAAK,IAAI,IAAI;CAId;;AAED,wBAA0C"}
@@ -0,0 +1,151 @@
1
+ import { EventEmitter } from 'events';
2
+ const SINGLE_TOAST_DURATION = 10000; // 10 seconds
3
+ const QUEUED_TOAST_DURATION = 5000; // 5 seconds
4
+ /**
5
+ * ToastService - Manages toast notifications with queue
6
+ *
7
+ * Features:
8
+ * - One toast visible at a time
9
+ * - Queue additional toasts
10
+ * - Auto-dismiss after timeout
11
+ * - Show queue position (1/3, 2/3, etc.)
12
+ */
13
+ export class ToastService extends EventEmitter {
14
+ static instance;
15
+ currentToast = null;
16
+ queue = [];
17
+ dismissTimer = null;
18
+ toastStartTime = 0;
19
+ constructor() {
20
+ super();
21
+ }
22
+ static getInstance() {
23
+ if (!ToastService.instance) {
24
+ ToastService.instance = new ToastService();
25
+ }
26
+ return ToastService.instance;
27
+ }
28
+ /**
29
+ * Show a toast notification
30
+ * If a toast is already showing, queue it and adjust current timeout
31
+ */
32
+ showToast(message, severity = 'info') {
33
+ const toast = {
34
+ id: `toast-${Date.now()}-${Math.random()}`,
35
+ message,
36
+ severity,
37
+ timestamp: Date.now(),
38
+ };
39
+ // If no current toast, show immediately
40
+ if (!this.currentToast) {
41
+ this.displayToast(toast);
42
+ }
43
+ else {
44
+ // Queue it
45
+ const wasEmpty = this.queue.length === 0;
46
+ this.queue.push(toast);
47
+ this.emit('queue-updated');
48
+ // If this is the first item in queue, adjust current toast timeout
49
+ if (wasEmpty) {
50
+ this.adjustCurrentToastTimeout();
51
+ }
52
+ }
53
+ }
54
+ /**
55
+ * Adjust current toast timeout when queue goes from empty to having items
56
+ * Ensures current toast only shows for QUEUED_TOAST_DURATION total
57
+ */
58
+ adjustCurrentToastTimeout() {
59
+ if (!this.currentToast || !this.dismissTimer)
60
+ return;
61
+ // Calculate elapsed time
62
+ const elapsed = Date.now() - this.toastStartTime;
63
+ const remaining = Math.max(0, QUEUED_TOAST_DURATION - elapsed);
64
+ // Clear existing timer and set new one
65
+ clearTimeout(this.dismissTimer);
66
+ this.dismissTimer = setTimeout(() => {
67
+ this.dismissCurrent();
68
+ }, remaining);
69
+ }
70
+ /**
71
+ * Display a toast and set auto-dismiss timer
72
+ */
73
+ displayToast(toast) {
74
+ // Clear any existing timer
75
+ if (this.dismissTimer) {
76
+ clearTimeout(this.dismissTimer);
77
+ }
78
+ this.currentToast = toast;
79
+ this.toastStartTime = Date.now();
80
+ this.emit('toast-shown', toast);
81
+ // Determine timeout based on queue
82
+ const timeout = this.queue.length > 0
83
+ ? QUEUED_TOAST_DURATION
84
+ : SINGLE_TOAST_DURATION;
85
+ // Set auto-dismiss timer
86
+ this.dismissTimer = setTimeout(() => {
87
+ this.dismissCurrent();
88
+ }, timeout);
89
+ }
90
+ /**
91
+ * Dismiss the current toast and show next in queue
92
+ */
93
+ dismissCurrent() {
94
+ this.currentToast = null;
95
+ this.dismissTimer = null;
96
+ this.emit('toast-dismissed');
97
+ // Show next toast in queue if any
98
+ if (this.queue.length > 0) {
99
+ const nextToast = this.queue.shift();
100
+ this.displayToast(nextToast);
101
+ }
102
+ }
103
+ /**
104
+ * Manually dismiss the current toast
105
+ */
106
+ dismiss() {
107
+ if (this.dismissTimer) {
108
+ clearTimeout(this.dismissTimer);
109
+ }
110
+ this.dismissCurrent();
111
+ }
112
+ /**
113
+ * Clear all toasts (current + queue)
114
+ */
115
+ clearAll() {
116
+ if (this.dismissTimer) {
117
+ clearTimeout(this.dismissTimer);
118
+ }
119
+ this.currentToast = null;
120
+ this.queue = [];
121
+ this.dismissTimer = null;
122
+ this.emit('all-cleared');
123
+ }
124
+ /**
125
+ * Get current toast and queue info
126
+ */
127
+ getState() {
128
+ return {
129
+ currentToast: this.currentToast,
130
+ queueLength: this.queue.length,
131
+ queuePosition: this.currentToast && this.queue.length > 0
132
+ ? 1 // Current is position 1
133
+ : null,
134
+ };
135
+ }
136
+ /**
137
+ * Get total count (current + queue)
138
+ */
139
+ getTotalCount() {
140
+ return (this.currentToast ? 1 : 0) + this.queue.length;
141
+ }
142
+ /**
143
+ * Reset service (for testing)
144
+ */
145
+ reset() {
146
+ this.clearAll();
147
+ this.removeAllListeners();
148
+ }
149
+ }
150
+ export default ToastService.getInstance();
151
+ //# sourceMappingURL=ToastService.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ToastService.js","sourceRoot":"","sources":["../../src/services/ToastService.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,QAAQ,CAAC;AAWtC,MAAM,qBAAqB,GAAG,KAAK,CAAC,CAAC,aAAa;AAClD,MAAM,qBAAqB,GAAG,IAAI,CAAC,CAAE,YAAY;AAEjD;;;;;;;;GAQG;AACH,MAAM,OAAO,YAAa,SAAQ,YAAY;IACpC,MAAM,CAAC,QAAQ,CAAe;IAC9B,YAAY,GAAiB,IAAI,CAAC;IAClC,KAAK,GAAY,EAAE,CAAC;IACpB,YAAY,GAA0B,IAAI,CAAC;IAC3C,cAAc,GAAW,CAAC,CAAC;IAEnC;QACE,KAAK,EAAE,CAAC;IACV,CAAC;IAED,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,YAAY,CAAC,QAAQ,EAAE,CAAC;YAC3B,YAAY,CAAC,QAAQ,GAAG,IAAI,YAAY,EAAE,CAAC;QAC7C,CAAC;QACD,OAAO,YAAY,CAAC,QAAQ,CAAC;IAC/B,CAAC;IAED;;;OAGG;IACH,SAAS,CAAC,OAAe,EAAE,WAA0B,MAAM;QACzD,MAAM,KAAK,GAAU;YACnB,EAAE,EAAE,SAAS,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,EAAE;YAC1C,OAAO;YACP,QAAQ;YACR,SAAS,EAAE,IAAI,CAAC,GAAG,EAAE;SACtB,CAAC;QAEF,wCAAwC;QACxC,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACvB,IAAI,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;QAC3B,CAAC;aAAM,CAAC;YACN,WAAW;YACX,MAAM,QAAQ,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,CAAC;YACzC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACvB,IAAI,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAE3B,mEAAmE;YACnE,IAAI,QAAQ,EAAE,CAAC;gBACb,IAAI,CAAC,yBAAyB,EAAE,CAAC;YACnC,CAAC;QACH,CAAC;IACH,CAAC;IAED;;;OAGG;IACK,yBAAyB;QAC/B,IAAI,CAAC,IAAI,CAAC,YAAY,IAAI,CAAC,IAAI,CAAC,YAAY;YAAE,OAAO;QAErD,yBAAyB;QACzB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,IAAI,CAAC,cAAc,CAAC;QACjD,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,CAAC;QAE/D,uCAAuC;QACvC,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAChC,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE;YAClC,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC,EAAE,SAAS,CAAC,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,KAAY;QAC/B,2BAA2B;QAC3B,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAC1B,IAAI,CAAC,cAAc,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACjC,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,KAAK,CAAC,CAAC;QAEhC,mCAAmC;QACnC,MAAM,OAAO,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;YACnC,CAAC,CAAC,qBAAqB;YACvB,CAAC,CAAC,qBAAqB,CAAC;QAE1B,yBAAyB;QACzB,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC,GAAG,EAAE;YAClC,IAAI,CAAC,cAAc,EAAE,CAAC;QACxB,CAAC,EAAE,OAAO,CAAC,CAAC;IACd,CAAC;IAED;;OAEG;IACK,cAAc;QACpB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,iBAAiB,CAAC,CAAC;QAE7B,kCAAkC;QAClC,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,EAAG,CAAC;YACtC,IAAI,CAAC,YAAY,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC;IACH,CAAC;IAED;;OAEG;IACH,OAAO;QACL,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,cAAc,EAAE,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;YACtB,YAAY,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;QAClC,CAAC;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,QAAQ;QAKN,OAAO;YACL,YAAY,EAAE,IAAI,CAAC,YAAY;YAC/B,WAAW,EAAE,IAAI,CAAC,KAAK,CAAC,MAAM;YAC9B,aAAa,EAAE,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC;gBACvD,CAAC,CAAC,CAAC,CAAC,wBAAwB;gBAC5B,CAAC,CAAC,IAAI;SACT,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,aAAa;QACX,OAAO,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,KAAK;QACH,IAAI,CAAC,QAAQ,EAAE,CAAC;QAChB,IAAI,CAAC,kBAAkB,EAAE,CAAC;IAC5B,CAAC;CACF;AAED,eAAe,YAAY,CAAC,WAAW,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"TunnelService.d.ts","sourceRoot":"","sources":["../../src/services/TunnelService.ts"],"names":[],"mappings":"AAGA,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,UAAU,CAAkB;IAE9B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAwFpC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B,MAAM,IAAI,MAAM,GAAG,IAAI;CAGxB;AAED,eAAO,MAAM,aAAa,eAAsB,CAAC"}
1
+ {"version":3,"file":"TunnelService.d.ts","sourceRoot":"","sources":["../../src/services/TunnelService.ts"],"names":[],"mappings":"AAIA,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAa;IAC3B,OAAO,CAAC,SAAS,CAAuB;IACxC,OAAO,CAAC,UAAU,CAAkB;IAE9B,KAAK,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAwFpC,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAQ3B,MAAM,IAAI,MAAM,GAAG,IAAI;CAGxB;AAED,eAAO,MAAM,aAAa,eAAsB,CAAC"}
@@ -1,5 +1,6 @@
1
1
  import { startTunnel } from 'untun';
2
2
  import { LogService } from './LogService.js';
3
+ import { TUNNEL_RETRY_DELAY } from '../constants/timing.js';
3
4
  export class TunnelService {
4
5
  tunnel = null;
5
6
  tunnelUrl = null;
@@ -15,7 +16,7 @@ export class TunnelService {
15
16
  LogService.getInstance().info('Tunnel creation already in progress, waiting...', 'TunnelService');
16
17
  // Wait up to 45 seconds for existing creation to finish
17
18
  for (let i = 0; i < 45; i++) {
18
- await new Promise(resolve => setTimeout(resolve, 1000));
19
+ await new Promise(resolve => setTimeout(resolve, TUNNEL_RETRY_DELAY));
19
20
  if (this.tunnelUrl) {
20
21
  return this.tunnelUrl;
21
22
  }
@@ -1 +1 @@
1
- {"version":3,"file":"TunnelService.js","sourceRoot":"","sources":["../../src/services/TunnelService.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TunnelService.js","sourceRoot":"","sources":["../../src/services/TunnelService.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,6 @@
1
1
  import { EventEmitter } from 'events';
2
2
  import type { DmuxPane, ProjectSettings, LogEntry } from '../types.js';
3
+ import { type Toast } from '../services/ToastService.js';
3
4
  export interface DmuxState {
4
5
  panes: DmuxPane[];
5
6
  projectName: string;
@@ -12,6 +13,9 @@ export interface DmuxState {
12
13
  logs: LogEntry[];
13
14
  unreadErrorCount: number;
14
15
  unreadWarningCount: number;
16
+ currentToast: Toast | null;
17
+ toastQueueLength: number;
18
+ toastQueuePosition: number | null;
15
19
  }
16
20
  export declare class StateManager extends EventEmitter {
17
21
  private static instance;
@@ -20,6 +24,7 @@ export declare class StateManager extends EventEmitter {
20
24
  private configWatcher;
21
25
  private debugMessageCallback;
22
26
  private logService;
27
+ private toastService;
23
28
  private constructor();
24
29
  static getInstance(): StateManager;
25
30
  getState(): DmuxState;
@@ -86,6 +91,23 @@ export declare class StateManager extends EventEmitter {
86
91
  * Get log statistics
87
92
  */
88
93
  getLogStats(): ReturnType<typeof this.logService.getStats>;
94
+ /**
95
+ * Sync toasts from ToastService to state
96
+ */
97
+ private syncToastsFromService;
98
+ /**
99
+ * Show a toast notification
100
+ * Also logs the message to the log panel
101
+ */
102
+ showToast(message: string, severity?: 'success' | 'error' | 'info' | 'warning'): void;
103
+ /**
104
+ * Dismiss current toast
105
+ */
106
+ dismissToast(): void;
107
+ /**
108
+ * Clear all toasts
109
+ */
110
+ clearAllToasts(): void;
89
111
  reset(): void;
90
112
  }
91
113
  declare const _default: StateManager;
@@ -1 +1 @@
1
- {"version":3,"file":"StateManager.d.ts","sourceRoot":"","sources":["../../src/shared/StateManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StateManager.d.ts","sourceRoot":"","sources":["../../src/shared/StateManager.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  import { EventEmitter } from 'events';
2
2
  import { ConfigWatcher } from '../services/ConfigWatcher.js';
3
3
  import { LogService } from '../services/LogService.js';
4
+ import { ToastService } from '../services/ToastService.js';
4
5
  export class StateManager extends EventEmitter {
5
6
  static instance;
6
7
  state;
@@ -8,9 +9,11 @@ export class StateManager extends EventEmitter {
8
9
  configWatcher = null;
9
10
  debugMessageCallback;
10
11
  logService;
12
+ toastService;
11
13
  constructor() {
12
14
  super();
13
15
  this.logService = LogService.getInstance();
16
+ this.toastService = ToastService.getInstance();
14
17
  this.state = {
15
18
  panes: [],
16
19
  projectName: '',
@@ -20,6 +23,9 @@ export class StateManager extends EventEmitter {
20
23
  logs: [],
21
24
  unreadErrorCount: 0,
22
25
  unreadWarningCount: 0,
26
+ currentToast: null,
27
+ toastQueueLength: 0,
28
+ toastQueuePosition: null,
23
29
  };
24
30
  // Listen to log events and sync state
25
31
  this.logService.on('log-added', () => {
@@ -34,6 +40,19 @@ export class StateManager extends EventEmitter {
34
40
  this.logService.on('logs-cleared', () => {
35
41
  this.syncLogsFromService();
36
42
  });
43
+ // Listen to toast events and sync state
44
+ this.toastService.on('toast-shown', () => {
45
+ this.syncToastsFromService();
46
+ });
47
+ this.toastService.on('toast-dismissed', () => {
48
+ this.syncToastsFromService();
49
+ });
50
+ this.toastService.on('queue-updated', () => {
51
+ this.syncToastsFromService();
52
+ });
53
+ this.toastService.on('all-cleared', () => {
54
+ this.syncToastsFromService();
55
+ });
37
56
  }
38
57
  static getInstance() {
39
58
  if (!StateManager.instance) {
@@ -202,6 +221,50 @@ export class StateManager extends EventEmitter {
202
221
  getLogStats() {
203
222
  return this.logService.getStats();
204
223
  }
224
+ /**
225
+ * Sync toasts from ToastService to state
226
+ */
227
+ syncToastsFromService() {
228
+ const toastState = this.toastService.getState();
229
+ this.state.currentToast = toastState.currentToast;
230
+ this.state.toastQueueLength = toastState.queueLength;
231
+ this.state.toastQueuePosition = toastState.queuePosition;
232
+ this.notifyListeners();
233
+ }
234
+ /**
235
+ * Show a toast notification
236
+ * Also logs the message to the log panel
237
+ */
238
+ showToast(message, severity = 'info') {
239
+ // Show the toast
240
+ this.toastService.showToast(message, severity);
241
+ // Also log it to the log panel
242
+ const logLevel = severity === 'success' ? 'info' : severity === 'warning' ? 'warn' : severity;
243
+ switch (logLevel) {
244
+ case 'error':
245
+ this.logService.error(message, 'toast');
246
+ break;
247
+ case 'warn':
248
+ this.logService.warn(message, 'toast');
249
+ break;
250
+ case 'info':
251
+ default:
252
+ this.logService.info(message, 'toast');
253
+ break;
254
+ }
255
+ }
256
+ /**
257
+ * Dismiss current toast
258
+ */
259
+ dismissToast() {
260
+ this.toastService.dismiss();
261
+ }
262
+ /**
263
+ * Clear all toasts
264
+ */
265
+ clearAllToasts() {
266
+ this.toastService.clearAll();
267
+ }
205
268
  reset() {
206
269
  // Stop file watcher
207
270
  if (this.configWatcher) {
@@ -217,12 +280,16 @@ export class StateManager extends EventEmitter {
217
280
  logs: [],
218
281
  unreadErrorCount: 0,
219
282
  unreadWarningCount: 0,
283
+ currentToast: null,
284
+ toastQueueLength: 0,
285
+ toastQueuePosition: null,
220
286
  };
221
287
  this.updateCallbacks.clear();
222
288
  this.removeAllListeners();
223
289
  this.debugMessageCallback = undefined;
224
- // Also reset log service
290
+ // Also reset services
225
291
  this.logService.reset();
292
+ this.toastService.reset();
226
293
  }
227
294
  }
228
295
  export default StateManager.getInstance();
@@ -1 +1 @@
1
- {"version":3,"file":"StateManager.js","sourceRoot":"","sources":["../../src/shared/StateManager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"StateManager.js","sourceRoot":"","sources":["../../src/shared/StateManager.ts"],"names":[],"mappings":"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"}
package/dist/terminal.js CHANGED
@@ -1,3 +1,3 @@
1
- import{d as ue,r as g,p as de,o as ce,n as he,_ as ge,c as x,k as R,b as c,e as N,i as ve,t as j,f as $,l as O,v as be,F as me,h as ye,m as pe}from"./chunks/_plugin-vue_export-helper-Cvoq67hi.js";const ke=ue({__name:"Terminal",setup(ee,{expose:u}){u();const k=window.location.pathname.split("/").pop()||"",n=g([]),s=g({width:80,height:24}),w=g(!1),i=g(0),o=g(0),V=g("Loading..."),P=g(!1),b=g(!1),m=g(!1),C=g(!1),M=g(""),D=g(null),A=g("");let r={};const K=["#000000","#800000","#008000","#808000","#000080","#800080","#008080","#c0c0c0","#808080","#ff0000","#00ff00","#ffff00","#0000ff","#ff00ff","#00ffff","#ffffff","#000000","#00005f","#000087","#0000af","#0000d7","#0000ff","#005f00","#005f5f","#005f87","#005faf","#005fd7","#005fff","#008700","#00875f","#008787","#0087af","#0087d7","#0087ff","#00af00","#00af5f","#00af87","#00afaf","#00afd7","#00afff","#00d700","#00d75f","#00d787","#00d7af","#00d7d7","#00d7ff","#00ff00","#00ff5f","#00ff87","#00ffaf","#00ffd7","#00ffff","#5f0000","#5f005f","#5f0087","#5f00af","#5f00d7","#5f00ff","#5f5f00","#5f5f5f","#5f5f87","#5f5faf","#5f5fd7","#5f5fff","#5f8700","#5f875f","#5f8787","#5f87af","#5f87d7","#5f87ff","#5faf00","#5faf5f","#5faf87","#5fafaf","#5fafd7","#5fafff","#5fd700","#5fd75f","#5fd787","#5fd7af","#5fd7d7","#5fd7ff","#5fff00","#5fff5f","#5fff87","#5fffaf","#5fffd7","#5fffff","#870000","#87005f","#870087","#8700af","#8700d7","#8700ff","#875f00","#875f5f","#875f87","#875faf","#875fd7","#875fff","#878700","#87875f","#878787","#8787af","#8787d7","#8787ff","#87af00","#87af5f","#87af87","#87afaf","#87afd7","#87afff","#87d700","#87d75f","#87d787","#87d7af","#87d7d7","#87d7ff","#87ff00","#87ff5f","#87ff87","#87ffaf","#87ffd7","#87ffff","#af0000","#af005f","#af0087","#af00af","#af00d7","#af00ff","#af5f00","#af5f5f","#af5f87","#af5faf","#af5fd7","#af5fff","#af8700","#af875f","#af8787","#af87af","#af87d7","#af87ff","#afaf00","#afaf5f","#afaf87","#afafaf","#afafd7","#afafff","#afd700","#afd75f","#afd787","#afd7af","#afd7d7","#afd7ff","#afff00","#afff5f","#afff87","#afffaf","#afffd7","#afffff","#d70000","#d7005f","#d70087","#d700af","#d700d7","#d700ff","#d75f00","#d75f5f","#d75f87","#d75faf","#d75fd7","#d75fff","#d78700","#d7875f","#d78787","#d787af","#d787d7","#d787ff","#d7af00","#d7af5f","#d7af87","#d7afaf","#d7afd7","#d7afff","#d7d700","#d7d75f","#d7d787","#d7d7af","#d7d7d7","#d7d7ff","#d7ff00","#d7ff5f","#d7ff87","#d7ffaf","#d7ffd7","#d7ffff","#ff0000","#ff005f","#ff0087","#ff00af","#ff00d7","#ff00ff","#ff5f00","#ff5f5f","#ff5f87","#ff5faf","#ff5fd7","#ff5fff","#ff8700","#ff875f","#ff8787","#ff87af","#ff87d7","#ff87ff","#ffaf00","#ffaf5f","#ffaf87","#ffafaf","#ffafd7","#ffafff","#ffd700","#ffd75f","#ffd787","#ffd7af","#ffd7d7","#ffd7ff","#ffff00","#ffff5f","#ffff87","#ffffaf","#ffffd7","#ffffff","#080808","#121212","#1c1c1c","#262626","#303030","#3a3a3a","#444444","#4e4e4e","#585858","#626262","#6c6c6c","#767676","#808080","#8a8a8a","#949494","#9e9e9e","#a8a8a8","#b2b2b2","#bcbcbc","#c6c6c6","#d0d0d0","#dadada","#e4e4e4","#eeeeee"];function T(){n.value=Array(s.value.height).fill(null).map(()=>Array(s.value.width).fill(null).map(()=>({char:" ",fg:null,bg:null,bold:!1,dim:!1,italic:!1,underline:!1,strikethrough:!1})))}function E(e,f=!1,a=!0){let t=0;for(;t<e.length;){const l=e.charCodeAt(t);if(l===27){const d=H(e,t);if(d>t){const p=e.substring(t,d);L(p),t=d;continue}}if(l===8){o.value>0&&o.value--,t++;continue}z(e[t],a),t++}}function H(e,f){if(f+1>=e.length)return f+1;const a=e[f+1];if(a==="[")for(let t=f+2;t<e.length;t++){const l=e[t];if(l>="@"&&l<="~")return t+1}if(a==="]")for(let t=f+2;t<e.length;t++){const l=e.charCodeAt(t);if(l===7)return t+1;if(l===27&&t+1<e.length&&e[t+1]==="\\")return t+2}return f+2}function L(e){if(!(e.length<2)&&e[1]==="["){const f=e.substring(2,e.length-1),a=e[e.length-1];W(f,a)}}function W(e,f){const a=e.split(";").map(t=>parseInt(t)||0);switch(f){case"H":case"f":i.value=Math.min(Math.max((a[0]||1)-1,0),s.value.height-1),o.value=Math.min(Math.max((a[1]||1)-1,0),s.value.width-1);break;case"A":i.value=Math.max(i.value-(a[0]||1),0);break;case"B":i.value=Math.min(i.value+(a[0]||1),s.value.height-1);break;case"C":o.value=Math.min(o.value+(a[0]||1),s.value.width-1);break;case"D":o.value=Math.max(o.value-(a[0]||1),0);break;case"G":o.value=Math.min(Math.max((a[0]||1)-1,0),s.value.width-1);break;case"J":J(a[0]||0);break;case"K":F(a[0]||0);break;case"m":U(a);break}}function U(e){if(e.length===0||e[0]===0){r={};return}let f=0;for(;f<e.length;){const a=e[f];a===0?r={}:a===1?r.bold=!0:a===2?r.dim=!0:a===3?r.italic=!0:a===4?r.underline=!0:a===9?r.strikethrough=!0:a===22?(r.bold=!1,r.dim=!1):a===23?r.italic=!1:a===24?r.underline=!1:a===29?r.strikethrough=!1:a>=30&&a<=37?r.fg=["black","red","green","yellow","blue","magenta","cyan","white"][a-30]:a===38?f+1<e.length&&(e[f+1]===5&&f+2<e.length?(r.fg="c"+e[f+2],f+=2):e[f+1]===2&&f+4<e.length&&(r.fg=`rgb(${e[f+2]},${e[f+3]},${e[f+4]})`,f+=4)):a===39?r.fg=null:a>=40&&a<=47?r.bg=["black","red","green","yellow","blue","magenta","cyan","white"][a-40]:a===48?f+1<e.length&&(e[f+1]===5&&f+2<e.length?(r.bg="c"+e[f+2],f+=2):e[f+1]===2&&f+4<e.length&&(r.bg=`rgb(${e[f+2]},${e[f+3]},${e[f+4]})`,f+=4)):a===49?r.bg=null:a>=90&&a<=97?r.fg="bright-"+["black","red","green","yellow","blue","magenta","cyan","white"][a-90]:a>=100&&a<=107&&(r.bg="bright-"+["black","red","green","yellow","blue","magenta","cyan","white"][a-100]),f++}}function z(e,f=!0){if(e===`
2
- `){i.value++,o.value=0,i.value>=s.value.height&&(f&&(n.value.shift(),n.value.push(Array(s.value.width).fill(null).map(()=>({char:" ",fg:null,bg:null,bold:!1,dim:!1,italic:!1,underline:!1,strikethrough:!1})))),i.value=s.value.height-1);return}if(e==="\r"){o.value=0;return}if(e===" "){o.value=Math.min(Math.floor((o.value+8)/8)*8,s.value.width-1);return}o.value>=s.value.width&&(o.value=0,i.value++,i.value>=s.value.height&&(f&&(n.value.shift(),n.value.push(Array(s.value.width).fill(null).map(()=>({char:" ",fg:null,bg:null,bold:!1,dim:!1,italic:!1,underline:!1,strikethrough:!1})))),i.value=s.value.height-1)),i.value<s.value.height&&o.value<s.value.width&&(n.value[i.value][o.value]={char:e,...r},o.value++)}function J(e){e===2&&T()}function F(e){if(e===0)for(let f=o.value;f<s.value.width;f++)n.value[i.value][f]={char:" ",fg:null,bg:null,bold:!1,dim:!1,italic:!1,underline:!1,strikethrough:!1};else if(e===2)for(let f=0;f<s.value.width;f++)n.value[i.value][f]={char:" ",fg:null,bg:null,bold:!1,dim:!1,italic:!1,underline:!1,strikethrough:!1}}function _(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function G(e,f){return e.fg===f.fg&&e.bg===f.bg&&e.bold===f.bold&&e.dim===f.dim&&e.italic===f.italic&&e.underline===f.underline&&e.strikethrough===f.strikethrough}function X(e){const f=[],a=[];if(e.fg)if(e.fg.startsWith("rgb("))a.push(`color: ${e.fg}`);else if(e.fg.startsWith("c")){const t=parseInt(e.fg.substring(1));t>=0&&t<K.length&&a.push(`color: ${K[t]}`)}else f.push("term-fg-"+e.fg);if(e.bg)if(e.bg.startsWith("rgb("))a.push(`background-color: ${e.bg}`);else if(e.bg.startsWith("c")){const t=parseInt(e.bg.substring(1));t>=0&&t<K.length&&a.push(`background-color: ${K[t]}`)}else f.push("term-bg-"+e.bg);return e.bold&&f.push("term-bold"),e.dim&&f.push("term-dim"),e.italic&&f.push("term-italic"),e.underline&&f.push("term-underline"),e.strikethrough&&f.push("term-strikethrough"),{classes:f,styles:a}}function B(){const f=`/api/stream/${A.value||k}`;fetch(f).then(a=>{if(!a.ok)throw new Error("Failed to connect");if(!a.body)throw new Error("No response body");const t=a.body.getReader(),l=new TextDecoder;let d="";w.value=!0,(async()=>{try{for(;;){const{done:v,value:h}=await t.read();if(v)break;d+=l.decode(h,{stream:!0});let y;for(;(y=d.indexOf(`
3
- `))!==-1;){const I=d.substring(0,y);d=d.substring(y+1),I&&Z(I)}}}catch{w.value=!1}})()}).catch(a=>{w.value=!1})}function Z(e){const f=e.indexOf(":");if(f===-1)return;const a=e.substring(0,f),t=e.substring(f+1);try{const l=JSON.parse(t);switch(a){case"INIT":s.value={width:l.width,height:l.height},T(),i.value=0,o.value=0,E(l.content||"",!1,!1),l.cursorRow!==void 0&&l.cursorCol!==void 0&&(i.value=l.cursorRow,o.value=l.cursorCol);break;case"PATCH":const d=l.cursorRow,p=l.cursorCol;l.changes.forEach(v=>{E(v.text,!1,!1)}),d!==void 0&&p!==void 0&&(i.value=d,o.value=p);break;case"RESIZE":s.value={width:l.width,height:l.height},T(),E(l.content||"");break;case"HEARTBEAT":break}}catch{}}const fe=de(()=>({width:`${s.value.width}ch`,maxWidth:"100vw",fontSize:`clamp(11px, calc(100vw / ${s.value.width} / 0.6), 20px)`}));function ae(e,f){let a="",t=0;for(;t<e.length;){const l=e[t],d=f===i.value&&t===o.value;if(l.fg||l.bg||l.bold||l.dim||l.italic||l.underline||l.strikethrough||d){const{classes:v,styles:h}=X(l);d&&v.push("term-cursor");let y=l.char;for(t++;t<e.length;){const Y=e[t];if(f===i.value&&t===o.value||!G(l,Y))break;y+=Y.char,t++}const I=v.length?' class="'+v.join(" ")+'"':"",re=h.length?' style="'+h.join("; ")+'"':"";a+="<span"+I+re+">"+_(y)+"</span>"}else{let v="";for(;t<e.length;){const h=e[t],y=f===i.value&&t===o.value;if(h.fg||h.bg||h.bold||h.dim||h.italic||h.underline||h.strikethrough||y)break;v+=h.char,t++}a+=_(v)}}return a}function te(){b.value=!b.value,b.value&&m.value&&(m.value=!1)}function le(){m.value=!m.value,m.value&&b.value&&(b.value=!1)}function ne(){C.value=!C.value}async function S(e){const f={key:e,ctrlKey:b.value,altKey:m.value,shiftKey:C.value,metaKey:!1};b.value=!1,m.value=!1,C.value=!1;try{await fetch(`/api/keys/${A.value}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(f)})}catch{}}function ie(){P.value&&D.value&&D.value.focus()}function oe(e){const a=e.target.value,t=M.value;if(a.length>t.length){const l=a.substring(t.length);for(const d of l)S(d)}else if(a.length<t.length){const l=t.length-a.length;for(let d=0;d<l;d++)S("Backspace")}he(()=>{M.value=""})}function se(e){e.key==="Enter"?(e.preventDefault(),S("Enter")):e.key==="Backspace"&&M.value===""&&(e.preventDefault(),S("Backspace"))}function q(e){const f=document.activeElement;if(f&&(f.tagName==="INPUT"||f.tagName==="TEXTAREA")||["Shift","Control","Alt","Meta"].includes(e.key))return;(!e.metaKey&&!e.ctrlKey||e.key==="c"||e.key==="d")&&e.preventDefault();const t={key:e.key,ctrlKey:e.ctrlKey,altKey:e.altKey,shiftKey:e.shiftKey,metaKey:e.metaKey};fetch(`/api/keys/${A.value}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}).catch(l=>{})}ce(()=>{P.value="ontouchstart"in window||navigator.maxTouchPoints>0||window.innerWidth<768,fetch("/api/panes").then(e=>e.json()).then(e=>{let f=e.panes.find(a=>a.id===k);f||(f=e.panes.find(a=>a.slug===k)),f&&(V.value=f.slug,A.value=f.id),B()}).catch(e=>{B()}),document.addEventListener("keydown",q)});const Q={paneId:k,terminalBuffer:n,dimensions:s,connected:w,cursorRow:i,cursorCol:o,paneTitle:V,isMobile:P,ctrlActive:b,altActive:m,shiftActive:C,mobileInputValue:M,mobileInputRef:D,actualPaneId:A,get currentAttrs(){return r},set currentAttrs(e){r=e},colorPalette:K,initTerminal:T,parseAnsiAndUpdate:E,findEscapeSequenceEnd:H,handleEscapeSequence:L,handleCSI:W,handleSGR:U,handleCharacter:z,handleEraseDisplay:J,handleEraseLine:F,escapeHtml:_,hasSameStyle:G,buildStyleAttrs:X,connectToStream:B,processMessage:Z,terminalContainerStyle:fe,renderRow:ae,toggleCtrl:te,toggleAlt:le,toggleShift:ne,sendKey:S,focusMobileInput:ie,handleMobileInput:oe,handleMobileKeydown:se,handleGlobalKeydown:q};return Object.defineProperty(Q,"__isScriptSetup",{enumerable:!1,value:!0}),Q}}),we={class:"terminal-page"},Ce={class:"session-info"},Ae={class:"mobile-toolbar"},Ke=["data-row","innerHTML"];function Se(ee,u,k,n,s,w){return R(),x("div",we,[c("header",null,[u[8]||(u[8]=c("a",{href:"/",class:"back-button"},"← dmux",-1)),c("h1",null,j(n.paneTitle),1),c("div",Ce,[c("span",null,j(n.dimensions.width)+"×"+j(n.dimensions.height),1),c("span",{class:"status-indicator",style:$({color:n.connected?"#4ade80":"#f87171"})},"●",4)])]),N(" Keyboard toolbar (always visible for easier terminal control) "),c("div",Ae,[c("button",{onClick:n.toggleCtrl,class:O([{active:n.ctrlActive},"toolbar-key"])},"Ctrl",2),c("button",{onClick:n.toggleAlt,class:O([{active:n.altActive},"toolbar-key"])},"Alt",2),c("button",{onClick:n.toggleShift,class:O([{active:n.shiftActive},"toolbar-key"])},"Shift",2),c("button",{onClick:u[0]||(u[0]=i=>n.sendKey("Escape")),class:"toolbar-key"},"Esc"),c("button",{onClick:u[1]||(u[1]=i=>n.sendKey("Tab")),class:"toolbar-key"},"Tab"),c("button",{onClick:u[2]||(u[2]=i=>n.sendKey("Enter")),class:"toolbar-key"},"Enter"),c("button",{onClick:u[3]||(u[3]=i=>n.sendKey("ArrowUp")),class:"toolbar-key"},"↑"),c("button",{onClick:u[4]||(u[4]=i=>n.sendKey("ArrowDown")),class:"toolbar-key"},"↓"),c("button",{onClick:u[5]||(u[5]=i=>n.sendKey("ArrowLeft")),class:"toolbar-key"},"←"),c("button",{onClick:u[6]||(u[6]=i=>n.sendKey("ArrowRight")),class:"toolbar-key"},"→")]),N(" Hidden input for mobile keyboard "),n.isMobile?ve((R(),x("input",{key:0,ref:"mobileInputRef",type:"text",class:"mobile-input","onUpdate:modelValue":u[7]||(u[7]=i=>n.mobileInputValue=i),onInput:n.handleMobileInput,onKeydown:n.handleMobileKeydown,autocomplete:"off",autocapitalize:"off",autocorrect:"off"},null,544)),[[be,n.mobileInputValue]]):N("v-if",!0),c("div",{class:"terminal-content",onClick:n.focusMobileInput},[c("div",{class:"terminal-output",style:$(n.terminalContainerStyle)},[(R(!0),x(me,null,ye(n.terminalBuffer,(i,o)=>(R(),x("div",{key:o,class:"terminal-row","data-row":o,innerHTML:n.renderRow(i,o)},null,8,Ke))),128))],4)])])}const Me=ge(ke,[["render",Se],["__file","/Users/justinschroeder/Projects/dmux/frontend/src/components/Terminal.vue"]]),Te=pe(Me);Te.mount("#app");
1
+ import{d as ue,r as g,p as de,o as ce,n as he,_ as ge,c as x,k as R,b as c,e as j,i as ve,t as B,f as Y,l as O,v as be,F as me,h as ye,m as pe}from"./chunks/_plugin-vue_export-helper-Cvoq67hi.js";const ke=ue({__name:"Terminal",setup(ee,{expose:u}){u();const w=window.location.pathname.split("/").pop()||"",n=g([]),s=g({width:80,height:24}),C=g(!1),i=g(0),o=g(0),V=g("Loading..."),P=g(!1),b=g(!1),m=g(!1),A=g(!1),T=g(""),D=g(null),p=g("");let r={};const S=["#000000","#800000","#008000","#808000","#000080","#800080","#008080","#c0c0c0","#808080","#ff0000","#00ff00","#ffff00","#0000ff","#ff00ff","#00ffff","#ffffff","#000000","#00005f","#000087","#0000af","#0000d7","#0000ff","#005f00","#005f5f","#005f87","#005faf","#005fd7","#005fff","#008700","#00875f","#008787","#0087af","#0087d7","#0087ff","#00af00","#00af5f","#00af87","#00afaf","#00afd7","#00afff","#00d700","#00d75f","#00d787","#00d7af","#00d7d7","#00d7ff","#00ff00","#00ff5f","#00ff87","#00ffaf","#00ffd7","#00ffff","#5f0000","#5f005f","#5f0087","#5f00af","#5f00d7","#5f00ff","#5f5f00","#5f5f5f","#5f5f87","#5f5faf","#5f5fd7","#5f5fff","#5f8700","#5f875f","#5f8787","#5f87af","#5f87d7","#5f87ff","#5faf00","#5faf5f","#5faf87","#5fafaf","#5fafd7","#5fafff","#5fd700","#5fd75f","#5fd787","#5fd7af","#5fd7d7","#5fd7ff","#5fff00","#5fff5f","#5fff87","#5fffaf","#5fffd7","#5fffff","#870000","#87005f","#870087","#8700af","#8700d7","#8700ff","#875f00","#875f5f","#875f87","#875faf","#875fd7","#875fff","#878700","#87875f","#878787","#8787af","#8787d7","#8787ff","#87af00","#87af5f","#87af87","#87afaf","#87afd7","#87afff","#87d700","#87d75f","#87d787","#87d7af","#87d7d7","#87d7ff","#87ff00","#87ff5f","#87ff87","#87ffaf","#87ffd7","#87ffff","#af0000","#af005f","#af0087","#af00af","#af00d7","#af00ff","#af5f00","#af5f5f","#af5f87","#af5faf","#af5fd7","#af5fff","#af8700","#af875f","#af8787","#af87af","#af87d7","#af87ff","#afaf00","#afaf5f","#afaf87","#afafaf","#afafd7","#afafff","#afd700","#afd75f","#afd787","#afd7af","#afd7d7","#afd7ff","#afff00","#afff5f","#afff87","#afffaf","#afffd7","#afffff","#d70000","#d7005f","#d70087","#d700af","#d700d7","#d700ff","#d75f00","#d75f5f","#d75f87","#d75faf","#d75fd7","#d75fff","#d78700","#d7875f","#d78787","#d787af","#d787d7","#d787ff","#d7af00","#d7af5f","#d7af87","#d7afaf","#d7afd7","#d7afff","#d7d700","#d7d75f","#d7d787","#d7d7af","#d7d7d7","#d7d7ff","#d7ff00","#d7ff5f","#d7ff87","#d7ffaf","#d7ffd7","#d7ffff","#ff0000","#ff005f","#ff0087","#ff00af","#ff00d7","#ff00ff","#ff5f00","#ff5f5f","#ff5f87","#ff5faf","#ff5fd7","#ff5fff","#ff8700","#ff875f","#ff8787","#ff87af","#ff87d7","#ff87ff","#ffaf00","#ffaf5f","#ffaf87","#ffafaf","#ffafd7","#ffafff","#ffd700","#ffd75f","#ffd787","#ffd7af","#ffd7d7","#ffd7ff","#ffff00","#ffff5f","#ffff87","#ffffaf","#ffffd7","#ffffff","#080808","#121212","#1c1c1c","#262626","#303030","#3a3a3a","#444444","#4e4e4e","#585858","#626262","#6c6c6c","#767676","#808080","#8a8a8a","#949494","#9e9e9e","#a8a8a8","#b2b2b2","#bcbcbc","#c6c6c6","#d0d0d0","#dadada","#e4e4e4","#eeeeee"];function M(){n.value=Array(s.value.height).fill(null).map(()=>Array(s.value.width).fill(null).map(()=>({char:" ",fg:null,bg:null,bold:!1,dim:!1,italic:!1,underline:!1,strikethrough:!1})))}function E(e,f=!1,a=!0){let t=0;for(;t<e.length;){const l=e.charCodeAt(t);if(l===27){const d=H(e,t);if(d>t){const k=e.substring(t,d);L(k),t=d;continue}}if(l===8){o.value>0&&o.value--,t++;continue}U(e[t],a),t++}}function H(e,f){if(f+1>=e.length)return f+1;const a=e[f+1];if(a==="[")for(let t=f+2;t<e.length;t++){const l=e[t];if(l>="@"&&l<="~")return t+1}if(a==="]")for(let t=f+2;t<e.length;t++){const l=e.charCodeAt(t);if(l===7)return t+1;if(l===27&&t+1<e.length&&e[t+1]==="\\")return t+2}return f+2}function L(e){if(!(e.length<2)&&e[1]==="["){const f=e.substring(2,e.length-1),a=e[e.length-1];W(f,a)}}function W(e,f){const a=e.split(";").map(t=>parseInt(t)||0);switch(f){case"H":case"f":i.value=Math.min(Math.max((a[0]||1)-1,0),s.value.height-1),o.value=Math.min(Math.max((a[1]||1)-1,0),s.value.width-1);break;case"A":i.value=Math.max(i.value-(a[0]||1),0);break;case"B":i.value=Math.min(i.value+(a[0]||1),s.value.height-1);break;case"C":o.value=Math.min(o.value+(a[0]||1),s.value.width-1);break;case"D":o.value=Math.max(o.value-(a[0]||1),0);break;case"G":o.value=Math.min(Math.max((a[0]||1)-1,0),s.value.width-1);break;case"J":z(a[0]||0);break;case"K":F(a[0]||0);break;case"m":J(a);break}}function J(e){if(e.length===0||e[0]===0){r={};return}let f=0;for(;f<e.length;){const a=e[f];a===0?r={}:a===1?r.bold=!0:a===2?r.dim=!0:a===3?r.italic=!0:a===4?r.underline=!0:a===9?r.strikethrough=!0:a===22?(r.bold=!1,r.dim=!1):a===23?r.italic=!1:a===24?r.underline=!1:a===29?r.strikethrough=!1:a>=30&&a<=37?r.fg=["black","red","green","yellow","blue","magenta","cyan","white"][a-30]:a===38?f+1<e.length&&(e[f+1]===5&&f+2<e.length?(r.fg="c"+e[f+2],f+=2):e[f+1]===2&&f+4<e.length&&(r.fg=`rgb(${e[f+2]},${e[f+3]},${e[f+4]})`,f+=4)):a===39?r.fg=null:a>=40&&a<=47?r.bg=["black","red","green","yellow","blue","magenta","cyan","white"][a-40]:a===48?f+1<e.length&&(e[f+1]===5&&f+2<e.length?(r.bg="c"+e[f+2],f+=2):e[f+1]===2&&f+4<e.length&&(r.bg=`rgb(${e[f+2]},${e[f+3]},${e[f+4]})`,f+=4)):a===49?r.bg=null:a>=90&&a<=97?r.fg="bright-"+["black","red","green","yellow","blue","magenta","cyan","white"][a-90]:a>=100&&a<=107&&(r.bg="bright-"+["black","red","green","yellow","blue","magenta","cyan","white"][a-100]),f++}}function U(e,f=!0){if(e===`
2
+ `){i.value++,o.value=0,i.value>=s.value.height&&(f&&(n.value.shift(),n.value.push(Array(s.value.width).fill(null).map(()=>({char:" ",fg:null,bg:null,bold:!1,dim:!1,italic:!1,underline:!1,strikethrough:!1})))),i.value=s.value.height-1);return}if(e==="\r"){o.value=0;return}if(e===" "){o.value=Math.min(Math.floor((o.value+8)/8)*8,s.value.width-1);return}o.value>=s.value.width&&(o.value=0,i.value++,i.value>=s.value.height&&(f&&(n.value.shift(),n.value.push(Array(s.value.width).fill(null).map(()=>({char:" ",fg:null,bg:null,bold:!1,dim:!1,italic:!1,underline:!1,strikethrough:!1})))),i.value=s.value.height-1)),i.value<s.value.height&&o.value<s.value.width&&(n.value[i.value][o.value]={char:e,...r},o.value++)}function z(e){e===2&&M()}function F(e){if(e===0)for(let f=o.value;f<s.value.width;f++)n.value[i.value][f]={char:" ",fg:null,bg:null,bold:!1,dim:!1,italic:!1,underline:!1,strikethrough:!1};else if(e===2)for(let f=0;f<s.value.width;f++)n.value[i.value][f]={char:" ",fg:null,bg:null,bold:!1,dim:!1,italic:!1,underline:!1,strikethrough:!1}}function N(e){return e.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;").replace(/'/g,"&#39;")}function G(e,f){return e.fg===f.fg&&e.bg===f.bg&&e.bold===f.bold&&e.dim===f.dim&&e.italic===f.italic&&e.underline===f.underline&&e.strikethrough===f.strikethrough}function X(e){const f=[],a=[];if(e.fg)if(e.fg.startsWith("rgb("))a.push(`color: ${e.fg}`);else if(e.fg.startsWith("c")){const t=parseInt(e.fg.substring(1));t>=0&&t<S.length&&a.push(`color: ${S[t]}`)}else f.push("term-fg-"+e.fg);if(e.bg)if(e.bg.startsWith("rgb("))a.push(`background-color: ${e.bg}`);else if(e.bg.startsWith("c")){const t=parseInt(e.bg.substring(1));t>=0&&t<S.length&&a.push(`background-color: ${S[t]}`)}else f.push("term-bg-"+e.bg);return e.bold&&f.push("term-bold"),e.dim&&f.push("term-dim"),e.italic&&f.push("term-italic"),e.underline&&f.push("term-underline"),e.strikethrough&&f.push("term-strikethrough"),{classes:f,styles:a}}function _(){const f=`/api/stream/${p.value||w}`;fetch(f).then(a=>{if(!a.ok)throw new Error("Failed to connect");if(!a.body)throw new Error("No response body");const t=a.body.getReader(),l=new TextDecoder;let d="";C.value=!0,(async()=>{try{for(;;){const{done:v,value:h}=await t.read();if(v)break;d+=l.decode(h,{stream:!0});let y;for(;(y=d.indexOf(`
3
+ `))!==-1;){const I=d.substring(0,y);d=d.substring(y+1),I&&Z(I)}}}catch{C.value=!1}})()}).catch(a=>{C.value=!1})}function Z(e){const f=e.indexOf(":");if(f===-1)return;const a=e.substring(0,f),t=e.substring(f+1);try{const l=JSON.parse(t);switch(a){case"INIT":s.value={width:l.width,height:l.height},M(),i.value=0,o.value=0,E(l.content||"",!1,!1),l.cursorRow!==void 0&&l.cursorCol!==void 0&&(i.value=l.cursorRow,o.value=l.cursorCol);break;case"PATCH":const d=l.cursorRow,k=l.cursorCol;l.changes.forEach(v=>{E(v.text,!1,!1)}),d!==void 0&&k!==void 0&&(i.value=d,o.value=k);break;case"RESIZE":s.value={width:l.width,height:l.height},M(),E(l.content||"");break;case"HEARTBEAT":break}}catch{}}const fe=de(()=>({width:`${s.value.width}ch`,maxWidth:"100vw",fontSize:`clamp(11px, calc(100vw / ${s.value.width} / 0.6), 20px)`}));function ae(e,f){let a="",t=0;for(;t<e.length;){const l=e[t],d=f===i.value&&t===o.value;if(l.fg||l.bg||l.bold||l.dim||l.italic||l.underline||l.strikethrough||d){const{classes:v,styles:h}=X(l);d&&v.push("term-cursor");let y=l.char;for(t++;t<e.length;){const Q=e[t];if(f===i.value&&t===o.value||!G(l,Q))break;y+=Q.char,t++}const I=v.length?' class="'+v.join(" ")+'"':"",re=h.length?' style="'+h.join("; ")+'"':"";a+="<span"+I+re+">"+N(y)+"</span>"}else{let v="";for(;t<e.length;){const h=e[t],y=f===i.value&&t===o.value;if(h.fg||h.bg||h.bold||h.dim||h.italic||h.underline||h.strikethrough||y)break;v+=h.char,t++}a+=N(v)}}return a}function te(){b.value=!b.value,b.value&&m.value&&(m.value=!1)}function le(){m.value=!m.value,m.value&&b.value&&(b.value=!1)}function ne(){A.value=!A.value}async function K(e){const f={key:e,ctrlKey:b.value,altKey:m.value,shiftKey:A.value,metaKey:!1};b.value=!1,m.value=!1,A.value=!1;try{await fetch(`/api/keys/${p.value}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(f)})}catch{}}function ie(){P.value&&D.value&&D.value.focus()}async function oe(e){const a=e.target.value,t=T.value;if(a.length>t.length){const l=a.substring(t.length);if(l.length>1)try{await fetch(`/api/keys/${p.value}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({text:l})})}catch{}else K(l)}else if(a.length<t.length){const l=t.length-a.length;for(let d=0;d<l;d++)K("Backspace")}he(()=>{T.value=""})}function se(e){e.key==="Enter"?(e.preventDefault(),K("Enter")):e.key==="Backspace"&&T.value===""&&(e.preventDefault(),K("Backspace"))}function $(e){const f=document.activeElement;if(f&&(f.tagName==="INPUT"||f.tagName==="TEXTAREA")||["Shift","Control","Alt","Meta"].includes(e.key))return;(!e.metaKey&&!e.ctrlKey||e.key==="c"||e.key==="d")&&e.preventDefault();const t={key:e.key,ctrlKey:e.ctrlKey,altKey:e.altKey,shiftKey:e.shiftKey,metaKey:e.metaKey};fetch(`/api/keys/${p.value}`,{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(t)}).catch(l=>{})}ce(()=>{P.value="ontouchstart"in window||navigator.maxTouchPoints>0||window.innerWidth<768,fetch("/api/panes").then(e=>e.json()).then(e=>{let f=e.panes.find(a=>a.id===w);f||(f=e.panes.find(a=>a.slug===w)),f&&(V.value=f.slug,p.value=f.id),_()}).catch(e=>{_()}),document.addEventListener("keydown",$)});const q={paneId:w,terminalBuffer:n,dimensions:s,connected:C,cursorRow:i,cursorCol:o,paneTitle:V,isMobile:P,ctrlActive:b,altActive:m,shiftActive:A,mobileInputValue:T,mobileInputRef:D,actualPaneId:p,get currentAttrs(){return r},set currentAttrs(e){r=e},colorPalette:S,initTerminal:M,parseAnsiAndUpdate:E,findEscapeSequenceEnd:H,handleEscapeSequence:L,handleCSI:W,handleSGR:J,handleCharacter:U,handleEraseDisplay:z,handleEraseLine:F,escapeHtml:N,hasSameStyle:G,buildStyleAttrs:X,connectToStream:_,processMessage:Z,terminalContainerStyle:fe,renderRow:ae,toggleCtrl:te,toggleAlt:le,toggleShift:ne,sendKey:K,focusMobileInput:ie,handleMobileInput:oe,handleMobileKeydown:se,handleGlobalKeydown:$};return Object.defineProperty(q,"__isScriptSetup",{enumerable:!1,value:!0}),q}}),we={class:"terminal-page"},Ce={class:"session-info"},Ae={class:"mobile-toolbar"},Se=["data-row","innerHTML"];function Ke(ee,u,w,n,s,C){return R(),x("div",we,[c("header",null,[u[8]||(u[8]=c("a",{href:"/",class:"back-button"},"← dmux",-1)),c("h1",null,B(n.paneTitle),1),c("div",Ce,[c("span",null,B(n.dimensions.width)+"×"+B(n.dimensions.height),1),c("span",{class:"status-indicator",style:Y({color:n.connected?"#4ade80":"#f87171"})},"●",4)])]),j(" Keyboard toolbar (always visible for easier terminal control) "),c("div",Ae,[c("button",{onClick:n.toggleCtrl,class:O([{active:n.ctrlActive},"toolbar-key"])},"Ctrl",2),c("button",{onClick:n.toggleAlt,class:O([{active:n.altActive},"toolbar-key"])},"Alt",2),c("button",{onClick:n.toggleShift,class:O([{active:n.shiftActive},"toolbar-key"])},"Shift",2),c("button",{onClick:u[0]||(u[0]=i=>n.sendKey("Escape")),class:"toolbar-key"},"Esc"),c("button",{onClick:u[1]||(u[1]=i=>n.sendKey("Tab")),class:"toolbar-key"},"Tab"),c("button",{onClick:u[2]||(u[2]=i=>n.sendKey("Enter")),class:"toolbar-key"},"Enter"),c("button",{onClick:u[3]||(u[3]=i=>n.sendKey("ArrowUp")),class:"toolbar-key"},"↑"),c("button",{onClick:u[4]||(u[4]=i=>n.sendKey("ArrowDown")),class:"toolbar-key"},"↓"),c("button",{onClick:u[5]||(u[5]=i=>n.sendKey("ArrowLeft")),class:"toolbar-key"},"←"),c("button",{onClick:u[6]||(u[6]=i=>n.sendKey("ArrowRight")),class:"toolbar-key"},"→")]),j(" Hidden input for mobile keyboard "),n.isMobile?ve((R(),x("input",{key:0,ref:"mobileInputRef",type:"text",class:"mobile-input","onUpdate:modelValue":u[7]||(u[7]=i=>n.mobileInputValue=i),onInput:n.handleMobileInput,onKeydown:n.handleMobileKeydown,autocomplete:"off",autocapitalize:"off",autocorrect:"off"},null,544)),[[be,n.mobileInputValue]]):j("v-if",!0),c("div",{class:"terminal-content",onClick:n.focusMobileInput},[c("div",{class:"terminal-output",style:Y(n.terminalContainerStyle)},[(R(!0),x(me,null,ye(n.terminalBuffer,(i,o)=>(R(),x("div",{key:o,class:"terminal-row","data-row":o,innerHTML:n.renderRow(i,o)},null,8,Se))),128))],4)])])}const Te=ge(ke,[["render",Ke],["__file","/Users/justinschroeder/Projects/dmux/frontend/src/components/Terminal.vue"]]),Me=pe(Te);Me.mount("#app");