claude-code-plus-plus 0.2.1 → 0.2.3

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 (376) hide show
  1. package/dist/sidebar/app.d.ts +2 -0
  2. package/dist/sidebar/app.d.ts.map +1 -1
  3. package/dist/sidebar/app.js +30 -3
  4. package/dist/sidebar/app.js.map +1 -1
  5. package/dist/sidebar/render.d.ts +4 -0
  6. package/dist/sidebar/render.d.ts.map +1 -1
  7. package/dist/sidebar/render.js +65 -0
  8. package/dist/sidebar/render.js.map +1 -1
  9. package/dist/types.d.ts +2 -1
  10. package/dist/types.d.ts.map +1 -1
  11. package/dist/types.js.map +1 -1
  12. package/package.json +1 -1
  13. package/dist/app.d.ts +0 -52
  14. package/dist/app.d.ts.map +0 -1
  15. package/dist/app.js +0 -318
  16. package/dist/app.js.map +0 -1
  17. package/dist/core/index.d.ts +0 -14
  18. package/dist/core/index.d.ts.map +0 -1
  19. package/dist/core/index.js +0 -14
  20. package/dist/core/index.js.map +0 -1
  21. package/dist/core/session/index.d.ts +0 -7
  22. package/dist/core/session/index.d.ts.map +0 -1
  23. package/dist/core/session/index.js +0 -6
  24. package/dist/core/session/index.js.map +0 -1
  25. package/dist/core/session/session-manager.d.ts +0 -46
  26. package/dist/core/session/session-manager.d.ts.map +0 -1
  27. package/dist/core/session/session-manager.js +0 -245
  28. package/dist/core/session/session-manager.js.map +0 -1
  29. package/dist/core/session/session.d.ts +0 -44
  30. package/dist/core/session/session.d.ts.map +0 -1
  31. package/dist/core/session/session.js +0 -78
  32. package/dist/core/session/session.js.map +0 -1
  33. package/dist/core/terminal/index.d.ts +0 -7
  34. package/dist/core/terminal/index.d.ts.map +0 -1
  35. package/dist/core/terminal/index.js +0 -6
  36. package/dist/core/terminal/index.js.map +0 -1
  37. package/dist/core/terminal/terminal-manager.d.ts +0 -36
  38. package/dist/core/terminal/terminal-manager.d.ts.map +0 -1
  39. package/dist/core/terminal/terminal-manager.js +0 -182
  40. package/dist/core/terminal/terminal-manager.js.map +0 -1
  41. package/dist/core/terminal/terminal.d.ts +0 -27
  42. package/dist/core/terminal/terminal.d.ts.map +0 -1
  43. package/dist/core/terminal/terminal.js +0 -38
  44. package/dist/core/terminal/terminal.js.map +0 -1
  45. package/dist/core/workspace/index.d.ts +0 -7
  46. package/dist/core/workspace/index.d.ts.map +0 -1
  47. package/dist/core/workspace/index.js +0 -6
  48. package/dist/core/workspace/index.js.map +0 -1
  49. package/dist/core/workspace/workspace-manager.d.ts +0 -59
  50. package/dist/core/workspace/workspace-manager.d.ts.map +0 -1
  51. package/dist/core/workspace/workspace-manager.js +0 -224
  52. package/dist/core/workspace/workspace-manager.js.map +0 -1
  53. package/dist/core/workspace/workspace.d.ts +0 -56
  54. package/dist/core/workspace/workspace.d.ts.map +0 -1
  55. package/dist/core/workspace/workspace.js +0 -96
  56. package/dist/core/workspace/workspace.js.map +0 -1
  57. package/dist/core/worktree/index.d.ts +0 -7
  58. package/dist/core/worktree/index.d.ts.map +0 -1
  59. package/dist/core/worktree/index.js +0 -6
  60. package/dist/core/worktree/index.js.map +0 -1
  61. package/dist/core/worktree/worktree-manager.d.ts +0 -47
  62. package/dist/core/worktree/worktree-manager.d.ts.map +0 -1
  63. package/dist/core/worktree/worktree-manager.js +0 -170
  64. package/dist/core/worktree/worktree-manager.js.map +0 -1
  65. package/dist/core/worktree/worktree.d.ts +0 -35
  66. package/dist/core/worktree/worktree.d.ts.map +0 -1
  67. package/dist/core/worktree/worktree.js +0 -50
  68. package/dist/core/worktree/worktree.js.map +0 -1
  69. package/dist/core/worktree-manager.d.ts +0 -26
  70. package/dist/core/worktree-manager.d.ts.map +0 -1
  71. package/dist/core/worktree-manager.js +0 -177
  72. package/dist/core/worktree-manager.js.map +0 -1
  73. package/dist/events/bus.d.ts +0 -76
  74. package/dist/events/bus.d.ts.map +0 -1
  75. package/dist/events/bus.js +0 -223
  76. package/dist/events/bus.js.map +0 -1
  77. package/dist/events/handlers/index.d.ts +0 -28
  78. package/dist/events/handlers/index.d.ts.map +0 -1
  79. package/dist/events/handlers/index.js +0 -44
  80. package/dist/events/handlers/index.js.map +0 -1
  81. package/dist/events/handlers/session-events.d.ts +0 -12
  82. package/dist/events/handlers/session-events.d.ts.map +0 -1
  83. package/dist/events/handlers/session-events.js +0 -38
  84. package/dist/events/handlers/session-events.js.map +0 -1
  85. package/dist/events/handlers/terminal-events.d.ts +0 -12
  86. package/dist/events/handlers/terminal-events.d.ts.map +0 -1
  87. package/dist/events/handlers/terminal-events.js +0 -37
  88. package/dist/events/handlers/terminal-events.js.map +0 -1
  89. package/dist/events/handlers/ui-events.d.ts +0 -11
  90. package/dist/events/handlers/ui-events.d.ts.map +0 -1
  91. package/dist/events/handlers/ui-events.js +0 -202
  92. package/dist/events/handlers/ui-events.js.map +0 -1
  93. package/dist/events/index.d.ts +0 -9
  94. package/dist/events/index.d.ts.map +0 -1
  95. package/dist/events/index.js +0 -10
  96. package/dist/events/index.js.map +0 -1
  97. package/dist/multiplexer/base.d.ts +0 -73
  98. package/dist/multiplexer/base.d.ts.map +0 -1
  99. package/dist/multiplexer/base.js +0 -68
  100. package/dist/multiplexer/base.js.map +0 -1
  101. package/dist/multiplexer/factory.d.ts +0 -28
  102. package/dist/multiplexer/factory.d.ts.map +0 -1
  103. package/dist/multiplexer/factory.js +0 -72
  104. package/dist/multiplexer/factory.js.map +0 -1
  105. package/dist/multiplexer/index.d.ts +0 -14
  106. package/dist/multiplexer/index.d.ts.map +0 -1
  107. package/dist/multiplexer/index.js +0 -15
  108. package/dist/multiplexer/index.js.map +0 -1
  109. package/dist/multiplexer/tmux/index.d.ts +0 -9
  110. package/dist/multiplexer/tmux/index.d.ts.map +0 -1
  111. package/dist/multiplexer/tmux/index.js +0 -7
  112. package/dist/multiplexer/tmux/index.js.map +0 -1
  113. package/dist/multiplexer/tmux/tmux-commands.d.ts +0 -96
  114. package/dist/multiplexer/tmux/tmux-commands.d.ts.map +0 -1
  115. package/dist/multiplexer/tmux/tmux-commands.js +0 -282
  116. package/dist/multiplexer/tmux/tmux-commands.js.map +0 -1
  117. package/dist/multiplexer/tmux/tmux-config.d.ts +0 -57
  118. package/dist/multiplexer/tmux/tmux-config.d.ts.map +0 -1
  119. package/dist/multiplexer/tmux/tmux-config.js +0 -103
  120. package/dist/multiplexer/tmux/tmux-config.js.map +0 -1
  121. package/dist/multiplexer/tmux/tmux-multiplexer.d.ts +0 -94
  122. package/dist/multiplexer/tmux/tmux-multiplexer.d.ts.map +0 -1
  123. package/dist/multiplexer/tmux/tmux-multiplexer.js +0 -302
  124. package/dist/multiplexer/tmux/tmux-multiplexer.js.map +0 -1
  125. package/dist/multiplexer/windows/index.d.ts +0 -5
  126. package/dist/multiplexer/windows/index.d.ts.map +0 -1
  127. package/dist/multiplexer/windows/index.js +0 -5
  128. package/dist/multiplexer/windows/index.js.map +0 -1
  129. package/dist/multiplexer/windows/windows-multiplexer.d.ts +0 -61
  130. package/dist/multiplexer/windows/windows-multiplexer.d.ts.map +0 -1
  131. package/dist/multiplexer/windows/windows-multiplexer.js +0 -151
  132. package/dist/multiplexer/windows/windows-multiplexer.js.map +0 -1
  133. package/dist/services/claude/claude-detector.d.ts +0 -37
  134. package/dist/services/claude/claude-detector.d.ts.map +0 -1
  135. package/dist/services/claude/claude-detector.js +0 -83
  136. package/dist/services/claude/claude-detector.js.map +0 -1
  137. package/dist/services/claude/claude-service.d.ts +0 -57
  138. package/dist/services/claude/claude-service.d.ts.map +0 -1
  139. package/dist/services/claude/claude-service.js +0 -108
  140. package/dist/services/claude/claude-service.js.map +0 -1
  141. package/dist/services/claude/index.d.ts +0 -7
  142. package/dist/services/claude/index.d.ts.map +0 -1
  143. package/dist/services/claude/index.js +0 -6
  144. package/dist/services/claude/index.js.map +0 -1
  145. package/dist/services/git/branch-service.d.ts +0 -64
  146. package/dist/services/git/branch-service.d.ts.map +0 -1
  147. package/dist/services/git/branch-service.js +0 -217
  148. package/dist/services/git/branch-service.js.map +0 -1
  149. package/dist/services/git/git-service.d.ts +0 -44
  150. package/dist/services/git/git-service.d.ts.map +0 -1
  151. package/dist/services/git/git-service.js +0 -145
  152. package/dist/services/git/git-service.js.map +0 -1
  153. package/dist/services/git/index.d.ts +0 -8
  154. package/dist/services/git/index.d.ts.map +0 -1
  155. package/dist/services/git/index.js +0 -7
  156. package/dist/services/git/index.js.map +0 -1
  157. package/dist/services/git/worktree-service.d.ts +0 -61
  158. package/dist/services/git/worktree-service.d.ts.map +0 -1
  159. package/dist/services/git/worktree-service.js +0 -243
  160. package/dist/services/git/worktree-service.js.map +0 -1
  161. package/dist/services/index.d.ts +0 -12
  162. package/dist/services/index.d.ts.map +0 -1
  163. package/dist/services/index.js +0 -12
  164. package/dist/services/index.js.map +0 -1
  165. package/dist/services/process/index.d.ts +0 -8
  166. package/dist/services/process/index.d.ts.map +0 -1
  167. package/dist/services/process/index.js +0 -6
  168. package/dist/services/process/index.js.map +0 -1
  169. package/dist/services/process/process-monitor.d.ts +0 -98
  170. package/dist/services/process/process-monitor.d.ts.map +0 -1
  171. package/dist/services/process/process-monitor.js +0 -173
  172. package/dist/services/process/process-monitor.js.map +0 -1
  173. package/dist/services/process/process-spawner.d.ts +0 -55
  174. package/dist/services/process/process-spawner.d.ts.map +0 -1
  175. package/dist/services/process/process-spawner.js +0 -93
  176. package/dist/services/process/process-spawner.js.map +0 -1
  177. package/dist/sidebar.d.ts +0 -13
  178. package/dist/sidebar.d.ts.map +0 -1
  179. package/dist/sidebar.js +0 -1535
  180. package/dist/sidebar.js.map +0 -1
  181. package/dist/state/actions.d.ts +0 -49
  182. package/dist/state/actions.d.ts.map +0 -1
  183. package/dist/state/actions.js +0 -512
  184. package/dist/state/actions.js.map +0 -1
  185. package/dist/state/index.d.ts +0 -16
  186. package/dist/state/index.d.ts.map +0 -1
  187. package/dist/state/index.js +0 -28
  188. package/dist/state/index.js.map +0 -1
  189. package/dist/state/middleware/index.d.ts +0 -7
  190. package/dist/state/middleware/index.d.ts.map +0 -1
  191. package/dist/state/middleware/index.js +0 -6
  192. package/dist/state/middleware/index.js.map +0 -1
  193. package/dist/state/middleware/logger.d.ts +0 -22
  194. package/dist/state/middleware/logger.d.ts.map +0 -1
  195. package/dist/state/middleware/logger.js +0 -45
  196. package/dist/state/middleware/logger.js.map +0 -1
  197. package/dist/state/middleware/persistence.d.ts +0 -29
  198. package/dist/state/middleware/persistence.d.ts.map +0 -1
  199. package/dist/state/middleware/persistence.js +0 -71
  200. package/dist/state/middleware/persistence.js.map +0 -1
  201. package/dist/state/persistence/file-adapter.d.ts +0 -48
  202. package/dist/state/persistence/file-adapter.d.ts.map +0 -1
  203. package/dist/state/persistence/file-adapter.js +0 -96
  204. package/dist/state/persistence/file-adapter.js.map +0 -1
  205. package/dist/state/persistence/index.d.ts +0 -8
  206. package/dist/state/persistence/index.d.ts.map +0 -1
  207. package/dist/state/persistence/index.js +0 -6
  208. package/dist/state/persistence/index.js.map +0 -1
  209. package/dist/state/persistence/serializer.d.ts +0 -41
  210. package/dist/state/persistence/serializer.d.ts.map +0 -1
  211. package/dist/state/persistence/serializer.js +0 -114
  212. package/dist/state/persistence/serializer.js.map +0 -1
  213. package/dist/state/selectors.d.ts +0 -67
  214. package/dist/state/selectors.d.ts.map +0 -1
  215. package/dist/state/selectors.js +0 -177
  216. package/dist/state/selectors.js.map +0 -1
  217. package/dist/state/store.d.ts +0 -86
  218. package/dist/state/store.d.ts.map +0 -1
  219. package/dist/state/store.js +0 -161
  220. package/dist/state/store.js.map +0 -1
  221. package/dist/state/types.d.ts +0 -269
  222. package/dist/state/types.d.ts.map +0 -1
  223. package/dist/state/types.js +0 -7
  224. package/dist/state/types.js.map +0 -1
  225. package/dist/state.d.ts +0 -53
  226. package/dist/state.d.ts.map +0 -1
  227. package/dist/state.js +0 -101
  228. package/dist/state.js.map +0 -1
  229. package/dist/terminal-manager.d.ts +0 -16
  230. package/dist/terminal-manager.d.ts.map +0 -1
  231. package/dist/terminal-manager.js +0 -364
  232. package/dist/terminal-manager.js.map +0 -1
  233. package/dist/tmux.d.ts +0 -163
  234. package/dist/tmux.d.ts.map +0 -1
  235. package/dist/tmux.js +0 -360
  236. package/dist/tmux.js.map +0 -1
  237. package/dist/types/config.d.ts +0 -103
  238. package/dist/types/config.d.ts.map +0 -1
  239. package/dist/types/config.js +0 -7
  240. package/dist/types/config.js.map +0 -1
  241. package/dist/types/entities.d.ts +0 -88
  242. package/dist/types/entities.d.ts.map +0 -1
  243. package/dist/types/entities.js +0 -8
  244. package/dist/types/entities.js.map +0 -1
  245. package/dist/types/events.d.ts +0 -156
  246. package/dist/types/events.d.ts.map +0 -1
  247. package/dist/types/events.js +0 -8
  248. package/dist/types/events.js.map +0 -1
  249. package/dist/types/index.d.ts +0 -11
  250. package/dist/types/index.d.ts.map +0 -1
  251. package/dist/types/index.js +0 -8
  252. package/dist/types/index.js.map +0 -1
  253. package/dist/types/multiplexer.d.ts +0 -238
  254. package/dist/types/multiplexer.d.ts.map +0 -1
  255. package/dist/types/multiplexer.js +0 -8
  256. package/dist/types/multiplexer.js.map +0 -1
  257. package/dist/ui/components/base.d.ts +0 -155
  258. package/dist/ui/components/base.d.ts.map +0 -1
  259. package/dist/ui/components/base.js +0 -269
  260. package/dist/ui/components/base.js.map +0 -1
  261. package/dist/ui/components/index.d.ts +0 -10
  262. package/dist/ui/components/index.d.ts.map +0 -1
  263. package/dist/ui/components/index.js +0 -10
  264. package/dist/ui/components/index.js.map +0 -1
  265. package/dist/ui/components/input-field.d.ts +0 -98
  266. package/dist/ui/components/input-field.d.ts.map +0 -1
  267. package/dist/ui/components/input-field.js +0 -274
  268. package/dist/ui/components/input-field.js.map +0 -1
  269. package/dist/ui/components/list.d.ts +0 -94
  270. package/dist/ui/components/list.d.ts.map +0 -1
  271. package/dist/ui/components/list.js +0 -294
  272. package/dist/ui/components/list.js.map +0 -1
  273. package/dist/ui/components/modal.d.ts +0 -83
  274. package/dist/ui/components/modal.d.ts.map +0 -1
  275. package/dist/ui/components/modal.js +0 -249
  276. package/dist/ui/components/modal.js.map +0 -1
  277. package/dist/ui/components/tabs.d.ts +0 -97
  278. package/dist/ui/components/tabs.d.ts.map +0 -1
  279. package/dist/ui/components/tabs.js +0 -252
  280. package/dist/ui/components/tabs.js.map +0 -1
  281. package/dist/ui/components/text.d.ts +0 -60
  282. package/dist/ui/components/text.d.ts.map +0 -1
  283. package/dist/ui/components/text.js +0 -224
  284. package/dist/ui/components/text.js.map +0 -1
  285. package/dist/ui/index.d.ts +0 -12
  286. package/dist/ui/index.d.ts.map +0 -1
  287. package/dist/ui/index.js +0 -18
  288. package/dist/ui/index.js.map +0 -1
  289. package/dist/ui/input/index.d.ts +0 -8
  290. package/dist/ui/input/index.d.ts.map +0 -1
  291. package/dist/ui/input/index.js +0 -8
  292. package/dist/ui/input/index.js.map +0 -1
  293. package/dist/ui/input/input-manager.d.ts +0 -83
  294. package/dist/ui/input/input-manager.d.ts.map +0 -1
  295. package/dist/ui/input/input-manager.js +0 -200
  296. package/dist/ui/input/input-manager.js.map +0 -1
  297. package/dist/ui/input/keybindings.d.ts +0 -47
  298. package/dist/ui/input/keybindings.d.ts.map +0 -1
  299. package/dist/ui/input/keybindings.js +0 -168
  300. package/dist/ui/input/keybindings.js.map +0 -1
  301. package/dist/ui/input/keyboard.d.ts +0 -24
  302. package/dist/ui/input/keyboard.d.ts.map +0 -1
  303. package/dist/ui/input/keyboard.js +0 -230
  304. package/dist/ui/input/keyboard.js.map +0 -1
  305. package/dist/ui/input/mouse.d.ts +0 -44
  306. package/dist/ui/input/mouse.d.ts.map +0 -1
  307. package/dist/ui/input/mouse.js +0 -161
  308. package/dist/ui/input/mouse.js.map +0 -1
  309. package/dist/ui/layout/box.d.ts +0 -63
  310. package/dist/ui/layout/box.d.ts.map +0 -1
  311. package/dist/ui/layout/box.js +0 -160
  312. package/dist/ui/layout/box.js.map +0 -1
  313. package/dist/ui/layout/constraints.d.ts +0 -77
  314. package/dist/ui/layout/constraints.d.ts.map +0 -1
  315. package/dist/ui/layout/constraints.js +0 -154
  316. package/dist/ui/layout/constraints.js.map +0 -1
  317. package/dist/ui/layout/flex.d.ts +0 -59
  318. package/dist/ui/layout/flex.d.ts.map +0 -1
  319. package/dist/ui/layout/flex.js +0 -163
  320. package/dist/ui/layout/flex.js.map +0 -1
  321. package/dist/ui/layout/index.d.ts +0 -7
  322. package/dist/ui/layout/index.d.ts.map +0 -1
  323. package/dist/ui/layout/index.js +0 -7
  324. package/dist/ui/layout/index.js.map +0 -1
  325. package/dist/ui/modals/delete-modal.d.ts +0 -27
  326. package/dist/ui/modals/delete-modal.d.ts.map +0 -1
  327. package/dist/ui/modals/delete-modal.js +0 -59
  328. package/dist/ui/modals/delete-modal.js.map +0 -1
  329. package/dist/ui/modals/index.d.ts +0 -7
  330. package/dist/ui/modals/index.d.ts.map +0 -1
  331. package/dist/ui/modals/index.js +0 -7
  332. package/dist/ui/modals/index.js.map +0 -1
  333. package/dist/ui/modals/input-modal.d.ts +0 -66
  334. package/dist/ui/modals/input-modal.d.ts.map +0 -1
  335. package/dist/ui/modals/input-modal.js +0 -185
  336. package/dist/ui/modals/input-modal.js.map +0 -1
  337. package/dist/ui/modals/quit-modal.d.ts +0 -30
  338. package/dist/ui/modals/quit-modal.d.ts.map +0 -1
  339. package/dist/ui/modals/quit-modal.js +0 -65
  340. package/dist/ui/modals/quit-modal.js.map +0 -1
  341. package/dist/ui/renderer/ansi.d.ts +0 -206
  342. package/dist/ui/renderer/ansi.d.ts.map +0 -1
  343. package/dist/ui/renderer/ansi.js +0 -318
  344. package/dist/ui/renderer/ansi.js.map +0 -1
  345. package/dist/ui/renderer/canvas.d.ts +0 -126
  346. package/dist/ui/renderer/canvas.d.ts.map +0 -1
  347. package/dist/ui/renderer/canvas.js +0 -346
  348. package/dist/ui/renderer/canvas.js.map +0 -1
  349. package/dist/ui/renderer/colors.d.ts +0 -65
  350. package/dist/ui/renderer/colors.d.ts.map +0 -1
  351. package/dist/ui/renderer/colors.js +0 -260
  352. package/dist/ui/renderer/colors.js.map +0 -1
  353. package/dist/ui/renderer/index.d.ts +0 -8
  354. package/dist/ui/renderer/index.d.ts.map +0 -1
  355. package/dist/ui/renderer/index.js +0 -8
  356. package/dist/ui/renderer/index.js.map +0 -1
  357. package/dist/ui/renderer/symbols.d.ts +0 -176
  358. package/dist/ui/renderer/symbols.d.ts.map +0 -1
  359. package/dist/ui/renderer/symbols.js +0 -246
  360. package/dist/ui/renderer/symbols.js.map +0 -1
  361. package/dist/ui/views/index.d.ts +0 -7
  362. package/dist/ui/views/index.d.ts.map +0 -1
  363. package/dist/ui/views/index.js +0 -7
  364. package/dist/ui/views/index.js.map +0 -1
  365. package/dist/ui/views/sidebar-view.d.ts +0 -89
  366. package/dist/ui/views/sidebar-view.d.ts.map +0 -1
  367. package/dist/ui/views/sidebar-view.js +0 -259
  368. package/dist/ui/views/sidebar-view.js.map +0 -1
  369. package/dist/ui/views/terminal-bar-view.d.ts +0 -67
  370. package/dist/ui/views/terminal-bar-view.d.ts.map +0 -1
  371. package/dist/ui/views/terminal-bar-view.js +0 -172
  372. package/dist/ui/views/terminal-bar-view.js.map +0 -1
  373. package/dist/ui/views/welcome-view.d.ts +0 -34
  374. package/dist/ui/views/welcome-view.d.ts.map +0 -1
  375. package/dist/ui/views/welcome-view.js +0 -116
  376. package/dist/ui/views/welcome-view.js.map +0 -1
