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,364 +0,0 @@
1
- #!/usr/bin/env node
2
- /**
3
- * Terminal Manager - Tab UI for terminal panes
4
- *
5
- * Runs in a small horizontal pane above the terminal area.
6
- * Shows tabs for each terminal, allows switching between them.
7
- *
8
- * Layout:
9
- * ┌──────────────────────────────────────┐
10
- * │ [Terminal 1] [Terminal 2] [Term...] │ <- This pane (3 rows)
11
- * ├──────────────────────────────────────┤
12
- * │ Active terminal content │ <- One terminal visible
13
- * └──────────────────────────────────────┘
14
- */
15
- import { execSync } from 'child_process';
16
- import { readFileSync, writeFileSync, existsSync, watchFile, unwatchFile } from 'fs';
17
- // ANSI escape codes
18
- const ESC = '\x1b';
19
- const CSI = `${ESC}[`;
20
- const ansi = {
21
- clearScreen: `${CSI}2J`,
22
- moveTo: (row, col) => `${CSI}${row};${col}H`,
23
- reset: `${CSI}0m`,
24
- bold: `${CSI}1m`,
25
- dim: `${CSI}2m`,
26
- inverse: `${CSI}7m`,
27
- fg: {
28
- black: `${CSI}30m`,
29
- red: `${CSI}31m`,
30
- green: `${CSI}32m`,
31
- yellow: `${CSI}33m`,
32
- blue: `${CSI}34m`,
33
- magenta: `${CSI}35m`,
34
- cyan: `${CSI}36m`,
35
- white: `${CSI}37m`,
36
- gray: `${CSI}90m`,
37
- },
38
- bg: {
39
- black: `${CSI}40m`,
40
- red: `${CSI}41m`,
41
- green: `${CSI}42m`,
42
- yellow: `${CSI}43m`,
43
- blue: `${CSI}44m`,
44
- magenta: `${CSI}45m`,
45
- cyan: `${CSI}46m`,
46
- white: `${CSI}47m`,
47
- gray: `${CSI}100m`,
48
- },
49
- hideCursor: `${CSI}?25l`,
50
- showCursor: `${CSI}?25h`,
51
- // Mouse support
52
- enableMouse: `${CSI}?1000h${CSI}?1006h`, // Enable mouse tracking + SGR extended mode
53
- disableMouse: `${CSI}?1000l${CSI}?1006l`,
54
- };
55
- class TerminalManager {
56
- stateFile;
57
- state = null;
58
- running = false;
59
- tabPositions = [];
60
- constructor(stateFile) {
61
- this.stateFile = stateFile;
62
- }
63
- loadState() {
64
- try {
65
- if (!existsSync(this.stateFile)) {
66
- return false;
67
- }
68
- const data = readFileSync(this.stateFile, 'utf-8');
69
- this.state = JSON.parse(data);
70
- return true;
71
- }
72
- catch (err) {
73
- return false;
74
- }
75
- }
76
- saveState() {
77
- if (!this.state)
78
- return;
79
- try {
80
- writeFileSync(this.stateFile, JSON.stringify(this.state, null, 2));
81
- }
82
- catch (err) {
83
- // Failed to save state
84
- }
85
- }
86
- start() {
87
- // Initial state load
88
- if (!this.loadState()) {
89
- console.error('Failed to load state file');
90
- process.exit(1);
91
- }
92
- this.running = true;
93
- // Set up terminal
94
- process.stdout.write(ansi.hideCursor);
95
- process.stdout.write(ansi.enableMouse);
96
- // Set up raw mode for input
97
- if (process.stdin.isTTY) {
98
- process.stdin.setRawMode(true);
99
- }
100
- process.stdin.resume();
101
- // Use raw data handler for both keyboard and mouse
102
- process.stdin.on('data', this.handleInput.bind(this));
103
- // Watch state file for changes
104
- watchFile(this.stateFile, { interval: 100 }, () => {
105
- this.loadState();
106
- this.render();
107
- });
108
- // Handle resize
109
- process.stdout.on('resize', () => {
110
- this.render();
111
- });
112
- // Initial render
113
- this.render();
114
- }
115
- stop() {
116
- this.running = false;
117
- unwatchFile(this.stateFile);
118
- process.stdout.write(ansi.disableMouse);
119
- process.stdout.write(ansi.showCursor);
120
- process.stdout.write(ansi.reset);
121
- if (process.stdin.isTTY) {
122
- process.stdin.setRawMode(false);
123
- }
124
- process.stdin.pause();
125
- }
126
- handleInput(data) {
127
- if (!this.state)
128
- return;
129
- const input = data.toString();
130
- // Check for SGR mouse events: \x1b[<button;col;rowM or \x1b[<button;col;rowm
131
- // Button 0 = left click press, lowercase 'm' = release
132
- const mouseMatch = input.match(/\x1b\[<(\d+);(\d+);(\d+)([Mm])/);
133
- if (mouseMatch) {
134
- const button = parseInt(mouseMatch[1], 10);
135
- const col = parseInt(mouseMatch[2], 10);
136
- const row = parseInt(mouseMatch[3], 10);
137
- const isRelease = mouseMatch[4] === 'm';
138
- // Handle left click release (button 0)
139
- if (button === 0 && isRelease && row === 1) {
140
- this.handleTabClick(col);
141
- }
142
- return;
143
- }
144
- // Handle keyboard input
145
- const key = input;
146
- // Number keys 1-9 to switch directly to tab
147
- if (key >= '1' && key <= '9') {
148
- const tabIndex = parseInt(key, 10) - 1;
149
- if (tabIndex < this.state.terminals.length) {
150
- this.switchToTab(tabIndex);
151
- }
152
- return;
153
- }
154
- // Tab key to cycle forward
155
- if (key === '\t') {
156
- this.switchTab(1);
157
- return;
158
- }
159
- // Shift+Tab (backtab) to cycle backward - comes as \x1b[Z
160
- if (key === '\x1b[Z') {
161
- this.switchTab(-1);
162
- return;
163
- }
164
- // 'h' or left arrow - move left
165
- if (key === 'h' || key === '\x1b[D' || key === '\x1bOD') {
166
- this.switchTab(-1);
167
- return;
168
- }
169
- // 'l' or right arrow - move right
170
- if (key === 'l' || key === '\x1b[C' || key === '\x1bOC') {
171
- this.switchTab(1);
172
- return;
173
- }
174
- // Enter - focus the terminal pane
175
- if (key === '\r') {
176
- this.focusActiveTerminal();
177
- return;
178
- }
179
- // 'd' - delete current terminal
180
- if (key === 'd') {
181
- this.deleteCurrentTerminal();
182
- return;
183
- }
184
- // 'c' or 'n' - create new terminal
185
- if (key === 'c' || key === 'n') {
186
- this.requestNewTerminal();
187
- return;
188
- }
189
- // Ignore Ctrl+C
190
- if (key === '\x03') {
191
- return;
192
- }
193
- }
194
- handleTabClick(col) {
195
- // Find which tab was clicked based on column position
196
- for (const tab of this.tabPositions) {
197
- if (col >= tab.startCol && col <= tab.endCol) {
198
- if (tab.index !== this.state?.activeIndex) {
199
- this.switchToTab(tab.index);
200
- }
201
- return;
202
- }
203
- }
204
- }
205
- switchToTab(targetIndex) {
206
- if (!this.state || targetIndex < 0 || targetIndex >= this.state.terminals.length)
207
- return;
208
- if (targetIndex === this.state.activeIndex)
209
- return;
210
- // Notify sidebar to handle the switch - sidebar will do the pane manipulation
211
- // and update the state file, which we'll pick up via file watch
212
- this.notifySidebar('switch', targetIndex);
213
- }
214
- switchTab(direction) {
215
- if (!this.state || this.state.terminals.length === 0)
216
- return;
217
- const newIndex = this.state.activeIndex + direction;
218
- // Bounds check
219
- if (newIndex < 0 || newIndex >= this.state.terminals.length) {
220
- return;
221
- }
222
- const currentTerminal = this.state.terminals[this.state.activeIndex];
223
- const newTerminal = this.state.terminals[newIndex];
224
- // Swap panes: break current, join new
225
- try {
226
- // Break current terminal to background
227
- execSync(`tmux break-pane -d -t ${currentTerminal.id}`, { stdio: 'ignore' });
228
- // Join new terminal below the manager pane
229
- execSync(`tmux join-pane -v -t ${this.state.terminalManagerPaneId} -s ${newTerminal.id}`, { stdio: 'ignore' });
230
- // Update state and save to file
231
- this.state.activeIndex = newIndex;
232
- this.saveState();
233
- // Notify sidebar of the change
234
- this.notifySidebar('switch', newIndex);
235
- this.render();
236
- }
237
- catch (err) {
238
- // Swap failed, try to recover
239
- }
240
- }
241
- focusActiveTerminal() {
242
- if (!this.state || this.state.terminals.length === 0)
243
- return;
244
- const activeTerminal = this.state.terminals[this.state.activeIndex];
245
- try {
246
- execSync(`tmux select-pane -t ${activeTerminal.id}`, { stdio: 'ignore' });
247
- }
248
- catch (err) {
249
- // Focus failed
250
- }
251
- }
252
- deleteCurrentTerminal() {
253
- if (!this.state || this.state.terminals.length === 0)
254
- return;
255
- const terminalToDelete = this.state.terminals[this.state.activeIndex];
256
- // Notify sidebar to handle deletion
257
- this.notifySidebar('delete', this.state.activeIndex);
258
- }
259
- requestNewTerminal() {
260
- if (!this.state)
261
- return;
262
- // Send Ctrl+T to sidebar to create new terminal
263
- try {
264
- execSync(`tmux send-keys -t ${this.state.sidebarPaneId} C-t`, { stdio: 'ignore' });
265
- }
266
- catch (err) {
267
- // Failed to send
268
- }
269
- }
270
- notifySidebar(action, index) {
271
- if (!this.state)
272
- return;
273
- // Send special key sequence to sidebar
274
- // Format: Ctrl+U followed by action code, space, and index, then Enter
275
- const actionCode = action === 'switch' ? 'S' : 'D';
276
- try {
277
- // Use -l (literal) flag to send the command string as-is
278
- execSync(`tmux send-keys -t ${this.state.sidebarPaneId} C-u`, { stdio: 'ignore' });
279
- execSync(`tmux send-keys -t ${this.state.sidebarPaneId} -l "${actionCode} ${index}"`, { stdio: 'ignore' });
280
- execSync(`tmux send-keys -t ${this.state.sidebarPaneId} Enter`, { stdio: 'ignore' });
281
- }
282
- catch (err) {
283
- // Failed to notify
284
- }
285
- }
286
- render() {
287
- if (!this.state)
288
- return;
289
- const cols = process.stdout.columns || 80;
290
- let output = ansi.clearScreen;
291
- output += ansi.moveTo(1, 1);
292
- // Clear tab positions
293
- this.tabPositions = [];
294
- const hints = 'click/1-9:switch ↵:focus n:new d:del';
295
- const hintsLen = hints.length;
296
- if (this.state.terminals.length === 0) {
297
- // No terminals message on left, hints on right
298
- const msg = "No terminals. Press 'n' to create.";
299
- const padding = cols - msg.length - hintsLen - 2;
300
- output += `${ansi.dim}${msg}${' '.repeat(Math.max(1, padding))}${hints}${ansi.reset}`;
301
- }
302
- else {
303
- // Build tabs and track positions
304
- let tabLine = '';
305
- let currentCol = 1; // 1-indexed column position
306
- for (let i = 0; i < this.state.terminals.length; i++) {
307
- const term = this.state.terminals[i];
308
- const isActive = i === this.state.activeIndex;
309
- const tabNum = i + 1; // 1-indexed for display
310
- // Calculate available space for tabs (leave room for hints)
311
- const availableForTabs = cols - hintsLen - 4;
312
- const maxTitleLen = Math.max(4, Math.floor(availableForTabs / this.state.terminals.length) - 5);
313
- // Truncate title if needed
314
- let title = term.title;
315
- if (title.length > maxTitleLen) {
316
- title = title.slice(0, maxTitleLen - 2) + '..';
317
- }
318
- // Show tab number for quick switching (only for tabs 1-9)
319
- const tabText = tabNum <= 9 ? ` ${tabNum}:${title} ` : ` ${title} `;
320
- // Record tab position for click handling
321
- this.tabPositions.push({
322
- index: i,
323
- startCol: currentCol,
324
- endCol: currentCol + tabText.length - 1,
325
- });
326
- currentCol += tabText.length;
327
- if (isActive) {
328
- tabLine += `${ansi.bg.cyan}${ansi.fg.black}${ansi.bold}${tabText}${ansi.reset}`;
329
- }
330
- else {
331
- tabLine += `${ansi.dim}${tabText}${ansi.reset}`;
332
- }
333
- // Add separator
334
- if (i < this.state.terminals.length - 1) {
335
- tabLine += `${ansi.fg.gray}│${ansi.reset}`;
336
- currentCol += 1;
337
- }
338
- }
339
- // Calculate padding between tabs and hints
340
- const tabsWidth = currentCol - 1;
341
- const padding = cols - tabsWidth - hintsLen - 1;
342
- output += tabLine;
343
- output += ' '.repeat(Math.max(1, padding));
344
- output += `${ansi.dim}${hints}${ansi.reset}`;
345
- }
346
- process.stdout.write(output);
347
- }
348
- }
349
- // Main entry point
350
- async function main() {
351
- const args = process.argv.slice(2);
352
- if (args.length < 1) {
353
- console.error('Usage: terminal-manager <stateFile>');
354
- process.exit(1);
355
- }
356
- const stateFile = args[0];
357
- const manager = new TerminalManager(stateFile);
358
- manager.start();
359
- }
360
- main().catch((err) => {
361
- console.error('Terminal manager error:', err);
362
- process.exit(1);
363
- });
364
- //# sourceMappingURL=terminal-manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"terminal-manager.js","sourceRoot":"","sources":["../src/terminal-manager.ts"],"names":[],"mappings":"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"}
package/dist/tmux.d.ts DELETED
@@ -1,163 +0,0 @@
1
- /**
2
- * Tmux control utilities
3
- */
4
- export interface TmuxPane {
5
- id: string;
6
- width: number;
7
- height: number;
8
- active: boolean;
9
- }
10
- export interface TmuxWindow {
11
- id: string;
12
- name: string;
13
- active: boolean;
14
- panes: TmuxPane[];
15
- }
16
- export declare class Tmux {
17
- private sessionName;
18
- constructor(sessionName?: string);
19
- /**
20
- * Check if tmux is installed
21
- */
22
- static isAvailable(): boolean;
23
- /**
24
- * Check if our session already exists
25
- */
26
- sessionExists(): boolean;
27
- /**
28
- * Kill existing session if it exists
29
- */
30
- killSession(): void;
31
- /**
32
- * Create a new tmux session (detached)
33
- * Returns the initial window/pane ID
34
- */
35
- createSession(startDir: string): string;
36
- /**
37
- * Split pane horizontally (left/right)
38
- * Returns the new pane ID (right pane)
39
- */
40
- splitHorizontal(percentage?: number, startDir?: string): string;
41
- /**
42
- * Split pane vertically (top/bottom)
43
- * Returns the new pane ID (bottom pane)
44
- */
45
- splitVertical(percentage?: number, startDir?: string): string;
46
- /**
47
- * Send keys to a specific pane
48
- */
49
- /**
50
- * Send literal text to a pane (spaces and special chars preserved)
51
- */
52
- sendKeys(paneId: string, keys: string, enter?: boolean): void;
53
- /**
54
- * Send control/special keys (e.g., C-c for Ctrl+C, Enter, Escape)
55
- */
56
- sendControlKey(paneId: string, key: string): void;
57
- /**
58
- * Run a command in a specific pane
59
- */
60
- runInPane(paneId: string, command: string): void;
61
- /**
62
- * Select (focus) a specific pane
63
- */
64
- selectPane(paneId: string): void;
65
- /**
66
- * Resize a pane
67
- */
68
- resizePane(paneId: string, width?: number, height?: number): void;
69
- /**
70
- * Break a pane out to its own window (keeps it running in background)
71
- * Returns the new window ID
72
- */
73
- breakPane(paneId: string, windowName?: string): string;
74
- /**
75
- * Join a pane from another window into the current window
76
- * Returns the new pane ID
77
- */
78
- joinPane(sourcePaneId: string, targetPaneId: string, horizontal?: boolean): string;
79
- /**
80
- * Swap two panes
81
- */
82
- swapPane(paneId1: string, paneId2: string): void;
83
- /**
84
- * Create a new pane by splitting, run a command, then break it to background
85
- * Returns the pane ID (which persists even after breaking to background window)
86
- */
87
- createBackgroundPane(startDir: string, command?: string): string;
88
- /**
89
- * Bring a background pane to the foreground (swap with current right pane)
90
- */
91
- showPane(paneId: string, targetPaneId: string): void;
92
- /**
93
- * Create a new window (like a tab)
94
- */
95
- createWindow(name: string, startDir?: string): string;
96
- /**
97
- * Select a window by index or ID
98
- */
99
- selectWindow(windowId: string): void;
100
- /**
101
- * Rename a window
102
- */
103
- renameWindow(windowId: string, name: string): void;
104
- /**
105
- * Kill a pane
106
- */
107
- killPane(paneId: string): void;
108
- /**
109
- * Kill a window
110
- */
111
- killWindow(windowId: string): void;
112
- /**
113
- * Detach the current client from the session
114
- */
115
- detachClient(): void;
116
- /**
117
- * Attach to the session (takes over the terminal)
118
- * This is blocking - returns only after detach/exit
119
- */
120
- attach(): number;
121
- /**
122
- * Get list of panes in current window
123
- */
124
- listPanes(): TmuxPane[];
125
- /**
126
- * Get list of windows
127
- */
128
- listWindows(): TmuxWindow[];
129
- /**
130
- * Set a tmux option
131
- */
132
- setOption(option: string, value: string, global?: boolean): void;
133
- /**
134
- * Set a pane-specific option
135
- */
136
- setPaneOption(paneId: string, option: string, value: string): void;
137
- /**
138
- * Bind a key
139
- */
140
- bindKey(key: string, command: string): void;
141
- /**
142
- * Unbind a key
143
- */
144
- unbindKey(table: string, key: string): void;
145
- /**
146
- * Bind a conditional key (does different things based on pane)
147
- */
148
- bindConditionalKey(table: string, key: string, condition: string, ifTrue: string, ifFalse: string): void;
149
- /**
150
- * Set up a key binding to toggle sidebar width
151
- * Binds to Ctrl+G (no prefix needed, works from any pane)
152
- */
153
- bindSidebarToggle(sidebarPaneId: string, expandedWidth: number, collapsedWidth: number): void;
154
- /**
155
- * Disable scroll wheel for a specific pane, keep it for others
156
- */
157
- disableScrollForPane(paneId: string): void;
158
- /**
159
- * Get session name
160
- */
161
- getSessionName(): string;
162
- }
163
- //# sourceMappingURL=tmux.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"tmux.d.ts","sourceRoot":"","sources":["../src/tmux.ts"],"names":[],"mappings":"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"}