dmux 5.2.0 → 5.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (240) hide show
  1. package/README.md +9 -5
  2. package/dist/DmuxApp.d.ts.map +1 -1
  3. package/dist/DmuxApp.js +100 -56
  4. package/dist/DmuxApp.js.map +1 -1
  5. package/dist/actions/implementations/closeAction.d.ts.map +1 -1
  6. package/dist/actions/implementations/closeAction.js +84 -13
  7. package/dist/actions/implementations/closeAction.js.map +1 -1
  8. package/dist/actions/implementations/index.d.ts +1 -0
  9. package/dist/actions/implementations/index.d.ts.map +1 -1
  10. package/dist/actions/implementations/index.js +3 -0
  11. package/dist/actions/implementations/index.js.map +1 -1
  12. package/dist/actions/implementations/mergeAction.d.ts.map +1 -1
  13. package/dist/actions/implementations/mergeAction.js +59 -19
  14. package/dist/actions/implementations/mergeAction.js.map +1 -1
  15. package/dist/actions/index.d.ts.map +1 -1
  16. package/dist/actions/index.js +18 -0
  17. package/dist/actions/index.js.map +1 -1
  18. package/dist/actions/merge/conflictResolution.d.ts.map +1 -1
  19. package/dist/actions/merge/conflictResolution.js +17 -12
  20. package/dist/actions/merge/conflictResolution.js.map +1 -1
  21. package/dist/actions/merge/issueHandlers/mainDirtyHandler.d.ts.map +1 -1
  22. package/dist/actions/merge/issueHandlers/mainDirtyHandler.js +8 -6
  23. package/dist/actions/merge/issueHandlers/mainDirtyHandler.js.map +1 -1
  24. package/dist/actions/merge/issueHandlers/worktreeUncommittedHandler.d.ts +1 -1
  25. package/dist/actions/merge/issueHandlers/worktreeUncommittedHandler.d.ts.map +1 -1
  26. package/dist/actions/merge/issueHandlers/worktreeUncommittedHandler.js +9 -2
  27. package/dist/actions/merge/issueHandlers/worktreeUncommittedHandler.js.map +1 -1
  28. package/dist/actions/merge/multiMergeOrchestrator.d.ts.map +1 -1
  29. package/dist/actions/merge/multiMergeOrchestrator.js +33 -14
  30. package/dist/actions/merge/multiMergeOrchestrator.js.map +1 -1
  31. package/dist/actions/types.d.ts +5 -2
  32. package/dist/actions/types.d.ts.map +1 -1
  33. package/dist/actions/types.js +28 -1
  34. package/dist/actions/types.js.map +1 -1
  35. package/dist/components/dialogs/AgentChoiceDialog.d.ts +2 -1
  36. package/dist/components/dialogs/AgentChoiceDialog.d.ts.map +1 -1
  37. package/dist/components/dialogs/AgentChoiceDialog.js +4 -5
  38. package/dist/components/dialogs/AgentChoiceDialog.js.map +1 -1
  39. package/dist/components/panes/PaneCard.d.ts +1 -3
  40. package/dist/components/panes/PaneCard.d.ts.map +1 -1
  41. package/dist/components/panes/PaneCard.js +54 -37
  42. package/dist/components/panes/PaneCard.js.map +1 -1
  43. package/dist/components/panes/PanesGrid.d.ts +1 -0
  44. package/dist/components/panes/PanesGrid.d.ts.map +1 -1
  45. package/dist/components/panes/PanesGrid.js +60 -78
  46. package/dist/components/panes/PanesGrid.js.map +1 -1
  47. package/dist/components/popups/agentChoicePopup.d.ts +2 -2
  48. package/dist/components/popups/agentChoicePopup.js +90 -56
  49. package/dist/components/popups/agentChoicePopup.js.map +1 -1
  50. package/dist/components/popups/agentChoiceSelection.d.ts +8 -0
  51. package/dist/components/popups/agentChoiceSelection.d.ts.map +1 -0
  52. package/dist/components/popups/agentChoiceSelection.js +14 -0
  53. package/dist/components/popups/agentChoiceSelection.js.map +1 -0
  54. package/dist/components/popups/diffPeekPopup.d.ts +7 -0
  55. package/dist/components/popups/diffPeekPopup.d.ts.map +1 -0
  56. package/dist/components/popups/diffPeekPopup.js +99 -0
  57. package/dist/components/popups/diffPeekPopup.js.map +1 -0
  58. package/dist/components/popups/enabledAgentsPopup.d.ts +7 -0
  59. package/dist/components/popups/enabledAgentsPopup.d.ts.map +1 -0
  60. package/dist/components/popups/enabledAgentsPopup.js +196 -0
  61. package/dist/components/popups/enabledAgentsPopup.js.map +1 -0
  62. package/dist/components/popups/kebabMenuPopup.js +2 -2
  63. package/dist/components/popups/kebabMenuPopup.js.map +1 -1
  64. package/dist/components/popups/mergeUncommittedChoicePopup.d.ts +7 -0
  65. package/dist/components/popups/mergeUncommittedChoicePopup.d.ts.map +1 -0
  66. package/dist/components/popups/mergeUncommittedChoicePopup.js +289 -0
  67. package/dist/components/popups/mergeUncommittedChoicePopup.js.map +1 -0
  68. package/dist/components/popups/newPanePopup.js +8 -0
  69. package/dist/components/popups/newPanePopup.js.map +1 -1
  70. package/dist/components/popups/reopenWorktreePopup.js +33 -3
  71. package/dist/components/popups/reopenWorktreePopup.js.map +1 -1
  72. package/dist/components/popups/settingsPopup.js +346 -25
  73. package/dist/components/popups/settingsPopup.js.map +1 -1
  74. package/dist/components/popups/shortcutsPopup.js +17 -13
  75. package/dist/components/popups/shortcutsPopup.js.map +1 -1
  76. package/dist/components/popups/singleAgentChoicePopup.d.ts +7 -0
  77. package/dist/components/popups/singleAgentChoicePopup.d.ts.map +1 -0
  78. package/dist/components/popups/singleAgentChoicePopup.js +95 -0
  79. package/dist/components/popups/singleAgentChoicePopup.js.map +1 -0
  80. package/dist/components/ui/FooterHelp.js +1 -1
  81. package/dist/components/ui/FooterHelp.js.map +1 -1
  82. package/dist/constants/layout.d.ts +9 -0
  83. package/dist/constants/layout.d.ts.map +1 -0
  84. package/dist/constants/layout.js +9 -0
  85. package/dist/constants/layout.js.map +1 -0
  86. package/dist/hooks/useActionSystem.d.ts +1 -1
  87. package/dist/hooks/useActionSystem.d.ts.map +1 -1
  88. package/dist/hooks/useActionSystem.js +1 -1
  89. package/dist/hooks/useActionSystem.js.map +1 -1
  90. package/dist/hooks/useAgentDetection.d.ts +2 -2
  91. package/dist/hooks/useAgentDetection.d.ts.map +1 -1
  92. package/dist/hooks/useAgentDetection.js +18 -88
  93. package/dist/hooks/useAgentDetection.js.map +1 -1
  94. package/dist/hooks/useAutoUpdater.d.ts.map +1 -1
  95. package/dist/hooks/useAutoUpdater.js +2 -4
  96. package/dist/hooks/useAutoUpdater.js.map +1 -1
  97. package/dist/hooks/useInputHandling.d.ts +5 -0
  98. package/dist/hooks/useInputHandling.d.ts.map +1 -1
  99. package/dist/hooks/useInputHandling.js +230 -22
  100. package/dist/hooks/useInputHandling.js.map +1 -1
  101. package/dist/hooks/useNavigation.d.ts +1 -1
  102. package/dist/hooks/useNavigation.d.ts.map +1 -1
  103. package/dist/hooks/useNavigation.js +26 -4
  104. package/dist/hooks/useNavigation.js.map +1 -1
  105. package/dist/hooks/usePaneCreation.d.ts +5 -2
  106. package/dist/hooks/usePaneCreation.d.ts.map +1 -1
  107. package/dist/hooks/usePaneCreation.js +123 -23
  108. package/dist/hooks/usePaneCreation.js.map +1 -1
  109. package/dist/hooks/usePaneSync.d.ts +1 -1
  110. package/dist/hooks/usePaneSync.d.ts.map +1 -1
  111. package/dist/hooks/usePaneSync.js +14 -1
  112. package/dist/hooks/usePaneSync.js.map +1 -1
  113. package/dist/hooks/usePanes.d.ts.map +1 -1
  114. package/dist/hooks/usePanes.js +19 -5
  115. package/dist/hooks/usePanes.js.map +1 -1
  116. package/dist/hooks/useServices.d.ts +2 -1
  117. package/dist/hooks/useServices.d.ts.map +1 -1
  118. package/dist/hooks/useServices.js +4 -2
  119. package/dist/hooks/useServices.js.map +1 -1
  120. package/dist/index.js +200 -21
  121. package/dist/index.js.map +1 -1
  122. package/dist/layout/LayoutCalculator.d.ts.map +1 -1
  123. package/dist/layout/LayoutCalculator.js +4 -1
  124. package/dist/layout/LayoutCalculator.js.map +1 -1
  125. package/dist/layout/SpacerManager.d.ts.map +1 -1
  126. package/dist/layout/SpacerManager.js +2 -1
  127. package/dist/layout/SpacerManager.js.map +1 -1
  128. package/dist/services/PaneEventService.d.ts.map +1 -1
  129. package/dist/services/PaneEventService.js +2 -5
  130. package/dist/services/PaneEventService.js.map +1 -1
  131. package/dist/services/PaneWorkerManager.d.ts.map +1 -1
  132. package/dist/services/PaneWorkerManager.js +2 -14
  133. package/dist/services/PaneWorkerManager.js.map +1 -1
  134. package/dist/services/PopupManager.d.ts +14 -2
  135. package/dist/services/PopupManager.d.ts.map +1 -1
  136. package/dist/services/PopupManager.js +162 -24
  137. package/dist/services/PopupManager.js.map +1 -1
  138. package/dist/services/TmuxHookManager.d.ts.map +1 -1
  139. package/dist/services/TmuxHookManager.js +4 -2
  140. package/dist/services/TmuxHookManager.js.map +1 -1
  141. package/dist/services/TmuxService.d.ts +9 -0
  142. package/dist/services/TmuxService.d.ts.map +1 -1
  143. package/dist/services/TmuxService.js +18 -2
  144. package/dist/services/TmuxService.js.map +1 -1
  145. package/dist/types.d.ts +11 -3
  146. package/dist/types.d.ts.map +1 -1
  147. package/dist/utils/agentDetection.d.ts +15 -8
  148. package/dist/utils/agentDetection.d.ts.map +1 -1
  149. package/dist/utils/agentDetection.js +49 -73
  150. package/dist/utils/agentDetection.js.map +1 -1
  151. package/dist/utils/agentLaunch.d.ts +60 -2
  152. package/dist/utils/agentLaunch.d.ts.map +1 -1
  153. package/dist/utils/agentLaunch.js +490 -41
  154. package/dist/utils/agentLaunch.js.map +1 -1
  155. package/dist/utils/agentPromptDispatch.d.ts +33 -0
  156. package/dist/utils/agentPromptDispatch.d.ts.map +1 -0
  157. package/dist/utils/agentPromptDispatch.js +99 -0
  158. package/dist/utils/agentPromptDispatch.js.map +1 -0
  159. package/dist/utils/asciiArt.d.ts.map +1 -1
  160. package/dist/utils/asciiArt.js +6 -7
  161. package/dist/utils/asciiArt.js.map +1 -1
  162. package/dist/utils/attachAgent.d.ts +25 -0
  163. package/dist/utils/attachAgent.d.ts.map +1 -0
  164. package/dist/utils/attachAgent.js +139 -0
  165. package/dist/utils/attachAgent.js.map +1 -0
  166. package/dist/utils/conflictResolutionPane.d.ts +2 -1
  167. package/dist/utils/conflictResolutionPane.d.ts.map +1 -1
  168. package/dist/utils/conflictResolutionPane.js +48 -53
  169. package/dist/utils/conflictResolutionPane.js.map +1 -1
  170. package/dist/utils/controlPaneRecovery.d.ts +2 -0
  171. package/dist/utils/controlPaneRecovery.d.ts.map +1 -0
  172. package/dist/utils/controlPaneRecovery.js +156 -0
  173. package/dist/utils/controlPaneRecovery.js.map +1 -0
  174. package/dist/utils/devSource.d.ts +7 -0
  175. package/dist/utils/devSource.d.ts.map +1 -0
  176. package/dist/utils/devSource.js +19 -0
  177. package/dist/utils/devSource.js.map +1 -0
  178. package/dist/utils/devWatchCommand.d.ts +8 -0
  179. package/dist/utils/devWatchCommand.d.ts.map +1 -0
  180. package/dist/utils/devWatchCommand.js +14 -0
  181. package/dist/utils/devWatchCommand.js.map +1 -0
  182. package/dist/utils/geminiTrust.d.ts +8 -0
  183. package/dist/utils/geminiTrust.d.ts.map +1 -0
  184. package/dist/utils/geminiTrust.js +67 -0
  185. package/dist/utils/geminiTrust.js.map +1 -0
  186. package/dist/utils/generated-agents-doc.d.ts +1 -1
  187. package/dist/utils/generated-agents-doc.js +3 -3
  188. package/dist/utils/hooksDocs.d.ts +2 -9
  189. package/dist/utils/hooksDocs.d.ts.map +1 -1
  190. package/dist/utils/hooksDocs.js +26 -6
  191. package/dist/utils/hooksDocs.js.map +1 -1
  192. package/dist/utils/layoutManager.d.ts +5 -1
  193. package/dist/utils/layoutManager.d.ts.map +1 -1
  194. package/dist/utils/layoutManager.js +103 -26
  195. package/dist/utils/layoutManager.js.map +1 -1
  196. package/dist/utils/paneCreation.d.ts +8 -2
  197. package/dist/utils/paneCreation.d.ts.map +1 -1
  198. package/dist/utils/paneCreation.js +82 -105
  199. package/dist/utils/paneCreation.js.map +1 -1
  200. package/dist/utils/paneGrouping.d.ts.map +1 -1
  201. package/dist/utils/paneGrouping.js +30 -0
  202. package/dist/utils/paneGrouping.js.map +1 -1
  203. package/dist/utils/projectActions.d.ts +5 -0
  204. package/dist/utils/projectActions.d.ts.map +1 -1
  205. package/dist/utils/projectActions.js +15 -4
  206. package/dist/utils/projectActions.js.map +1 -1
  207. package/dist/utils/reopenWorktree.d.ts +1 -1
  208. package/dist/utils/reopenWorktree.d.ts.map +1 -1
  209. package/dist/utils/reopenWorktree.js +23 -31
  210. package/dist/utils/reopenWorktree.js.map +1 -1
  211. package/dist/utils/runtimePaths.d.ts +2 -0
  212. package/dist/utils/runtimePaths.d.ts.map +1 -0
  213. package/dist/utils/runtimePaths.js +8 -0
  214. package/dist/utils/runtimePaths.js.map +1 -0
  215. package/dist/utils/settingsManager.d.ts +3 -0
  216. package/dist/utils/settingsManager.d.ts.map +1 -1
  217. package/dist/utils/settingsManager.js +200 -9
  218. package/dist/utils/settingsManager.js.map +1 -1
  219. package/dist/utils/systemCheck.d.ts.map +1 -1
  220. package/dist/utils/systemCheck.js +0 -13
  221. package/dist/utils/systemCheck.js.map +1 -1
  222. package/dist/utils/tmux.d.ts +5 -1
  223. package/dist/utils/tmux.d.ts.map +1 -1
  224. package/dist/utils/tmux.js +23 -5
  225. package/dist/utils/tmux.js.map +1 -1
  226. package/dist/utils/tmuxHookCommands.d.ts +14 -0
  227. package/dist/utils/tmuxHookCommands.d.ts.map +1 -0
  228. package/dist/utils/tmuxHookCommands.js +30 -0
  229. package/dist/utils/tmuxHookCommands.js.map +1 -0
  230. package/dist/utils/welcomePane.d.ts +2 -1
  231. package/dist/utils/welcomePane.d.ts.map +1 -1
  232. package/dist/utils/welcomePane.js +3 -2
  233. package/dist/utils/welcomePane.js.map +1 -1
  234. package/dist/utils/welcomePaneManager.js +1 -1
  235. package/dist/utils/welcomePaneManager.js.map +1 -1
  236. package/dist/workers/PaneWorker.js.map +1 -1
  237. package/dist/workers/WorkerMessages.d.ts +2 -1
  238. package/dist/workers/WorkerMessages.d.ts.map +1 -1
  239. package/dist/workers/WorkerMessages.js.map +1 -1
  240. package/package.json +11 -6
