claude-code-plus-plus 0.2.1 → 0.2.2

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 (365) hide show
  1. package/package.json +1 -1
  2. package/dist/app.d.ts +0 -52
  3. package/dist/app.d.ts.map +0 -1
  4. package/dist/app.js +0 -318
  5. package/dist/app.js.map +0 -1
  6. package/dist/core/index.d.ts +0 -14
  7. package/dist/core/index.d.ts.map +0 -1
  8. package/dist/core/index.js +0 -14
  9. package/dist/core/index.js.map +0 -1
  10. package/dist/core/session/index.d.ts +0 -7
  11. package/dist/core/session/index.d.ts.map +0 -1
  12. package/dist/core/session/index.js +0 -6
  13. package/dist/core/session/index.js.map +0 -1
  14. package/dist/core/session/session-manager.d.ts +0 -46
  15. package/dist/core/session/session-manager.d.ts.map +0 -1
  16. package/dist/core/session/session-manager.js +0 -245
  17. package/dist/core/session/session-manager.js.map +0 -1
  18. package/dist/core/session/session.d.ts +0 -44
  19. package/dist/core/session/session.d.ts.map +0 -1
  20. package/dist/core/session/session.js +0 -78
  21. package/dist/core/session/session.js.map +0 -1
  22. package/dist/core/terminal/index.d.ts +0 -7
  23. package/dist/core/terminal/index.d.ts.map +0 -1
  24. package/dist/core/terminal/index.js +0 -6
  25. package/dist/core/terminal/index.js.map +0 -1
  26. package/dist/core/terminal/terminal-manager.d.ts +0 -36
  27. package/dist/core/terminal/terminal-manager.d.ts.map +0 -1
  28. package/dist/core/terminal/terminal-manager.js +0 -182
  29. package/dist/core/terminal/terminal-manager.js.map +0 -1
  30. package/dist/core/terminal/terminal.d.ts +0 -27
  31. package/dist/core/terminal/terminal.d.ts.map +0 -1
  32. package/dist/core/terminal/terminal.js +0 -38
  33. package/dist/core/terminal/terminal.js.map +0 -1
  34. package/dist/core/workspace/index.d.ts +0 -7
  35. package/dist/core/workspace/index.d.ts.map +0 -1
  36. package/dist/core/workspace/index.js +0 -6
  37. package/dist/core/workspace/index.js.map +0 -1
  38. package/dist/core/workspace/workspace-manager.d.ts +0 -59
  39. package/dist/core/workspace/workspace-manager.d.ts.map +0 -1
  40. package/dist/core/workspace/workspace-manager.js +0 -224
  41. package/dist/core/workspace/workspace-manager.js.map +0 -1
  42. package/dist/core/workspace/workspace.d.ts +0 -56
  43. package/dist/core/workspace/workspace.d.ts.map +0 -1
  44. package/dist/core/workspace/workspace.js +0 -96
  45. package/dist/core/workspace/workspace.js.map +0 -1
  46. package/dist/core/worktree/index.d.ts +0 -7
  47. package/dist/core/worktree/index.d.ts.map +0 -1
  48. package/dist/core/worktree/index.js +0 -6
  49. package/dist/core/worktree/index.js.map +0 -1
  50. package/dist/core/worktree/worktree-manager.d.ts +0 -47
  51. package/dist/core/worktree/worktree-manager.d.ts.map +0 -1
  52. package/dist/core/worktree/worktree-manager.js +0 -170
  53. package/dist/core/worktree/worktree-manager.js.map +0 -1
  54. package/dist/core/worktree/worktree.d.ts +0 -35
  55. package/dist/core/worktree/worktree.d.ts.map +0 -1
  56. package/dist/core/worktree/worktree.js +0 -50
  57. package/dist/core/worktree/worktree.js.map +0 -1
  58. package/dist/core/worktree-manager.d.ts +0 -26
  59. package/dist/core/worktree-manager.d.ts.map +0 -1
  60. package/dist/core/worktree-manager.js +0 -177
  61. package/dist/core/worktree-manager.js.map +0 -1
  62. package/dist/events/bus.d.ts +0 -76
  63. package/dist/events/bus.d.ts.map +0 -1
  64. package/dist/events/bus.js +0 -223
  65. package/dist/events/bus.js.map +0 -1
  66. package/dist/events/handlers/index.d.ts +0 -28
  67. package/dist/events/handlers/index.d.ts.map +0 -1
  68. package/dist/events/handlers/index.js +0 -44
  69. package/dist/events/handlers/index.js.map +0 -1
  70. package/dist/events/handlers/session-events.d.ts +0 -12
  71. package/dist/events/handlers/session-events.d.ts.map +0 -1
  72. package/dist/events/handlers/session-events.js +0 -38
  73. package/dist/events/handlers/session-events.js.map +0 -1
  74. package/dist/events/handlers/terminal-events.d.ts +0 -12
  75. package/dist/events/handlers/terminal-events.d.ts.map +0 -1
  76. package/dist/events/handlers/terminal-events.js +0 -37
  77. package/dist/events/handlers/terminal-events.js.map +0 -1
  78. package/dist/events/handlers/ui-events.d.ts +0 -11
  79. package/dist/events/handlers/ui-events.d.ts.map +0 -1
  80. package/dist/events/handlers/ui-events.js +0 -202
  81. package/dist/events/handlers/ui-events.js.map +0 -1
  82. package/dist/events/index.d.ts +0 -9
  83. package/dist/events/index.d.ts.map +0 -1
  84. package/dist/events/index.js +0 -10
  85. package/dist/events/index.js.map +0 -1
  86. package/dist/multiplexer/base.d.ts +0 -73
  87. package/dist/multiplexer/base.d.ts.map +0 -1
  88. package/dist/multiplexer/base.js +0 -68
  89. package/dist/multiplexer/base.js.map +0 -1
  90. package/dist/multiplexer/factory.d.ts +0 -28
  91. package/dist/multiplexer/factory.d.ts.map +0 -1
  92. package/dist/multiplexer/factory.js +0 -72
  93. package/dist/multiplexer/factory.js.map +0 -1
  94. package/dist/multiplexer/index.d.ts +0 -14
  95. package/dist/multiplexer/index.d.ts.map +0 -1
  96. package/dist/multiplexer/index.js +0 -15
  97. package/dist/multiplexer/index.js.map +0 -1
  98. package/dist/multiplexer/tmux/index.d.ts +0 -9
  99. package/dist/multiplexer/tmux/index.d.ts.map +0 -1
  100. package/dist/multiplexer/tmux/index.js +0 -7
  101. package/dist/multiplexer/tmux/index.js.map +0 -1
  102. package/dist/multiplexer/tmux/tmux-commands.d.ts +0 -96
  103. package/dist/multiplexer/tmux/tmux-commands.d.ts.map +0 -1
  104. package/dist/multiplexer/tmux/tmux-commands.js +0 -282
  105. package/dist/multiplexer/tmux/tmux-commands.js.map +0 -1
  106. package/dist/multiplexer/tmux/tmux-config.d.ts +0 -57
  107. package/dist/multiplexer/tmux/tmux-config.d.ts.map +0 -1
  108. package/dist/multiplexer/tmux/tmux-config.js +0 -103
  109. package/dist/multiplexer/tmux/tmux-config.js.map +0 -1
  110. package/dist/multiplexer/tmux/tmux-multiplexer.d.ts +0 -94
  111. package/dist/multiplexer/tmux/tmux-multiplexer.d.ts.map +0 -1
  112. package/dist/multiplexer/tmux/tmux-multiplexer.js +0 -302
  113. package/dist/multiplexer/tmux/tmux-multiplexer.js.map +0 -1
  114. package/dist/multiplexer/windows/index.d.ts +0 -5
  115. package/dist/multiplexer/windows/index.d.ts.map +0 -1
  116. package/dist/multiplexer/windows/index.js +0 -5
  117. package/dist/multiplexer/windows/index.js.map +0 -1
  118. package/dist/multiplexer/windows/windows-multiplexer.d.ts +0 -61
  119. package/dist/multiplexer/windows/windows-multiplexer.d.ts.map +0 -1
  120. package/dist/multiplexer/windows/windows-multiplexer.js +0 -151
  121. package/dist/multiplexer/windows/windows-multiplexer.js.map +0 -1
  122. package/dist/services/claude/claude-detector.d.ts +0 -37
  123. package/dist/services/claude/claude-detector.d.ts.map +0 -1
  124. package/dist/services/claude/claude-detector.js +0 -83
  125. package/dist/services/claude/claude-detector.js.map +0 -1
  126. package/dist/services/claude/claude-service.d.ts +0 -57
  127. package/dist/services/claude/claude-service.d.ts.map +0 -1
  128. package/dist/services/claude/claude-service.js +0 -108
  129. package/dist/services/claude/claude-service.js.map +0 -1
  130. package/dist/services/claude/index.d.ts +0 -7
  131. package/dist/services/claude/index.d.ts.map +0 -1
  132. package/dist/services/claude/index.js +0 -6
  133. package/dist/services/claude/index.js.map +0 -1
  134. package/dist/services/git/branch-service.d.ts +0 -64
  135. package/dist/services/git/branch-service.d.ts.map +0 -1
  136. package/dist/services/git/branch-service.js +0 -217
  137. package/dist/services/git/branch-service.js.map +0 -1
  138. package/dist/services/git/git-service.d.ts +0 -44
  139. package/dist/services/git/git-service.d.ts.map +0 -1
  140. package/dist/services/git/git-service.js +0 -145
  141. package/dist/services/git/git-service.js.map +0 -1
  142. package/dist/services/git/index.d.ts +0 -8
  143. package/dist/services/git/index.d.ts.map +0 -1
  144. package/dist/services/git/index.js +0 -7
  145. package/dist/services/git/index.js.map +0 -1
  146. package/dist/services/git/worktree-service.d.ts +0 -61
  147. package/dist/services/git/worktree-service.d.ts.map +0 -1
  148. package/dist/services/git/worktree-service.js +0 -243
  149. package/dist/services/git/worktree-service.js.map +0 -1
  150. package/dist/services/index.d.ts +0 -12
  151. package/dist/services/index.d.ts.map +0 -1
  152. package/dist/services/index.js +0 -12
  153. package/dist/services/index.js.map +0 -1
  154. package/dist/services/process/index.d.ts +0 -8
  155. package/dist/services/process/index.d.ts.map +0 -1
  156. package/dist/services/process/index.js +0 -6
  157. package/dist/services/process/index.js.map +0 -1
  158. package/dist/services/process/process-monitor.d.ts +0 -98
  159. package/dist/services/process/process-monitor.d.ts.map +0 -1
  160. package/dist/services/process/process-monitor.js +0 -173
  161. package/dist/services/process/process-monitor.js.map +0 -1
  162. package/dist/services/process/process-spawner.d.ts +0 -55
  163. package/dist/services/process/process-spawner.d.ts.map +0 -1
  164. package/dist/services/process/process-spawner.js +0 -93
  165. package/dist/services/process/process-spawner.js.map +0 -1
  166. package/dist/sidebar.d.ts +0 -13
  167. package/dist/sidebar.d.ts.map +0 -1
  168. package/dist/sidebar.js +0 -1535
  169. package/dist/sidebar.js.map +0 -1
  170. package/dist/state/actions.d.ts +0 -49
  171. package/dist/state/actions.d.ts.map +0 -1
  172. package/dist/state/actions.js +0 -512
  173. package/dist/state/actions.js.map +0 -1
  174. package/dist/state/index.d.ts +0 -16
  175. package/dist/state/index.d.ts.map +0 -1
  176. package/dist/state/index.js +0 -28
  177. package/dist/state/index.js.map +0 -1
  178. package/dist/state/middleware/index.d.ts +0 -7
  179. package/dist/state/middleware/index.d.ts.map +0 -1
  180. package/dist/state/middleware/index.js +0 -6
  181. package/dist/state/middleware/index.js.map +0 -1
  182. package/dist/state/middleware/logger.d.ts +0 -22
  183. package/dist/state/middleware/logger.d.ts.map +0 -1
  184. package/dist/state/middleware/logger.js +0 -45
  185. package/dist/state/middleware/logger.js.map +0 -1
  186. package/dist/state/middleware/persistence.d.ts +0 -29
  187. package/dist/state/middleware/persistence.d.ts.map +0 -1
  188. package/dist/state/middleware/persistence.js +0 -71
  189. package/dist/state/middleware/persistence.js.map +0 -1
  190. package/dist/state/persistence/file-adapter.d.ts +0 -48
  191. package/dist/state/persistence/file-adapter.d.ts.map +0 -1
  192. package/dist/state/persistence/file-adapter.js +0 -96
  193. package/dist/state/persistence/file-adapter.js.map +0 -1
  194. package/dist/state/persistence/index.d.ts +0 -8
  195. package/dist/state/persistence/index.d.ts.map +0 -1
  196. package/dist/state/persistence/index.js +0 -6
  197. package/dist/state/persistence/index.js.map +0 -1
  198. package/dist/state/persistence/serializer.d.ts +0 -41
  199. package/dist/state/persistence/serializer.d.ts.map +0 -1
  200. package/dist/state/persistence/serializer.js +0 -114
  201. package/dist/state/persistence/serializer.js.map +0 -1
  202. package/dist/state/selectors.d.ts +0 -67
  203. package/dist/state/selectors.d.ts.map +0 -1
  204. package/dist/state/selectors.js +0 -177
  205. package/dist/state/selectors.js.map +0 -1
  206. package/dist/state/store.d.ts +0 -86
  207. package/dist/state/store.d.ts.map +0 -1
  208. package/dist/state/store.js +0 -161
  209. package/dist/state/store.js.map +0 -1
  210. package/dist/state/types.d.ts +0 -269
  211. package/dist/state/types.d.ts.map +0 -1
  212. package/dist/state/types.js +0 -7
  213. package/dist/state/types.js.map +0 -1
  214. package/dist/state.d.ts +0 -53
  215. package/dist/state.d.ts.map +0 -1
  216. package/dist/state.js +0 -101
  217. package/dist/state.js.map +0 -1
  218. package/dist/terminal-manager.d.ts +0 -16
  219. package/dist/terminal-manager.d.ts.map +0 -1
  220. package/dist/terminal-manager.js +0 -364
  221. package/dist/terminal-manager.js.map +0 -1
  222. package/dist/tmux.d.ts +0 -163
  223. package/dist/tmux.d.ts.map +0 -1
  224. package/dist/tmux.js +0 -360
  225. package/dist/tmux.js.map +0 -1
  226. package/dist/types/config.d.ts +0 -103
  227. package/dist/types/config.d.ts.map +0 -1
  228. package/dist/types/config.js +0 -7
  229. package/dist/types/config.js.map +0 -1
  230. package/dist/types/entities.d.ts +0 -88
  231. package/dist/types/entities.d.ts.map +0 -1
  232. package/dist/types/entities.js +0 -8
  233. package/dist/types/entities.js.map +0 -1
  234. package/dist/types/events.d.ts +0 -156
  235. package/dist/types/events.d.ts.map +0 -1
  236. package/dist/types/events.js +0 -8
  237. package/dist/types/events.js.map +0 -1
  238. package/dist/types/index.d.ts +0 -11
  239. package/dist/types/index.d.ts.map +0 -1
  240. package/dist/types/index.js +0 -8
  241. package/dist/types/index.js.map +0 -1
  242. package/dist/types/multiplexer.d.ts +0 -238
  243. package/dist/types/multiplexer.d.ts.map +0 -1
  244. package/dist/types/multiplexer.js +0 -8
  245. package/dist/types/multiplexer.js.map +0 -1
  246. package/dist/ui/components/base.d.ts +0 -155
  247. package/dist/ui/components/base.d.ts.map +0 -1
  248. package/dist/ui/components/base.js +0 -269
  249. package/dist/ui/components/base.js.map +0 -1
  250. package/dist/ui/components/index.d.ts +0 -10
  251. package/dist/ui/components/index.d.ts.map +0 -1
  252. package/dist/ui/components/index.js +0 -10
  253. package/dist/ui/components/index.js.map +0 -1
  254. package/dist/ui/components/input-field.d.ts +0 -98
  255. package/dist/ui/components/input-field.d.ts.map +0 -1
  256. package/dist/ui/components/input-field.js +0 -274
  257. package/dist/ui/components/input-field.js.map +0 -1
  258. package/dist/ui/components/list.d.ts +0 -94
  259. package/dist/ui/components/list.d.ts.map +0 -1
  260. package/dist/ui/components/list.js +0 -294
  261. package/dist/ui/components/list.js.map +0 -1
  262. package/dist/ui/components/modal.d.ts +0 -83
  263. package/dist/ui/components/modal.d.ts.map +0 -1
  264. package/dist/ui/components/modal.js +0 -249
  265. package/dist/ui/components/modal.js.map +0 -1
  266. package/dist/ui/components/tabs.d.ts +0 -97
  267. package/dist/ui/components/tabs.d.ts.map +0 -1
  268. package/dist/ui/components/tabs.js +0 -252
  269. package/dist/ui/components/tabs.js.map +0 -1
  270. package/dist/ui/components/text.d.ts +0 -60
  271. package/dist/ui/components/text.d.ts.map +0 -1
  272. package/dist/ui/components/text.js +0 -224
  273. package/dist/ui/components/text.js.map +0 -1
  274. package/dist/ui/index.d.ts +0 -12
  275. package/dist/ui/index.d.ts.map +0 -1
  276. package/dist/ui/index.js +0 -18
  277. package/dist/ui/index.js.map +0 -1
  278. package/dist/ui/input/index.d.ts +0 -8
  279. package/dist/ui/input/index.d.ts.map +0 -1
  280. package/dist/ui/input/index.js +0 -8
  281. package/dist/ui/input/index.js.map +0 -1
  282. package/dist/ui/input/input-manager.d.ts +0 -83
  283. package/dist/ui/input/input-manager.d.ts.map +0 -1
  284. package/dist/ui/input/input-manager.js +0 -200
  285. package/dist/ui/input/input-manager.js.map +0 -1
  286. package/dist/ui/input/keybindings.d.ts +0 -47
  287. package/dist/ui/input/keybindings.d.ts.map +0 -1
  288. package/dist/ui/input/keybindings.js +0 -168
  289. package/dist/ui/input/keybindings.js.map +0 -1
  290. package/dist/ui/input/keyboard.d.ts +0 -24
  291. package/dist/ui/input/keyboard.d.ts.map +0 -1
  292. package/dist/ui/input/keyboard.js +0 -230
  293. package/dist/ui/input/keyboard.js.map +0 -1
  294. package/dist/ui/input/mouse.d.ts +0 -44
  295. package/dist/ui/input/mouse.d.ts.map +0 -1
  296. package/dist/ui/input/mouse.js +0 -161
  297. package/dist/ui/input/mouse.js.map +0 -1
  298. package/dist/ui/layout/box.d.ts +0 -63
  299. package/dist/ui/layout/box.d.ts.map +0 -1
  300. package/dist/ui/layout/box.js +0 -160
  301. package/dist/ui/layout/box.js.map +0 -1
  302. package/dist/ui/layout/constraints.d.ts +0 -77
  303. package/dist/ui/layout/constraints.d.ts.map +0 -1
  304. package/dist/ui/layout/constraints.js +0 -154
  305. package/dist/ui/layout/constraints.js.map +0 -1
  306. package/dist/ui/layout/flex.d.ts +0 -59
  307. package/dist/ui/layout/flex.d.ts.map +0 -1
  308. package/dist/ui/layout/flex.js +0 -163
  309. package/dist/ui/layout/flex.js.map +0 -1
  310. package/dist/ui/layout/index.d.ts +0 -7
  311. package/dist/ui/layout/index.d.ts.map +0 -1
  312. package/dist/ui/layout/index.js +0 -7
  313. package/dist/ui/layout/index.js.map +0 -1
  314. package/dist/ui/modals/delete-modal.d.ts +0 -27
  315. package/dist/ui/modals/delete-modal.d.ts.map +0 -1
  316. package/dist/ui/modals/delete-modal.js +0 -59
  317. package/dist/ui/modals/delete-modal.js.map +0 -1
  318. package/dist/ui/modals/index.d.ts +0 -7
  319. package/dist/ui/modals/index.d.ts.map +0 -1
  320. package/dist/ui/modals/index.js +0 -7
  321. package/dist/ui/modals/index.js.map +0 -1
  322. package/dist/ui/modals/input-modal.d.ts +0 -66
  323. package/dist/ui/modals/input-modal.d.ts.map +0 -1
  324. package/dist/ui/modals/input-modal.js +0 -185
  325. package/dist/ui/modals/input-modal.js.map +0 -1
  326. package/dist/ui/modals/quit-modal.d.ts +0 -30
  327. package/dist/ui/modals/quit-modal.d.ts.map +0 -1
  328. package/dist/ui/modals/quit-modal.js +0 -65
  329. package/dist/ui/modals/quit-modal.js.map +0 -1
  330. package/dist/ui/renderer/ansi.d.ts +0 -206
  331. package/dist/ui/renderer/ansi.d.ts.map +0 -1
  332. package/dist/ui/renderer/ansi.js +0 -318
  333. package/dist/ui/renderer/ansi.js.map +0 -1
  334. package/dist/ui/renderer/canvas.d.ts +0 -126
  335. package/dist/ui/renderer/canvas.d.ts.map +0 -1
  336. package/dist/ui/renderer/canvas.js +0 -346
  337. package/dist/ui/renderer/canvas.js.map +0 -1
  338. package/dist/ui/renderer/colors.d.ts +0 -65
  339. package/dist/ui/renderer/colors.d.ts.map +0 -1
  340. package/dist/ui/renderer/colors.js +0 -260
  341. package/dist/ui/renderer/colors.js.map +0 -1
  342. package/dist/ui/renderer/index.d.ts +0 -8
  343. package/dist/ui/renderer/index.d.ts.map +0 -1
  344. package/dist/ui/renderer/index.js +0 -8
  345. package/dist/ui/renderer/index.js.map +0 -1
  346. package/dist/ui/renderer/symbols.d.ts +0 -176
  347. package/dist/ui/renderer/symbols.d.ts.map +0 -1
  348. package/dist/ui/renderer/symbols.js +0 -246
  349. package/dist/ui/renderer/symbols.js.map +0 -1
  350. package/dist/ui/views/index.d.ts +0 -7
  351. package/dist/ui/views/index.d.ts.map +0 -1
  352. package/dist/ui/views/index.js +0 -7
  353. package/dist/ui/views/index.js.map +0 -1
  354. package/dist/ui/views/sidebar-view.d.ts +0 -89
  355. package/dist/ui/views/sidebar-view.d.ts.map +0 -1
  356. package/dist/ui/views/sidebar-view.js +0 -259
  357. package/dist/ui/views/sidebar-view.js.map +0 -1
  358. package/dist/ui/views/terminal-bar-view.d.ts +0 -67
  359. package/dist/ui/views/terminal-bar-view.d.ts.map +0 -1
  360. package/dist/ui/views/terminal-bar-view.js +0 -172
  361. package/dist/ui/views/terminal-bar-view.js.map +0 -1
  362. package/dist/ui/views/welcome-view.d.ts +0 -34
  363. package/dist/ui/views/welcome-view.d.ts.map +0 -1
  364. package/dist/ui/views/welcome-view.js +0 -116
  365. package/dist/ui/views/welcome-view.js.map +0 -1