package/dist/app.js DELETED
@@ -1,318 +0,0 @@
1
- /**
2
- * Application Orchestrator
3
- *
4
- * Main application class that coordinates all modules.
5
- */
6
- import { resolve } from 'path';
7
- import { getLogger, AppError } from './utils';
8
- import { loadConfig } from './config';
9
- import { detectPlatform, isTmuxAvailable, isGitAvailable, getWorktreesDir } from './platform';
10
- import { createEventBus, setEventBus, getEventBus } from './events';
11
- import { createStore, setStore, getStore, createInitialState } from './state';
12
- import { createMultiplexer } from './multiplexer';
13
- import { createWorkspaceManager } from './core';
14
- import { createCanvas, getInputManager, resetInputManager, enterAlternateScreen, exitAlternateScreen, showCursor, hideCursor, enableMouse, disableMouse, } from './ui';
15
- const logger = getLogger().child('app');
16
- // ============================================================================
17
- // Application Class
18
- // ============================================================================
19
- export class App {
20
- options;
21
- config = null;
22
- multiplexer = null;
23
- workspaceManager = null;
24
- canvas = null;
25
- running = false;
26
- stdout;
27
- constructor(options) {
28
- this.options = {
29
- ...options,
30
- projectPath: resolve(options.projectPath),
31
- };
32
- this.stdout = process.stdout;
33
- }
34
- /**
35
- * Initialize and start the application
36
- */
37
- async start() {
38
- logger.info('Starting application', { projectPath: this.options.projectPath });
39
- try {
40
- // Initialize in correct order
41
- await this.initializeConfig();
42
- await this.initializePlatform();
43
- await this.initializeEventBus();
44
- await this.initializeState();
45
- await this.initializeMultiplexer();
46
- await this.initializeWorkspace();
47
- await this.initializeUI();
48
- // Start the main loop
49
- this.running = true;
50
- await this.run();
51
- }
52
- catch (error) {
53
- await this.handleFatalError(error);
54
- throw error;
55
- }
56
- }
57
- /**
58
- * Stop the application gracefully
59
- */
60
- async stop(reason = 'user') {
61
- if (!this.running)
62
- return;
63
- logger.info('Stopping application', { reason });
64
- this.running = false;
65
- // Clean up in reverse order
66
- await this.cleanupUI();
67
- await this.cleanupWorkspace(reason);
68
- await this.cleanupMultiplexer();
69
- logger.info('Application stopped');
70
- }
71
- // ============================================================================
72
- // Initialization
73
- // ============================================================================
74
- async initializeConfig() {
75
- logger.debug('Initializing configuration');
76
- // Build config overrides from options
77
- const overrides = {};
78
- if (this.options.debug) {
79
- overrides.debug = { enabled: true };
80
- }
81
- if (this.options.skipPermissions) {
82
- overrides.claude = { skipPermissions: true };
83
- }
84
- this.config = loadConfig(overrides);
85
- }
86
- async initializePlatform() {
87
- logger.debug('Checking platform requirements');
88
- const platform = detectPlatform();
89
- logger.debug('Detected platform', { platform });
90
- // Check for git
91
- if (!isGitAvailable()) {
92
- throw new AppError('Git is not installed or not in PATH', 'MISSING_GIT');
93
- }
94
- // Check for tmux
95
- if (!isTmuxAvailable()) {
96
- throw new AppError('tmux is not installed or not in PATH', 'MISSING_TMUX');
97
- }
98
- }
99
- async initializeEventBus() {
100
- logger.debug('Initializing event bus');
101
- const eventBus = createEventBus();
102
- setEventBus(eventBus);
103
- }
104
- async initializeState() {
105
- logger.debug('Initializing state store');
106
- const store = createStore({ initialState: createInitialState() });
107
- setStore(store);
108
- }
109
- async initializeMultiplexer() {
110
- logger.debug('Initializing multiplexer');
111
- this.multiplexer = createMultiplexer(this.config.multiplexer);
112
- await this.multiplexer.initialize();
113
- logger.debug('Multiplexer initialized', { type: this.multiplexer.name });
114
- }
115
- async initializeWorkspace() {
116
- logger.debug('Initializing workspace');
117
- const worktreesBasePath = this.config.worktrees?.basePath || getWorktreesDir();
118
- this.workspaceManager = createWorkspaceManager(this.multiplexer, worktreesBasePath);
119
- // Create or attach to tmux session
120
- const sessionName = this.generateSessionName();
121
- let multiplexerSessionId;
122
- if (await this.multiplexer.sessionExists(sessionName)) {
123
- // Attach to existing session
124
- logger.info('Attaching to existing session', { sessionName });
125
- await this.multiplexer.attachSession(sessionName);
126
- multiplexerSessionId = sessionName;
127
- }
128
- else {
129
- // Create new session
130
- logger.info('Creating new session', { sessionName });
131
- multiplexerSessionId = await this.multiplexer.createSession({
132
- name: sessionName,
133
- cwd: this.options.projectPath,
134
- });
135
- }
136
- // Initialize workspace
137
- await this.workspaceManager.initialize(this.options.projectPath, multiplexerSessionId);
138
- }
139
- async initializeUI() {
140
- logger.debug('Initializing UI');
141
- // Enter alternate screen
142
- this.stdout.write(enterAlternateScreen());
143
- this.stdout.write(hideCursor());
144
- this.stdout.write(enableMouse());
145
- // Create canvas
146
- const { columns, rows } = this.stdout;
147
- this.canvas = createCanvas(columns || 80, rows || 24);
148
- // Set up input handling
149
- const inputManager = getInputManager();
150
- inputManager.start(true);
151
- // Set up resize handler
152
- this.stdout.on('resize', () => {
153
- const { columns, rows } = this.stdout;
154
- this.canvas?.resize(columns || 80, rows || 24);
155
- this.render();
156
- });
157
- // Set up event handlers
158
- this.setupEventHandlers();
159
- }
160
- // ============================================================================
161
- // Cleanup
162
- // ============================================================================
163
- async cleanupUI() {
164
- logger.debug('Cleaning up UI');
165
- // Stop input handling
166
- resetInputManager();
167
- // Exit alternate screen
168
- this.stdout.write(disableMouse());
169
- this.stdout.write(showCursor());
170
- this.stdout.write(exitAlternateScreen());
171
- }
172
- async cleanupWorkspace(reason) {
173
- logger.debug('Cleaning up workspace');
174
- if (this.workspaceManager) {
175
- if (reason === 'detach') {
176
- // Don't kill sessions on detach
177
- logger.info('Detaching from workspace');
178
- }
179
- else {
180
- await this.workspaceManager.shutdown(reason);
181
- }
182
- }
183
- }
184
- async cleanupMultiplexer() {
185
- logger.debug('Cleaning up multiplexer');
186
- if (this.multiplexer) {
187
- await this.multiplexer.shutdown();
188
- }
189
- }
190
- // ============================================================================
191
- // Main Loop
192
- // ============================================================================
193
- async run() {
194
- logger.debug('Starting main loop');
195
- const eventBus = getEventBus();
196
- // Set up key event handler
197
- eventBus.on('ui:key', (event) => {
198
- if (!this.running)
199
- return;
200
- this.handleKeyEvent(event);
201
- });
202
- // Initial render
203
- this.render();
204
- // Keep running until stopped
205
- // In a real implementation, this would be handled by the event loop
206
- // For now, we just wait
207
- while (this.running) {
208
- await new Promise((resolve) => setTimeout(resolve, 100));
209
- }
210
- }
211
- // ============================================================================
212
- // Event Handling
213
- // ============================================================================
214
- setupEventHandlers() {
215
- const eventBus = getEventBus();
216
- // Re-render on state changes
217
- const store = getStore();
218
- store.subscribe(() => {
219
- if (this.running) {
220
- this.render();
221
- }
222
- });
223
- // Handle quit events
224
- eventBus.on('app:shutdown', async (event) => {
225
- await this.stop(event.reason);
226
- });
227
- }
228
- handleKeyEvent(event) {
229
- const key = event.key.toLowerCase();
230
- // Global quit handling
231
- if (key === 'ctrl+q' || key === 'q') {
232
- this.stop('user');
233
- return;
234
- }
235
- // Global detach handling
236
- if (key === 'ctrl+d' || key === 'd') {
237
- this.stop('detach');
238
- return;
239
- }
240
- // Re-render after key events
241
- this.render();
242
- }
243
- // ============================================================================
244
- // Rendering
245
- // ============================================================================
246
- render() {
247
- if (!this.canvas || !this.running)
248
- return;
249
- // Clear canvas
250
- this.canvas.clear();
251
- // Get current state
252
- const state = getStore().getState();
253
- const workspace = state.workspace;
254
- // Render based on state
255
- if (!workspace || workspace.worktrees.length === 0) {
256
- this.renderWelcome();
257
- }
258
- else {
259
- this.renderMain();
260
- }
261
- // Flush to screen
262
- this.canvas.flush(this.stdout, false);
263
- }
264
- renderWelcome() {
265
- // Simple welcome screen
266
- const { width, height } = this.canvas;
267
- const title = 'Claude Code++';
268
- const subtitle = 'Press n to create a session, q to quit';
269
- const titleX = Math.floor((width - title.length) / 2);
270
- const subtitleX = Math.floor((width - subtitle.length) / 2);
271
- const centerY = Math.floor(height / 2);
272
- this.canvas.drawText(titleX, centerY - 1, title, { bold: true });
273
- this.canvas.drawText(subtitleX, centerY + 1, subtitle, {});
274
- }
275
- renderMain() {
276
- // Main application rendering
277
- // This would use the sidebar, terminal bar, etc.
278
- // For now, just show a basic layout
279
- const { width, height } = this.canvas;
280
- // Draw sidebar border
281
- for (let y = 0; y < height; y++) {
282
- this.canvas.setCell(30, y, '│', {});
283
- }
284
- // Draw title
285
- this.canvas.drawText(1, 0, 'Worktrees', { bold: true });
286
- // Draw help at bottom
287
- this.canvas.drawText(1, height - 1, 'q:quit d:detach n:new ?:help', {});
288
- }
289
- // ============================================================================
290
- // Helpers
291
- // ============================================================================
292
- generateSessionName() {
293
- const projectName = this.options.projectPath.split('/').pop() || 'project';
294
- return `claude-plus-${projectName}`;
295
- }
296
- async handleFatalError(error) {
297
- logger.error('Fatal error', error instanceof Error ? error : new Error(String(error)));
298
- // Try to clean up
299
- try {
300
- await this.stop('error');
301
- }
302
- catch {
303
- // Ignore cleanup errors
304
- }
305
- }
306
- }
307
- // ============================================================================
308
- // Factory
309
- // ============================================================================
310
- /**
311
- * Create and start the application
312
- */
313
- export async function createApp(options) {
314
- const app = new App(options);
315
- await app.start();
316
- return app;
317
- }
318
- //# sourceMappingURL=app.js.map
package/dist/app.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"app.js","sourceRoot":"","sources":["../src/app.ts"],"names":[],"mappings":"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"}
@@ -1,14 +0,0 @@
1
- /**
2
- * Core Module
3
- *
4
- * Domain entities and managers for the application.
5
- */
6
- export { createSession, generateSessionTitle, cloneSession, hasTerminals, getActiveTerminal, getTerminalByIndex, getTerminalById, SessionManager, createSessionManager, } from './session';
7
- export type { CreateSessionOptions } from './session';
8
- export { createTerminal, generateTerminalTitle, cloneTerminal, TerminalManager, createTerminalManager, } from './terminal';
9
- export type { CreateTerminalOptions } from './terminal';
10
- export { createWorktree, worktreeFromInfo, worktreesFromInfoList, hasSessions, getSessionCount, WorktreeManager, createWorktreeManager, } from './worktree';
11
- export type { CreateWorktreeOptions } from './worktree';
12
- export { createWorkspace, addWorktreeToWorkspace, removeWorktreeFromWorkspace, getActiveSession, getMainWorktree, getAllSessions, getTotalSessionCount, findWorktreeBySessionId, findWorktreeByBranch, findWorktreeById, WorkspaceManager, createWorkspaceManager, } from './workspace';
13
- export type { CreateWorkspaceOptions } from './workspace';
14
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,oBAAoB,GACrB,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAGtD,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,eAAe,EACf,qBAAqB,GACtB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAGxD,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,WAAW,EACX,eAAe,EACf,eAAe,EACf,qBAAqB,GACtB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAGxD,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,2BAA2B,EAC3B,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC"}
@@ -1,14 +0,0 @@
1
- /**
2
- * Core Module
3
- *
4
- * Domain entities and managers for the application.
5
- */
6
- // Session
7
- export { createSession, generateSessionTitle, cloneSession, hasTerminals, getActiveTerminal, getTerminalByIndex, getTerminalById, SessionManager, createSessionManager, } from './session';
8
- // Terminal
9
- export { createTerminal, generateTerminalTitle, cloneTerminal, TerminalManager, createTerminalManager, } from './terminal';
10
- // Worktree
11
- export { createWorktree, worktreeFromInfo, worktreesFromInfoList, hasSessions, getSessionCount, WorktreeManager, createWorktreeManager, } from './worktree';
12
- // Workspace
13
- export { createWorkspace, addWorktreeToWorkspace, removeWorktreeFromWorkspace, getActiveSession, getMainWorktree, getAllSessions, getTotalSessionCount, findWorktreeBySessionId, findWorktreeByBranch, findWorktreeById, WorkspaceManager, createWorkspaceManager, } from './workspace';
14
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,UAAU;AACV,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,EACf,cAAc,EACd,oBAAoB,GACrB,MAAM,WAAW,CAAC;AAGnB,WAAW;AACX,OAAO,EACL,cAAc,EACd,qBAAqB,EACrB,aAAa,EACb,eAAe,EACf,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAGpB,WAAW;AACX,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,WAAW,EACX,eAAe,EACf,eAAe,EACf,qBAAqB,GACtB,MAAM,YAAY,CAAC;AAGpB,YAAY;AACZ,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,2BAA2B,EAC3B,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,gBAAgB,EAChB,gBAAgB,EAChB,sBAAsB,GACvB,MAAM,aAAa,CAAC"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Session Module
3
- */
4
- export { createSession, generateSessionTitle, cloneSession, hasTerminals, getActiveTerminal, getTerminalByIndex, getTerminalById, } from './session';
5
- export type { CreateSessionOptions } from './session';
6
- export { SessionManager, createSessionManager } from './session-manager';
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/session/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,GAChB,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,oBAAoB,EAAE,MAAM,WAAW,CAAC;AAEtD,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Session Module
3
- */
4
- export { createSession, generateSessionTitle, cloneSession, hasTerminals, getActiveTerminal, getTerminalByIndex, getTerminalById, } from './session';
5
- export { SessionManager, createSessionManager } from './session-manager';
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/session/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,aAAa,EACb,oBAAoB,EACpB,YAAY,EACZ,YAAY,EACZ,iBAAiB,EACjB,kBAAkB,EAClB,eAAe,GAChB,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,46 +0,0 @@
1
- /**
2
- * Session Manager
3
- *
4
- * Manages the lifecycle of Claude Code sessions.
5
- */
6
- import type { Session, IMultiplexer } from '../../types';
7
- /**
8
- * Session manager class
9
- */
10
- export declare class SessionManager {
11
- private multiplexer;
12
- constructor(multiplexer: IMultiplexer);
13
- /**
14
- * Create a new session for a worktree
15
- */
16
- create(worktreeId: string, worktreePath: string, branch: string, options?: {
17
- title?: string;
18
- existingPaneId?: string;
19
- targetPaneId?: string;
20
- }): Promise<Session>;
21
- /**
22
- * Delete a session
23
- */
24
- delete(sessionId: string): Promise<void>;
25
- /**
26
- * Switch to a session (make it visible)
27
- */
28
- activate(sessionId: string, sidebarPaneId: string): Promise<void>;
29
- /**
30
- * Hide a session's panes (move to background)
31
- */
32
- private hideSession;
33
- /**
34
- * Rename a session
35
- */
36
- rename(sessionId: string, title: string): void;
37
- /**
38
- * Update session pane IDs
39
- */
40
- updatePanes(sessionId: string, panes: Partial<Session['panes']>): void;
41
- }
42
- /**
43
- * Create a session manager
44
- */
45
- export declare function createSessionManager(multiplexer: IMultiplexer): SessionManager;
46
- //# sourceMappingURL=session-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"session-manager.d.ts","sourceRoot":"","sources":["../../../src/core/session/session-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAY,YAAY,EAAE,MAAM,aAAa,CAAC;AASnE;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,WAAW,CAAe;gBAEtB,WAAW,EAAE,YAAY;IAIrC;;OAEG;IACG,MAAM,CACV,UAAU,EAAE,MAAM,EAClB,YAAY,EAAE,MAAM,EACpB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;QACP,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,CAAC;KAClB,GACL,OAAO,CAAC,OAAO,CAAC;IAwDnB;;OAEG;IACG,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA6D9C;;OAEG;IACG,QAAQ,CACZ,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,MAAM,GACpB,OAAO,CAAC,IAAI,CAAC;IA4ChB;;OAEG;YACW,WAAW;IA0CzB;;OAEG;IACH,MAAM,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,GAAG,IAAI;IA0B9C;;OAEG;IACH,WAAW,CACT,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,OAAO,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,GAC/B,IAAI;CAIR;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,YAAY,GAAG,cAAc,CAE9E"}