@@ -1,3 +1,4 @@
1
+ import { useEffect, useRef } from "react";
1
2
  import { useInput } from "ink";
2
3
  import { StateManager } from "../shared/StateManager.js";
3
4
  import { TmuxService } from "../services/TmuxService.js";
@@ -15,7 +16,34 @@ import { createShellPane, getNextDmuxId } from "../utils/shellPaneDetection.js";
15
16
  * Extracted from DmuxApp.tsx to reduce component complexity
16
17
  */
17
18
  export function useInputHandling(params) {
18
- const { panes, selectedIndex, setSelectedIndex, isCreatingPane, setIsCreatingPane, runningCommand, isUpdating, isLoading, ignoreInput, quitConfirmMode, setQuitConfirmMode, showCommandPrompt, setShowCommandPrompt, commandInput, setCommandInput, showFileCopyPrompt, setShowFileCopyPrompt, currentCommandType, setCurrentCommandType, projectSettings, saveSettings, settingsManager, popupManager, actionSystem, controlPaneId, setStatusMessage, copyNonGitFiles, runCommandInternal, handlePaneCreationWithAgent, handleReopenWorktree, savePanes, loadPanes, cleanExit, projectRoot, projectActionItems, findCardInDirection, } = params;
19
+ const { panes, selectedIndex, setSelectedIndex, isCreatingPane, setIsCreatingPane, runningCommand, isUpdating, isLoading, ignoreInput, isDevMode, quitConfirmMode, setQuitConfirmMode, showCommandPrompt, setShowCommandPrompt, commandInput, setCommandInput, showFileCopyPrompt, setShowFileCopyPrompt, currentCommandType, setCurrentCommandType, projectSettings, saveSettings, settingsManager, popupManager, actionSystem, controlPaneId, setStatusMessage, copyNonGitFiles, runCommandInternal, handlePaneCreationWithAgent, handleReopenWorktree, setDevSourceFromPane, savePanes, loadPanes, cleanExit, availableAgents, panesFile, projectRoot, projectActionItems, findCardInDirection, } = params;
20
+ const layoutRefreshDebounceRef = useRef(null);
21
+ useEffect(() => {
22
+ return () => {
23
+ if (layoutRefreshDebounceRef.current) {
24
+ clearTimeout(layoutRefreshDebounceRef.current);
25
+ layoutRefreshDebounceRef.current = null;
26
+ }
27
+ };
28
+ }, []);
29
+ const queueLayoutRefresh = () => {
30
+ if (!controlPaneId) {
31
+ return;
32
+ }
33
+ if (layoutRefreshDebounceRef.current) {
34
+ clearTimeout(layoutRefreshDebounceRef.current);
35
+ }
36
+ layoutRefreshDebounceRef.current = setTimeout(async () => {
37
+ layoutRefreshDebounceRef.current = null;
38
+ try {
39
+ await enforceControlPaneSize(controlPaneId, SIDEBAR_WIDTH, { forceLayout: true });
40
+ }
41
+ catch (error) {
42
+ setStatusMessage(`Setting saved but layout refresh failed: ${error?.message || String(error)}`);
43
+ setTimeout(() => setStatusMessage(""), STATUS_MESSAGE_DURATION_LONG);
44
+ }
45
+ }, 250);
46
+ };
19
47
  const handleCreateAgentPane = async (targetProjectRoot) => {
20
48
  const promptValue = await popupManager.launchNewPanePopup(targetProjectRoot);
21
49
  if (promptValue) {
@@ -46,6 +74,36 @@ export function useInputHandling(params) {
46
74
  setTimeout(() => setStatusMessage(""), STATUS_MESSAGE_DURATION_LONG);
47
75
  }
48
76
  };
77
+ const openTerminalInWorktree = async (selectedPane) => {
78
+ if (!selectedPane.worktreePath) {
79
+ setStatusMessage("Cannot open terminal: this pane has no worktree");
80
+ setTimeout(() => setStatusMessage(""), STATUS_MESSAGE_DURATION_SHORT);
81
+ return;
82
+ }
83
+ const targetProjectRoot = getPaneProjectRoot(selectedPane, projectRoot);
84
+ try {
85
+ setIsCreatingPane(true);
86
+ setStatusMessage(`Opening terminal in ${selectedPane.slug}...`);
87
+ const tmuxService = TmuxService.getInstance();
88
+ const newPaneId = await tmuxService.splitPane({ cwd: selectedPane.worktreePath });
89
+ // Wait for pane creation to settle
90
+ await new Promise((resolve) => setTimeout(resolve, ANIMATION_DELAY));
91
+ const shellPane = await createShellPane(newPaneId, getNextDmuxId(panes));
92
+ shellPane.projectRoot = targetProjectRoot;
93
+ await savePanes([...panes, shellPane]);
94
+ setStatusMessage(`Opened terminal in ${selectedPane.slug}`);
95
+ setTimeout(() => setStatusMessage(""), STATUS_MESSAGE_DURATION_SHORT);
96
+ // Force a reload to ensure tmux metadata and pane IDs are in sync
97
+ await loadPanes();
98
+ }
99
+ catch (error) {
100
+ setStatusMessage(`Failed to open terminal in worktree: ${error.message}`);
101
+ setTimeout(() => setStatusMessage(""), STATUS_MESSAGE_DURATION_LONG);
102
+ }
103
+ finally {
104
+ setIsCreatingPane(false);
105
+ }
106
+ };
49
107
  const handleCreatePaneInProject = async () => {
50
108
  const selectedAction = getProjectActionByIndex(projectActionItems, selectedIndex);
51
109
  const selectedPane = selectedIndex < panes.length ? panes[selectedIndex] : undefined;
@@ -85,6 +143,114 @@ export function useInputHandling(params) {
85
143
  const prompt = "I would like to create or edit my dmux hooks in .dmux-hooks. Please read AGENTS.md or CLAUDE.md first, then ask me what I want to create or modify.";
86
144
  await handlePaneCreationWithAgent(prompt, hooksProjectRoot);
87
145
  };
146
+ const openPaneMenu = async (pane) => {
147
+ const actionId = await popupManager.launchKebabMenuPopup(pane);
148
+ if (!actionId) {
149
+ return;
150
+ }
151
+ if (actionId === PaneAction.SET_SOURCE) {
152
+ await setDevSourceFromPane(pane);
153
+ return;
154
+ }
155
+ if (actionId === PaneAction.ATTACH_AGENT) {
156
+ await attachAgentsToPane(pane);
157
+ return;
158
+ }
159
+ if (actionId === PaneAction.OPEN_TERMINAL_IN_WORKTREE) {
160
+ await openTerminalInWorktree(pane);
161
+ return;
162
+ }
163
+ await actionSystem.executeAction(actionId, pane, {
164
+ mainBranch: getMainBranch(),
165
+ });
166
+ };
167
+ const attachAgentsToPane = async (selectedPane) => {
168
+ if (!selectedPane.worktreePath) {
169
+ setStatusMessage("Cannot attach agent: this pane has no worktree");
170
+ setTimeout(() => setStatusMessage(""), STATUS_MESSAGE_DURATION_SHORT);
171
+ return;
172
+ }
173
+ // Warn if agent is actively working
174
+ if (selectedPane.agentStatus === "working") {
175
+ const confirmed = await popupManager.launchConfirmPopup("Agent Active", `Agent in "${selectedPane.slug}" is currently working. Attach another agent anyway?`, "Attach", "Cancel");
176
+ if (!confirmed)
177
+ return;
178
+ }
179
+ let selectedAgents = [];
180
+ if (availableAgents.length === 0) {
181
+ setStatusMessage("No agents available");
182
+ setTimeout(() => setStatusMessage(""), STATUS_MESSAGE_DURATION_SHORT);
183
+ return;
184
+ }
185
+ else if (availableAgents.length === 1) {
186
+ selectedAgents = [availableAgents[0]];
187
+ }
188
+ else {
189
+ const agents = await popupManager.launchAgentChoicePopup();
190
+ if (agents === null) {
191
+ return;
192
+ }
193
+ if (agents.length === 0) {
194
+ setStatusMessage("Select at least one agent");
195
+ setTimeout(() => setStatusMessage(""), STATUS_MESSAGE_DURATION_SHORT);
196
+ return;
197
+ }
198
+ selectedAgents = agents;
199
+ }
200
+ // Prompt input
201
+ const promptValue = await popupManager.launchNewPanePopup(getPaneProjectRoot(selectedPane, projectRoot));
202
+ if (!promptValue)
203
+ return;
204
+ try {
205
+ setIsCreatingPane(true);
206
+ setStatusMessage(selectedAgents.length > 1
207
+ ? `Attaching ${selectedAgents.length} agents...`
208
+ : "Attaching agent...");
209
+ const { attachAgentToWorktree } = await import("../utils/attachAgent.js");
210
+ const createdPanes = [];
211
+ const failedAgents = [];
212
+ for (const agent of selectedAgents) {
213
+ try {
214
+ const result = await attachAgentToWorktree({
215
+ targetPane: selectedPane,
216
+ prompt: promptValue,
217
+ agent,
218
+ existingPanes: [...panes, ...createdPanes],
219
+ sessionProjectRoot: projectRoot,
220
+ sessionConfigPath: panesFile,
221
+ });
222
+ createdPanes.push(result.pane);
223
+ }
224
+ catch {
225
+ failedAgents.push(agent);
226
+ }
227
+ }
228
+ if (createdPanes.length > 0) {
229
+ const updatedPanes = [...panes, ...createdPanes];
230
+ await savePanes(updatedPanes);
231
+ await loadPanes();
232
+ }
233
+ if (failedAgents.length === 0) {
234
+ setStatusMessage(`Attached ${createdPanes.length} agent${createdPanes.length === 1 ? "" : "s"} to ${selectedPane.slug}`);
235
+ setTimeout(() => setStatusMessage(""), STATUS_MESSAGE_DURATION_SHORT);
236
+ }
237
+ else if (createdPanes.length === 0) {
238
+ setStatusMessage(`Failed to attach agents: ${failedAgents.join(", ")}`);
239
+ setTimeout(() => setStatusMessage(""), STATUS_MESSAGE_DURATION_LONG);
240
+ }
241
+ else {
242
+ setStatusMessage(`Attached ${createdPanes.length}/${selectedAgents.length} agents to ${selectedPane.slug} (${failedAgents.length} failed)`);
243
+ setTimeout(() => setStatusMessage(""), STATUS_MESSAGE_DURATION_LONG);
244
+ }
245
+ }
246
+ catch (error) {
247
+ setStatusMessage(`Failed to attach agent: ${error.message}`);
248
+ setTimeout(() => setStatusMessage(""), STATUS_MESSAGE_DURATION_LONG);
249
+ }
250
+ finally {
251
+ setIsCreatingPane(false);
252
+ }
253
+ };
88
254
  useInput(async (input, key) => {
89
255
  // Ignore input temporarily after popup operations (prevents buffered keys from being processed)
90
256
  if (ignoreInput) {
@@ -218,15 +384,18 @@ export function useInputHandling(params) {
218
384
  }
219
385
  return;
220
386
  }
221
- if (input === "m" && selectedIndex < panes.length) {
387
+ if (input === "a" && selectedIndex < panes.length) {
388
+ await attachAgentsToPane(panes[selectedIndex]);
389
+ return;
390
+ }
391
+ else if (input === "A" && selectedIndex < panes.length) {
392
+ await openTerminalInWorktree(panes[selectedIndex]);
393
+ return;
394
+ }
395
+ else if (input === "m" && selectedIndex < panes.length) {
222
396
  // Open kebab menu popup for selected pane
223
397
  const selectedPane = panes[selectedIndex];
224
- const actionId = await popupManager.launchKebabMenuPopup(selectedPane);
225
- if (actionId) {
226
- await actionSystem.executeAction(actionId, selectedPane, {
227
- mainBranch: getMainBranch(),
228
- });
229
- }
398
+ await openPaneMenu(selectedPane);
230
399
  }
231
400
  else if (input === "s") {
232
401
  // Open settings popup
@@ -237,9 +406,41 @@ export function useInputHandling(params) {
237
406
  });
238
407
  });
239
408
  if (result) {
240
- settingsManager.updateSetting(result.key, result.value, result.scope);
241
- setStatusMessage(`Setting saved (${result.scope})`);
242
- setTimeout(() => setStatusMessage(""), STATUS_MESSAGE_DURATION_SHORT);
409
+ try {
410
+ const updates = Array.isArray(result.updates)
411
+ ? result.updates
412
+ : [result];
413
+ let savedCount = 0;
414
+ let layoutBoundsUpdated = false;
415
+ let lastScope = null;
416
+ for (const update of updates) {
417
+ if (!update
418
+ || typeof update.key !== "string"
419
+ || (update.scope !== "global" && update.scope !== "project")) {
420
+ continue;
421
+ }
422
+ settingsManager.updateSetting(update.key, update.value, update.scope);
423
+ savedCount += 1;
424
+ lastScope = update.scope;
425
+ if (update.key === "minPaneWidth" || update.key === "maxPaneWidth") {
426
+ layoutBoundsUpdated = true;
427
+ }
428
+ }
429
+ if (layoutBoundsUpdated) {
430
+ queueLayoutRefresh();
431
+ }
432
+ if (savedCount > 0) {
433
+ const statusMessage = savedCount === 1
434
+ ? `Setting saved (${lastScope})`
435
+ : `${savedCount} settings saved`;
436
+ setStatusMessage(statusMessage);
437
+ setTimeout(() => setStatusMessage(""), STATUS_MESSAGE_DURATION_SHORT);
438
+ }
439
+ }
440
+ catch (error) {
441
+ setStatusMessage(`Failed to save setting: ${error?.message || String(error)}`);
442
+ setTimeout(() => setStatusMessage(""), STATUS_MESSAGE_DURATION_LONG);
443
+ }
243
444
  }
244
445
  }
245
446
  else if (input === "l") {
@@ -259,9 +460,15 @@ export function useInputHandling(params) {
259
460
  }
260
461
  else if (input === "L" && controlPaneId) {
261
462
  // Reset layout to sidebar configuration (Shift+L)
262
- enforceControlPaneSize(controlPaneId, SIDEBAR_WIDTH);
263
- setStatusMessage("Layout reset");
264
- setTimeout(() => setStatusMessage(""), STATUS_MESSAGE_DURATION_SHORT);
463
+ try {
464
+ await enforceControlPaneSize(controlPaneId, SIDEBAR_WIDTH, { forceLayout: true });
465
+ setStatusMessage("Layout reset");
466
+ setTimeout(() => setStatusMessage(""), STATUS_MESSAGE_DURATION_SHORT);
467
+ }
468
+ catch (error) {
469
+ setStatusMessage(`Failed to reset layout: ${error?.message || String(error)}`);
470
+ setTimeout(() => setStatusMessage(""), STATUS_MESSAGE_DURATION_LONG);
471
+ }
265
472
  }
266
473
  else if (input === "T") {
267
474
  // Demo toasts (Shift+T) - cycles through different types
@@ -278,6 +485,10 @@ export function useInputHandling(params) {
278
485
  else if (input === "q") {
279
486
  cleanExit();
280
487
  }
488
+ else if (isDevMode && input === "S" && selectedIndex < panes.length) {
489
+ await setDevSourceFromPane(panes[selectedIndex]);
490
+ return;
491
+ }
281
492
  else if (input === "r") {
282
493
  // Reopen closed worktree popup
283
494
  const selectedPane = selectedIndex < panes.length ? panes[selectedIndex] : undefined;
@@ -307,13 +518,11 @@ export function useInputHandling(params) {
307
518
  return;
308
519
  }
309
520
  else if (!isLoading && input === "n") {
310
- // Main session hotkey only
311
- await handleCreateAgentPane(projectRoot);
521
+ await handleCreateAgentPane(getActiveProjectRoot());
312
522
  return;
313
523
  }
314
524
  else if (!isLoading && input === "t") {
315
- // Main session hotkey only
316
- await handleCreateTerminalPane(projectRoot);
525
+ await handleCreateTerminalPane(getActiveProjectRoot());
317
526
  return;
318
527
  }
319
528
  else if (!isLoading &&
@@ -341,10 +550,9 @@ export function useInputHandling(params) {
341
550
  actionSystem.executeAction(PaneAction.CLOSE, panes[selectedIndex]);
342
551
  }
343
552
  else if (key.return && selectedIndex < panes.length) {
344
- // Jump to pane (NEW: using action system)
345
- StateManager.getInstance().setDebugMessage(`Jumping to pane: ${panes[selectedIndex].slug}`);
346
- setTimeout(() => StateManager.getInstance().setDebugMessage(""), STATUS_MESSAGE_DURATION_SHORT);
347
- actionSystem.executeAction(PaneAction.VIEW, panes[selectedIndex]);
553
+ // Open pane menu for selected pane
554
+ await openPaneMenu(panes[selectedIndex]);
555
+ return;
348
556
  }
349
557
  });
350
558
  }
@@ -1 +1 @@
1
- {"version":3,"file":"useInputHandling.js","sourceRoot":"","sources":["../../src/hooks/useInputHandling.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAA;AAE9B,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAA;AACxD,OAAO,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAA;AACxD,OAAO,EACL,6BAA6B,EAC7B,4BAA4B,EAC5B,eAAe,GAChB,MAAM,wBAAwB,CAAA;AAC/B,OAAO,EAAE,UAAU,EAAE,MAAM,qBAAqB,CAAA;AAChD,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,iBAAiB,CAAA;AACrE,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAA;AACzD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAErD,OAAO,EAAE,kBAAkB,EAAE,MAAM,yBAAyB,CAAA;AAC5D,OAAO,EACL,uBAAuB,GAExB,MAAM,4BAA4B,CAAA;AACnC,OAAO,EAAE,eAAe,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAA;AAgE/E;;;GAGG;AACH,MAAM,UAAU,gBAAgB,CAAC,MAA8B;IAC7D,MAAM,EACJ,KAAK,EACL,aAAa,EACb,gBAAgB,EAChB,cAAc,EACd,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,SAAS,EACT,WAAW,EACX,eAAe,EACf,kBAAkB,EAClB,iBAAiB,EACjB,oBAAoB,EACpB,YAAY,EACZ,eAAe,EACf,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,eAAe,EACf,YAAY,EACZ,eAAe,EACf,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,gBAAgB,EAChB,eAAe,EACf,kBAAkB,EAClB,2BAA2B,EAC3B,oBAAoB,EACpB,SAAS,EACT,SAAS,EACT,SAAS,EACT,WAAW,EACX,kBAAkB,EAClB,mBAAmB,GACpB,GAAG,MAAM,CAAA;IAEV,MAAM,qBAAqB,GAAG,KAAK,EAAE,iBAAyB,EAAE,EAAE;QAChE,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,kBAAkB,CAAC,iBAAiB,CAAC,CAAA;QAC5E,IAAI,WAAW,EAAE,CAAC;YAChB,MAAM,2BAA2B,CAAC,WAAW,EAAE,iBAAiB,CAAC,CAAA;QACnE,CAAC;IACH,CAAC,CAAA;IAED,MAAM,wBAAwB,GAAG,KAAK,EAAE,iBAAyB,EAAE,EAAE;QACnE,IAAI,CAAC;YACH,iBAAiB,CAAC,IAAI,CAAC,CAAA;YACvB,gBAAgB,CAAC,2BAA2B,CAAC,CAAA;YAE7C,MAAM,WAAW,GAAG,WAAW,CAAC,WAAW,EAAE,CAAA;YAC7C,MAAM,SAAS,GAAG,MAAM,WAAW,CAAC,SAAS,CAAC,EAAE,GAAG,EAAE,iBAAiB,EAAE,CAAC,CAAA;YAEzE,mCAAmC;YACnC,MAAM,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC,CAAA;YAEpE,8EAA8E;YAC9E,MAAM,SAAS,GAAG,MAAM,eAAe,CACrC,SAAS,EACT,aAAa,CAAC,KAAK,CAAC,CACrB,CAAA;YACD,SAAS,CAAC,WAAW,GAAG,iBAAiB,CAAA;YACzC,MAAM,SAAS,CAAC,CAAC,GAAG,KAAK,EAAE,SAAS,CAAC,CAAC,CAAA;YAEtC,iBAAiB,CAAC,KAAK,CAAC,CAAA;YACxB,gBAAgB,CAAC,uBAAuB,CAAC,CAAA;YACzC,UAAU,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,6BAA6B,CAAC,CAAA;YAErE,kEAAkE;YAClE,MAAM,SAAS,EAAE,CAAA;QACnB,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,iBAAiB,CAAC,KAAK,CAAC,CAAA;YACxB,gBAAgB,CAAC,mCAAmC,KAAK,CAAC,OAAO,EAAE,CAAC,CAAA;YACpE,UAAU,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,4BAA4B,CAAC,CAAA;QACtE,CAAC;IACH,CAAC,CAAA;IAED,MAAM,yBAAyB,GAAG,KAAK,IAAI,EAAE;QAC3C,MAAM,cAAc,GAAG,uBAAuB,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAA;QACjF,MAAM,YAAY,GAAG,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACpF,MAAM,kBAAkB,GAAG,YAAY;YACrC,CAAC,CAAC,kBAAkB,CAAC,YAAY,EAAE,WAAW,CAAC;YAC/C,CAAC,CAAC,CAAC,cAAc,EAAE,WAAW,IAAI,WAAW,CAAC,CAAA;QAEhD,MAAM,oBAAoB,GAAG,MAAM,YAAY,CAAC,wBAAwB,CACtE,kBAAkB,CACnB,CAAA;QAED,IAAI,CAAC,oBAAoB,EAAE,CAAC;YAC1B,OAAM;QACR,CAAC;QAED,IAAI,CAAC;YACH,MAAM,EAAE,0BAA0B,EAAE,GAAG,MAAM,MAAM,CAAC,yBAAyB,CAAC,CAAA;YAC9E,MAAM,QAAQ,GAAG,0BAA0B,CAAC,oBAAoB,EAAE,WAAW,CAAC,CAAA;YAE9E,MAAM,WAAW,GAAG,MAAM,YAAY,CAAC,kBAAkB,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAA;YAC/E,IAAI,CAAC,WAAW,EAAE,CAAC;gBACjB,OAAM;YACR,CAAC;YAED,MAAM,2BAA2B,CAAC,WAAW,EAAE,QAAQ,CAAC,WAAW,CAAC,CAAA;QACtE,CAAC;QAAC,OAAO,KAAU,EAAE,CAAC;YACpB,gBAAgB,CAAC,KAAK,EAAE,OAAO,IAAI,sBAAsB,CAAC,CAAA;YAC1D,UAAU,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,4BAA4B,CAAC,CAAA;QACtE,CAAC;IACH,CAAC,CAAA;IAED,MAAM,oBAAoB,GAAG,GAAW,EAAE;QACxC,MAAM,YAAY,GAAG,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QACpF,IAAI,YAAY,EAAE,CAAC;YACjB,OAAO,kBAAkB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;QACtD,CAAC;QAED,MAAM,cAAc,GAAG,uBAAuB,CAAC,kBAAkB,EAAE,aAAa,CAAC,CAAA;QACjF,OAAO,cAAc,EAAE,WAAW,IAAI,WAAW,CAAA;IACnD,CAAC,CAAA;IAED,MAAM,2BAA2B,GAAG,KAAK,EAAE,iBAA0B,EAAE,EAAE;QACvE,MAAM,gBAAgB,GAAG,iBAAiB,IAAI,oBAAoB,EAAE,CAAA;QACpE,MAAM,EAAE,wBAAwB,EAAE,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,CAAA;QACtE,wBAAwB,CAAC,gBAAgB,CAAC,CAAA;QAE1C,MAAM,MAAM,GACV,qJAAqJ,CAAA;QACvJ,MAAM,2BAA2B,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAA;IAC7D,CAAC,CAAA;IAED,QAAQ,CAAC,KAAK,EAAE,KAAa,EAAE,GAAQ,EAAE,EAAE;QACzC,gGAAgG;QAChG,IAAI,WAAW,EAAE,CAAC;YAChB,OAAM;QACR,CAAC;QAED,+EAA+E;QAC/E,IAAI,GAAG,CAAC,IAAI,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YAC9B,IAAI,eAAe,EAAE,CAAC;gBACpB,gCAAgC;gBAChC,SAAS,EAAE,CAAA;YACb,CAAC;iBAAM,CAAC;gBACN,mCAAmC;gBACnC,kBAAkB,CAAC,IAAI,CAAC,CAAA;gBACxB,2DAA2D;gBAC3D,UAAU,CAAC,GAAG,EAAE;oBACd,kBAAkB,CAAC,KAAK,CAAC,CAAA;gBAC3B,CAAC,EAAE,IAAI,CAAC,CAAA;YACV,CAAC;YACD,OAAM;QACR,CAAC;QAED,IAAI,cAAc,IAAI,cAAc,IAAI,UAAU,IAAI,SAAS,EAAE,CAAC;YAChE,uDAAuD;YACvD,OAAM;QACR,CAAC;QAED,4CAA4C;QAC5C,IAAI,eAAe,EAAE,CAAC;YACpB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,kBAAkB,CAAC,KAAK,CAAC,CAAA;gBACzB,OAAM;YACR,CAAC;YACD,sDAAsD;QACxD,CAAC;QAED,IAAI,kBAAkB,EAAE,CAAC;YACvB,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;gBACnC,qBAAqB,CAAC,KAAK,CAAC,CAAA;gBAC5B,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC,CAAA;gBACzC,IAAI,YAAY,IAAI,YAAY,CAAC,YAAY,IAAI,kBAAkB,EAAE,CAAC;oBACpE,MAAM,eAAe,GAAG,kBAAkB,CAAC,YAAY,EAAE,WAAW,CAAC,CAAA;oBACrE,MAAM,eAAe,CAAC,YAAY,CAAC,YAAY,EAAE,eAAe,CAAC,CAAA;oBAEjE,kDAAkD;oBAClD,MAAM,WAAW,GAAG;wBAClB,GAAG,eAAe;wBAClB,CAAC,kBAAkB,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC,EAC9D,IAAI;qBACP,CAAA;oBACD,MAAM,YAAY,CAAC,WAAW,CAAC,CAAA;oBAE/B,6BAA6B;oBAC7B,MAAM,kBAAkB,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAA;gBAC5D,CAAC;gBACD,qBAAqB,CAAC,IAAI,CAAC,CAAA;YAC7B,CAAC;iBAAM,IAAI,KAAK,KAAK,GAAG,IAAI,KAAK,KAAK,GAAG,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACxD,qBAAqB,CAAC,KAAK,CAAC,CAAA;gBAC5B,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC,CAAA;gBACzC,IAAI,YAAY,IAAI,kBAAkB,EAAE,CAAC;oBACvC,qDAAqD;oBACrD,MAAM,WAAW,GAAG;wBAClB,GAAG,eAAe;wBAClB,CAAC,kBAAkB,KAAK,MAAM,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,aAAa,CAAC,EAC9D,IAAI;qBACP,CAAA;oBACD,MAAM,YAAY,CAAC,WAAW,CAAC,CAAA;oBAE/B,6BAA6B;oBAC7B,MAAM,kBAAkB,CAAC,kBAAkB,EAAE,YAAY,CAAC,CAAA;gBAC5D,CAAC;gBACD,qBAAqB,CAAC,IAAI,CAAC,CAAA;YAC7B,CAAC;YACD,OAAM;QACR,CAAC;QAED,IAAI,iBAAiB,EAAE,CAAC;YACtB,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACf,oBAAoB,CAAC,IAAI,CAAC,CAAA;gBAC1B,eAAe,CAAC,EAAE,CAAC,CAAA;YACrB,CAAC;iBAAM,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;gBACtB,IAAI,YAAY,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;oBAC/B,+DAA+D;oBAC/D,MAAM,SAAS,GAAG,MAAM,cAAc,CAAC,iBAAiB,CAAC,CAAA;oBACzD,IAAI,SAAS,EAAE,CAAC;wBACd,eAAe,CAAC,SAAS,CAAC,CAAA;oBAC5B,CAAC;gBACH,CAAC;qBAAM,CAAC;oBACN,+BAA+B;oBAC/B,MAAM,WAAW,GAAG;wBAClB,GAAG,eAAe;wBAClB,CAAC,iBAAiB,KAAK,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,YAAY,CAAC,EAC3D,YAAY,CAAC,IAAI,EAAE;qBACtB,CAAA;oBACD,MAAM,YAAY,CAAC,WAAW,CAAC,CAAA;oBAC/B,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC,CAAA;oBACzC,IAAI,YAAY,EAAE,CAAC;wBACjB,qBAAqB;wBACrB,MAAM,UAAU,GACd,iBAAiB,KAAK,MAAM;4BAC1B,CAAC,CAAC,CAAC,eAAe,CAAC,YAAY;4BAC/B,CAAC,CAAC,CAAC,eAAe,CAAC,WAAW,CAAA;wBAClC,IAAI,UAAU,EAAE,CAAC;4BACf,qBAAqB,CAAC,iBAAiB,CAAC,CAAA;4BACxC,oBAAoB,CAAC,IAAI,CAAC,CAAA;4BAC1B,qBAAqB,CAAC,IAAI,CAAC,CAAA;wBAC7B,CAAC;6BAAM,CAAC;4BACN,MAAM,kBAAkB,CAAC,iBAAiB,EAAE,YAAY,CAAC,CAAA;4BACzD,oBAAoB,CAAC,IAAI,CAAC,CAAA;4BAC1B,eAAe,CAAC,EAAE,CAAC,CAAA;wBACrB,CAAC;oBACH,CAAC;yBAAM,CAAC;wBACN,oBAAoB,CAAC,IAAI,CAAC,CAAA;wBAC1B,eAAe,CAAC,EAAE,CAAC,CAAA;oBACrB,CAAC;gBACH,CAAC;YACH,CAAC;YACD,OAAM;QACR,CAAC;QAED,iFAAiF;QACjF,IAAI,GAAG,CAAC,OAAO,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,SAAS,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;YACpE,IAAI,WAAW,GAAkB,IAAI,CAAA;YAErC,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;gBAChB,WAAW,GAAG,mBAAmB,CAAC,aAAa,EAAE,IAAI,CAAC,CAAA;YACxD,CAAC;iBAAM,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;gBACzB,WAAW,GAAG,mBAAmB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;YAC1D,CAAC;iBAAM,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;gBACzB,WAAW,GAAG,mBAAmB,CAAC,aAAa,EAAE,MAAM,CAAC,CAAA;YAC1D,CAAC;iBAAM,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;gBAC1B,WAAW,GAAG,mBAAmB,CAAC,aAAa,EAAE,OAAO,CAAC,CAAA;YAC3D,CAAC;YAED,IAAI,WAAW,KAAK,IAAI,EAAE,CAAC;gBACzB,gBAAgB,CAAC,WAAW,CAAC,CAAA;YAC/B,CAAC;YACD,OAAM;QACR,CAAC;QAED,IAAI,KAAK,KAAK,GAAG,IAAI,aAAa,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YAClD,0CAA0C;YAC1C,MAAM,YAAY,GAAG,KAAK,CAAC,aAAa,CAAC,CAAA;YACzC,MAAM,QAAQ,GAAG,MAAM,YAAY,CAAC,oBAAoB,CAAC,YAAY,CAAC,CAAA;YACtE,IAAI,QAAQ,EAAE,CAAC;gBACb,MAAM,YAAY,CAAC,aAAa,CAAC,QAAQ,EAAE,YAAY,EAAE;oBACvD,UAAU,EAAE,aAAa,EAAE;iBAC5B,CAAC,CAAA;YACJ,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACzB,sBAAsB;YACtB,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,mBAAmB,CAAC,KAAK,IAAI,EAAE;gBAC/D,qBAAqB;gBACrB,MAAM,YAAY,CAAC,gBAAgB,CAAC,KAAK,IAAI,EAAE;oBAC7C,MAAM,2BAA2B,EAAE,CAAA;gBACrC,CAAC,CAAC,CAAA;YACJ,CAAC,CAAC,CAAA;YACF,IAAI,MAAM,EAAE,CAAC;gBACX,eAAe,CAAC,aAAa,CAC3B,MAAM,CAAC,GAA+C,EACtD,MAAM,CAAC,KAAK,EACZ,MAAM,CAAC,KAAK,CACb,CAAA;gBACD,gBAAgB,CAAC,kBAAkB,MAAM,CAAC,KAAK,GAAG,CAAC,CAAA;gBACnD,UAAU,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,6BAA6B,CAAC,CAAA;YACvE,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACzB,kBAAkB;YAClB,MAAM,YAAY,CAAC,eAAe,EAAE,CAAA;QACtC,CAAC;aAAM,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACzB,0CAA0C;YAC1C,MAAM,2BAA2B,EAAE,CAAA;QACrC,CAAC;aAAM,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACzB,gCAAgC;YAChC,MAAM,eAAe,GAAG,MAAM,YAAY,CAAC,oBAAoB,CAAC,CAAC,CAAC,aAAa,CAAC,CAAA;YAChF,IAAI,eAAe,KAAK,OAAO,EAAE,CAAC;gBAChC,MAAM,2BAA2B,EAAE,CAAA;YACrC,CAAC;QACH,CAAC;aAAM,IAAI,KAAK,KAAK,GAAG,IAAI,aAAa,EAAE,CAAC;YAC1C,kDAAkD;YAClD,sBAAsB,CAAC,aAAa,EAAE,aAAa,CAAC,CAAA;YACpD,gBAAgB,CAAC,cAAc,CAAC,CAAA;YAChC,UAAU,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,6BAA6B,CAAC,CAAA;QACvE,CAAC;aAAM,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACzB,yDAAyD;YACzD,MAAM,YAAY,GAAG,YAAY,CAAC,WAAW,EAAE,CAAA;YAC/C,MAAM,KAAK,GAAG;gBACZ,EAAE,GAAG,EAAE,2BAA2B,EAAE,QAAQ,EAAE,SAAkB,EAAE;gBAClE,EAAE,GAAG,EAAE,qCAAqC,EAAE,QAAQ,EAAE,OAAgB,EAAE;gBAC1E,EAAE,GAAG,EAAE,iCAAiC,EAAE,QAAQ,EAAE,SAAkB,EAAE;gBACxE,EAAE,GAAG,EAAE,mIAAmI,EAAE,QAAQ,EAAE,MAAe,EAAE;aACxK,CAAA;YACD,wBAAwB;YACxB,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,YAAY,CAAC,SAAS,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;QACxE,CAAC;aAAM,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACzB,SAAS,EAAE,CAAA;QACb,CAAC;aAAM,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACzB,+BAA+B;YAC/B,MAAM,YAAY,GAAG,aAAa,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;YACpF,MAAM,iBAAiB,GAAG,YAAY;gBACpC,CAAC,CAAC,kBAAkB,CAAC,YAAY,EAAE,WAAW,CAAC;gBAC/C,CAAC,CAAC,WAAW,CAAA;YACf,MAAM,WAAW,GAAG,KAAK;iBACtB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,kBAAkB,CAAC,CAAC,EAAE,WAAW,CAAC,KAAK,iBAAiB,CAAC;iBACvE,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC,CAAA;YACrB,MAAM,iBAAiB,GAAG,oBAAoB,CAAC,iBAAiB,EAAE,WAAW,CAAC,CAAA;YAE9E,IAAI,iBAAiB,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBACnC,gBAAgB,CAAC,0BAA0B,iBAAiB,EAAE,CAAC,CAAA;gBAC/D,UAAU,CAAC,GAAG,EAAE,CAAC,gBAAgB,CAAC,EAAE,CAAC,EAAE,6BAA6B,CAAC,CAAA;gBACrE,OAAM;YACR,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,yBAAyB,CAAC,iBAAiB,CAAC,CAAA;YAC9E,IAAI,MAAM,EAAE,CAAC;gBACX,MAAM,oBAAoB,CAAC,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,IAAI,EAAE,iBAAiB,CAAC,CAAA;YACzE,CAAC;YACD,OAAM;QACR,CAAC;aAAM,IACL,CAAC,SAAS;YACV,CACE,KAAK,KAAK,GAAG;gBACb,KAAK,KAAK,GAAG,CACd,EACD,CAAC;YACD,8DAA8D;YAC9D,MAAM,yBAAyB,EAAE,CAAA;YACjC,OAAM;QACR,CAAC;aAAM,IAAI,CAAC,SAAS,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACvC,2BAA2B;YAC3B,MAAM,qBAAqB,CAAC,WAAW,CAAC,CAAA;YACxC,OAAM;QACR,CAAC;aAAM,IAAI,CAAC,SAAS,IAAI,KAAK,KAAK,GAAG,EAAE,CAAC;YACvC,2BAA2B;YAC3B,MAAM,wBAAwB,CAAC,WAAW,CAAC,CAAA;YAC3C,OAAM;QACR,CAAC;aAAM,IACL,CAAC,SAAS;YACV,GAAG,CAAC,MAAM;YACV,CAAC,CAAC,uBAAuB,CAAC,kBAAkB,EAAE,aAAa,CAAC,EAC5D,CAAC;YACD,MAAM,cAAc,GAAG,uBAAuB,CAAC,kBAAkB,EAAE,aAAa,CAAE,CAAA;YAClF,IAAI,cAAc,CAAC,IAAI,KAAK,WAAW,EAAE,CAAC;gBACxC,MAAM,qBAAqB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;YACzD,CAAC;iBAAM,IAAI,cAAc,CAAC,IAAI,KAAK,UAAU,EAAE,CAAC;gBAC9C,MAAM,wBAAwB,CAAC,cAAc,CAAC,WAAW,CAAC,CAAA;YAC5D,CAAC;YACD,OAAM;QACR,CAAC;aAAM,IAAI,KAAK,KAAK,GAAG,IAAI,aAAa,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YACzD,0CAA0C;YAC1C,YAAY,CAAC,WAAW,EAAE,CAAC,eAAe,CACxC,oBAAoB,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAChD,CAAA;YACD,UAAU,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,6BAA6B,CAAC,CAAA;YAC/F,YAAY,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAA;QACnE,CAAC;aAAM,IAAI,KAAK,KAAK,GAAG,IAAI,aAAa,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YACzD,wCAAwC;YACxC,YAAY,CAAC,WAAW,EAAE,CAAC,eAAe,CACxC,iBAAiB,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAC7C,CAAA;YACD,UAAU,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,6BAA6B,CAAC,CAAA;YAC/F,YAAY,CAAC,aAAa,CAAC,UAAU,CAAC,KAAK,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAA;QACpE,CAAC;aAAM,IAAI,GAAG,CAAC,MAAM,IAAI,aAAa,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;YACtD,0CAA0C;YAC1C,YAAY,CAAC,WAAW,EAAE,CAAC,eAAe,CACxC,oBAAoB,KAAK,CAAC,aAAa,CAAC,CAAC,IAAI,EAAE,CAChD,CAAA;YACD,UAAU,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC,WAAW,EAAE,CAAC,eAAe,CAAC,EAAE,CAAC,EAAE,6BAA6B,CAAC,CAAA;YAC/F,YAAY,CAAC,aAAa,CAAC,UAAU,CAAC,IAAI,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC,CAAA;QACnE,CAAC;IACH,CAAC,CAAC,CAAA;AACJ,CAAC"}
1
+ {"version":3,"file":"useInputHandling.js","sourceRoot":"","sources":["../../src/hooks/useInputHandling.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- export default function useNavigation(navigationRows: number[][]): {
1
+ export default function useNavigation(navigationRows: number[][], groupStartRows?: number[]): {
2
2
  getCardGridPosition: (index: number) => {
3
3
  row: number;
4
4
  col: number;
@@ -1 +1 @@
1
- {"version":3,"file":"useNavigation.d.ts","sourceRoot":"","sources":["../../src/hooks/useNavigation.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE;iCAY7C,MAAM,KAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE;wCAM9B,MAAM,aAAa,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,KAAG,MAAM,GAAG,IAAI;EAsC5F"}
1
+ {"version":3,"file":"useNavigation.d.ts","sourceRoot":"","sources":["../../src/hooks/useNavigation.ts"],"names":[],"mappings":"AAEA,MAAM,CAAC,OAAO,UAAU,aAAa,CAAC,cAAc,EAAE,MAAM,EAAE,EAAE,EAAE,cAAc,GAAE,MAAM,EAAO;iCAY5E,MAAM,KAAG;QAAE,GAAG,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE;wCAM9B,MAAM,aAAa,IAAI,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,KAAG,MAAM,GAAG,IAAI;EA0D5F"}
@@ -1,5 +1,5 @@
1
1
  import { useMemo } from 'react';
2
- export default function useNavigation(navigationRows) {
2
+ export default function useNavigation(navigationRows, groupStartRows = []) {
3
3
  const indexToPosition = useMemo(() => {
4
4
  const map = new Map();
5
5
  navigationRows.forEach((rowItems, row) => {
@@ -35,13 +35,35 @@ export default function useNavigation(navigationRows) {
35
35
  }
36
36
  break;
37
37
  case 'left':
38
- if (currentPos.col > 0) {
38
+ if (groupStartRows.length > 0) {
39
+ // Jump to previous project group's first pane
40
+ const currentGroupIdx = groupStartRows.findIndex((start, i) => {
41
+ const next = groupStartRows[i + 1] ?? navigationRows.length;
42
+ return currentPos.row >= start && currentPos.row < next;
43
+ });
44
+ if (currentGroupIdx > 0) {
45
+ const targetRow = navigationRows[groupStartRows[currentGroupIdx - 1]];
46
+ return targetRow?.[0] ?? null;
47
+ }
48
+ }
49
+ else if (currentPos.col > 0) {
39
50
  const row = navigationRows[currentPos.row];
40
51
  return row?.[currentPos.col - 1] ?? null;
41
52
  }
42
53
  break;
43
54
  case 'right':
44
- if (navigationRows[currentPos.row] && currentPos.col < navigationRows[currentPos.row].length - 1) {
55
+ if (groupStartRows.length > 0) {
56
+ // Jump to next project group's first pane
57
+ const currentGroupIdx = groupStartRows.findIndex((start, i) => {
58
+ const next = groupStartRows[i + 1] ?? navigationRows.length;
59
+ return currentPos.row >= start && currentPos.row < next;
60
+ });
61
+ if (currentGroupIdx >= 0 && currentGroupIdx < groupStartRows.length - 1) {
62
+ const targetRow = navigationRows[groupStartRows[currentGroupIdx + 1]];
63
+ return targetRow?.[0] ?? null;
64
+ }
65
+ }
66
+ else if (navigationRows[currentPos.row] && currentPos.col < navigationRows[currentPos.row].length - 1) {
45
67
  const row = navigationRows[currentPos.row];
46
68
  return row?.[currentPos.col + 1] ?? null;
47
69
  }
@@ -49,7 +71,7 @@ export default function useNavigation(navigationRows) {
49
71
  }
50
72
  return null;
51
73
  };
52
- }, [indexToPosition, navigationRows]);
74
+ }, [indexToPosition, navigationRows, groupStartRows]);
53
75
  return { getCardGridPosition, findCardInDirection };
54
76
  }
55
77
  //# sourceMappingURL=useNavigation.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"useNavigation.js","sourceRoot":"","sources":["../../src/hooks/useNavigation.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"useNavigation.js","sourceRoot":"","sources":["../../src/hooks/useNavigation.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  import type { DmuxPane } from '../types.js';
2
+ import { type AgentName } from '../utils/agentLaunch.js';
2
3
  interface Params {
3
4
  panes: DmuxPane[];
4
5
  savePanes: (p: DmuxPane[]) => Promise<void>;
@@ -8,17 +9,19 @@ interface Params {
8
9
  setIsCreatingPane: (v: boolean) => void;
9
10
  setStatusMessage: (msg: string) => void;
10
11
  loadPanes: () => Promise<void>;
11
- availableAgents: Array<'claude' | 'opencode' | 'codex'>;
12
+ availableAgents: AgentName[];
12
13
  }
13
14
  interface CreateNewPaneOptions {
14
15
  existingPanes?: DmuxPane[];
15
16
  slugSuffix?: string;
16
17
  slugBase?: string;
17
18
  targetProjectRoot?: string;
19
+ skipAgentSelection?: boolean;
18
20
  }
19
21
  export default function usePaneCreation({ panes, savePanes, projectName, sessionProjectRoot, panesFile, setIsCreatingPane, setStatusMessage, loadPanes, availableAgents, }: Params): {
20
22
  readonly openInEditor: (currentPrompt: string, setPrompt: (v: string) => void) => Promise<void>;
21
- readonly createNewPane: (prompt: string, agent?: "claude" | "opencode" | "codex", options?: CreateNewPaneOptions) => Promise<DmuxPane | null>;
23
+ readonly createNewPane: (prompt: string, agent?: AgentName, options?: CreateNewPaneOptions) => Promise<DmuxPane | null>;
24
+ readonly createPanesForAgents: (prompt: string, selectedAgents: AgentName[], options?: Pick<CreateNewPaneOptions, "existingPanes" | "targetProjectRoot">) => Promise<DmuxPane[]>;
22
25
  };
23
26
  export {};
24
27
  //# sourceMappingURL=usePaneCreation.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"usePaneCreation.d.ts","sourceRoot":"","sources":["../../src/hooks/usePaneCreation.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAI5C,UAAU,MAAM;IACd,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,SAAS,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,eAAe,EAAE,KAAK,CAAC,QAAQ,GAAG,UAAU,GAAG,OAAO,CAAC,CAAC;CACzD;AAED,UAAU,oBAAoB;IAC5B,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACtC,KAAK,EACL,SAAS,EACT,WAAW,EACX,kBAAkB,EAClB,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,EACT,eAAe,GAChB,EAAE,MAAM;2CACoC,MAAM,aAAa,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI;qCAsBvE,MAAM,UACN,QAAQ,GAAG,UAAU,GAAG,OAAO,YAC9B,oBAAoB,KAC5B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;EAmD5B"}
1
+ {"version":3,"file":"usePaneCreation.d.ts","sourceRoot":"","sources":["../../src/hooks/usePaneCreation.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C,OAAO,EAAsB,KAAK,SAAS,EAAE,MAAM,yBAAyB,CAAC;AAG7E,UAAU,MAAM;IACd,KAAK,EAAE,QAAQ,EAAE,CAAC;IAClB,SAAS,EAAE,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC5C,WAAW,EAAE,MAAM,CAAC;IACpB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,SAAS,EAAE,MAAM,CAAC;IAClB,iBAAiB,EAAE,CAAC,CAAC,EAAE,OAAO,KAAK,IAAI,CAAC;IACxC,gBAAgB,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,IAAI,CAAC;IACxC,SAAS,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC/B,eAAe,EAAE,SAAS,EAAE,CAAC;CAC9B;AAED,UAAU,oBAAoB;IAC5B,aAAa,CAAC,EAAE,QAAQ,EAAE,CAAC;IAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,kBAAkB,CAAC,EAAE,OAAO,CAAC;CAC9B;AA6BD,MAAM,CAAC,OAAO,UAAU,eAAe,CAAC,EACtC,KAAK,EACL,SAAS,EACT,WAAW,EACX,kBAAkB,EAClB,SAAS,EACT,iBAAiB,EACjB,gBAAgB,EAChB,SAAS,EACT,eAAe,GAChB,EAAE,MAAM;2CACoC,MAAM,aAAa,CAAC,CAAC,EAAE,MAAM,KAAK,IAAI;qCAkDvE,MAAM,UACN,SAAS,YACR,oBAAoB,KAC5B,OAAO,CAAC,QAAQ,GAAG,IAAI,CAAC;4CA6BjB,MAAM,kBACE,SAAS,EAAE,YAClB,IAAI,CAAC,oBAAoB,EAAE,eAAe,GAAG,mBAAmB,CAAC,KACzE,OAAO,CAAC,QAAQ,EAAE,CAAC;EA8GvB"}