claude-code-plus-plus 0.2.0 → 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 (441) hide show
  1. package/dist/cli/commands/index.js +5 -1
  2. package/dist/cli/commands/index.js.map +1 -1
  3. package/dist/cli/commands/start.js +4 -1
  4. package/dist/cli/commands/start.js.map +1 -1
  5. package/dist/cli/index.js +18 -3
  6. package/dist/cli/index.js.map +1 -1
  7. package/dist/cli/parser.js +8 -3
  8. package/dist/cli/parser.js.map +1 -1
  9. package/dist/cli/validators.js +30 -20
  10. package/dist/cli/validators.js.map +1 -1
  11. package/dist/config/defaults.js +10 -5
  12. package/dist/config/defaults.js.map +1 -1
  13. package/dist/config/index.js +24 -4
  14. package/dist/config/index.js.map +1 -1
  15. package/dist/config/loader.js +29 -20
  16. package/dist/config/loader.js.map +1 -1
  17. package/dist/config/paths.js +30 -21
  18. package/dist/config/paths.js.map +1 -1
  19. package/dist/config/schema.js +6 -2
  20. package/dist/config/schema.js.map +1 -1
  21. package/dist/git/index.js +6 -1
  22. package/dist/git/index.js.map +1 -1
  23. package/dist/git/worktree.js +18 -13
  24. package/dist/git/worktree.js.map +1 -1
  25. package/dist/index.js +41 -6
  26. package/dist/index.js.map +1 -1
  27. package/dist/launcher/index.d.ts.map +1 -1
  28. package/dist/launcher/index.js +60 -26
  29. package/dist/launcher/index.js.map +1 -1
  30. package/dist/platform/clipboard.js +22 -15
  31. package/dist/platform/clipboard.js.map +1 -1
  32. package/dist/platform/detector.js +37 -22
  33. package/dist/platform/detector.js.map +1 -1
  34. package/dist/platform/index.js +42 -4
  35. package/dist/platform/index.js.map +1 -1
  36. package/dist/platform/paths.js +61 -48
  37. package/dist/platform/paths.js.map +1 -1
  38. package/dist/platform/shell.js +35 -27
  39. package/dist/platform/shell.js.map +1 -1
  40. package/dist/sidebar/app.d.ts.map +1 -1
  41. package/dist/sidebar/app.js +73 -39
  42. package/dist/sidebar/app.js.map +1 -1
  43. package/dist/sidebar/index.js +4 -2
  44. package/dist/sidebar/index.js.map +1 -1
  45. package/dist/sidebar/input.js +12 -5
  46. package/dist/sidebar/input.js.map +1 -1
  47. package/dist/sidebar/render.js +102 -90
  48. package/dist/sidebar/render.js.map +1 -1
  49. package/dist/terminal/bar-handler.js +9 -7
  50. package/dist/terminal/bar-handler.js.map +1 -1
  51. package/dist/terminal/bar-render.js +6 -2
  52. package/dist/terminal/bar-render.js.map +1 -1
  53. package/dist/terminal/index.js +6 -1
  54. package/dist/terminal/index.js.map +1 -1
  55. package/dist/tmux/commands.js +18 -11
  56. package/dist/tmux/commands.js.map +1 -1
  57. package/dist/tmux/index.js +33 -7
  58. package/dist/tmux/index.js.map +1 -1
  59. package/dist/tmux/pane.js +76 -51
  60. package/dist/tmux/pane.js.map +1 -1
  61. package/dist/types.js +4 -1
  62. package/dist/types.js.map +1 -1
  63. package/dist/utils/async.js +16 -7
  64. package/dist/utils/async.js.map +1 -1
  65. package/dist/utils/errors.js +31 -14
  66. package/dist/utils/errors.js.map +1 -1
  67. package/dist/utils/id.js +19 -10
  68. package/dist/utils/id.js.map +1 -1
  69. package/dist/utils/index.js +65 -6
  70. package/dist/utils/index.js.map +1 -1
  71. package/dist/utils/logger.js +17 -10
  72. package/dist/utils/logger.js.map +1 -1
  73. package/dist/utils/string.js +22 -10
  74. package/dist/utils/string.js.map +1 -1
  75. package/dist/utils/validation.js +28 -13
  76. package/dist/utils/validation.js.map +1 -1
  77. package/package.json +4 -4
  78. package/dist/app.d.ts +0 -52
  79. package/dist/app.d.ts.map +0 -1
  80. package/dist/app.js +0 -318
  81. package/dist/app.js.map +0 -1
  82. package/dist/core/index.d.ts +0 -14
  83. package/dist/core/index.d.ts.map +0 -1
  84. package/dist/core/index.js +0 -14
  85. package/dist/core/index.js.map +0 -1
  86. package/dist/core/session/index.d.ts +0 -7
  87. package/dist/core/session/index.d.ts.map +0 -1
  88. package/dist/core/session/index.js +0 -6
  89. package/dist/core/session/index.js.map +0 -1
  90. package/dist/core/session/session-manager.d.ts +0 -46
  91. package/dist/core/session/session-manager.d.ts.map +0 -1
  92. package/dist/core/session/session-manager.js +0 -245
  93. package/dist/core/session/session-manager.js.map +0 -1
  94. package/dist/core/session/session.d.ts +0 -44
  95. package/dist/core/session/session.d.ts.map +0 -1
  96. package/dist/core/session/session.js +0 -78
  97. package/dist/core/session/session.js.map +0 -1
  98. package/dist/core/terminal/index.d.ts +0 -7
  99. package/dist/core/terminal/index.d.ts.map +0 -1
  100. package/dist/core/terminal/index.js +0 -6
  101. package/dist/core/terminal/index.js.map +0 -1
  102. package/dist/core/terminal/terminal-manager.d.ts +0 -36
  103. package/dist/core/terminal/terminal-manager.d.ts.map +0 -1
  104. package/dist/core/terminal/terminal-manager.js +0 -182
  105. package/dist/core/terminal/terminal-manager.js.map +0 -1
  106. package/dist/core/terminal/terminal.d.ts +0 -27
  107. package/dist/core/terminal/terminal.d.ts.map +0 -1
  108. package/dist/core/terminal/terminal.js +0 -38
  109. package/dist/core/terminal/terminal.js.map +0 -1
  110. package/dist/core/workspace/index.d.ts +0 -7
  111. package/dist/core/workspace/index.d.ts.map +0 -1
  112. package/dist/core/workspace/index.js +0 -6
  113. package/dist/core/workspace/index.js.map +0 -1
  114. package/dist/core/workspace/workspace-manager.d.ts +0 -59
  115. package/dist/core/workspace/workspace-manager.d.ts.map +0 -1
  116. package/dist/core/workspace/workspace-manager.js +0 -224
  117. package/dist/core/workspace/workspace-manager.js.map +0 -1
  118. package/dist/core/workspace/workspace.d.ts +0 -56
  119. package/dist/core/workspace/workspace.d.ts.map +0 -1
  120. package/dist/core/workspace/workspace.js +0 -96
  121. package/dist/core/workspace/workspace.js.map +0 -1
  122. package/dist/core/worktree/index.d.ts +0 -7
  123. package/dist/core/worktree/index.d.ts.map +0 -1
  124. package/dist/core/worktree/index.js +0 -6
  125. package/dist/core/worktree/index.js.map +0 -1
  126. package/dist/core/worktree/worktree-manager.d.ts +0 -47
  127. package/dist/core/worktree/worktree-manager.d.ts.map +0 -1
  128. package/dist/core/worktree/worktree-manager.js +0 -170
  129. package/dist/core/worktree/worktree-manager.js.map +0 -1
  130. package/dist/core/worktree/worktree.d.ts +0 -35
  131. package/dist/core/worktree/worktree.d.ts.map +0 -1
  132. package/dist/core/worktree/worktree.js +0 -50
  133. package/dist/core/worktree/worktree.js.map +0 -1
  134. package/dist/core/worktree-manager.d.ts +0 -26
  135. package/dist/core/worktree-manager.d.ts.map +0 -1
  136. package/dist/core/worktree-manager.js +0 -177
  137. package/dist/core/worktree-manager.js.map +0 -1
  138. package/dist/events/bus.d.ts +0 -76
  139. package/dist/events/bus.d.ts.map +0 -1
  140. package/dist/events/bus.js +0 -223
  141. package/dist/events/bus.js.map +0 -1
  142. package/dist/events/handlers/index.d.ts +0 -28
  143. package/dist/events/handlers/index.d.ts.map +0 -1
  144. package/dist/events/handlers/index.js +0 -44
  145. package/dist/events/handlers/index.js.map +0 -1
  146. package/dist/events/handlers/session-events.d.ts +0 -12
  147. package/dist/events/handlers/session-events.d.ts.map +0 -1
  148. package/dist/events/handlers/session-events.js +0 -38
  149. package/dist/events/handlers/session-events.js.map +0 -1
  150. package/dist/events/handlers/terminal-events.d.ts +0 -12
  151. package/dist/events/handlers/terminal-events.d.ts.map +0 -1
  152. package/dist/events/handlers/terminal-events.js +0 -37
  153. package/dist/events/handlers/terminal-events.js.map +0 -1
  154. package/dist/events/handlers/ui-events.d.ts +0 -11
  155. package/dist/events/handlers/ui-events.d.ts.map +0 -1
  156. package/dist/events/handlers/ui-events.js +0 -202
  157. package/dist/events/handlers/ui-events.js.map +0 -1
  158. package/dist/events/index.d.ts +0 -9
  159. package/dist/events/index.d.ts.map +0 -1
  160. package/dist/events/index.js +0 -10
  161. package/dist/events/index.js.map +0 -1
  162. package/dist/multiplexer/base.d.ts +0 -73
  163. package/dist/multiplexer/base.d.ts.map +0 -1
  164. package/dist/multiplexer/base.js +0 -68
  165. package/dist/multiplexer/base.js.map +0 -1
  166. package/dist/multiplexer/factory.d.ts +0 -28
  167. package/dist/multiplexer/factory.d.ts.map +0 -1
  168. package/dist/multiplexer/factory.js +0 -72
  169. package/dist/multiplexer/factory.js.map +0 -1
  170. package/dist/multiplexer/index.d.ts +0 -14
  171. package/dist/multiplexer/index.d.ts.map +0 -1
  172. package/dist/multiplexer/index.js +0 -15
  173. package/dist/multiplexer/index.js.map +0 -1
  174. package/dist/multiplexer/tmux/index.d.ts +0 -9
  175. package/dist/multiplexer/tmux/index.d.ts.map +0 -1
  176. package/dist/multiplexer/tmux/index.js +0 -7
  177. package/dist/multiplexer/tmux/index.js.map +0 -1
  178. package/dist/multiplexer/tmux/tmux-commands.d.ts +0 -96
  179. package/dist/multiplexer/tmux/tmux-commands.d.ts.map +0 -1
  180. package/dist/multiplexer/tmux/tmux-commands.js +0 -282
  181. package/dist/multiplexer/tmux/tmux-commands.js.map +0 -1
  182. package/dist/multiplexer/tmux/tmux-config.d.ts +0 -57
  183. package/dist/multiplexer/tmux/tmux-config.d.ts.map +0 -1
  184. package/dist/multiplexer/tmux/tmux-config.js +0 -103
  185. package/dist/multiplexer/tmux/tmux-config.js.map +0 -1
  186. package/dist/multiplexer/tmux/tmux-multiplexer.d.ts +0 -94
  187. package/dist/multiplexer/tmux/tmux-multiplexer.d.ts.map +0 -1
  188. package/dist/multiplexer/tmux/tmux-multiplexer.js +0 -302
  189. package/dist/multiplexer/tmux/tmux-multiplexer.js.map +0 -1
  190. package/dist/multiplexer/windows/index.d.ts +0 -5
  191. package/dist/multiplexer/windows/index.d.ts.map +0 -1
  192. package/dist/multiplexer/windows/index.js +0 -5
  193. package/dist/multiplexer/windows/index.js.map +0 -1
  194. package/dist/multiplexer/windows/windows-multiplexer.d.ts +0 -61
  195. package/dist/multiplexer/windows/windows-multiplexer.d.ts.map +0 -1
  196. package/dist/multiplexer/windows/windows-multiplexer.js +0 -151
  197. package/dist/multiplexer/windows/windows-multiplexer.js.map +0 -1
  198. package/dist/services/claude/claude-detector.d.ts +0 -37
  199. package/dist/services/claude/claude-detector.d.ts.map +0 -1
  200. package/dist/services/claude/claude-detector.js +0 -83
  201. package/dist/services/claude/claude-detector.js.map +0 -1
  202. package/dist/services/claude/claude-service.d.ts +0 -57
  203. package/dist/services/claude/claude-service.d.ts.map +0 -1
  204. package/dist/services/claude/claude-service.js +0 -108
  205. package/dist/services/claude/claude-service.js.map +0 -1
  206. package/dist/services/claude/index.d.ts +0 -7
  207. package/dist/services/claude/index.d.ts.map +0 -1
  208. package/dist/services/claude/index.js +0 -6
  209. package/dist/services/claude/index.js.map +0 -1
  210. package/dist/services/git/branch-service.d.ts +0 -64
  211. package/dist/services/git/branch-service.d.ts.map +0 -1
  212. package/dist/services/git/branch-service.js +0 -217
  213. package/dist/services/git/branch-service.js.map +0 -1
  214. package/dist/services/git/git-service.d.ts +0 -44
  215. package/dist/services/git/git-service.d.ts.map +0 -1
  216. package/dist/services/git/git-service.js +0 -145
  217. package/dist/services/git/git-service.js.map +0 -1
  218. package/dist/services/git/index.d.ts +0 -8
  219. package/dist/services/git/index.d.ts.map +0 -1
  220. package/dist/services/git/index.js +0 -7
  221. package/dist/services/git/index.js.map +0 -1
  222. package/dist/services/git/worktree-service.d.ts +0 -61
  223. package/dist/services/git/worktree-service.d.ts.map +0 -1
  224. package/dist/services/git/worktree-service.js +0 -243
  225. package/dist/services/git/worktree-service.js.map +0 -1
  226. package/dist/services/index.d.ts +0 -12
  227. package/dist/services/index.d.ts.map +0 -1
  228. package/dist/services/index.js +0 -12
  229. package/dist/services/index.js.map +0 -1
  230. package/dist/services/process/index.d.ts +0 -8
  231. package/dist/services/process/index.d.ts.map +0 -1
  232. package/dist/services/process/index.js +0 -6
  233. package/dist/services/process/index.js.map +0 -1
  234. package/dist/services/process/process-monitor.d.ts +0 -98
  235. package/dist/services/process/process-monitor.d.ts.map +0 -1
  236. package/dist/services/process/process-monitor.js +0 -173
  237. package/dist/services/process/process-monitor.js.map +0 -1
  238. package/dist/services/process/process-spawner.d.ts +0 -55
  239. package/dist/services/process/process-spawner.d.ts.map +0 -1
  240. package/dist/services/process/process-spawner.js +0 -93
  241. package/dist/services/process/process-spawner.js.map +0 -1
  242. package/dist/sidebar.d.ts +0 -13
  243. package/dist/sidebar.d.ts.map +0 -1
  244. package/dist/sidebar.js +0 -1535
  245. package/dist/sidebar.js.map +0 -1
  246. package/dist/state/actions.d.ts +0 -49
  247. package/dist/state/actions.d.ts.map +0 -1
  248. package/dist/state/actions.js +0 -512
  249. package/dist/state/actions.js.map +0 -1
  250. package/dist/state/index.d.ts +0 -16
  251. package/dist/state/index.d.ts.map +0 -1
  252. package/dist/state/index.js +0 -28
  253. package/dist/state/index.js.map +0 -1
  254. package/dist/state/middleware/index.d.ts +0 -7
  255. package/dist/state/middleware/index.d.ts.map +0 -1
  256. package/dist/state/middleware/index.js +0 -6
  257. package/dist/state/middleware/index.js.map +0 -1
  258. package/dist/state/middleware/logger.d.ts +0 -22
  259. package/dist/state/middleware/logger.d.ts.map +0 -1
  260. package/dist/state/middleware/logger.js +0 -45
  261. package/dist/state/middleware/logger.js.map +0 -1
  262. package/dist/state/middleware/persistence.d.ts +0 -29
  263. package/dist/state/middleware/persistence.d.ts.map +0 -1
  264. package/dist/state/middleware/persistence.js +0 -71
  265. package/dist/state/middleware/persistence.js.map +0 -1
  266. package/dist/state/persistence/file-adapter.d.ts +0 -48
  267. package/dist/state/persistence/file-adapter.d.ts.map +0 -1
  268. package/dist/state/persistence/file-adapter.js +0 -96
  269. package/dist/state/persistence/file-adapter.js.map +0 -1
  270. package/dist/state/persistence/index.d.ts +0 -8
  271. package/dist/state/persistence/index.d.ts.map +0 -1
  272. package/dist/state/persistence/index.js +0 -6
  273. package/dist/state/persistence/index.js.map +0 -1
  274. package/dist/state/persistence/serializer.d.ts +0 -41
  275. package/dist/state/persistence/serializer.d.ts.map +0 -1
  276. package/dist/state/persistence/serializer.js +0 -114
  277. package/dist/state/persistence/serializer.js.map +0 -1
  278. package/dist/state/selectors.d.ts +0 -67
  279. package/dist/state/selectors.d.ts.map +0 -1
  280. package/dist/state/selectors.js +0 -177
  281. package/dist/state/selectors.js.map +0 -1
  282. package/dist/state/store.d.ts +0 -86
  283. package/dist/state/store.d.ts.map +0 -1
  284. package/dist/state/store.js +0 -161
  285. package/dist/state/store.js.map +0 -1
  286. package/dist/state/types.d.ts +0 -269
  287. package/dist/state/types.d.ts.map +0 -1
  288. package/dist/state/types.js +0 -7
  289. package/dist/state/types.js.map +0 -1
  290. package/dist/state.d.ts +0 -53
  291. package/dist/state.d.ts.map +0 -1
  292. package/dist/state.js +0 -101
  293. package/dist/state.js.map +0 -1
  294. package/dist/terminal-manager.d.ts +0 -16
  295. package/dist/terminal-manager.d.ts.map +0 -1
  296. package/dist/terminal-manager.js +0 -364
  297. package/dist/terminal-manager.js.map +0 -1
  298. package/dist/tmux.d.ts +0 -163
  299. package/dist/tmux.d.ts.map +0 -1
  300. package/dist/tmux.js +0 -360
  301. package/dist/tmux.js.map +0 -1
  302. package/dist/types/config.d.ts +0 -103
  303. package/dist/types/config.d.ts.map +0 -1
  304. package/dist/types/config.js +0 -7
  305. package/dist/types/config.js.map +0 -1
  306. package/dist/types/entities.d.ts +0 -88
  307. package/dist/types/entities.d.ts.map +0 -1
  308. package/dist/types/entities.js +0 -8
  309. package/dist/types/entities.js.map +0 -1
  310. package/dist/types/events.d.ts +0 -156
  311. package/dist/types/events.d.ts.map +0 -1
  312. package/dist/types/events.js +0 -8
  313. package/dist/types/events.js.map +0 -1
  314. package/dist/types/index.d.ts +0 -11
  315. package/dist/types/index.d.ts.map +0 -1
  316. package/dist/types/index.js +0 -8
  317. package/dist/types/index.js.map +0 -1
  318. package/dist/types/multiplexer.d.ts +0 -238
  319. package/dist/types/multiplexer.d.ts.map +0 -1
  320. package/dist/types/multiplexer.js +0 -8
  321. package/dist/types/multiplexer.js.map +0 -1
  322. package/dist/ui/components/base.d.ts +0 -155
  323. package/dist/ui/components/base.d.ts.map +0 -1
  324. package/dist/ui/components/base.js +0 -269
  325. package/dist/ui/components/base.js.map +0 -1
  326. package/dist/ui/components/index.d.ts +0 -10
  327. package/dist/ui/components/index.d.ts.map +0 -1
  328. package/dist/ui/components/index.js +0 -10
  329. package/dist/ui/components/index.js.map +0 -1
  330. package/dist/ui/components/input-field.d.ts +0 -98
  331. package/dist/ui/components/input-field.d.ts.map +0 -1
  332. package/dist/ui/components/input-field.js +0 -274
  333. package/dist/ui/components/input-field.js.map +0 -1
  334. package/dist/ui/components/list.d.ts +0 -94
  335. package/dist/ui/components/list.d.ts.map +0 -1
  336. package/dist/ui/components/list.js +0 -294
  337. package/dist/ui/components/list.js.map +0 -1
  338. package/dist/ui/components/modal.d.ts +0 -83
  339. package/dist/ui/components/modal.d.ts.map +0 -1
  340. package/dist/ui/components/modal.js +0 -249
  341. package/dist/ui/components/modal.js.map +0 -1
  342. package/dist/ui/components/tabs.d.ts +0 -97
  343. package/dist/ui/components/tabs.d.ts.map +0 -1
  344. package/dist/ui/components/tabs.js +0 -252
  345. package/dist/ui/components/tabs.js.map +0 -1
  346. package/dist/ui/components/text.d.ts +0 -60
  347. package/dist/ui/components/text.d.ts.map +0 -1
  348. package/dist/ui/components/text.js +0 -224
  349. package/dist/ui/components/text.js.map +0 -1
  350. package/dist/ui/index.d.ts +0 -12
  351. package/dist/ui/index.d.ts.map +0 -1
  352. package/dist/ui/index.js +0 -18
  353. package/dist/ui/index.js.map +0 -1
  354. package/dist/ui/input/index.d.ts +0 -8
  355. package/dist/ui/input/index.d.ts.map +0 -1
  356. package/dist/ui/input/index.js +0 -8
  357. package/dist/ui/input/index.js.map +0 -1
  358. package/dist/ui/input/input-manager.d.ts +0 -83
  359. package/dist/ui/input/input-manager.d.ts.map +0 -1
  360. package/dist/ui/input/input-manager.js +0 -200
  361. package/dist/ui/input/input-manager.js.map +0 -1
  362. package/dist/ui/input/keybindings.d.ts +0 -47
  363. package/dist/ui/input/keybindings.d.ts.map +0 -1
  364. package/dist/ui/input/keybindings.js +0 -168
  365. package/dist/ui/input/keybindings.js.map +0 -1
  366. package/dist/ui/input/keyboard.d.ts +0 -24
  367. package/dist/ui/input/keyboard.d.ts.map +0 -1
  368. package/dist/ui/input/keyboard.js +0 -230
  369. package/dist/ui/input/keyboard.js.map +0 -1
  370. package/dist/ui/input/mouse.d.ts +0 -44
  371. package/dist/ui/input/mouse.d.ts.map +0 -1
  372. package/dist/ui/input/mouse.js +0 -161
  373. package/dist/ui/input/mouse.js.map +0 -1
  374. package/dist/ui/layout/box.d.ts +0 -63
  375. package/dist/ui/layout/box.d.ts.map +0 -1
  376. package/dist/ui/layout/box.js +0 -160
  377. package/dist/ui/layout/box.js.map +0 -1
  378. package/dist/ui/layout/constraints.d.ts +0 -77
  379. package/dist/ui/layout/constraints.d.ts.map +0 -1
  380. package/dist/ui/layout/constraints.js +0 -154
  381. package/dist/ui/layout/constraints.js.map +0 -1
  382. package/dist/ui/layout/flex.d.ts +0 -59
  383. package/dist/ui/layout/flex.d.ts.map +0 -1
  384. package/dist/ui/layout/flex.js +0 -163
  385. package/dist/ui/layout/flex.js.map +0 -1
  386. package/dist/ui/layout/index.d.ts +0 -7
  387. package/dist/ui/layout/index.d.ts.map +0 -1
  388. package/dist/ui/layout/index.js +0 -7
  389. package/dist/ui/layout/index.js.map +0 -1
  390. package/dist/ui/modals/delete-modal.d.ts +0 -27
  391. package/dist/ui/modals/delete-modal.d.ts.map +0 -1
  392. package/dist/ui/modals/delete-modal.js +0 -59
  393. package/dist/ui/modals/delete-modal.js.map +0 -1
  394. package/dist/ui/modals/index.d.ts +0 -7
  395. package/dist/ui/modals/index.d.ts.map +0 -1
  396. package/dist/ui/modals/index.js +0 -7
  397. package/dist/ui/modals/index.js.map +0 -1
  398. package/dist/ui/modals/input-modal.d.ts +0 -66
  399. package/dist/ui/modals/input-modal.d.ts.map +0 -1
  400. package/dist/ui/modals/input-modal.js +0 -185
  401. package/dist/ui/modals/input-modal.js.map +0 -1
  402. package/dist/ui/modals/quit-modal.d.ts +0 -30
  403. package/dist/ui/modals/quit-modal.d.ts.map +0 -1
  404. package/dist/ui/modals/quit-modal.js +0 -65
  405. package/dist/ui/modals/quit-modal.js.map +0 -1
  406. package/dist/ui/renderer/ansi.d.ts +0 -206
  407. package/dist/ui/renderer/ansi.d.ts.map +0 -1
  408. package/dist/ui/renderer/ansi.js +0 -318
  409. package/dist/ui/renderer/ansi.js.map +0 -1
  410. package/dist/ui/renderer/canvas.d.ts +0 -126
  411. package/dist/ui/renderer/canvas.d.ts.map +0 -1
  412. package/dist/ui/renderer/canvas.js +0 -346
  413. package/dist/ui/renderer/canvas.js.map +0 -1
  414. package/dist/ui/renderer/colors.d.ts +0 -65
  415. package/dist/ui/renderer/colors.d.ts.map +0 -1
  416. package/dist/ui/renderer/colors.js +0 -260
  417. package/dist/ui/renderer/colors.js.map +0 -1
  418. package/dist/ui/renderer/index.d.ts +0 -8
  419. package/dist/ui/renderer/index.d.ts.map +0 -1
  420. package/dist/ui/renderer/index.js +0 -8
  421. package/dist/ui/renderer/index.js.map +0 -1
  422. package/dist/ui/renderer/symbols.d.ts +0 -176
  423. package/dist/ui/renderer/symbols.d.ts.map +0 -1
  424. package/dist/ui/renderer/symbols.js +0 -246
  425. package/dist/ui/renderer/symbols.js.map +0 -1
  426. package/dist/ui/views/index.d.ts +0 -7
  427. package/dist/ui/views/index.d.ts.map +0 -1
  428. package/dist/ui/views/index.js +0 -7
  429. package/dist/ui/views/index.js.map +0 -1
  430. package/dist/ui/views/sidebar-view.d.ts +0 -89
  431. package/dist/ui/views/sidebar-view.d.ts.map +0 -1
  432. package/dist/ui/views/sidebar-view.js +0 -259
  433. package/dist/ui/views/sidebar-view.js.map +0 -1
  434. package/dist/ui/views/terminal-bar-view.d.ts +0 -67
  435. package/dist/ui/views/terminal-bar-view.d.ts.map +0 -1
  436. package/dist/ui/views/terminal-bar-view.js +0 -172
  437. package/dist/ui/views/terminal-bar-view.js.map +0 -1
  438. package/dist/ui/views/welcome-view.d.ts +0 -34
  439. package/dist/ui/views/welcome-view.d.ts.map +0 -1
  440. package/dist/ui/views/welcome-view.js +0 -116
  441. package/dist/ui/views/welcome-view.js.map +0 -1