@@ -1,223 +0,0 @@
1
- /**
2
- * Event Bus Implementation
3
- *
4
- * Provides a typed event bus for decoupled communication between modules.
5
- */
6
- import { getLogger } from '../utils';
7
- /**
8
- * Event bus for application-wide event handling
9
- */
10
- export class EventBus {
11
- listeners = new Map();
12
- allListeners = new Set();
13
- debugMode = false;
14
- /**
15
- * Enable debug mode to log all events
16
- */
17
- setDebugMode(enabled) {
18
- this.debugMode = enabled;
19
- }
20
- /**
21
- * Emit an event to all registered listeners
22
- */
23
- emit(type, payload) {
24
- const event = {
25
- ...payload,
26
- type,
27
- timestamp: new Date(),
28
- };
29
- if (this.debugMode) {
30
- const logger = getLogger();
31
- logger.debug(`Event: ${type}`, event);
32
- }
33
- // Notify type-specific listeners
34
- const typeListeners = this.listeners.get(type);
35
- if (typeListeners) {
36
- const toRemove = [];
37
- for (const listener of typeListeners) {
38
- try {
39
- listener.handler(event);
40
- }
41
- catch (error) {
42
- const logger = getLogger();
43
- logger.error(`Error in event handler for ${type}`, error);
44
- }
45
- if (listener.once) {
46
- toRemove.push(listener);
47
- }
48
- }
49
- // Remove one-time listeners
50
- for (const listener of toRemove) {
51
- typeListeners.delete(listener);
52
- }
53
- }
54
- // Notify wildcard listeners
55
- for (const listener of this.allListeners) {
56
- try {
57
- listener(event);
58
- }
59
- catch (error) {
60
- const logger = getLogger();
61
- logger.error(`Error in wildcard event handler`, error);
62
- }
63
- }
64
- }
65
- /**
66
- * Subscribe to events of a specific type
67
- */
68
- on(type, handler) {
69
- if (!this.listeners.has(type)) {
70
- this.listeners.set(type, new Set());
71
- }
72
- const listener = {
73
- handler: handler,
74
- once: false,
75
- };
76
- this.listeners.get(type).add(listener);
77
- return () => {
78
- this.listeners.get(type)?.delete(listener);
79
- };
80
- }
81
- /**
82
- * Subscribe to a single event occurrence
83
- */
84
- once(type, handler) {
85
- if (!this.listeners.has(type)) {
86
- this.listeners.set(type, new Set());
87
- }
88
- const listener = {
89
- handler: handler,
90
- once: true,
91
- };
92
- this.listeners.get(type).add(listener);
93
- return () => {
94
- this.listeners.get(type)?.delete(listener);
95
- };
96
- }
97
- /**
98
- * Remove a specific handler for an event type
99
- */
100
- off(type, handler) {
101
- const typeListeners = this.listeners.get(type);
102
- if (typeListeners) {
103
- for (const listener of typeListeners) {
104
- if (listener.handler === handler) {
105
- typeListeners.delete(listener);
106
- break;
107
- }
108
- }
109
- }
110
- }
111
- /**
112
- * Subscribe to all events
113
- */
114
- onAll(handler) {
115
- this.allListeners.add(handler);
116
- return () => {
117
- this.allListeners.delete(handler);
118
- };
119
- }
120
- /**
121
- * Wait for a specific event type
122
- */
123
- waitFor(type, timeout) {
124
- return new Promise((resolve, reject) => {
125
- let timeoutId;
126
- const unsubscribe = this.once(type, (event) => {
127
- if (timeoutId) {
128
- clearTimeout(timeoutId);
129
- }
130
- resolve(event);
131
- });
132
- if (timeout !== undefined) {
133
- timeoutId = setTimeout(() => {
134
- unsubscribe();
135
- reject(new Error(`Timeout waiting for event: ${type}`));
136
- }, timeout);
137
- }
138
- });
139
- }
140
- /**
141
- * Wait for an event matching a predicate
142
- */
143
- waitForMatch(type, predicate, timeout) {
144
- return new Promise((resolve, reject) => {
145
- let timeoutId;
146
- let unsubscribe;
147
- const handler = (event) => {
148
- if (predicate(event)) {
149
- if (timeoutId) {
150
- clearTimeout(timeoutId);
151
- }
152
- unsubscribe?.();
153
- resolve(event);
154
- }
155
- };
156
- unsubscribe = this.on(type, handler);
157
- if (timeout !== undefined) {
158
- timeoutId = setTimeout(() => {
159
- unsubscribe?.();
160
- reject(new Error(`Timeout waiting for matching event: ${type}`));
161
- }, timeout);
162
- }
163
- });
164
- }
165
- /**
166
- * Remove all listeners for a specific event type
167
- */
168
- removeAllListeners(type) {
169
- if (type) {
170
- this.listeners.delete(type);
171
- }
172
- else {
173
- this.listeners.clear();
174
- this.allListeners.clear();
175
- }
176
- }
177
- /**
178
- * Get the count of listeners for a specific event type
179
- */
180
- listenerCount(type) {
181
- return this.listeners.get(type)?.size || 0;
182
- }
183
- /**
184
- * Get all registered event types
185
- */
186
- eventTypes() {
187
- return Array.from(this.listeners.keys());
188
- }
189
- }
190
- /**
191
- * Create an event with timestamp
192
- */
193
- export function createEvent(type, payload) {
194
- return {
195
- ...payload,
196
- type,
197
- timestamp: new Date(),
198
- };
199
- }
200
- // Global event bus instance (will be set by the app)
201
- let globalEventBus = null;
202
- /**
203
- * Get the global event bus
204
- */
205
- export function getEventBus() {
206
- if (!globalEventBus) {
207
- globalEventBus = new EventBus();
208
- }
209
- return globalEventBus;
210
- }
211
- /**
212
- * Set the global event bus
213
- */
214
- export function setEventBus(bus) {
215
- globalEventBus = bus;
216
- }
217
- /**
218
- * Create a new event bus instance
219
- */
220
- export function createEventBus() {
221
- return new EventBus();
222
- }
223
- //# sourceMappingURL=bus.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"bus.js","sourceRoot":"","sources":["../../src/events/bus.ts"],"names":[],"mappings":"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"}
@@ -1,28 +0,0 @@
1
- /**
2
- * Event Handlers Index
3
- *
4
- * Exports event handler registration functions.
5
- */
6
- import type { EventBus } from '../bus';
7
- import type { IMultiplexer } from '../../types';
8
- /**
9
- * Register all event handlers with the event bus
10
- * This function should be called during app initialization
11
- */
12
- export declare function registerEventHandlers(eventBus: EventBus, multiplexer?: IMultiplexer): void;
13
- /**
14
- * Register session event handlers
15
- */
16
- export declare function registerSessionHandlers(eventBus: EventBus, multiplexer: IMultiplexer): void;
17
- /**
18
- * Register terminal event handlers
19
- */
20
- export declare function registerTerminalHandlers(eventBus: EventBus, multiplexer: IMultiplexer): void;
21
- /**
22
- * Register UI event handlers
23
- */
24
- export declare function registerUIHandlers(eventBus: EventBus): void;
25
- export { createSessionEventHandlers } from './session-events';
26
- export { createTerminalEventHandlers } from './terminal-events';
27
- export { createUIEventHandlers } from './ui-events';
28
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/events/handlers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAKhD;;;GAGG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,QAAQ,EAClB,WAAW,CAAC,EAAE,YAAY,GACzB,IAAI,CASN;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,YAAY,GACxB,IAAI,CAEN;AAED;;GAEG;AACH,wBAAgB,wBAAwB,CACtC,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,YAAY,GACxB,IAAI,CAEN;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CAE3D;AAGD,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
@@ -1,44 +0,0 @@
1
- /**
2
- * Event Handlers Index
3
- *
4
- * Exports event handler registration functions.
5
- */
6
- import { createSessionEventHandlers } from './session-events';
7
- import { createTerminalEventHandlers } from './terminal-events';
8
- import { createUIEventHandlers } from './ui-events';
9
- /**
10
- * Register all event handlers with the event bus
11
- * This function should be called during app initialization
12
- */
13
- export function registerEventHandlers(eventBus, multiplexer) {
14
- // Register UI handlers (no multiplexer needed)
15
- createUIEventHandlers(eventBus);
16
- // Register session and terminal handlers if multiplexer is provided
17
- if (multiplexer) {
18
- createSessionEventHandlers(eventBus, multiplexer);
19
- createTerminalEventHandlers(eventBus, multiplexer);
20
- }
21
- }
22
- /**
23
- * Register session event handlers
24
- */
25
- export function registerSessionHandlers(eventBus, multiplexer) {
26
- createSessionEventHandlers(eventBus, multiplexer);
27
- }
28
- /**
29
- * Register terminal event handlers
30
- */
31
- export function registerTerminalHandlers(eventBus, multiplexer) {
32
- createTerminalEventHandlers(eventBus, multiplexer);
33
- }
34
- /**
35
- * Register UI event handlers
36
- */
37
- export function registerUIHandlers(eventBus) {
38
- createUIEventHandlers(eventBus);
39
- }
40
- // Re-export individual handler creators
41
- export { createSessionEventHandlers } from './session-events';
42
- export { createTerminalEventHandlers } from './terminal-events';
43
- export { createUIEventHandlers } from './ui-events';
44
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/events/handlers/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC;AAEpD;;;GAGG;AACH,MAAM,UAAU,qBAAqB,CACnC,QAAkB,EAClB,WAA0B;IAE1B,+CAA+C;IAC/C,qBAAqB,CAAC,QAAQ,CAAC,CAAC;IAEhC,oEAAoE;IACpE,IAAI,WAAW,EAAE,CAAC;QAChB,0BAA0B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;QAClD,2BAA2B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;IACrD,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,uBAAuB,CACrC,QAAkB,EAClB,WAAyB;IAEzB,0BAA0B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AACpD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB,CACtC,QAAkB,EAClB,WAAyB;IAEzB,2BAA2B,CAAC,QAAQ,EAAE,WAAW,CAAC,CAAC;AACrD,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,QAAkB;IACnD,qBAAqB,CAAC,QAAQ,CAAC,CAAC;AAClC,CAAC;AAED,wCAAwC;AACxC,OAAO,EAAE,0BAA0B,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,mBAAmB,CAAC;AAChE,OAAO,EAAE,qBAAqB,EAAE,MAAM,aAAa,CAAC"}
@@ -1,12 +0,0 @@
1
- /**
2
- * Session Event Handlers
3
- *
4
- * Handles session lifecycle events and coordinates with multiplexer.
5
- */
6
- import type { EventBus } from '../bus';
7
- import type { IMultiplexer } from '../../types';
8
- /**
9
- * Create session event handlers
10
- */
11
- export declare function createSessionEventHandlers(eventBus: EventBus, multiplexer: IMultiplexer): void;
12
- //# sourceMappingURL=session-events.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-events.d.ts","sourceRoot":"","sources":["../../../src/events/handlers/session-events.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAKhD;;GAEG;AACH,wBAAgB,0BAA0B,CACxC,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,YAAY,GACxB,IAAI,CAgCN"}
@@ -1,38 +0,0 @@
1
- /**
2
- * Session Event Handlers
3
- *
4
- * Handles session lifecycle events and coordinates with multiplexer.
5
- */
6
- import { getLogger } from '../../utils';
7
- const logger = getLogger().child('session-events');
8
- /**
9
- * Create session event handlers
10
- */
11
- export function createSessionEventHandlers(eventBus, multiplexer) {
12
- // Handle session creation
13
- eventBus.on('session:created', async (event) => {
14
- logger.debug('Session created', { sessionId: event.session.id });
15
- // Session created - the pane is already created by session manager
16
- // This event is for notification/logging purposes
17
- });
18
- // Handle session deletion
19
- eventBus.on('session:deleted', async (event) => {
20
- logger.debug('Session deleted', { sessionId: event.sessionId });
21
- // Clean up any multiplexer resources if needed
22
- // The actual pane cleanup is handled by session manager
23
- });
24
- // Handle session activation
25
- eventBus.on('session:activated', async (event) => {
26
- logger.debug('Session activated', { sessionId: event.sessionId });
27
- // Focus the main pane of the activated session
28
- // This could be used to switch tmux focus if needed
29
- });
30
- // Handle session rename
31
- eventBus.on('session:renamed', async (event) => {
32
- logger.debug('Session renamed', {
33
- sessionId: event.sessionId,
34
- newTitle: event.newTitle,
35
- });
36
- });
37
- }
38
- //# sourceMappingURL=session-events.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-events.js","sourceRoot":"","sources":["../../../src/events/handlers/session-events.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC,KAAK,CAAC,gBAAgB,CAAC,CAAC;AAEnD;;GAEG;AACH,MAAM,UAAU,0BAA0B,CACxC,QAAkB,EAClB,WAAyB;IAEzB,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,CAAC,iBAAiB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAC7C,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,OAAO,CAAC,EAAE,EAAE,CAAC,CAAC;QAEjE,mEAAmE;QACnE,kDAAkD;IACpD,CAAC,CAAC,CAAC;IAEH,0BAA0B;IAC1B,QAAQ,CAAC,EAAE,CAAC,iBAAiB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAC7C,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;QAEhE,+CAA+C;QAC/C,wDAAwD;IAC1D,CAAC,CAAC,CAAC;IAEH,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,CAAC,mBAAmB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAC/C,MAAM,CAAC,KAAK,CAAC,mBAAmB,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,SAAS,EAAE,CAAC,CAAC;QAElE,+CAA+C;QAC/C,oDAAoD;IACtD,CAAC,CAAC,CAAC;IAEH,wBAAwB;IACxB,QAAQ,CAAC,EAAE,CAAC,iBAAiB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAC7C,MAAM,CAAC,KAAK,CAAC,iBAAiB,EAAE;YAC9B,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,12 +0,0 @@
1
- /**
2
- * Terminal Event Handlers
3
- *
4
- * Handles terminal lifecycle events and coordinates with multiplexer.
5
- */
6
- import type { EventBus } from '../bus';
7
- import type { IMultiplexer } from '../../types';
8
- /**
9
- * Create terminal event handlers
10
- */
11
- export declare function createTerminalEventHandlers(eventBus: EventBus, multiplexer: IMultiplexer): void;
12
- //# sourceMappingURL=terminal-events.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"terminal-events.d.ts","sourceRoot":"","sources":["../../../src/events/handlers/terminal-events.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAKhD;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,QAAQ,EAAE,QAAQ,EAClB,WAAW,EAAE,YAAY,GACxB,IAAI,CA+BN"}
@@ -1,37 +0,0 @@
1
- /**
2
- * Terminal Event Handlers
3
- *
4
- * Handles terminal lifecycle events and coordinates with multiplexer.
5
- */
6
- import { getLogger } from '../../utils';
7
- const logger = getLogger().child('terminal-events');
8
- /**
9
- * Create terminal event handlers
10
- */
11
- export function createTerminalEventHandlers(eventBus, multiplexer) {
12
- // Handle terminal creation
13
- eventBus.on('terminal:created', async (event) => {
14
- logger.debug('Terminal created', { terminalId: event.terminal.id });
15
- // Terminal created - the pane is already created by terminal manager
16
- // This event is for notification/logging purposes
17
- });
18
- // Handle terminal deletion
19
- eventBus.on('terminal:deleted', async (event) => {
20
- logger.debug('Terminal deleted', { terminalId: event.terminalId });
21
- // Clean up any multiplexer resources if needed
22
- });
23
- // Handle terminal activation
24
- eventBus.on('terminal:activated', async (event) => {
25
- logger.debug('Terminal activated', { terminalId: event.terminalId });
26
- // Focus the terminal pane
27
- // This could trigger showing the terminal in the foreground
28
- });
29
- // Handle terminal rename
30
- eventBus.on('terminal:renamed', async (event) => {
31
- logger.debug('Terminal renamed', {
32
- terminalId: event.terminalId,
33
- newTitle: event.newTitle,
34
- });
35
- });
36
- }
37
- //# sourceMappingURL=terminal-events.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"terminal-events.js","sourceRoot":"","sources":["../../../src/events/handlers/terminal-events.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,MAAM,MAAM,GAAG,SAAS,EAAE,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;AAEpD;;GAEG;AACH,MAAM,UAAU,2BAA2B,CACzC,QAAkB,EAClB,WAAyB;IAEzB,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,CAAC,kBAAkB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAC9C,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC,CAAC;QAEpE,qEAAqE;QACrE,kDAAkD;IACpD,CAAC,CAAC,CAAC;IAEH,2BAA2B;IAC3B,QAAQ,CAAC,EAAE,CAAC,kBAAkB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAC9C,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;QAEnE,+CAA+C;IACjD,CAAC,CAAC,CAAC;IAEH,6BAA6B;IAC7B,QAAQ,CAAC,EAAE,CAAC,oBAAoB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAChD,MAAM,CAAC,KAAK,CAAC,oBAAoB,EAAE,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC;QAErE,0BAA0B;QAC1B,4DAA4D;IAC9D,CAAC,CAAC,CAAC;IAEH,yBAAyB;IACzB,QAAQ,CAAC,EAAE,CAAC,kBAAkB,EAAE,KAAK,EAAE,KAAK,EAAE,EAAE;QAC9C,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE;YAC/B,UAAU,EAAE,KAAK,CAAC,UAAU;YAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;SACzB,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC"}
@@ -1,11 +0,0 @@
1
- /**
2
- * UI Event Handlers
3
- *
4
- * Handles UI interaction events and maps them to actions.
5
- */
6
- import type { EventBus } from '../bus';
7
- /**
8
- * Create UI event handlers
9
- */
10
- export declare function createUIEventHandlers(eventBus: EventBus): void;
11
- //# sourceMappingURL=ui-events.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ui-events.d.ts","sourceRoot":"","sources":["../../../src/events/handlers/ui-events.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAC;AAMvC;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI,CA0C9D"}
@@ -1,202 +0,0 @@
1
- /**
2
- * UI Event Handlers
3
- *
4
- * Handles UI interaction events and maps them to actions.
5
- */
6
- import { getStore, actions, dispatch, selectSelectedIndex, selectSidebarItemCount } from '../../state';
7
- import { getLogger } from '../../utils';
8
- const logger = getLogger().child('ui-events');
9
- /**
10
- * Create UI event handlers
11
- */
12
- export function createUIEventHandlers(eventBus) {
13
- // Handle key events
14
- eventBus.on('ui:key', (event) => {
15
- const state = getStore().getState();
16
- // Handle modal key events first
17
- if (state.ui.modal.type) {
18
- handleModalKey(event, eventBus);
19
- return;
20
- }
21
- // Handle input mode key events
22
- if (state.ui.inputMode.active) {
23
- handleInputKey(event);
24
- return;
25
- }
26
- // Normal mode key handling
27
- handleNormalKey(event, eventBus);
28
- });
29
- // Handle mouse events
30
- eventBus.on('ui:mouse', (event) => {
31
- logger.debug('Mouse event', { x: event.x, y: event.y, button: event.button });
32
- // Mouse handling can be implemented for clicking on items
33
- });
34
- // Handle resize events
35
- eventBus.on('ui:resize', (event) => {
36
- logger.debug('Resize event', { width: event.width, height: event.height });
37
- // Canvas resize is handled by app.ts
38
- });
39
- // Handle modal open events
40
- eventBus.on('ui:modal:opened', (event) => {
41
- logger.debug('Modal opened', { type: event.modalType });
42
- });
43
- // Handle modal close events
44
- eventBus.on('ui:modal:closed', () => {
45
- logger.debug('Modal closed');
46
- });
47
- }
48
- /**
49
- * Handle key events in normal mode
50
- */
51
- function handleNormalKey(event, eventBus) {
52
- const key = event.key;
53
- const state = getStore().getState();
54
- const currentIndex = selectSelectedIndex(state);
55
- const itemCount = selectSidebarItemCount(state);
56
- switch (key) {
57
- // Navigation
58
- case 'up':
59
- case 'k':
60
- if (currentIndex > 0) {
61
- dispatch(actions.select(currentIndex - 1));
62
- }
63
- break;
64
- case 'down':
65
- case 'j':
66
- if (currentIndex < itemCount - 1) {
67
- dispatch(actions.select(currentIndex + 1));
68
- }
69
- break;
70
- // Selection/activation
71
- case 'enter':
72
- case 'l':
73
- // Activate selected item - handled by app based on what's selected
74
- break;
75
- // Create new
76
- case 'n':
77
- dispatch(actions.showModal('create-session'));
78
- break;
79
- // Delete
80
- case 'x':
81
- case 'delete':
82
- dispatch(actions.showModal('delete-session'));
83
- break;
84
- // Rename
85
- case 'r':
86
- dispatch(actions.showModal('rename-session'));
87
- break;
88
- // Toggle sidebar
89
- case 'tab':
90
- dispatch(actions.toggleSidebar());
91
- break;
92
- // Help - no help modal type, ignore for now
93
- case '?':
94
- break;
95
- // Quit
96
- case 'q':
97
- dispatch(actions.showModal('quit'));
98
- break;
99
- default:
100
- // Unhandled key
101
- break;
102
- }
103
- }
104
- /**
105
- * Handle key events when modal is open
106
- */
107
- function handleModalKey(event, eventBus) {
108
- const key = event.key;
109
- const state = getStore().getState();
110
- switch (key) {
111
- case 'escape':
112
- dispatch(actions.closeModal());
113
- break;
114
- case 'enter':
115
- // Confirm modal action
116
- const modalType = state.ui.modal.type || 'unknown';
117
- eventBus.emit('ui:modal:closed', { modalType });
118
- dispatch(actions.closeModal());
119
- break;
120
- case 'up':
121
- case 'k':
122
- // Navigate modal options up
123
- {
124
- const currentSel = state.ui.modal.selection;
125
- if (currentSel > 0) {
126
- dispatch(actions.modalSelect(currentSel - 1));
127
- }
128
- }
129
- break;
130
- case 'down':
131
- case 'j':
132
- // Navigate modal options down
133
- dispatch(actions.modalSelect(state.ui.modal.selection + 1));
134
- break;
135
- case 'y':
136
- // Confirm (for yes/no dialogs)
137
- if (state.ui.modal.type === 'quit' ||
138
- state.ui.modal.type === 'delete-session' ||
139
- state.ui.modal.type === 'delete-worktree') {
140
- // Handle confirmation
141
- dispatch(actions.closeModal());
142
- }
143
- break;
144
- case 'n':
145
- // Cancel (for yes/no dialogs)
146
- if (state.ui.modal.type === 'quit' ||
147
- state.ui.modal.type === 'delete-session' ||
148
- state.ui.modal.type === 'delete-worktree') {
149
- dispatch(actions.closeModal());
150
- }
151
- break;
152
- default:
153
- break;
154
- }
155
- }
156
- /**
157
- * Handle key events when in input mode
158
- */
159
- function handleInputKey(event) {
160
- const key = event.key;
161
- const state = getStore().getState();
162
- const { value, cursorPos } = state.ui.inputMode;
163
- switch (key) {
164
- case 'escape':
165
- dispatch(actions.endInput());
166
- break;
167
- case 'enter':
168
- // Submit input - the value is available in state
169
- dispatch(actions.endInput());
170
- break;
171
- case 'backspace':
172
- if (cursorPos > 0) {
173
- const newValue = value.slice(0, cursorPos - 1) + value.slice(cursorPos);
174
- dispatch(actions.updateInput(newValue, cursorPos - 1));
175
- }
176
- break;
177
- case 'left':
178
- if (cursorPos > 0) {
179
- dispatch(actions.updateInput(value, cursorPos - 1));
180
- }
181
- break;
182
- case 'right':
183
- if (cursorPos < value.length) {
184
- dispatch(actions.updateInput(value, cursorPos + 1));
185
- }
186
- break;
187
- case 'home':
188
- dispatch(actions.updateInput(value, 0));
189
- break;
190
- case 'end':
191
- dispatch(actions.updateInput(value, value.length));
192
- break;
193
- default:
194
- // Regular character input - only single printable characters
195
- if (key.length === 1 && key >= ' ') {
196
- const newValue = value.slice(0, cursorPos) + key + value.slice(cursorPos);
197
- dispatch(actions.updateInput(newValue, cursorPos + 1));
198
- }
199
- break;
200
- }
201
- }
202
- //# sourceMappingURL=ui-events.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"ui-events.js","sourceRoot":"","sources":["../../../src/events/handlers/ui-events.ts"],"names":[],"mappings":"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"}