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,177 +0,0 @@
1
- /**
2
- * State Selectors
3
- *
4
- * Pure functions for querying state.
5
- */
6
- // ============================================================================
7
- // Workspace selectors
8
- // ============================================================================
9
- export function selectWorkspace(state) {
10
- return state.workspace;
11
- }
12
- export function selectWorktrees(state) {
13
- return state.workspace?.worktrees ?? [];
14
- }
15
- export function selectWorktreeById(state, worktreeId) {
16
- return state.workspace?.worktrees.find((wt) => wt.id === worktreeId);
17
- }
18
- export function selectMainWorktree(state) {
19
- return state.workspace?.worktrees.find((wt) => wt.isMain);
20
- }
21
- export function selectActiveSessionId(state) {
22
- return state.workspace?.activeSessionId ?? null;
23
- }
24
- // ============================================================================
25
- // Session selectors
26
- // ============================================================================
27
- export function selectAllSessions(state) {
28
- return (state.workspace?.worktrees.flatMap((wt) => wt.sessions) ?? []);
29
- }
30
- export function selectSessionById(state, sessionId) {
31
- for (const wt of state.workspace?.worktrees ?? []) {
32
- const session = wt.sessions.find((s) => s.id === sessionId);
33
- if (session)
34
- return session;
35
- }
36
- return undefined;
37
- }
38
- export function selectActiveSession(state) {
39
- const activeId = state.workspace?.activeSessionId;
40
- if (!activeId)
41
- return undefined;
42
- return selectSessionById(state, activeId);
43
- }
44
- export function selectSessionsForWorktree(state, worktreeId) {
45
- const worktree = selectWorktreeById(state, worktreeId);
46
- return worktree?.sessions ?? [];
47
- }
48
- export function selectWorktreeForSession(state, sessionId) {
49
- for (const wt of state.workspace?.worktrees ?? []) {
50
- if (wt.sessions.some((s) => s.id === sessionId)) {
51
- return wt;
52
- }
53
- }
54
- return undefined;
55
- }
56
- // ============================================================================
57
- // Terminal selectors
58
- // ============================================================================
59
- export function selectTerminalsForSession(state, sessionId) {
60
- const session = selectSessionById(state, sessionId);
61
- return session?.terminals ?? [];
62
- }
63
- export function selectActiveTerminal(state, sessionId) {
64
- const session = selectSessionById(state, sessionId);
65
- if (!session || session.terminals.length === 0)
66
- return undefined;
67
- return session.terminals[session.activeTerminalIndex];
68
- }
69
- export function selectTerminalById(state, sessionId, terminalId) {
70
- const terminals = selectTerminalsForSession(state, sessionId);
71
- return terminals.find((t) => t.id === terminalId);
72
- }
73
- // ============================================================================
74
- // UI selectors
75
- // ============================================================================
76
- export function selectSelectedIndex(state) {
77
- return state.ui.sidebar.selectedIndex;
78
- }
79
- export function selectIsSidebarCollapsed(state) {
80
- return state.ui.sidebar.collapsed;
81
- }
82
- export function selectScrollOffset(state) {
83
- return state.ui.sidebar.scrollOffset;
84
- }
85
- export function selectIsTerminalBarVisible(state) {
86
- return state.ui.terminalBar.visible;
87
- }
88
- export function selectModalType(state) {
89
- return state.ui.modal.type;
90
- }
91
- export function selectModalData(state) {
92
- return state.ui.modal.data;
93
- }
94
- export function selectModalSelection(state) {
95
- return state.ui.modal.selection;
96
- }
97
- export function selectIsModalOpen(state) {
98
- return state.ui.modal.type !== null;
99
- }
100
- export function selectIsInputModeActive(state) {
101
- return state.ui.inputMode.active;
102
- }
103
- export function selectInputField(state) {
104
- return state.ui.inputMode.field;
105
- }
106
- export function selectInputValue(state) {
107
- return state.ui.inputMode.value;
108
- }
109
- export function selectInputCursorPos(state) {
110
- return state.ui.inputMode.cursorPos;
111
- }
112
- // ============================================================================
113
- // Status selectors
114
- // ============================================================================
115
- export function selectIsLoading(state) {
116
- return state.status.loading;
117
- }
118
- export function selectError(state) {
119
- return state.status.error;
120
- }
121
- export function selectMessage(state) {
122
- return state.status.message;
123
- }
124
- export function selectSidebarItems(state) {
125
- const items = [];
126
- for (const worktree of selectWorktrees(state)) {
127
- items.push({
128
- type: 'worktree',
129
- item: worktree,
130
- worktreeId: worktree.id,
131
- depth: 0,
132
- });
133
- for (const session of worktree.sessions) {
134
- items.push({
135
- type: 'session',
136
- item: session,
137
- worktreeId: worktree.id,
138
- depth: 1,
139
- });
140
- }
141
- }
142
- return items;
143
- }
144
- /**
145
- * Get the currently selected sidebar item
146
- */
147
- export function selectSelectedItem(state) {
148
- const items = selectSidebarItems(state);
149
- const index = selectSelectedIndex(state);
150
- return items[index];
151
- }
152
- /**
153
- * Get the total count of items in sidebar
154
- */
155
- export function selectSidebarItemCount(state) {
156
- return selectSidebarItems(state).length;
157
- }
158
- /**
159
- * Check if there are any sessions
160
- */
161
- export function selectHasSessions(state) {
162
- return selectAllSessions(state).length > 0;
163
- }
164
- /**
165
- * Get the count of sessions for a worktree
166
- */
167
- export function selectSessionCount(state, worktreeId) {
168
- return selectSessionsForWorktree(state, worktreeId).length;
169
- }
170
- /**
171
- * Get the count of terminals for the active session
172
- */
173
- export function selectActiveSessionTerminalCount(state) {
174
- const session = selectActiveSession(state);
175
- return session?.terminals.length ?? 0;
176
- }
177
- //# sourceMappingURL=selectors.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"selectors.js","sourceRoot":"","sources":["../../src/state/selectors.ts"],"names":[],"mappings":"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"}
@@ -1,86 +0,0 @@
1
- /**
2
- * Central State Store
3
- *
4
- * Manages application state with pub/sub pattern and middleware support.
5
- */
6
- import type { AppState, AppAction, StateListener, Middleware } from './types';
7
- import type { Unsubscribe } from '../utils';
8
- /**
9
- * Store configuration options
10
- */
11
- export interface StoreOptions {
12
- /** Initial state (uses default if not provided) */
13
- initialState?: AppState;
14
- /** Middleware functions to apply */
15
- middleware?: Middleware[];
16
- }
17
- /**
18
- * Application state store
19
- */
20
- export declare class Store {
21
- private state;
22
- private listeners;
23
- private middleware;
24
- constructor(options?: StoreOptions);
25
- /**
26
- * Get the current state
27
- */
28
- getState(): AppState;
29
- /**
30
- * Dispatch an action to update state
31
- */
32
- dispatch(action: AppAction): void;
33
- /**
34
- * Subscribe to state changes
35
- */
36
- subscribe(listener: StateListener): Unsubscribe;
37
- /**
38
- * Select a value from state using a selector function
39
- */
40
- select<T>(selector: (state: AppState) => T): T;
41
- /**
42
- * Subscribe to changes in a selected value
43
- */
44
- subscribeToSelector<T>(selector: (state: AppState) => T, listener: (value: T, prevValue: T) => void, equalityFn?: (a: T, b: T) => boolean): Unsubscribe;
45
- /**
46
- * Add middleware to the store
47
- */
48
- addMiddleware(middleware: Middleware): void;
49
- /**
50
- * Replace the entire state (useful for hydration)
51
- */
52
- replaceState(newState: AppState): void;
53
- /**
54
- * Reset to initial state
55
- */
56
- reset(): void;
57
- }
58
- /**
59
- * Get the global store instance
60
- */
61
- export declare function getStore(): Store;
62
- /**
63
- * Set the global store instance
64
- */
65
- export declare function setStore(store: Store): void;
66
- /**
67
- * Create a new store instance
68
- */
69
- export declare function createStore(options?: StoreOptions): Store;
70
- /**
71
- * Get current state from global store
72
- */
73
- export declare function getState(): AppState;
74
- /**
75
- * Dispatch action to global store
76
- */
77
- export declare function dispatch(action: AppAction): void;
78
- /**
79
- * Subscribe to global store
80
- */
81
- export declare function subscribe(listener: StateListener): Unsubscribe;
82
- /**
83
- * Select from global store
84
- */
85
- export declare function select<T>(selector: (state: AppState) => T): T;
86
- //# sourceMappingURL=store.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store.d.ts","sourceRoot":"","sources":["../../src/state/store.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,QAAQ,EACR,SAAS,EACT,aAAa,EACb,UAAU,EACX,MAAM,SAAS,CAAC;AAEjB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAE5C;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,mDAAmD;IACnD,YAAY,CAAC,EAAE,QAAQ,CAAC;IACxB,oCAAoC;IACpC,UAAU,CAAC,EAAE,UAAU,EAAE,CAAC;CAC3B;AAED;;GAEG;AACH,qBAAa,KAAK;IAChB,OAAO,CAAC,KAAK,CAAW;IACxB,OAAO,CAAC,SAAS,CAAiC;IAClD,OAAO,CAAC,UAAU,CAAoB;gBAE1B,OAAO,GAAE,YAAiB;IAKtC;;OAEG;IACH,QAAQ,IAAI,QAAQ;IAIpB;;OAEG;IACH,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI;IA4BjC;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,aAAa,GAAG,WAAW;IAO/C;;OAEG;IACH,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,CAAC,GAAG,CAAC;IAI9C;;OAEG;IACH,mBAAmB,CAAC,CAAC,EACnB,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,CAAC,EAChC,QAAQ,EAAE,CAAC,KAAK,EAAE,CAAC,EAAE,SAAS,EAAE,CAAC,KAAK,IAAI,EAC1C,UAAU,GAAE,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,OAAmB,GAC9C,WAAW;IAed;;OAEG;IACH,aAAa,CAAC,UAAU,EAAE,UAAU,GAAG,IAAI;IAI3C;;OAEG;IACH,YAAY,CAAC,QAAQ,EAAE,QAAQ,GAAG,IAAI;IAatC;;OAEG;IACH,KAAK,IAAI,IAAI;CAGd;AAQD;;GAEG;AACH,wBAAgB,QAAQ,IAAI,KAAK,CAKhC;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,GAAG,IAAI,CAE3C;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,CAAC,EAAE,YAAY,GAAG,KAAK,CAEzD;AAMD;;GAEG;AACH,wBAAgB,QAAQ,IAAI,QAAQ,CAEnC;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,MAAM,EAAE,SAAS,GAAG,IAAI,CAEhD;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,QAAQ,EAAE,aAAa,GAAG,WAAW,CAE9D;AAED;;GAEG;AACH,wBAAgB,MAAM,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,QAAQ,KAAK,CAAC,GAAG,CAAC,CAE7D"}
@@ -1,161 +0,0 @@
1
- /**
2
- * Central State Store
3
- *
4
- * Manages application state with pub/sub pattern and middleware support.
5
- */
6
- import { reducer, createInitialState } from './actions';
7
- /**
8
- * Application state store
9
- */
10
- export class Store {
11
- state;
12
- listeners = new Set();
13
- middleware = [];
14
- constructor(options = {}) {
15
- this.state = options.initialState ?? createInitialState();
16
- this.middleware = options.middleware ?? [];
17
- }
18
- /**
19
- * Get the current state
20
- */
21
- getState() {
22
- return this.state;
23
- }
24
- /**
25
- * Dispatch an action to update state
26
- */
27
- dispatch(action) {
28
- const prevState = this.state;
29
- // Apply middleware chain
30
- const applyMiddleware = (index) => {
31
- if (index >= this.middleware.length) {
32
- // End of middleware chain, apply reducer
33
- return reducer(this.state, action);
34
- }
35
- const middlewareFn = this.middleware[index];
36
- return middlewareFn(this.state, action, () => applyMiddleware(index + 1));
37
- };
38
- this.state = applyMiddleware(0);
39
- // Notify listeners if state changed
40
- if (this.state !== prevState) {
41
- for (const listener of this.listeners) {
42
- try {
43
- listener(this.state, prevState);
44
- }
45
- catch (error) {
46
- console.error('Error in state listener:', error);
47
- }
48
- }
49
- }
50
- }
51
- /**
52
- * Subscribe to state changes
53
- */
54
- subscribe(listener) {
55
- this.listeners.add(listener);
56
- return () => {
57
- this.listeners.delete(listener);
58
- };
59
- }
60
- /**
61
- * Select a value from state using a selector function
62
- */
63
- select(selector) {
64
- return selector(this.state);
65
- }
66
- /**
67
- * Subscribe to changes in a selected value
68
- */
69
- subscribeToSelector(selector, listener, equalityFn = Object.is) {
70
- let currentValue = selector(this.state);
71
- return this.subscribe((state, prevState) => {
72
- const newValue = selector(state);
73
- const prevValue = selector(prevState);
74
- if (!equalityFn(newValue, currentValue)) {
75
- const oldValue = currentValue;
76
- currentValue = newValue;
77
- listener(newValue, oldValue);
78
- }
79
- });
80
- }
81
- /**
82
- * Add middleware to the store
83
- */
84
- addMiddleware(middleware) {
85
- this.middleware.push(middleware);
86
- }
87
- /**
88
- * Replace the entire state (useful for hydration)
89
- */
90
- replaceState(newState) {
91
- const prevState = this.state;
92
- this.state = newState;
93
- for (const listener of this.listeners) {
94
- try {
95
- listener(this.state, prevState);
96
- }
97
- catch (error) {
98
- console.error('Error in state listener:', error);
99
- }
100
- }
101
- }
102
- /**
103
- * Reset to initial state
104
- */
105
- reset() {
106
- this.replaceState(createInitialState());
107
- }
108
- }
109
- // ============================================================================
110
- // Global store instance
111
- // ============================================================================
112
- let globalStore = null;
113
- /**
114
- * Get the global store instance
115
- */
116
- export function getStore() {
117
- if (!globalStore) {
118
- globalStore = new Store();
119
- }
120
- return globalStore;
121
- }
122
- /**
123
- * Set the global store instance
124
- */
125
- export function setStore(store) {
126
- globalStore = store;
127
- }
128
- /**
129
- * Create a new store instance
130
- */
131
- export function createStore(options) {
132
- return new Store(options);
133
- }
134
- // ============================================================================
135
- // Convenience functions using global store
136
- // ============================================================================
137
- /**
138
- * Get current state from global store
139
- */
140
- export function getState() {
141
- return getStore().getState();
142
- }
143
- /**
144
- * Dispatch action to global store
145
- */
146
- export function dispatch(action) {
147
- getStore().dispatch(action);
148
- }
149
- /**
150
- * Subscribe to global store
151
- */
152
- export function subscribe(listener) {
153
- return getStore().subscribe(listener);
154
- }
155
- /**
156
- * Select from global store
157
- */
158
- export function select(selector) {
159
- return getStore().select(selector);
160
- }
161
- //# sourceMappingURL=store.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"store.js","sourceRoot":"","sources":["../../src/state/store.ts"],"names":[],"mappings":"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"}