@@ -1,182 +0,0 @@
1
- /**
2
- * Terminal Manager
3
- *
4
- * Manages the lifecycle of terminal panes within sessions.
5
- */
6
- import { getLogger, TerminalError } from '../../utils';
7
- import { getEventBus } from '../../events';
8
- import { getStore, actions, selectSessionById } from '../../state';
9
- import { createTerminal, generateTerminalTitle } from './terminal';
10
- const logger = getLogger().child('terminal-manager');
11
- /**
12
- * Terminal manager class
13
- */
14
- export class TerminalManager {
15
- multiplexer;
16
- constructor(multiplexer) {
17
- this.multiplexer = multiplexer;
18
- }
19
- /**
20
- * Create a new terminal for a session
21
- */
22
- async create(sessionId, worktreePath, options = {}) {
23
- const store = getStore();
24
- const eventBus = getEventBus();
25
- const state = store.getState();
26
- // Find session
27
- const session = selectSessionById(state, sessionId);
28
- if (!session) {
29
- throw new TerminalError('Session not found', { terminalId: sessionId });
30
- }
31
- const terminalNumber = session.terminals.length + 1;
32
- const title = options.title ?? generateTerminalTitle(terminalNumber);
33
- logger.debug('Creating terminal', { sessionId, title });
34
- // Determine where to split from
35
- let targetPaneId = null;
36
- if (session.terminals.length === 0) {
37
- // First terminal - split from main pane
38
- targetPaneId = session.panes.main;
39
- }
40
- else {
41
- // Additional terminal - split from current active terminal
42
- const activeTerminal = session.terminals[session.activeTerminalIndex];
43
- targetPaneId = activeTerminal?.paneId ?? session.panes.main;
44
- }
45
- if (!targetPaneId) {
46
- throw new TerminalError('No pane available to split from');
47
- }
48
- // Create the terminal pane
49
- const paneId = await this.multiplexer.createPane({
50
- targetPaneId,
51
- orientation: 'vertical',
52
- size: session.terminals.length === 0 ? { percent: 30 } : { percent: 50 },
53
- cwd: worktreePath,
54
- });
55
- // Create terminal entity
56
- const terminal = createTerminal({
57
- sessionId,
58
- title,
59
- paneId,
60
- });
61
- // If this is not the first terminal, hide the previously active one
62
- if (session.terminals.length > 0) {
63
- const activeTerminal = session.terminals[session.activeTerminalIndex];
64
- if (activeTerminal?.paneId) {
65
- await this.multiplexer.hidePane(activeTerminal.paneId);
66
- }
67
- }
68
- // Update state
69
- store.dispatch(actions.createTerminal(sessionId, terminal));
70
- store.dispatch(actions.activateTerminal(sessionId, session.terminals.length));
71
- // Emit event
72
- eventBus.emit('terminal:created', { terminal, sessionId });
73
- logger.debug('Terminal created', { terminalId: terminal.id });
74
- return terminal;
75
- }
76
- /**
77
- * Delete a terminal
78
- */
79
- async delete(sessionId, terminalId) {
80
- const store = getStore();
81
- const eventBus = getEventBus();
82
- const state = store.getState();
83
- // Find session and terminal
84
- const session = selectSessionById(state, sessionId);
85
- if (!session) {
86
- throw new TerminalError('Session not found');
87
- }
88
- const terminalIndex = session.terminals.findIndex((t) => t.id === terminalId);
89
- const terminal = session.terminals[terminalIndex];
90
- if (!terminal) {
91
- throw new TerminalError('Terminal not found', { terminalId });
92
- }
93
- logger.debug('Deleting terminal', { sessionId, terminalId });
94
- // Kill the pane
95
- if (terminal.paneId) {
96
- try {
97
- await this.multiplexer.destroyPane(terminal.paneId);
98
- }
99
- catch {
100
- // Pane may already be gone
101
- }
102
- }
103
- // If deleting the active terminal, switch to another one
104
- if (terminalIndex === session.activeTerminalIndex && session.terminals.length > 1) {
105
- const newIndex = terminalIndex === 0 ? 1 : terminalIndex - 1;
106
- const newTerminal = session.terminals[newIndex];
107
- if (newTerminal?.paneId) {
108
- // Show the new terminal
109
- // This will be handled after state update
110
- }
111
- }
112
- // Update state
113
- store.dispatch(actions.deleteTerminal(sessionId, terminalId));
114
- // Emit event
115
- eventBus.emit('terminal:deleted', { terminalId, sessionId });
116
- logger.debug('Terminal deleted', { terminalId });
117
- }
118
- /**
119
- * Switch to a terminal
120
- */
121
- async activate(sessionId, terminalIndex, targetPaneId) {
122
- const store = getStore();
123
- const eventBus = getEventBus();
124
- const state = store.getState();
125
- const session = selectSessionById(state, sessionId);
126
- if (!session) {
127
- throw new TerminalError('Session not found');
128
- }
129
- const terminal = session.terminals[terminalIndex];
130
- if (!terminal) {
131
- throw new TerminalError('Terminal not found');
132
- }
133
- const previousIndex = session.activeTerminalIndex;
134
- const previousTerminal = session.terminals[previousIndex];
135
- logger.debug('Activating terminal', { sessionId, terminalIndex });
136
- // Hide the current terminal
137
- if (previousTerminal?.paneId && previousIndex !== terminalIndex) {
138
- await this.multiplexer.hidePane(previousTerminal.paneId);
139
- }
140
- // Show the new terminal
141
- if (terminal.paneId) {
142
- await this.multiplexer.showPane({
143
- paneId: terminal.paneId,
144
- targetPaneId,
145
- direction: 'down',
146
- });
147
- }
148
- // Update state
149
- store.dispatch(actions.activateTerminal(sessionId, terminalIndex));
150
- // Emit event
151
- eventBus.emit('terminal:activated', {
152
- terminalId: terminal.id,
153
- sessionId,
154
- previousTerminalId: previousTerminal?.id ?? null,
155
- });
156
- }
157
- /**
158
- * Rename a terminal
159
- */
160
- rename(sessionId, terminalId, title) {
161
- const store = getStore();
162
- const eventBus = getEventBus();
163
- const state = store.getState();
164
- const session = selectSessionById(state, sessionId);
165
- const terminal = session?.terminals.find((t) => t.id === terminalId);
166
- const oldTitle = terminal?.title ?? '';
167
- logger.debug('Renaming terminal', { terminalId, oldTitle, newTitle: title });
168
- store.dispatch(actions.renameTerminal(sessionId, terminalId, title));
169
- eventBus.emit('terminal:renamed', {
170
- terminalId,
171
- oldTitle,
172
- newTitle: title,
173
- });
174
- }
175
- }
176
- /**
177
- * Create a terminal manager
178
- */
179
- export function createTerminalManager(multiplexer) {
180
- return new TerminalManager(multiplexer);
181
- }
182
- //# sourceMappingURL=terminal-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"terminal-manager.js","sourceRoot":"","sources":["../../../src/core/terminal/terminal-manager.ts"],"names":[],"mappings":"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"}
@@ -1,27 +0,0 @@
1
- /**
2
- * Terminal Entity
3
- *
4
- * Factory functions for creating Terminal objects.
5
- */
6
- import type { Terminal } from '../../types';
7
- /**
8
- * Options for creating a new terminal
9
- */
10
- export interface CreateTerminalOptions {
11
- sessionId: string;
12
- title?: string;
13
- paneId?: string;
14
- }
15
- /**
16
- * Create a new terminal
17
- */
18
- export declare function createTerminal(options: CreateTerminalOptions): Terminal;
19
- /**
20
- * Generate a default terminal title based on count
21
- */
22
- export declare function generateTerminalTitle(terminalNumber: number): string;
23
- /**
24
- * Clone a terminal with a new ID
25
- */
26
- export declare function cloneTerminal(terminal: Terminal, overrides?: Partial<Terminal>): Terminal;
27
- //# sourceMappingURL=terminal.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"terminal.d.ts","sourceRoot":"","sources":["../../../src/core/terminal/terminal.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAG5C;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,QAAQ,CAUvE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,cAAc,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,QAAQ,EAClB,SAAS,CAAC,EAAE,OAAO,CAAC,QAAQ,CAAC,GAC5B,QAAQ,CAQV"}
@@ -1,38 +0,0 @@
1
- /**
2
- * Terminal Entity
3
- *
4
- * Factory functions for creating Terminal objects.
5
- */
6
- import { generateId } from '../../utils';
7
- /**
8
- * Create a new terminal
9
- */
10
- export function createTerminal(options) {
11
- const { sessionId, title, paneId } = options;
12
- return {
13
- id: generateId(8),
14
- sessionId,
15
- paneId: paneId ?? null,
16
- title: title ?? 'Terminal',
17
- createdAt: new Date(),
18
- };
19
- }
20
- /**
21
- * Generate a default terminal title based on count
22
- */
23
- export function generateTerminalTitle(terminalNumber) {
24
- return `Terminal ${terminalNumber}`;
25
- }
26
- /**
27
- * Clone a terminal with a new ID
28
- */
29
- export function cloneTerminal(terminal, overrides) {
30
- return {
31
- ...terminal,
32
- id: generateId(8),
33
- createdAt: new Date(),
34
- paneId: null,
35
- ...overrides,
36
- };
37
- }
38
- //# sourceMappingURL=terminal.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"terminal.js","sourceRoot":"","sources":["../../../src/core/terminal/terminal.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAWzC;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,OAA8B;IAC3D,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;IAE7C,OAAO;QACL,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;QACjB,SAAS;QACT,MAAM,EAAE,MAAM,IAAI,IAAI;QACtB,KAAK,EAAE,KAAK,IAAI,UAAU;QAC1B,SAAS,EAAE,IAAI,IAAI,EAAE;KACtB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,cAAsB;IAC1D,OAAO,YAAY,cAAc,EAAE,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa,CAC3B,QAAkB,EAClB,SAA6B;IAE7B,OAAO;QACL,GAAG,QAAQ;QACX,EAAE,EAAE,UAAU,CAAC,CAAC,CAAC;QACjB,SAAS,EAAE,IAAI,IAAI,EAAE;QACrB,MAAM,EAAE,IAAI;QACZ,GAAG,SAAS;KACb,CAAC;AACJ,CAAC"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Workspace Module
3
- */
4
- export { createWorkspace, addWorktreeToWorkspace, removeWorktreeFromWorkspace, getActiveSession, getMainWorktree, getAllSessions, getTotalSessionCount, findWorktreeBySessionId, findWorktreeByBranch, findWorktreeById, } from './workspace';
5
- export type { CreateWorkspaceOptions } from './workspace';
6
- export { WorkspaceManager, createWorkspaceManager } from './workspace-manager';
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/workspace/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,2BAA2B,EAC3B,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAE1D,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Workspace Module
3
- */
4
- export { createWorkspace, addWorktreeToWorkspace, removeWorktreeFromWorkspace, getActiveSession, getMainWorktree, getAllSessions, getTotalSessionCount, findWorktreeBySessionId, findWorktreeByBranch, findWorktreeById, } from './workspace';
5
- export { WorkspaceManager, createWorkspaceManager } from './workspace-manager';
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/workspace/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,eAAe,EACf,sBAAsB,EACtB,2BAA2B,EAC3B,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,oBAAoB,EACpB,uBAAuB,EACvB,oBAAoB,EACpB,gBAAgB,GACjB,MAAM,aAAa,CAAC;AAGrB,OAAO,EAAE,gBAAgB,EAAE,sBAAsB,EAAE,MAAM,qBAAqB,CAAC"}
@@ -1,59 +0,0 @@
1
- /**
2
- * Workspace Manager
3
- *
4
- * Manages the lifecycle of workspaces and coordinates between
5
- * worktrees, sessions, and terminals.
6
- */
7
- import type { Workspace, Worktree, Session, IMultiplexer } from '../../types';
8
- /**
9
- * Workspace manager class
10
- */
11
- export declare class WorkspaceManager {
12
- private multiplexer;
13
- private worktreesBasePath;
14
- constructor(multiplexer: IMultiplexer, worktreesBasePath: string);
15
- /**
16
- * Initialize workspace for a repository
17
- */
18
- initialize(projectPath: string, multiplexerSessionId: string): Promise<Workspace>;
19
- /**
20
- * Get the current workspace
21
- */
22
- getWorkspace(): Workspace | null;
23
- /**
24
- * Get the main worktree
25
- */
26
- getMainWorktree(): Worktree | undefined;
27
- /**
28
- * Get worktree by ID
29
- */
30
- getWorktreeById(worktreeId: string): Worktree | undefined;
31
- /**
32
- * Switch to a different session
33
- */
34
- switchSession(sessionId: string, sidebarPaneId: string): Promise<void>;
35
- /**
36
- * Create a new worktree with a session
37
- */
38
- createWorktreeWithSession(branch: string, sidebarPaneId: string, sessionTitle?: string): Promise<{
39
- worktree: Worktree;
40
- session: Session;
41
- }>;
42
- /**
43
- * Delete a worktree and all its sessions
44
- */
45
- deleteWorktree(worktreeId: string): Promise<void>;
46
- /**
47
- * Create a session in a worktree
48
- */
49
- createSession(worktreeId: string, sidebarPaneId: string, title?: string): Promise<Session>;
50
- /**
51
- * Clean up and shutdown workspace
52
- */
53
- shutdown(reason?: 'user' | 'error' | 'detach'): Promise<void>;
54
- }
55
- /**
56
- * Create a workspace manager
57
- */
58
- export declare function createWorkspaceManager(multiplexer: IMultiplexer, worktreesBasePath: string): WorkspaceManager;
59
- //# sourceMappingURL=workspace-manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspace-manager.d.ts","sourceRoot":"","sources":["../../../src/core/workspace/workspace-manager.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAY9E;;GAEG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,iBAAiB,CAAS;gBAEtB,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM;IAKhE;;OAEG;IACG,UAAU,CAAC,WAAW,EAAE,MAAM,EAAE,oBAAoB,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC;IAwCvF;;OAEG;IACH,YAAY,IAAI,SAAS,GAAG,IAAI;IAKhC;;OAEG;IACH,eAAe,IAAI,QAAQ,GAAG,SAAS;IAKvC;;OAEG;IACH,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAMzD;;OAEG;IACG,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IA8B5E;;OAEG;IACG,yBAAyB,CAC7B,MAAM,EAAE,MAAM,EACd,aAAa,EAAE,MAAM,EACrB,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC;QAAE,QAAQ,EAAE,QAAQ,CAAC;QAAC,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAoCpD;;OAEG;IACG,cAAc,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAqCvD;;OAEG;IACG,aAAa,CACjB,UAAU,EAAE,MAAM,EAClB,aAAa,EAAE,MAAM,EACrB,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,OAAO,CAAC;IA0BnB;;OAEG;IACG,QAAQ,CAAC,MAAM,GAAE,MAAM,GAAG,OAAO,GAAG,QAAiB,GAAG,OAAO,CAAC,IAAI,CAAC;CAsC5E;AAED;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,WAAW,EAAE,YAAY,EACzB,iBAAiB,EAAE,MAAM,GACxB,gBAAgB,CAElB"}
@@ -1,224 +0,0 @@
1
- /**
2
- * Workspace Manager
3
- *
4
- * Manages the lifecycle of workspaces and coordinates between
5
- * worktrees, sessions, and terminals.
6
- */
7
- import { getLogger, AppError, WorktreeError, NotFoundError } from '../../utils';
8
- import { getEventBus } from '../../events';
9
- import { getStore, actions, selectWorkspace, selectMainWorktree, selectSessionById } from '../../state';
10
- import { getGitService, getWorktreeService } from '../../services';
11
- import { createWorkspace, findWorktreeById } from './workspace';
12
- import { createWorktreeManager, worktreesFromInfoList } from '../worktree';
13
- import { createSessionManager } from '../session';
14
- import { createTerminalManager } from '../terminal';
15
- const logger = getLogger().child('workspace-manager');
16
- /**
17
- * Workspace manager class
18
- */
19
- export class WorkspaceManager {
20
- multiplexer;
21
- worktreesBasePath;
22
- constructor(multiplexer, worktreesBasePath) {
23
- this.multiplexer = multiplexer;
24
- this.worktreesBasePath = worktreesBasePath;
25
- }
26
- /**
27
- * Initialize workspace for a repository
28
- */
29
- async initialize(projectPath, multiplexerSessionId) {
30
- const eventBus = getEventBus();
31
- const store = getStore();
32
- const gitService = getGitService();
33
- const worktreeService = getWorktreeService();
34
- logger.info('Initializing workspace', { projectPath });
35
- // Validate repository
36
- if (!gitService.isGitRepository(projectPath)) {
37
- throw new AppError(`Not a git repository: ${projectPath}`, 'INVALID_REPOSITORY');
38
- }
39
- // Create workspace
40
- const workspace = createWorkspace({
41
- projectPath,
42
- multiplexerSessionId,
43
- });
44
- // Load existing worktrees
45
- const worktreeInfos = worktreeService.list(projectPath);
46
- const worktrees = worktreesFromInfoList(worktreeInfos);
47
- // Update workspace with worktrees
48
- workspace.worktrees = worktrees;
49
- // Update state
50
- store.dispatch(actions.loadWorkspace(workspace));
51
- // Emit event
52
- eventBus.emit('workspace:loaded', { workspace });
53
- logger.info('Workspace initialized', {
54
- workspaceId: workspace.id,
55
- worktreeCount: worktrees.length,
56
- });
57
- return workspace;
58
- }
59
- /**
60
- * Get the current workspace
61
- */
62
- getWorkspace() {
63
- const state = getStore().getState();
64
- return selectWorkspace(state);
65
- }
66
- /**
67
- * Get the main worktree
68
- */
69
- getMainWorktree() {
70
- const state = getStore().getState();
71
- return selectMainWorktree(state);
72
- }
73
- /**
74
- * Get worktree by ID
75
- */
76
- getWorktreeById(worktreeId) {
77
- const workspace = this.getWorkspace();
78
- if (!workspace)
79
- return undefined;
80
- return findWorktreeById(workspace, worktreeId);
81
- }
82
- /**
83
- * Switch to a different session
84
- */
85
- async switchSession(sessionId, sidebarPaneId) {
86
- const eventBus = getEventBus();
87
- const store = getStore();
88
- const state = store.getState();
89
- const workspace = selectWorkspace(state);
90
- if (!workspace) {
91
- throw new AppError('No workspace initialized', 'NO_WORKSPACE');
92
- }
93
- const session = selectSessionById(state, sessionId);
94
- if (!session) {
95
- throw new NotFoundError('Session', sessionId);
96
- }
97
- const previousSessionId = workspace.activeSessionId;
98
- logger.debug('Switching session', { from: previousSessionId, to: sessionId });
99
- // Use session manager to handle the switch
100
- const sessionManager = createSessionManager(this.multiplexer);
101
- await sessionManager.activate(sessionId, sidebarPaneId);
102
- // Emit event
103
- eventBus.emit('session:activated', {
104
- sessionId,
105
- previousSessionId,
106
- });
107
- }
108
- /**
109
- * Create a new worktree with a session
110
- */
111
- async createWorktreeWithSession(branch, sidebarPaneId, sessionTitle) {
112
- const workspace = this.getWorkspace();
113
- if (!workspace) {
114
- throw new AppError('No workspace initialized', 'NO_WORKSPACE');
115
- }
116
- // Create worktree manager
117
- const worktreeManager = createWorktreeManager(workspace.projectPath, this.worktreesBasePath);
118
- // Create the worktree
119
- const worktree = await worktreeManager.create(branch);
120
- // Create session manager and terminal manager
121
- const sessionManager = createSessionManager(this.multiplexer);
122
- const terminalManager = createTerminalManager(this.multiplexer);
123
- // Create initial session
124
- const session = await sessionManager.create(worktree.id, worktree.path, branch, {
125
- title: sessionTitle,
126
- targetPaneId: sidebarPaneId,
127
- });
128
- // Create initial terminal for the session
129
- await terminalManager.create(session.id, worktree.path);
130
- return { worktree, session };
131
- }
132
- /**
133
- * Delete a worktree and all its sessions
134
- */
135
- async deleteWorktree(worktreeId) {
136
- const workspace = this.getWorkspace();
137
- if (!workspace) {
138
- throw new AppError('No workspace initialized', 'NO_WORKSPACE');
139
- }
140
- const worktree = findWorktreeById(workspace, worktreeId);
141
- if (!worktree) {
142
- throw new NotFoundError('Worktree', worktreeId);
143
- }
144
- if (worktree.isMain) {
145
- throw new WorktreeError('Cannot delete main worktree');
146
- }
147
- logger.debug('Deleting worktree', { worktreeId, sessionCount: worktree.sessions.length });
148
- // Delete all sessions in the worktree
149
- const sessionManager = createSessionManager(this.multiplexer);
150
- for (const session of worktree.sessions) {
151
- await sessionManager.delete(session.id);
152
- }
153
- // Delete the worktree
154
- const worktreeManager = createWorktreeManager(workspace.projectPath, this.worktreesBasePath);
155
- await worktreeManager.delete(worktreeId);
156
- // If the active session was in this worktree, clear it
157
- if (worktree.sessions.some((s) => s.id === workspace.activeSessionId)) {
158
- const store = getStore();
159
- store.dispatch(actions.activateSession(''));
160
- }
161
- }
162
- /**
163
- * Create a session in a worktree
164
- */
165
- async createSession(worktreeId, sidebarPaneId, title) {
166
- const worktree = this.getWorktreeById(worktreeId);
167
- if (!worktree) {
168
- throw new NotFoundError('Worktree', worktreeId);
169
- }
170
- const sessionManager = createSessionManager(this.multiplexer);
171
- const terminalManager = createTerminalManager(this.multiplexer);
172
- // Create session
173
- const session = await sessionManager.create(worktreeId, worktree.path, worktree.branch, {
174
- title,
175
- targetPaneId: sidebarPaneId,
176
- });
177
- // Create initial terminal
178
- await terminalManager.create(session.id, worktree.path);
179
- return session;
180
- }
181
- /**
182
- * Clean up and shutdown workspace
183
- */
184
- async shutdown(reason = 'user') {
185
- const eventBus = getEventBus();
186
- const store = getStore();
187
- const workspace = this.getWorkspace();
188
- if (!workspace) {
189
- return;
190
- }
191
- logger.info('Shutting down workspace', { workspaceId: workspace.id });
192
- // Emit shutdown event
193
- eventBus.emit('app:shutdown', { reason });
194
- // Clean up tmux sessions
195
- const sessionManager = createSessionManager(this.multiplexer);
196
- for (const worktree of workspace.worktrees) {
197
- for (const session of worktree.sessions) {
198
- try {
199
- await sessionManager.delete(session.id);
200
- }
201
- catch {
202
- // Ignore errors during shutdown
203
- }
204
- }
205
- }
206
- // Clear state
207
- store.dispatch(actions.loadWorkspace({
208
- id: '',
209
- projectPath: '',
210
- projectName: '',
211
- multiplexerSessionId: '',
212
- worktrees: [],
213
- activeSessionId: null,
214
- }));
215
- logger.info('Workspace shutdown complete');
216
- }
217
- }
218
- /**
219
- * Create a workspace manager
220
- */
221
- export function createWorkspaceManager(multiplexer, worktreesBasePath) {
222
- return new WorkspaceManager(multiplexer, worktreesBasePath);
223
- }
224
- //# sourceMappingURL=workspace-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspace-manager.js","sourceRoot":"","sources":["../../../src/core/workspace/workspace-manager.ts"],"names":[],"mappings":"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"}
@@ -1,56 +0,0 @@
1
- /**
2
- * Workspace Entity
3
- *
4
- * Factory functions for creating Workspace objects.
5
- * A workspace represents the entire application state for a repository.
6
- */
7
- import type { Workspace, Worktree, Session } from '../../types';
8
- /**
9
- * Options for creating a new workspace
10
- */
11
- export interface CreateWorkspaceOptions {
12
- projectPath: string;
13
- projectName?: string;
14
- multiplexerSessionId?: string;
15
- }
16
- /**
17
- * Create a new workspace
18
- */
19
- export declare function createWorkspace(options: CreateWorkspaceOptions): Workspace;
20
- /**
21
- * Add a worktree to workspace
22
- */
23
- export declare function addWorktreeToWorkspace(workspace: Workspace, worktree: Worktree): Workspace;
24
- /**
25
- * Remove a worktree from workspace
26
- */
27
- export declare function removeWorktreeFromWorkspace(workspace: Workspace, worktreeId: string): Workspace;
28
- /**
29
- * Get the active session from workspace
30
- */
31
- export declare function getActiveSession(workspace: Workspace): Session | undefined;
32
- /**
33
- * Get the main worktree from workspace
34
- */
35
- export declare function getMainWorktree(workspace: Workspace): Worktree | undefined;
36
- /**
37
- * Get all sessions across all worktrees
38
- */
39
- export declare function getAllSessions(workspace: Workspace): Session[];
40
- /**
41
- * Get total session count
42
- */
43
- export declare function getTotalSessionCount(workspace: Workspace): number;
44
- /**
45
- * Find worktree containing a session
46
- */
47
- export declare function findWorktreeBySessionId(workspace: Workspace, sessionId: string): Worktree | undefined;
48
- /**
49
- * Find worktree by branch name
50
- */
51
- export declare function findWorktreeByBranch(workspace: Workspace, branch: string): Worktree | undefined;
52
- /**
53
- * Find worktree by ID
54
- */
55
- export declare function findWorktreeById(workspace: Workspace, worktreeId: string): Worktree | undefined;
56
- //# sourceMappingURL=workspace.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"workspace.d.ts","sourceRoot":"","sources":["../../../src/core/workspace/workspace.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,KAAK,EAAE,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGhE;;GAEG;AACH,MAAM,WAAW,sBAAsB;IACrC,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,oBAAoB,CAAC,EAAE,MAAM,CAAC;CAC/B;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,OAAO,EAAE,sBAAsB,GAAG,SAAS,CAW1E;AAUD;;GAEG;AACH,wBAAgB,sBAAsB,CACpC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,QAAQ,GACjB,SAAS,CAKX;AAED;;GAEG;AACH,wBAAgB,2BAA2B,CACzC,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,MAAM,GACjB,SAAS,CAKX;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,GAAG,SAAS,CAO1E;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,SAAS,EAAE,SAAS,GAAG,QAAQ,GAAG,SAAS,CAE1E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,SAAS,EAAE,SAAS,GAAG,OAAO,EAAE,CAE9D;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,SAAS,GAAG,MAAM,CAEjE;AAED;;GAEG;AACH,wBAAgB,uBAAuB,CACrC,SAAS,EAAE,SAAS,EACpB,SAAS,EAAE,MAAM,GAChB,QAAQ,GAAG,SAAS,CAItB;AAED;;GAEG;AACH,wBAAgB,oBAAoB,CAClC,SAAS,EAAE,SAAS,EACpB,MAAM,EAAE,MAAM,GACb,QAAQ,GAAG,SAAS,CAEtB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,SAAS,EAAE,SAAS,EACpB,UAAU,EAAE,MAAM,GACjB,QAAQ,GAAG,SAAS,CAEtB"}