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,246 +0,0 @@
1
- /**
2
- * Unicode Symbols
3
- *
4
- * Common symbols used in the TUI.
5
- */
6
- // ============================================================================
7
- // Box Drawing Characters
8
- // ============================================================================
9
- export const box = {
10
- // Single line
11
- topLeft: '┌',
12
- topRight: '┐',
13
- bottomLeft: '└',
14
- bottomRight: '┘',
15
- horizontal: '─',
16
- vertical: '│',
17
- teeLeft: '├',
18
- teeRight: '┤',
19
- teeTop: '┬',
20
- teeBottom: '┴',
21
- cross: '┼',
22
- // Double line
23
- doubleTopLeft: '╔',
24
- doubleTopRight: '╗',
25
- doubleBottomLeft: '╚',
26
- doubleBottomRight: '╝',
27
- doubleHorizontal: '═',
28
- doubleVertical: '║',
29
- // Rounded corners
30
- roundTopLeft: '╭',
31
- roundTopRight: '╮',
32
- roundBottomLeft: '╰',
33
- roundBottomRight: '╯',
34
- // Heavy line
35
- heavyHorizontal: '━',
36
- heavyVertical: '┃',
37
- heavyTopLeft: '┏',
38
- heavyTopRight: '┓',
39
- heavyBottomLeft: '┗',
40
- heavyBottomRight: '┛',
41
- };
42
- // ============================================================================
43
- // Arrow Symbols
44
- // ============================================================================
45
- export const arrows = {
46
- up: '↑',
47
- down: '↓',
48
- left: '←',
49
- right: '→',
50
- upDown: '↕',
51
- leftRight: '↔',
52
- // Triangle arrows
53
- triangleUp: '▲',
54
- triangleDown: '▼',
55
- triangleLeft: '◀',
56
- triangleRight: '▶',
57
- // Small triangles
58
- smallTriangleUp: '▴',
59
- smallTriangleDown: '▾',
60
- smallTriangleLeft: '◂',
61
- smallTriangleRight: '▸',
62
- };
63
- // ============================================================================
64
- // Status/State Symbols
65
- // ============================================================================
66
- export const status = {
67
- // Checkmarks
68
- check: '✓',
69
- checkBold: '✔',
70
- cross: '✗',
71
- crossBold: '✘',
72
- // Dots
73
- dot: '●',
74
- dotSmall: '•',
75
- dotEmpty: '○',
76
- dotHalf: '◐',
77
- // Stars
78
- star: '★',
79
- starEmpty: '☆',
80
- // Others
81
- warning: '⚠',
82
- info: 'ℹ',
83
- question: '?',
84
- lightning: '⚡',
85
- fire: '🔥',
86
- sparkle: '✨',
87
- };
88
- // ============================================================================
89
- // Tree/List Symbols
90
- // ============================================================================
91
- export const tree = {
92
- branch: '├',
93
- corner: '└',
94
- line: '│',
95
- space: ' ',
96
- dash: '─',
97
- // Expanded/collapsed indicators
98
- expanded: '▼',
99
- collapsed: '▶',
100
- expandedSmall: '▾',
101
- collapsedSmall: '▸',
102
- // Alternative indicators
103
- minus: '−',
104
- plus: '+',
105
- };
106
- // ============================================================================
107
- // Progress Symbols
108
- // ============================================================================
109
- export const progress = {
110
- // Bars
111
- barFull: '█',
112
- barHigh: '▓',
113
- barMedium: '▒',
114
- barLow: '░',
115
- barEmpty: '░',
116
- // Spinner frames
117
- spinnerDots: ['⠋', '⠙', '⠹', '⠸', '⠼', '⠴', '⠦', '⠧', '⠇', '⠏'],
118
- spinnerLine: ['|', '/', '-', '\\'],
119
- spinnerBraille: ['⣾', '⣽', '⣻', '⢿', '⡿', '⣟', '⣯', '⣷'],
120
- };
121
- // ============================================================================
122
- // Shapes
123
- // ============================================================================
124
- export const shapes = {
125
- // Diamonds
126
- diamond: '◆',
127
- diamondEmpty: '◇',
128
- diamondSmall: '⬥',
129
- diamondSmallEmpty: '⬦',
130
- // Squares
131
- square: '■',
132
- squareEmpty: '□',
133
- squareSmall: '▪',
134
- squareSmallEmpty: '▫',
135
- // Circles
136
- circle: '●',
137
- circleEmpty: '○',
138
- circleSmall: '•',
139
- circleDot: '⊙',
140
- // Dots (aliases for consistency)
141
- dot: '●',
142
- dotEmpty: '○',
143
- dotSmall: '•',
144
- };
145
- // ============================================================================
146
- // Separators
147
- // ============================================================================
148
- export const separators = {
149
- // Horizontal
150
- line: '─',
151
- doubleLine: '═',
152
- dashed: '┄',
153
- dotted: '┈',
154
- // Vertical
155
- pipe: '│',
156
- doublePipe: '║',
157
- // Fancy
158
- wave: '〜',
159
- zigzag: '⌇',
160
- };
161
- // ============================================================================
162
- // Brackets
163
- // ============================================================================
164
- export const brackets = {
165
- // Round
166
- roundLeft: '(',
167
- roundRight: ')',
168
- // Square
169
- squareLeft: '[',
170
- squareRight: ']',
171
- // Curly
172
- curlyLeft: '{',
173
- curlyRight: '}',
174
- // Angle
175
- angleLeft: '<',
176
- angleRight: '>',
177
- angleLeftDouble: '«',
178
- angleRightDouble: '»',
179
- // Special
180
- floorLeft: '⌊',
181
- floorRight: '⌋',
182
- ceilLeft: '⌈',
183
- ceilRight: '⌉',
184
- };
185
- // ============================================================================
186
- // Misc Symbols
187
- // ============================================================================
188
- export const misc = {
189
- // Git-related
190
- branch: '',
191
- commit: '●',
192
- merge: '',
193
- tag: '',
194
- // File-related
195
- folder: '📁',
196
- folderOpen: '📂',
197
- file: '📄',
198
- fileCode: '📜',
199
- // Others
200
- home: '⌂',
201
- terminal: '⌘',
202
- clock: '⏱',
203
- lock: '🔒',
204
- unlock: '🔓',
205
- key: '🔑',
206
- gear: '⚙',
207
- search: '🔍',
208
- edit: '✎',
209
- trash: '🗑',
210
- ellipsis: '…',
211
- return: '⏎',
212
- escape: '⎋',
213
- tab: '⇥',
214
- space: '␣',
215
- };
216
- // ============================================================================
217
- // Helper Functions
218
- // ============================================================================
219
- /**
220
- * Create a horizontal line of given length
221
- */
222
- export function horizontalLine(length, char = box.horizontal) {
223
- return char.repeat(length);
224
- }
225
- /**
226
- * Create a vertical line of given height (returns array of single chars)
227
- */
228
- export function verticalLine(height, char = box.vertical) {
229
- return Array(height).fill(char);
230
- }
231
- /**
232
- * Create a progress bar
233
- */
234
- export function progressBar(current, total, width, filled = progress.barFull, empty = progress.barEmpty) {
235
- const percent = Math.min(1, Math.max(0, current / total));
236
- const filledCount = Math.round(width * percent);
237
- const emptyCount = width - filledCount;
238
- return filled.repeat(filledCount) + empty.repeat(emptyCount);
239
- }
240
- /**
241
- * Get spinner frame for current tick
242
- */
243
- export function getSpinnerFrame(tick, frames = progress.spinnerDots) {
244
- return frames[tick % frames.length];
245
- }
246
- //# sourceMappingURL=symbols.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"symbols.js","sourceRoot":"","sources":["../../../src/ui/renderer/symbols.ts"],"names":[],"mappings":"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"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Views Module
3
- */
4
- export { SidebarView, createSidebarView, type SidebarItem, type SidebarViewProps, type SidebarSelectHandler, type SidebarActionHandler, } from './sidebar-view';
5
- export { TerminalBarView, createTerminalBarView, type TerminalBarViewProps, type TerminalSelectHandler, type TerminalCloseHandler, type TerminalCreateHandler, } from './terminal-bar-view';
6
- export { WelcomeView, createWelcomeView, type WelcomeViewProps, } from './welcome-view';
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/ui/views/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,KAAK,WAAW,EAChB,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EACzB,KAAK,oBAAoB,GAC1B,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,eAAe,EACf,qBAAqB,EACrB,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,EAC1B,KAAK,oBAAoB,EACzB,KAAK,qBAAqB,GAC3B,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,WAAW,EACX,iBAAiB,EACjB,KAAK,gBAAgB,GACtB,MAAM,gBAAgB,CAAC"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Views Module
3
- */
4
- export { SidebarView, createSidebarView, } from './sidebar-view';
5
- export { TerminalBarView, createTerminalBarView, } from './terminal-bar-view';
6
- export { WelcomeView, createWelcomeView, } from './welcome-view';
7
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/ui/views/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,WAAW,EACX,iBAAiB,GAKlB,MAAM,gBAAgB,CAAC;AAExB,OAAO,EACL,eAAe,EACf,qBAAqB,GAKtB,MAAM,qBAAqB,CAAC;AAE7B,OAAO,EACL,WAAW,EACX,iBAAiB,GAElB,MAAM,gBAAgB,CAAC"}
@@ -1,89 +0,0 @@
1
- /**
2
- * Sidebar View
3
- *
4
- * Main sidebar showing worktrees and sessions.
5
- */
6
- import type { Canvas } from '../renderer';
7
- import type { Bounds, Size } from '../layout';
8
- import type { Worktree, Session } from '../../types';
9
- import { ContainerComponent, type ComponentProps } from '../components/base';
10
- import type { KeyEvent } from '../input/keyboard';
11
- export interface SidebarItem {
12
- type: 'worktree' | 'session';
13
- item: Worktree | Session;
14
- worktreeId: string;
15
- }
16
- export interface SidebarViewProps extends ComponentProps {
17
- worktrees?: Worktree[];
18
- activeSessionId?: string | null;
19
- collapsed?: boolean;
20
- collapsedWidth?: number;
21
- expandedWidth?: number;
22
- }
23
- export type SidebarSelectHandler = (item: SidebarItem, index: number) => void;
24
- export type SidebarActionHandler = (action: string, item: SidebarItem) => void;
25
- export declare class SidebarView extends ContainerComponent {
26
- private worktrees;
27
- private activeSessionId;
28
- private collapsed;
29
- private collapsedWidth;
30
- private expandedWidth;
31
- private list;
32
- private selectHandler;
33
- private actionHandler;
34
- constructor(props?: SidebarViewProps);
35
- /**
36
- * Set worktrees
37
- */
38
- setWorktrees(worktrees: Worktree[]): void;
39
- /**
40
- * Set active session ID
41
- */
42
- setActiveSessionId(sessionId: string | null): void;
43
- /**
44
- * Toggle collapsed state
45
- */
46
- toggleCollapsed(): void;
47
- /**
48
- * Set collapsed state
49
- */
50
- setCollapsed(collapsed: boolean): void;
51
- /**
52
- * Check if collapsed
53
- */
54
- isCollapsed(): boolean;
55
- /**
56
- * Set select handler
57
- */
58
- onSelect(handler: SidebarSelectHandler): void;
59
- /**
60
- * Set action handler
61
- */
62
- onAction(handler: SidebarActionHandler): void;
63
- /**
64
- * Get selected item
65
- */
66
- getSelectedItem(): SidebarItem | undefined;
67
- /**
68
- * Get selected index
69
- */
70
- getSelectedIndex(): number;
71
- /**
72
- * Update list items from worktrees
73
- */
74
- private updateListItems;
75
- getPreferredSize(): Size;
76
- getMinSize(): Size;
77
- render(canvas: Canvas, bounds: Bounds): void;
78
- private renderCollapsed;
79
- private renderExpanded;
80
- handleKey(event: KeyEvent): boolean;
81
- private triggerAction;
82
- focus(): void;
83
- blur(): void;
84
- }
85
- /**
86
- * Create a SidebarView
87
- */
88
- export declare function createSidebarView(props?: SidebarViewProps): SidebarView;
89
- //# sourceMappingURL=sidebar-view.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sidebar-view.d.ts","sourceRoot":"","sources":["../../../src/ui/views/sidebar-view.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AAC1C,OAAO,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAC9C,OAAO,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAGrD,OAAO,EAAE,kBAAkB,EAAE,KAAK,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAG7E,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAC;AAMlD,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,UAAU,GAAG,SAAS,CAAC;IAC7B,IAAI,EAAE,QAAQ,GAAG,OAAO,CAAC;IACzB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,gBAAiB,SAAQ,cAAc;IACtD,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;IACvB,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,MAAM,oBAAoB,GAAG,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;AAC9E,MAAM,MAAM,oBAAoB,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,WAAW,KAAK,IAAI,CAAC;AAM/E,qBAAa,WAAY,SAAQ,kBAAkB;IACjD,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,eAAe,CAAuB;IAC9C,OAAO,CAAC,SAAS,CAAkB;IACnC,OAAO,CAAC,cAAc,CAAa;IACnC,OAAO,CAAC,aAAa,CAAc;IAEnC,OAAO,CAAC,IAAI,CAAoB;IAChC,OAAO,CAAC,aAAa,CAAqC;IAC1D,OAAO,CAAC,aAAa,CAAqC;gBAE9C,KAAK,GAAE,gBAAqB;IAsBxC;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,QAAQ,EAAE,GAAG,IAAI;IAKzC;;OAEG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,GAAG,IAAI;IAKlD;;OAEG;IACH,eAAe,IAAI,IAAI;IAIvB;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI;IAItC;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAI7C;;OAEG;IACH,QAAQ,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;IAI7C;;OAEG;IACH,eAAe,IAAI,WAAW,GAAG,SAAS;IAI1C;;OAEG;IACH,gBAAgB,IAAI,MAAM;IAI1B;;OAEG;IACH,OAAO,CAAC,eAAe;IAoCvB,gBAAgB,IAAI,IAAI;IAOxB,UAAU,IAAI,IAAI;IAOlB,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;IAwB5C,OAAO,CAAC,eAAe;IAqBvB,OAAO,CAAC,cAAc;IA4Bb,SAAS,CAAC,KAAK,EAAE,QAAQ,GAAG,OAAO;IA+B5C,OAAO,CAAC,aAAa;IAcZ,KAAK,IAAI,IAAI;IAKb,IAAI,IAAI,IAAI;CAItB;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAAC,KAAK,GAAE,gBAAqB,GAAG,WAAW,CAE3E"}
@@ -1,259 +0,0 @@
1
- /**
2
- * Sidebar View
3
- *
4
- * Main sidebar showing worktrees and sessions.
5
- */
6
- import { getTheme } from '../renderer/colors';
7
- import { shapes } from '../renderer/symbols';
8
- import { ContainerComponent } from '../components/base';
9
- import { createList } from '../components/list';
10
- import { truncateWithEllipsis } from '../components/text';
11
- // ============================================================================
12
- // SidebarView
13
- // ============================================================================
14
- export class SidebarView extends ContainerComponent {
15
- worktrees = [];
16
- activeSessionId = null;
17
- collapsed = false;
18
- collapsedWidth = 3;
19
- expandedWidth = 30;
20
- list;
21
- selectHandler = null;
22
- actionHandler = null;
23
- constructor(props = {}) {
24
- super(props);
25
- this.worktrees = props.worktrees ?? [];
26
- this.activeSessionId = props.activeSessionId ?? null;
27
- this.collapsed = props.collapsed ?? false;
28
- this.collapsedWidth = props.collapsedWidth ?? 3;
29
- this.expandedWidth = props.expandedWidth ?? 30;
30
- // Create internal list component
31
- this.list = createList({
32
- emptyText: 'No worktrees',
33
- });
34
- this.addChild(this.list);
35
- // Set up list selection handler
36
- this.list.onSelect((item, index) => {
37
- this.selectHandler?.(item.data, index);
38
- });
39
- this.updateListItems();
40
- }
41
- /**
42
- * Set worktrees
43
- */
44
- setWorktrees(worktrees) {
45
- this.worktrees = worktrees;
46
- this.updateListItems();
47
- }
48
- /**
49
- * Set active session ID
50
- */
51
- setActiveSessionId(sessionId) {
52
- this.activeSessionId = sessionId;
53
- this.updateListItems();
54
- }
55
- /**
56
- * Toggle collapsed state
57
- */
58
- toggleCollapsed() {
59
- this.collapsed = !this.collapsed;
60
- }
61
- /**
62
- * Set collapsed state
63
- */
64
- setCollapsed(collapsed) {
65
- this.collapsed = collapsed;
66
- }
67
- /**
68
- * Check if collapsed
69
- */
70
- isCollapsed() {
71
- return this.collapsed;
72
- }
73
- /**
74
- * Set select handler
75
- */
76
- onSelect(handler) {
77
- this.selectHandler = handler;
78
- }
79
- /**
80
- * Set action handler
81
- */
82
- onAction(handler) {
83
- this.actionHandler = handler;
84
- }
85
- /**
86
- * Get selected item
87
- */
88
- getSelectedItem() {
89
- return this.list.getSelectedItem()?.data;
90
- }
91
- /**
92
- * Get selected index
93
- */
94
- getSelectedIndex() {
95
- return this.list.getSelectedIndex();
96
- }
97
- /**
98
- * Update list items from worktrees
99
- */
100
- updateListItems() {
101
- const items = [];
102
- for (const worktree of this.worktrees) {
103
- // Add worktree item
104
- items.push({
105
- id: worktree.id,
106
- label: worktree.branch,
107
- icon: worktree.isMain ? shapes.diamondSmall : shapes.diamond,
108
- data: {
109
- type: 'worktree',
110
- item: worktree,
111
- worktreeId: worktree.id,
112
- },
113
- });
114
- // Add session items
115
- for (const session of worktree.sessions) {
116
- const isActive = session.id === this.activeSessionId;
117
- items.push({
118
- id: session.id,
119
- label: session.title,
120
- icon: isActive ? shapes.dot : shapes.dotEmpty,
121
- indent: 1,
122
- data: {
123
- type: 'session',
124
- item: session,
125
- worktreeId: worktree.id,
126
- },
127
- });
128
- }
129
- }
130
- this.list.setItems(items);
131
- }
132
- getPreferredSize() {
133
- return {
134
- width: this.collapsed ? this.collapsedWidth : this.expandedWidth,
135
- height: 20,
136
- };
137
- }
138
- getMinSize() {
139
- return {
140
- width: this.collapsed ? this.collapsedWidth : 15,
141
- height: 5,
142
- };
143
- }
144
- render(canvas, bounds) {
145
- if (!this.visible)
146
- return;
147
- const theme = getTheme();
148
- // Draw background
149
- canvas.fill(bounds.x, bounds.y, bounds.width, bounds.height, ' ', {
150
- bg: theme.sidebarBg.bg,
151
- });
152
- if (this.collapsed) {
153
- this.renderCollapsed(canvas, bounds);
154
- }
155
- else {
156
- this.renderExpanded(canvas, bounds);
157
- }
158
- // Draw right border
159
- for (let y = bounds.y; y < bounds.y + bounds.height; y++) {
160
- canvas.setCell(bounds.x + bounds.width - 1, y, '│', {
161
- fg: theme.border.fg,
162
- });
163
- }
164
- }
165
- renderCollapsed(canvas, bounds) {
166
- const theme = getTheme();
167
- // Show indicators for worktrees
168
- let y = bounds.y;
169
- for (const worktree of this.worktrees) {
170
- if (y >= bounds.y + bounds.height - 1)
171
- break;
172
- const hasActivSession = worktree.sessions.some((s) => s.id === this.activeSessionId);
173
- canvas.setCell(bounds.x + 1, y, hasActivSession ? shapes.dot : shapes.dotEmpty, { fg: hasActivSession ? theme.primary.fg : theme.textMuted.fg });
174
- y++;
175
- }
176
- }
177
- renderExpanded(canvas, bounds) {
178
- const theme = getTheme();
179
- // Draw title
180
- const title = 'Worktrees';
181
- canvas.drawText(bounds.x + 1, bounds.y, title, {
182
- fg: theme.textMuted.fg,
183
- bold: true,
184
- });
185
- // Render list
186
- const listBounds = {
187
- x: bounds.x,
188
- y: bounds.y + 2,
189
- width: bounds.width - 1,
190
- height: Math.max(0, bounds.height - 4),
191
- };
192
- this.list.render(canvas, listBounds);
193
- // Draw help hints at bottom
194
- const helpY = bounds.y + bounds.height - 1;
195
- const help = 'n:new w:worktree ?:help';
196
- const displayHelp = truncateWithEllipsis(help, bounds.width - 2);
197
- canvas.drawText(bounds.x + 1, helpY, displayHelp, {
198
- fg: theme.textMuted.fg,
199
- });
200
- }
201
- handleKey(event) {
202
- // Handle sidebar-specific keys
203
- switch (event.key) {
204
- case 's':
205
- case 'ctrl+b':
206
- this.toggleCollapsed();
207
- return true;
208
- case 'n':
209
- this.triggerAction('session:create');
210
- return true;
211
- case 'w':
212
- this.triggerAction('worktree:create');
213
- return true;
214
- case 'x':
215
- this.triggerAction('delete');
216
- return true;
217
- case 'r':
218
- this.triggerAction('rename');
219
- return true;
220
- case 'q':
221
- this.triggerAction('quit');
222
- return true;
223
- case 'd':
224
- this.triggerAction('detach');
225
- return true;
226
- }
227
- // Delegate navigation to list
228
- return this.list.handleKey(event);
229
- }
230
- triggerAction(action) {
231
- const item = this.getSelectedItem();
232
- if (item && this.actionHandler) {
233
- this.actionHandler(action, item);
234
- }
235
- else if (!item && this.actionHandler && action === 'worktree:create') {
236
- // Allow worktree creation even without selection
237
- this.actionHandler(action, {
238
- type: 'worktree',
239
- item: {},
240
- worktreeId: '',
241
- });
242
- }
243
- }
244
- focus() {
245
- super.focus();
246
- this.list.focus();
247
- }
248
- blur() {
249
- super.blur();
250
- this.list.blur();
251
- }
252
- }
253
- /**
254
- * Create a SidebarView
255
- */
256
- export function createSidebarView(props = {}) {
257
- return new SidebarView(props);
258
- }
259
- //# sourceMappingURL=sidebar-view.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"sidebar-view.js","sourceRoot":"","sources":["../../../src/ui/views/sidebar-view.ts"],"names":[],"mappings":"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"}