claude-code-plus-plus 0.1.0 → 0.2.0

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 (493) hide show
  1. package/dist/app.d.ts +52 -0
  2. package/dist/app.d.ts.map +1 -0
  3. package/dist/app.js +318 -0
  4. package/dist/app.js.map +1 -0
  5. package/dist/cli/commands/index.d.ts +5 -0
  6. package/dist/cli/commands/index.d.ts.map +1 -0
  7. package/dist/cli/commands/index.js +5 -0
  8. package/dist/cli/commands/index.js.map +1 -0
  9. package/dist/cli/commands/start.d.ts +16 -0
  10. package/dist/cli/commands/start.d.ts.map +1 -0
  11. package/dist/cli/commands/start.js +20 -0
  12. package/dist/cli/commands/start.js.map +1 -0
  13. package/dist/cli/index.d.ts +7 -0
  14. package/dist/cli/index.d.ts.map +1 -0
  15. package/dist/cli/index.js +7 -0
  16. package/dist/cli/index.js.map +1 -0
  17. package/dist/cli/parser.d.ts +31 -0
  18. package/dist/cli/parser.d.ts.map +1 -0
  19. package/dist/cli/parser.js +112 -0
  20. package/dist/cli/parser.js.map +1 -0
  21. package/dist/cli/validators.d.ts +46 -0
  22. package/dist/cli/validators.d.ts.map +1 -0
  23. package/dist/cli/validators.js +149 -0
  24. package/dist/cli/validators.js.map +1 -0
  25. package/dist/config/defaults.d.ts +14 -0
  26. package/dist/config/defaults.d.ts.map +1 -0
  27. package/dist/config/defaults.js +27 -0
  28. package/dist/config/defaults.js.map +1 -0
  29. package/dist/config/index.d.ts +10 -0
  30. package/dist/config/index.d.ts.map +1 -0
  31. package/dist/config/index.js +12 -0
  32. package/dist/config/index.js.map +1 -0
  33. package/dist/config/loader.d.ts +38 -0
  34. package/dist/config/loader.d.ts.map +1 -0
  35. package/dist/config/loader.js +107 -0
  36. package/dist/config/loader.js.map +1 -0
  37. package/dist/config/paths.d.ts +47 -0
  38. package/dist/config/paths.d.ts.map +1 -0
  39. package/dist/config/paths.js +86 -0
  40. package/dist/config/paths.js.map +1 -0
  41. package/dist/config/schema.d.ts +15 -0
  42. package/dist/config/schema.d.ts.map +1 -0
  43. package/dist/config/schema.js +32 -0
  44. package/dist/config/schema.js.map +1 -0
  45. package/dist/core/index.d.ts +13 -1
  46. package/dist/core/index.d.ts.map +1 -1
  47. package/dist/core/index.js +13 -1
  48. package/dist/core/index.js.map +1 -1
  49. package/dist/core/session/index.d.ts +7 -0
  50. package/dist/core/session/index.d.ts.map +1 -0
  51. package/dist/core/session/index.js +6 -0
  52. package/dist/core/session/index.js.map +1 -0
  53. package/dist/core/session/session-manager.d.ts +46 -0
  54. package/dist/core/session/session-manager.d.ts.map +1 -0
  55. package/dist/core/session/session-manager.js +245 -0
  56. package/dist/core/session/session-manager.js.map +1 -0
  57. package/dist/core/session/session.d.ts +44 -0
  58. package/dist/core/session/session.d.ts.map +1 -0
  59. package/dist/core/session/session.js +78 -0
  60. package/dist/core/session/session.js.map +1 -0
  61. package/dist/core/terminal/index.d.ts +7 -0
  62. package/dist/core/terminal/index.d.ts.map +1 -0
  63. package/dist/core/terminal/index.js +6 -0
  64. package/dist/core/terminal/index.js.map +1 -0
  65. package/dist/core/terminal/terminal-manager.d.ts +36 -0
  66. package/dist/core/terminal/terminal-manager.d.ts.map +1 -0
  67. package/dist/core/terminal/terminal-manager.js +182 -0
  68. package/dist/core/terminal/terminal-manager.js.map +1 -0
  69. package/dist/core/terminal/terminal.d.ts +27 -0
  70. package/dist/core/terminal/terminal.d.ts.map +1 -0
  71. package/dist/core/terminal/terminal.js +38 -0
  72. package/dist/core/terminal/terminal.js.map +1 -0
  73. package/dist/core/workspace/index.d.ts +7 -0
  74. package/dist/core/workspace/index.d.ts.map +1 -0
  75. package/dist/core/workspace/index.js +6 -0
  76. package/dist/core/workspace/index.js.map +1 -0
  77. package/dist/core/workspace/workspace-manager.d.ts +59 -0
  78. package/dist/core/workspace/workspace-manager.d.ts.map +1 -0
  79. package/dist/core/workspace/workspace-manager.js +224 -0
  80. package/dist/core/workspace/workspace-manager.js.map +1 -0
  81. package/dist/core/workspace/workspace.d.ts +56 -0
  82. package/dist/core/workspace/workspace.d.ts.map +1 -0
  83. package/dist/core/workspace/workspace.js +96 -0
  84. package/dist/core/workspace/workspace.js.map +1 -0
  85. package/dist/core/worktree/index.d.ts +7 -0
  86. package/dist/core/worktree/index.d.ts.map +1 -0
  87. package/dist/core/worktree/index.js +6 -0
  88. package/dist/core/worktree/index.js.map +1 -0
  89. package/dist/core/worktree/worktree-manager.d.ts +47 -0
  90. package/dist/core/worktree/worktree-manager.d.ts.map +1 -0
  91. package/dist/core/worktree/worktree-manager.js +170 -0
  92. package/dist/core/worktree/worktree-manager.js.map +1 -0
  93. package/dist/core/worktree/worktree.d.ts +35 -0
  94. package/dist/core/worktree/worktree.d.ts.map +1 -0
  95. package/dist/core/worktree/worktree.js +50 -0
  96. package/dist/core/worktree/worktree.js.map +1 -0
  97. package/dist/events/bus.d.ts +76 -0
  98. package/dist/events/bus.d.ts.map +1 -0
  99. package/dist/events/bus.js +223 -0
  100. package/dist/events/bus.js.map +1 -0
  101. package/dist/events/handlers/index.d.ts +28 -0
  102. package/dist/events/handlers/index.d.ts.map +1 -0
  103. package/dist/events/handlers/index.js +44 -0
  104. package/dist/events/handlers/index.js.map +1 -0
  105. package/dist/events/handlers/session-events.d.ts +12 -0
  106. package/dist/events/handlers/session-events.d.ts.map +1 -0
  107. package/dist/events/handlers/session-events.js +38 -0
  108. package/dist/events/handlers/session-events.js.map +1 -0
  109. package/dist/events/handlers/terminal-events.d.ts +12 -0
  110. package/dist/events/handlers/terminal-events.d.ts.map +1 -0
  111. package/dist/events/handlers/terminal-events.js +37 -0
  112. package/dist/events/handlers/terminal-events.js.map +1 -0
  113. package/dist/events/handlers/ui-events.d.ts +11 -0
  114. package/dist/events/handlers/ui-events.d.ts.map +1 -0
  115. package/dist/events/handlers/ui-events.js +202 -0
  116. package/dist/events/handlers/ui-events.js.map +1 -0
  117. package/dist/events/index.d.ts +9 -0
  118. package/dist/events/index.d.ts.map +1 -0
  119. package/dist/events/index.js +10 -0
  120. package/dist/events/index.js.map +1 -0
  121. package/dist/git/index.d.ts +5 -0
  122. package/dist/git/index.d.ts.map +1 -0
  123. package/dist/git/index.js +5 -0
  124. package/dist/git/index.js.map +1 -0
  125. package/dist/git/worktree.d.ts +44 -0
  126. package/dist/git/worktree.d.ts.map +1 -0
  127. package/dist/git/worktree.js +158 -0
  128. package/dist/git/worktree.js.map +1 -0
  129. package/dist/index.d.ts +0 -1
  130. package/dist/index.d.ts.map +1 -1
  131. package/dist/index.js +37 -144
  132. package/dist/index.js.map +1 -1
  133. package/dist/launcher/index.d.ts +24 -0
  134. package/dist/launcher/index.d.ts.map +1 -0
  135. package/dist/launcher/index.js +226 -0
  136. package/dist/launcher/index.js.map +1 -0
  137. package/dist/multiplexer/base.d.ts +73 -0
  138. package/dist/multiplexer/base.d.ts.map +1 -0
  139. package/dist/multiplexer/base.js +68 -0
  140. package/dist/multiplexer/base.js.map +1 -0
  141. package/dist/multiplexer/factory.d.ts +28 -0
  142. package/dist/multiplexer/factory.d.ts.map +1 -0
  143. package/dist/multiplexer/factory.js +72 -0
  144. package/dist/multiplexer/factory.js.map +1 -0
  145. package/dist/multiplexer/index.d.ts +14 -0
  146. package/dist/multiplexer/index.d.ts.map +1 -0
  147. package/dist/multiplexer/index.js +15 -0
  148. package/dist/multiplexer/index.js.map +1 -0
  149. package/dist/multiplexer/tmux/index.d.ts +9 -0
  150. package/dist/multiplexer/tmux/index.d.ts.map +1 -0
  151. package/dist/multiplexer/tmux/index.js +7 -0
  152. package/dist/multiplexer/tmux/index.js.map +1 -0
  153. package/dist/multiplexer/tmux/tmux-commands.d.ts +96 -0
  154. package/dist/multiplexer/tmux/tmux-commands.d.ts.map +1 -0
  155. package/dist/multiplexer/tmux/tmux-commands.js +282 -0
  156. package/dist/multiplexer/tmux/tmux-commands.js.map +1 -0
  157. package/dist/multiplexer/tmux/tmux-config.d.ts +57 -0
  158. package/dist/multiplexer/tmux/tmux-config.d.ts.map +1 -0
  159. package/dist/multiplexer/tmux/tmux-config.js +103 -0
  160. package/dist/multiplexer/tmux/tmux-config.js.map +1 -0
  161. package/dist/multiplexer/tmux/tmux-multiplexer.d.ts +94 -0
  162. package/dist/multiplexer/tmux/tmux-multiplexer.d.ts.map +1 -0
  163. package/dist/multiplexer/tmux/tmux-multiplexer.js +302 -0
  164. package/dist/multiplexer/tmux/tmux-multiplexer.js.map +1 -0
  165. package/dist/multiplexer/windows/index.d.ts +5 -0
  166. package/dist/multiplexer/windows/index.d.ts.map +1 -0
  167. package/dist/multiplexer/windows/index.js +5 -0
  168. package/dist/multiplexer/windows/index.js.map +1 -0
  169. package/dist/multiplexer/windows/windows-multiplexer.d.ts +61 -0
  170. package/dist/multiplexer/windows/windows-multiplexer.d.ts.map +1 -0
  171. package/dist/multiplexer/windows/windows-multiplexer.js +151 -0
  172. package/dist/multiplexer/windows/windows-multiplexer.js.map +1 -0
  173. package/dist/platform/clipboard.d.ts +26 -0
  174. package/dist/platform/clipboard.d.ts.map +1 -0
  175. package/dist/platform/clipboard.js +154 -0
  176. package/dist/platform/clipboard.js.map +1 -0
  177. package/dist/platform/detector.d.ts +78 -0
  178. package/dist/platform/detector.d.ts.map +1 -0
  179. package/dist/platform/detector.js +169 -0
  180. package/dist/platform/detector.js.map +1 -0
  181. package/dist/platform/index.d.ts +14 -0
  182. package/dist/platform/index.d.ts.map +1 -0
  183. package/dist/platform/index.js +15 -0
  184. package/dist/platform/index.js.map +1 -0
  185. package/dist/platform/paths.d.ts +63 -0
  186. package/dist/platform/paths.d.ts.map +1 -0
  187. package/dist/platform/paths.js +149 -0
  188. package/dist/platform/paths.js.map +1 -0
  189. package/dist/platform/shell.d.ts +43 -0
  190. package/dist/platform/shell.d.ts.map +1 -0
  191. package/dist/platform/shell.js +187 -0
  192. package/dist/platform/shell.js.map +1 -0
  193. package/dist/services/claude/claude-detector.d.ts +37 -0
  194. package/dist/services/claude/claude-detector.d.ts.map +1 -0
  195. package/dist/services/claude/claude-detector.js +83 -0
  196. package/dist/services/claude/claude-detector.js.map +1 -0
  197. package/dist/services/claude/claude-service.d.ts +57 -0
  198. package/dist/services/claude/claude-service.d.ts.map +1 -0
  199. package/dist/services/claude/claude-service.js +108 -0
  200. package/dist/services/claude/claude-service.js.map +1 -0
  201. package/dist/services/claude/index.d.ts +7 -0
  202. package/dist/services/claude/index.d.ts.map +1 -0
  203. package/dist/services/claude/index.js +6 -0
  204. package/dist/services/claude/index.js.map +1 -0
  205. package/dist/services/git/branch-service.d.ts +64 -0
  206. package/dist/services/git/branch-service.d.ts.map +1 -0
  207. package/dist/services/git/branch-service.js +217 -0
  208. package/dist/services/git/branch-service.js.map +1 -0
  209. package/dist/services/git/git-service.d.ts +44 -0
  210. package/dist/services/git/git-service.d.ts.map +1 -0
  211. package/dist/services/git/git-service.js +145 -0
  212. package/dist/services/git/git-service.js.map +1 -0
  213. package/dist/services/git/index.d.ts +8 -0
  214. package/dist/services/git/index.d.ts.map +1 -0
  215. package/dist/services/git/index.js +7 -0
  216. package/dist/services/git/index.js.map +1 -0
  217. package/dist/services/git/worktree-service.d.ts +61 -0
  218. package/dist/services/git/worktree-service.d.ts.map +1 -0
  219. package/dist/services/git/worktree-service.js +243 -0
  220. package/dist/services/git/worktree-service.js.map +1 -0
  221. package/dist/services/index.d.ts +12 -0
  222. package/dist/services/index.d.ts.map +1 -0
  223. package/dist/services/index.js +12 -0
  224. package/dist/services/index.js.map +1 -0
  225. package/dist/services/process/index.d.ts +8 -0
  226. package/dist/services/process/index.d.ts.map +1 -0
  227. package/dist/services/process/index.js +6 -0
  228. package/dist/services/process/index.js.map +1 -0
  229. package/dist/services/process/process-monitor.d.ts +98 -0
  230. package/dist/services/process/process-monitor.d.ts.map +1 -0
  231. package/dist/services/process/process-monitor.js +173 -0
  232. package/dist/services/process/process-monitor.js.map +1 -0
  233. package/dist/services/process/process-spawner.d.ts +55 -0
  234. package/dist/services/process/process-spawner.d.ts.map +1 -0
  235. package/dist/services/process/process-spawner.js +93 -0
  236. package/dist/services/process/process-spawner.js.map +1 -0
  237. package/dist/sidebar/app.d.ts +70 -0
  238. package/dist/sidebar/app.d.ts.map +1 -0
  239. package/dist/sidebar/app.js +1203 -0
  240. package/dist/sidebar/app.js.map +1 -0
  241. package/dist/sidebar/index.d.ts +8 -0
  242. package/dist/sidebar/index.d.ts.map +1 -0
  243. package/dist/sidebar/index.js +26 -0
  244. package/dist/sidebar/index.js.map +1 -0
  245. package/dist/sidebar/input.d.ts +33 -0
  246. package/dist/sidebar/input.d.ts.map +1 -0
  247. package/dist/sidebar/input.js +153 -0
  248. package/dist/sidebar/input.js.map +1 -0
  249. package/dist/sidebar/render.d.ts +73 -0
  250. package/dist/sidebar/render.d.ts.map +1 -0
  251. package/dist/sidebar/render.js +403 -0
  252. package/dist/sidebar/render.js.map +1 -0
  253. package/dist/state/actions.d.ts +49 -0
  254. package/dist/state/actions.d.ts.map +1 -0
  255. package/dist/state/actions.js +512 -0
  256. package/dist/state/actions.js.map +1 -0
  257. package/dist/state/index.d.ts +16 -0
  258. package/dist/state/index.d.ts.map +1 -0
  259. package/dist/state/index.js +28 -0
  260. package/dist/state/index.js.map +1 -0
  261. package/dist/state/middleware/index.d.ts +7 -0
  262. package/dist/state/middleware/index.d.ts.map +1 -0
  263. package/dist/state/middleware/index.js +6 -0
  264. package/dist/state/middleware/index.js.map +1 -0
  265. package/dist/state/middleware/logger.d.ts +22 -0
  266. package/dist/state/middleware/logger.d.ts.map +1 -0
  267. package/dist/state/middleware/logger.js +45 -0
  268. package/dist/state/middleware/logger.js.map +1 -0
  269. package/dist/state/middleware/persistence.d.ts +29 -0
  270. package/dist/state/middleware/persistence.d.ts.map +1 -0
  271. package/dist/state/middleware/persistence.js +71 -0
  272. package/dist/state/middleware/persistence.js.map +1 -0
  273. package/dist/state/persistence/file-adapter.d.ts +48 -0
  274. package/dist/state/persistence/file-adapter.d.ts.map +1 -0
  275. package/dist/state/persistence/file-adapter.js +96 -0
  276. package/dist/state/persistence/file-adapter.js.map +1 -0
  277. package/dist/state/persistence/index.d.ts +8 -0
  278. package/dist/state/persistence/index.d.ts.map +1 -0
  279. package/dist/state/persistence/index.js +6 -0
  280. package/dist/state/persistence/index.js.map +1 -0
  281. package/dist/state/persistence/serializer.d.ts +41 -0
  282. package/dist/state/persistence/serializer.d.ts.map +1 -0
  283. package/dist/state/persistence/serializer.js +114 -0
  284. package/dist/state/persistence/serializer.js.map +1 -0
  285. package/dist/state/selectors.d.ts +67 -0
  286. package/dist/state/selectors.d.ts.map +1 -0
  287. package/dist/state/selectors.js +177 -0
  288. package/dist/state/selectors.js.map +1 -0
  289. package/dist/state/store.d.ts +86 -0
  290. package/dist/state/store.d.ts.map +1 -0
  291. package/dist/state/store.js +161 -0
  292. package/dist/state/store.js.map +1 -0
  293. package/dist/state/types.d.ts +269 -0
  294. package/dist/state/types.d.ts.map +1 -0
  295. package/dist/state/types.js +7 -0
  296. package/dist/state/types.js.map +1 -0
  297. package/dist/terminal/bar-handler.d.ts +15 -0
  298. package/dist/terminal/bar-handler.d.ts.map +1 -0
  299. package/dist/terminal/bar-handler.js +242 -0
  300. package/dist/terminal/bar-handler.js.map +1 -0
  301. package/dist/terminal/bar-render.d.ts +33 -0
  302. package/dist/terminal/bar-render.d.ts.map +1 -0
  303. package/dist/terminal/bar-render.js +122 -0
  304. package/dist/terminal/bar-render.js.map +1 -0
  305. package/dist/terminal/index.d.ts +8 -0
  306. package/dist/terminal/index.d.ts.map +1 -0
  307. package/dist/terminal/index.js +9 -0
  308. package/dist/terminal/index.js.map +1 -0
  309. package/dist/tmux/commands.d.ts +26 -0
  310. package/dist/tmux/commands.d.ts.map +1 -0
  311. package/dist/tmux/commands.js +67 -0
  312. package/dist/tmux/commands.js.map +1 -0
  313. package/dist/tmux/index.d.ts +6 -0
  314. package/dist/tmux/index.d.ts.map +1 -0
  315. package/dist/tmux/index.js +16 -0
  316. package/dist/tmux/index.js.map +1 -0
  317. package/dist/tmux/pane.d.ts +111 -0
  318. package/dist/tmux/pane.d.ts.map +1 -0
  319. package/dist/tmux/pane.js +206 -0
  320. package/dist/tmux/pane.js.map +1 -0
  321. package/dist/types/config.d.ts +103 -0
  322. package/dist/types/config.d.ts.map +1 -0
  323. package/dist/types/config.js +7 -0
  324. package/dist/types/config.js.map +1 -0
  325. package/dist/types/entities.d.ts +88 -0
  326. package/dist/types/entities.d.ts.map +1 -0
  327. package/dist/types/entities.js +8 -0
  328. package/dist/types/entities.js.map +1 -0
  329. package/dist/types/events.d.ts +156 -0
  330. package/dist/types/events.d.ts.map +1 -0
  331. package/dist/types/events.js +8 -0
  332. package/dist/types/events.js.map +1 -0
  333. package/dist/types/index.d.ts +11 -0
  334. package/dist/types/index.d.ts.map +1 -0
  335. package/dist/types/index.js +8 -0
  336. package/dist/types/index.js.map +1 -0
  337. package/dist/types/multiplexer.d.ts +238 -0
  338. package/dist/types/multiplexer.d.ts.map +1 -0
  339. package/dist/types/multiplexer.js +8 -0
  340. package/dist/types/multiplexer.js.map +1 -0
  341. package/dist/types.d.ts +67 -3
  342. package/dist/types.d.ts.map +1 -1
  343. package/dist/types.js +6 -2
  344. package/dist/types.js.map +1 -1
  345. package/dist/ui/components/base.d.ts +155 -0
  346. package/dist/ui/components/base.d.ts.map +1 -0
  347. package/dist/ui/components/base.js +269 -0
  348. package/dist/ui/components/base.js.map +1 -0
  349. package/dist/ui/components/index.d.ts +10 -0
  350. package/dist/ui/components/index.d.ts.map +1 -0
  351. package/dist/ui/components/index.js +10 -0
  352. package/dist/ui/components/index.js.map +1 -0
  353. package/dist/ui/components/input-field.d.ts +98 -0
  354. package/dist/ui/components/input-field.d.ts.map +1 -0
  355. package/dist/ui/components/input-field.js +274 -0
  356. package/dist/ui/components/input-field.js.map +1 -0
  357. package/dist/ui/components/list.d.ts +94 -0
  358. package/dist/ui/components/list.d.ts.map +1 -0
  359. package/dist/ui/components/list.js +294 -0
  360. package/dist/ui/components/list.js.map +1 -0
  361. package/dist/ui/components/modal.d.ts +83 -0
  362. package/dist/ui/components/modal.d.ts.map +1 -0
  363. package/dist/ui/components/modal.js +249 -0
  364. package/dist/ui/components/modal.js.map +1 -0
  365. package/dist/ui/components/tabs.d.ts +97 -0
  366. package/dist/ui/components/tabs.d.ts.map +1 -0
  367. package/dist/ui/components/tabs.js +252 -0
  368. package/dist/ui/components/tabs.js.map +1 -0
  369. package/dist/ui/components/text.d.ts +60 -0
  370. package/dist/ui/components/text.d.ts.map +1 -0
  371. package/dist/ui/components/text.js +224 -0
  372. package/dist/ui/components/text.js.map +1 -0
  373. package/dist/ui/index.d.ts +12 -0
  374. package/dist/ui/index.d.ts.map +1 -0
  375. package/dist/ui/index.js +18 -0
  376. package/dist/ui/index.js.map +1 -0
  377. package/dist/ui/input/index.d.ts +8 -0
  378. package/dist/ui/input/index.d.ts.map +1 -0
  379. package/dist/ui/input/index.js +8 -0
  380. package/dist/ui/input/index.js.map +1 -0
  381. package/dist/ui/input/input-manager.d.ts +83 -0
  382. package/dist/ui/input/input-manager.d.ts.map +1 -0
  383. package/dist/ui/input/input-manager.js +200 -0
  384. package/dist/ui/input/input-manager.js.map +1 -0
  385. package/dist/ui/input/keybindings.d.ts +47 -0
  386. package/dist/ui/input/keybindings.d.ts.map +1 -0
  387. package/dist/ui/input/keybindings.js +168 -0
  388. package/dist/ui/input/keybindings.js.map +1 -0
  389. package/dist/ui/input/keyboard.d.ts +24 -0
  390. package/dist/ui/input/keyboard.d.ts.map +1 -0
  391. package/dist/ui/input/keyboard.js +230 -0
  392. package/dist/ui/input/keyboard.js.map +1 -0
  393. package/dist/ui/input/mouse.d.ts +44 -0
  394. package/dist/ui/input/mouse.d.ts.map +1 -0
  395. package/dist/ui/input/mouse.js +161 -0
  396. package/dist/ui/input/mouse.js.map +1 -0
  397. package/dist/ui/layout/box.d.ts +63 -0
  398. package/dist/ui/layout/box.d.ts.map +1 -0
  399. package/dist/ui/layout/box.js +160 -0
  400. package/dist/ui/layout/box.js.map +1 -0
  401. package/dist/ui/layout/constraints.d.ts +77 -0
  402. package/dist/ui/layout/constraints.d.ts.map +1 -0
  403. package/dist/ui/layout/constraints.js +154 -0
  404. package/dist/ui/layout/constraints.js.map +1 -0
  405. package/dist/ui/layout/flex.d.ts +59 -0
  406. package/dist/ui/layout/flex.d.ts.map +1 -0
  407. package/dist/ui/layout/flex.js +163 -0
  408. package/dist/ui/layout/flex.js.map +1 -0
  409. package/dist/ui/layout/index.d.ts +7 -0
  410. package/dist/ui/layout/index.d.ts.map +1 -0
  411. package/dist/ui/layout/index.js +7 -0
  412. package/dist/ui/layout/index.js.map +1 -0
  413. package/dist/ui/modals/delete-modal.d.ts +27 -0
  414. package/dist/ui/modals/delete-modal.d.ts.map +1 -0
  415. package/dist/ui/modals/delete-modal.js +59 -0
  416. package/dist/ui/modals/delete-modal.js.map +1 -0
  417. package/dist/ui/modals/index.d.ts +7 -0
  418. package/dist/ui/modals/index.d.ts.map +1 -0
  419. package/dist/ui/modals/index.js +7 -0
  420. package/dist/ui/modals/index.js.map +1 -0
  421. package/dist/ui/modals/input-modal.d.ts +66 -0
  422. package/dist/ui/modals/input-modal.d.ts.map +1 -0
  423. package/dist/ui/modals/input-modal.js +185 -0
  424. package/dist/ui/modals/input-modal.js.map +1 -0
  425. package/dist/ui/modals/quit-modal.d.ts +30 -0
  426. package/dist/ui/modals/quit-modal.d.ts.map +1 -0
  427. package/dist/ui/modals/quit-modal.js +65 -0
  428. package/dist/ui/modals/quit-modal.js.map +1 -0
  429. package/dist/ui/renderer/ansi.d.ts +206 -0
  430. package/dist/ui/renderer/ansi.d.ts.map +1 -0
  431. package/dist/ui/renderer/ansi.js +318 -0
  432. package/dist/ui/renderer/ansi.js.map +1 -0
  433. package/dist/ui/renderer/canvas.d.ts +126 -0
  434. package/dist/ui/renderer/canvas.d.ts.map +1 -0
  435. package/dist/ui/renderer/canvas.js +346 -0
  436. package/dist/ui/renderer/canvas.js.map +1 -0
  437. package/dist/ui/renderer/colors.d.ts +65 -0
  438. package/dist/ui/renderer/colors.d.ts.map +1 -0
  439. package/dist/ui/renderer/colors.js +260 -0
  440. package/dist/ui/renderer/colors.js.map +1 -0
  441. package/dist/ui/renderer/index.d.ts +8 -0
  442. package/dist/ui/renderer/index.d.ts.map +1 -0
  443. package/dist/ui/renderer/index.js +8 -0
  444. package/dist/ui/renderer/index.js.map +1 -0
  445. package/dist/ui/renderer/symbols.d.ts +176 -0
  446. package/dist/ui/renderer/symbols.d.ts.map +1 -0
  447. package/dist/ui/renderer/symbols.js +246 -0
  448. package/dist/ui/renderer/symbols.js.map +1 -0
  449. package/dist/ui/views/index.d.ts +7 -0
  450. package/dist/ui/views/index.d.ts.map +1 -0
  451. package/dist/ui/views/index.js +7 -0
  452. package/dist/ui/views/index.js.map +1 -0
  453. package/dist/ui/views/sidebar-view.d.ts +89 -0
  454. package/dist/ui/views/sidebar-view.d.ts.map +1 -0
  455. package/dist/ui/views/sidebar-view.js +259 -0
  456. package/dist/ui/views/sidebar-view.js.map +1 -0
  457. package/dist/ui/views/terminal-bar-view.d.ts +67 -0
  458. package/dist/ui/views/terminal-bar-view.d.ts.map +1 -0
  459. package/dist/ui/views/terminal-bar-view.js +172 -0
  460. package/dist/ui/views/terminal-bar-view.js.map +1 -0
  461. package/dist/ui/views/welcome-view.d.ts +34 -0
  462. package/dist/ui/views/welcome-view.d.ts.map +1 -0
  463. package/dist/ui/views/welcome-view.js +116 -0
  464. package/dist/ui/views/welcome-view.js.map +1 -0
  465. package/dist/utils/async.d.ts +68 -0
  466. package/dist/utils/async.d.ts.map +1 -0
  467. package/dist/utils/async.js +138 -0
  468. package/dist/utils/async.js.map +1 -0
  469. package/dist/utils/errors.d.ts +136 -0
  470. package/dist/utils/errors.d.ts.map +1 -0
  471. package/dist/utils/errors.js +224 -0
  472. package/dist/utils/errors.js.map +1 -0
  473. package/dist/utils/id.d.ts +51 -0
  474. package/dist/utils/id.d.ts.map +1 -0
  475. package/dist/utils/id.js +79 -0
  476. package/dist/utils/id.js.map +1 -0
  477. package/dist/utils/index.d.ts +15 -0
  478. package/dist/utils/index.d.ts.map +1 -0
  479. package/dist/utils/index.js +19 -0
  480. package/dist/utils/index.js.map +1 -0
  481. package/dist/utils/logger.d.ts +75 -0
  482. package/dist/utils/logger.d.ts.map +1 -0
  483. package/dist/utils/logger.js +212 -0
  484. package/dist/utils/logger.js.map +1 -0
  485. package/dist/utils/string.d.ts +71 -0
  486. package/dist/utils/string.d.ts.map +1 -0
  487. package/dist/utils/string.js +163 -0
  488. package/dist/utils/string.js.map +1 -0
  489. package/dist/utils/validation.d.ts +72 -0
  490. package/dist/utils/validation.d.ts.map +1 -0
  491. package/dist/utils/validation.js +196 -0
  492. package/dist/utils/validation.js.map +1 -0
  493. package/package.json +4 -4
@@ -0,0 +1,103 @@
1
+ /**
2
+ * Configuration Type Definitions
3
+ *
4
+ * Defines the shape of application configuration.
5
+ */
6
+ /**
7
+ * Claude CLI configuration
8
+ */
9
+ export interface ClaudeConfig {
10
+ /** Command to run Claude CLI (default: 'claude') */
11
+ command: string;
12
+ /** Skip permission prompts (default: true) */
13
+ skipPermissions: boolean;
14
+ /** Additional arguments to pass to Claude */
15
+ additionalArgs: string[];
16
+ }
17
+ /**
18
+ * UI configuration
19
+ */
20
+ export interface UIConfig {
21
+ /** Sidebar width when expanded (default: 25) */
22
+ sidebarWidth: number;
23
+ /** Sidebar width when collapsed (default: 2) */
24
+ collapsedWidth: number;
25
+ /** UI color theme */
26
+ theme: 'default' | 'minimal' | 'high-contrast';
27
+ /** Show help hints in sidebar (default: true) */
28
+ showHelp: boolean;
29
+ }
30
+ /**
31
+ * Worktree configuration
32
+ */
33
+ export interface WorktreeConfig {
34
+ /** Base path for creating new worktrees */
35
+ basePath: string;
36
+ /** Auto-create worktree directory if it doesn't exist (default: true) */
37
+ autoCreateDir: boolean;
38
+ }
39
+ /**
40
+ * Multiplexer configuration
41
+ */
42
+ export interface MultiplexerConfig {
43
+ /** Which multiplexer to use */
44
+ type: 'auto' | 'tmux';
45
+ /** tmux-specific options */
46
+ tmux: {
47
+ /** Custom tmux binary path */
48
+ binary: string;
49
+ /** Enable mouse support (default: true) */
50
+ mouse: boolean;
51
+ /** Show tmux status bar (default: false) */
52
+ statusBar: boolean;
53
+ };
54
+ }
55
+ /**
56
+ * Debug configuration
57
+ */
58
+ export interface DebugConfig {
59
+ /** Enable debug logging (default: false) */
60
+ enabled: boolean;
61
+ /** Debug log file path */
62
+ logFile: string;
63
+ /** Log level */
64
+ level: 'debug' | 'info' | 'warn' | 'error';
65
+ }
66
+ /**
67
+ * Complete application configuration
68
+ */
69
+ export interface AppConfig {
70
+ claude: ClaudeConfig;
71
+ ui: UIConfig;
72
+ worktrees: WorktreeConfig;
73
+ multiplexer: MultiplexerConfig;
74
+ debug: DebugConfig;
75
+ }
76
+ /**
77
+ * Partial configuration for merging with defaults
78
+ */
79
+ export type PartialAppConfig = {
80
+ [K in keyof AppConfig]?: Partial<AppConfig[K]>;
81
+ };
82
+ /**
83
+ * Application paths
84
+ */
85
+ export interface AppPaths {
86
+ /** User's home directory */
87
+ home: string;
88
+ /** Application data directory (~/.claude-plus-plus) */
89
+ data: string;
90
+ /** Configuration file path */
91
+ config: string;
92
+ /** Project-specific data directory */
93
+ project: string;
94
+ /** State file path */
95
+ state: string;
96
+ /** Worktrees base directory */
97
+ worktrees: string;
98
+ /** Temporary files directory */
99
+ temp: string;
100
+ /** Debug log file path */
101
+ debugLog: string;
102
+ }
103
+ //# sourceMappingURL=config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,oDAAoD;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,8CAA8C;IAC9C,eAAe,EAAE,OAAO,CAAC;IACzB,6CAA6C;IAC7C,cAAc,EAAE,MAAM,EAAE,CAAC;CAC1B;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,gDAAgD;IAChD,YAAY,EAAE,MAAM,CAAC;IACrB,gDAAgD;IAChD,cAAc,EAAE,MAAM,CAAC;IACvB,qBAAqB;IACrB,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,eAAe,CAAC;IAC/C,iDAAiD;IACjD,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,2CAA2C;IAC3C,QAAQ,EAAE,MAAM,CAAC;IACjB,yEAAyE;IACzE,aAAa,EAAE,OAAO,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,+BAA+B;IAC/B,IAAI,EAAE,MAAM,GAAG,MAAM,CAAC;IACtB,4BAA4B;IAC5B,IAAI,EAAE;QACJ,8BAA8B;QAC9B,MAAM,EAAE,MAAM,CAAC;QACf,2CAA2C;QAC3C,KAAK,EAAE,OAAO,CAAC;QACf,4CAA4C;QAC5C,SAAS,EAAE,OAAO,CAAC;KACpB,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,4CAA4C;IAC5C,OAAO,EAAE,OAAO,CAAC;IACjB,0BAA0B;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,gBAAgB;IAChB,KAAK,EAAE,OAAO,GAAG,MAAM,GAAG,MAAM,GAAG,OAAO,CAAC;CAC5C;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,MAAM,EAAE,YAAY,CAAC;IACrB,EAAE,EAAE,QAAQ,CAAC;IACb,SAAS,EAAE,cAAc,CAAC;IAC1B,WAAW,EAAE,iBAAiB,CAAC;IAC/B,KAAK,EAAE,WAAW,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,gBAAgB,GAAG;KAC5B,CAAC,IAAI,MAAM,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;CAC/C,CAAC;AAEF;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,4BAA4B;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,uDAAuD;IACvD,IAAI,EAAE,MAAM,CAAC;IACb,8BAA8B;IAC9B,MAAM,EAAE,MAAM,CAAC;IACf,sCAAsC;IACtC,OAAO,EAAE,MAAM,CAAC;IAChB,sBAAsB;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,QAAQ,EAAE,MAAM,CAAC;CAClB"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Configuration Type Definitions
3
+ *
4
+ * Defines the shape of application configuration.
5
+ */
6
+ export {};
7
+ //# sourceMappingURL=config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/types/config.ts"],"names":[],"mappings":"AAAA;;;;GAIG"}
@@ -0,0 +1,88 @@
1
+ /**
2
+ * Domain Entity Types
3
+ *
4
+ * These interfaces define the core domain objects in the application.
5
+ * They are pure data structures with no behavior.
6
+ */
7
+ /**
8
+ * Represents a terminal pane within a session
9
+ */
10
+ export interface Terminal {
11
+ id: string;
12
+ sessionId: string;
13
+ paneId: string | null;
14
+ title: string;
15
+ createdAt: Date;
16
+ }
17
+ /**
18
+ * Represents a Claude Code session
19
+ */
20
+ export interface Session {
21
+ id: string;
22
+ worktreeId: string;
23
+ title: string;
24
+ createdAt: Date;
25
+ panes: {
26
+ main: string | null;
27
+ terminalManager: string | null;
28
+ };
29
+ terminals: Terminal[];
30
+ activeTerminalIndex: number;
31
+ }
32
+ /**
33
+ * Represents a git worktree
34
+ */
35
+ export interface Worktree {
36
+ id: string;
37
+ path: string;
38
+ branch: string;
39
+ isMain: boolean;
40
+ sessions: Session[];
41
+ }
42
+ /**
43
+ * Represents the entire workspace for a project
44
+ */
45
+ export interface Workspace {
46
+ id: string;
47
+ projectPath: string;
48
+ projectName: string;
49
+ multiplexerSessionId: string;
50
+ worktrees: Worktree[];
51
+ activeSessionId: string | null;
52
+ }
53
+ /**
54
+ * Information about a worktree from git
55
+ */
56
+ export interface WorktreeInfo {
57
+ path: string;
58
+ branch: string;
59
+ commit: string;
60
+ isMain: boolean;
61
+ isBare: boolean;
62
+ isDetached: boolean;
63
+ }
64
+ /**
65
+ * Information about a pane from the multiplexer
66
+ */
67
+ export interface PaneInfo {
68
+ id: string;
69
+ windowId: string;
70
+ index: number;
71
+ width: number;
72
+ height: number;
73
+ top: number;
74
+ left: number;
75
+ active: boolean;
76
+ title: string;
77
+ }
78
+ /**
79
+ * Information about a window from the multiplexer
80
+ */
81
+ export interface WindowInfo {
82
+ id: string;
83
+ index: number;
84
+ name: string;
85
+ active: boolean;
86
+ panes: PaneInfo[];
87
+ }
88
+ //# sourceMappingURL=entities.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entities.d.ts","sourceRoot":"","sources":["../../src/types/entities.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,UAAU,EAAE,MAAM,CAAC;IACnB,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,IAAI,CAAC;IAChB,KAAK,EAAE;QACL,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;QACpB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;KAChC,CAAC;IACF,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,mBAAmB,EAAE,MAAM,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,QAAQ,EAAE,OAAO,EAAE,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,EAAE,EAAE,MAAM,CAAC;IACX,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE,MAAM,CAAC;IACpB,oBAAoB,EAAE,MAAM,CAAC;IAC7B,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,OAAO,CAAC;IAChB,MAAM,EAAE,OAAO,CAAC;IAChB,UAAU,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,EAAE,MAAM,CAAC;IACZ,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;CACf;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,OAAO,CAAC;IAChB,KAAK,EAAE,QAAQ,EAAE,CAAC;CACnB"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Domain Entity Types
3
+ *
4
+ * These interfaces define the core domain objects in the application.
5
+ * They are pure data structures with no behavior.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=entities.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"entities.js","sourceRoot":"","sources":["../../src/types/entities.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,156 @@
1
+ /**
2
+ * Event Type Definitions
3
+ *
4
+ * All events that flow through the event bus are defined here.
5
+ * Events are the primary mechanism for decoupled communication between modules.
6
+ */
7
+ import type { Session, Terminal, Worktree, Workspace } from './entities';
8
+ export interface BaseEvent {
9
+ type: string;
10
+ timestamp: Date;
11
+ }
12
+ export interface SessionCreatedEvent extends BaseEvent {
13
+ type: 'session:created';
14
+ session: Session;
15
+ }
16
+ export interface SessionDeletedEvent extends BaseEvent {
17
+ type: 'session:deleted';
18
+ sessionId: string;
19
+ worktreeId: string;
20
+ }
21
+ export interface SessionActivatedEvent extends BaseEvent {
22
+ type: 'session:activated';
23
+ sessionId: string;
24
+ previousSessionId: string | null;
25
+ }
26
+ export interface SessionRenamedEvent extends BaseEvent {
27
+ type: 'session:renamed';
28
+ sessionId: string;
29
+ oldTitle: string;
30
+ newTitle: string;
31
+ }
32
+ export type SessionEvent = SessionCreatedEvent | SessionDeletedEvent | SessionActivatedEvent | SessionRenamedEvent;
33
+ export interface TerminalCreatedEvent extends BaseEvent {
34
+ type: 'terminal:created';
35
+ terminal: Terminal;
36
+ sessionId: string;
37
+ }
38
+ export interface TerminalDeletedEvent extends BaseEvent {
39
+ type: 'terminal:deleted';
40
+ terminalId: string;
41
+ sessionId: string;
42
+ }
43
+ export interface TerminalActivatedEvent extends BaseEvent {
44
+ type: 'terminal:activated';
45
+ terminalId: string;
46
+ sessionId: string;
47
+ previousTerminalId: string | null;
48
+ }
49
+ export interface TerminalRenamedEvent extends BaseEvent {
50
+ type: 'terminal:renamed';
51
+ terminalId: string;
52
+ oldTitle: string;
53
+ newTitle: string;
54
+ }
55
+ export type TerminalEvent = TerminalCreatedEvent | TerminalDeletedEvent | TerminalActivatedEvent | TerminalRenamedEvent;
56
+ export interface WorktreeCreatedEvent extends BaseEvent {
57
+ type: 'worktree:created';
58
+ worktree: Worktree;
59
+ }
60
+ export interface WorktreeDeletedEvent extends BaseEvent {
61
+ type: 'worktree:deleted';
62
+ worktreeId: string;
63
+ path: string;
64
+ }
65
+ export interface WorktreeRenamedEvent extends BaseEvent {
66
+ type: 'worktree:renamed';
67
+ worktreeId: string;
68
+ oldBranch: string;
69
+ newBranch: string;
70
+ }
71
+ export type WorktreeEvent = WorktreeCreatedEvent | WorktreeDeletedEvent | WorktreeRenamedEvent;
72
+ export interface WorkspaceLoadedEvent extends BaseEvent {
73
+ type: 'workspace:loaded';
74
+ workspace: Workspace;
75
+ }
76
+ export interface WorkspaceUpdatedEvent extends BaseEvent {
77
+ type: 'workspace:updated';
78
+ workspace: Workspace;
79
+ }
80
+ export type WorkspaceEvent = WorkspaceLoadedEvent | WorkspaceUpdatedEvent;
81
+ export interface KeyModifiers {
82
+ ctrl: boolean;
83
+ alt: boolean;
84
+ shift: boolean;
85
+ meta: boolean;
86
+ }
87
+ export interface UIKeyEvent extends BaseEvent {
88
+ type: 'ui:key';
89
+ key: string;
90
+ raw: string;
91
+ modifiers: KeyModifiers;
92
+ }
93
+ export interface UIMouseEvent extends BaseEvent {
94
+ type: 'ui:mouse';
95
+ x: number;
96
+ y: number;
97
+ button: 'left' | 'right' | 'middle';
98
+ action: 'press' | 'release' | 'move' | 'scroll';
99
+ scrollDirection?: 'up' | 'down';
100
+ }
101
+ export interface UIResizeEvent extends BaseEvent {
102
+ type: 'ui:resize';
103
+ width: number;
104
+ height: number;
105
+ }
106
+ export interface UIModalOpenedEvent extends BaseEvent {
107
+ type: 'ui:modal:opened';
108
+ modalType: string;
109
+ data?: unknown;
110
+ }
111
+ export interface UIModalClosedEvent extends BaseEvent {
112
+ type: 'ui:modal:closed';
113
+ modalType: string;
114
+ result?: unknown;
115
+ }
116
+ export interface UIFocusChangedEvent extends BaseEvent {
117
+ type: 'ui:focus:changed';
118
+ component: string;
119
+ previousComponent: string | null;
120
+ }
121
+ export type UIEvent = UIKeyEvent | UIMouseEvent | UIResizeEvent | UIModalOpenedEvent | UIModalClosedEvent | UIFocusChangedEvent;
122
+ export interface AppStartedEvent extends BaseEvent {
123
+ type: 'app:started';
124
+ }
125
+ export interface AppShutdownEvent extends BaseEvent {
126
+ type: 'app:shutdown';
127
+ reason: 'user' | 'error' | 'detach';
128
+ }
129
+ export interface AppErrorEvent extends BaseEvent {
130
+ type: 'app:error';
131
+ error: Error;
132
+ context?: string;
133
+ fatal: boolean;
134
+ }
135
+ export type AppEvent = AppStartedEvent | AppShutdownEvent | AppErrorEvent;
136
+ export interface PaneCreatedEvent extends BaseEvent {
137
+ type: 'pane:created';
138
+ paneId: string;
139
+ windowId: string;
140
+ }
141
+ export interface PaneDestroyedEvent extends BaseEvent {
142
+ type: 'pane:destroyed';
143
+ paneId: string;
144
+ }
145
+ export interface PaneFocusedEvent extends BaseEvent {
146
+ type: 'pane:focused';
147
+ paneId: string;
148
+ }
149
+ export type MultiplexerEvent = PaneCreatedEvent | PaneDestroyedEvent | PaneFocusedEvent;
150
+ export type AppEventType = SessionEvent | TerminalEvent | WorktreeEvent | WorkspaceEvent | UIEvent | AppEvent | MultiplexerEvent;
151
+ export type EventType = AppEventType['type'];
152
+ export type EventOfType<T extends EventType> = Extract<AppEventType, {
153
+ type: T;
154
+ }>;
155
+ export type EventHandler<T extends EventType> = (event: EventOfType<T>) => void | Promise<void>;
156
+ //# sourceMappingURL=events.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.d.ts","sourceRoot":"","sources":["../../src/types/events.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Event Type Definitions
3
+ *
4
+ * All events that flow through the event bus are defined here.
5
+ * Events are the primary mechanism for decoupled communication between modules.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=events.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"events.js","sourceRoot":"","sources":["../../src/types/events.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,11 @@
1
+ /**
2
+ * Types Module
3
+ *
4
+ * Central export for all type definitions.
5
+ * This module has no dependencies and can be imported by any other module.
6
+ */
7
+ export type { Terminal, Session, Worktree, Workspace, WorktreeInfo, PaneInfo, WindowInfo, } from './entities';
8
+ export type { BaseEvent, KeyModifiers, SessionCreatedEvent, SessionDeletedEvent, SessionActivatedEvent, SessionRenamedEvent, SessionEvent, TerminalCreatedEvent, TerminalDeletedEvent, TerminalActivatedEvent, TerminalRenamedEvent, TerminalEvent, WorktreeCreatedEvent, WorktreeDeletedEvent, WorktreeRenamedEvent, WorktreeEvent, WorkspaceLoadedEvent, WorkspaceUpdatedEvent, WorkspaceEvent, UIKeyEvent, UIMouseEvent, UIResizeEvent, UIModalOpenedEvent, UIModalClosedEvent, UIFocusChangedEvent, UIEvent, AppStartedEvent, AppShutdownEvent, AppErrorEvent, AppEvent, PaneCreatedEvent, PaneDestroyedEvent, PaneFocusedEvent, MultiplexerEvent, AppEventType, EventType, EventOfType, EventHandler, } from './events';
9
+ export type { ClaudeConfig, UIConfig, WorktreeConfig, MultiplexerConfig, DebugConfig, AppConfig, PartialAppConfig, AppPaths, } from './config';
10
+ export type { Direction, SplitOrientation, PaneSize, CreatePaneOptions, JoinPaneOptions, CreateSessionOptions, MultiplexerCapabilities, IMultiplexer, MultiplexerFactory, } from './multiplexer';
11
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,YAAY,EACV,QAAQ,EACR,OAAO,EACP,QAAQ,EACR,SAAS,EACT,YAAY,EACZ,QAAQ,EACR,UAAU,GACX,MAAM,YAAY,CAAC;AAGpB,YAAY,EACV,SAAS,EACT,YAAY,EAEZ,mBAAmB,EACnB,mBAAmB,EACnB,qBAAqB,EACrB,mBAAmB,EACnB,YAAY,EAEZ,oBAAoB,EACpB,oBAAoB,EACpB,sBAAsB,EACtB,oBAAoB,EACpB,aAAa,EAEb,oBAAoB,EACpB,oBAAoB,EACpB,oBAAoB,EACpB,aAAa,EAEb,oBAAoB,EACpB,qBAAqB,EACrB,cAAc,EAEd,UAAU,EACV,YAAY,EACZ,aAAa,EACb,kBAAkB,EAClB,kBAAkB,EAClB,mBAAmB,EACnB,OAAO,EAEP,eAAe,EACf,gBAAgB,EAChB,aAAa,EACb,QAAQ,EAER,gBAAgB,EAChB,kBAAkB,EAClB,gBAAgB,EAChB,gBAAgB,EAEhB,YAAY,EACZ,SAAS,EACT,WAAW,EACX,YAAY,GACb,MAAM,UAAU,CAAC;AAGlB,YAAY,EACV,YAAY,EACZ,QAAQ,EACR,cAAc,EACd,iBAAiB,EACjB,WAAW,EACX,SAAS,EACT,gBAAgB,EAChB,QAAQ,GACT,MAAM,UAAU,CAAC;AAGlB,YAAY,EACV,SAAS,EACT,gBAAgB,EAChB,QAAQ,EACR,iBAAiB,EACjB,eAAe,EACf,oBAAoB,EACpB,uBAAuB,EACvB,YAAY,EACZ,kBAAkB,GACnB,MAAM,eAAe,CAAC"}
@@ -0,0 +1,8 @@
1
+ /**
2
+ * Types Module
3
+ *
4
+ * Central export for all type definitions.
5
+ * This module has no dependencies and can be imported by any other module.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
@@ -0,0 +1,238 @@
1
+ /**
2
+ * Multiplexer Interface Types
3
+ *
4
+ * Defines the abstraction layer for terminal multiplexers.
5
+ * This allows supporting different multiplexers (tmux, Windows Terminal, etc.)
6
+ */
7
+ import type { PaneInfo, WindowInfo } from './entities';
8
+ /**
9
+ * Direction for pane operations
10
+ */
11
+ export type Direction = 'up' | 'down' | 'left' | 'right';
12
+ /**
13
+ * Split orientation
14
+ */
15
+ export type SplitOrientation = 'horizontal' | 'vertical';
16
+ /**
17
+ * Pane size specification
18
+ */
19
+ export interface PaneSize {
20
+ /** Size in cells (absolute) */
21
+ cells?: number;
22
+ /** Size in percentage (relative) */
23
+ percent?: number;
24
+ }
25
+ /**
26
+ * Options for creating a new pane
27
+ */
28
+ export interface CreatePaneOptions {
29
+ /** Target pane to split from (if not provided, uses current) */
30
+ targetPaneId?: string;
31
+ /** Split orientation */
32
+ orientation: SplitOrientation;
33
+ /** Size of the new pane */
34
+ size?: PaneSize;
35
+ /** Working directory for the new pane */
36
+ cwd?: string;
37
+ /** Command to run in the new pane */
38
+ command?: string;
39
+ /** Whether to focus the new pane after creation */
40
+ focus?: boolean;
41
+ }
42
+ /**
43
+ * Options for joining (showing) a pane
44
+ */
45
+ export interface JoinPaneOptions {
46
+ /** Pane ID to join */
47
+ paneId: string;
48
+ /** Target pane to join relative to */
49
+ targetPaneId: string;
50
+ /** Direction relative to target */
51
+ direction: Direction;
52
+ /** Size of the joined pane */
53
+ size?: PaneSize;
54
+ }
55
+ /**
56
+ * Options for creating a new session
57
+ */
58
+ export interface CreateSessionOptions {
59
+ /** Session name */
60
+ name: string;
61
+ /** Working directory */
62
+ cwd?: string;
63
+ /** Initial window name */
64
+ windowName?: string;
65
+ /** Whether to attach immediately */
66
+ attach?: boolean;
67
+ }
68
+ /**
69
+ * Multiplexer capability flags
70
+ */
71
+ export interface MultiplexerCapabilities {
72
+ /** Supports mouse input */
73
+ mouse: boolean;
74
+ /** Supports true color */
75
+ trueColor: boolean;
76
+ /** Supports clipboard integration */
77
+ clipboard: boolean;
78
+ /** Supports pane breaking/joining */
79
+ paneManagement: boolean;
80
+ /** Supports multiple windows */
81
+ windows: boolean;
82
+ /** Supports custom key bindings */
83
+ keyBindings: boolean;
84
+ }
85
+ /**
86
+ * Abstract interface for terminal multiplexer operations
87
+ */
88
+ export interface IMultiplexer {
89
+ /** Multiplexer name (e.g., 'tmux', 'windows-terminal') */
90
+ readonly name: string;
91
+ /** Multiplexer capabilities */
92
+ readonly capabilities: MultiplexerCapabilities;
93
+ /**
94
+ * Initialize the multiplexer
95
+ */
96
+ initialize(): Promise<void>;
97
+ /**
98
+ * Shut down the multiplexer
99
+ */
100
+ shutdown(): Promise<void>;
101
+ /**
102
+ * Check if the multiplexer is available on this system
103
+ */
104
+ isAvailable(): Promise<boolean>;
105
+ /**
106
+ * Get the multiplexer version
107
+ */
108
+ getVersion(): Promise<string>;
109
+ /**
110
+ * Create a new multiplexer session
111
+ */
112
+ createSession(options: CreateSessionOptions): Promise<string>;
113
+ /**
114
+ * Attach to an existing session
115
+ */
116
+ attachSession(sessionName: string): Promise<void>;
117
+ /**
118
+ * Detach from the current session
119
+ */
120
+ detachSession(): Promise<void>;
121
+ /**
122
+ * Check if a session exists
123
+ */
124
+ sessionExists(sessionName: string): Promise<boolean>;
125
+ /**
126
+ * Kill a session
127
+ */
128
+ killSession(sessionName: string): Promise<void>;
129
+ /**
130
+ * List all sessions
131
+ */
132
+ listSessions(): Promise<string[]>;
133
+ /**
134
+ * Create a new pane by splitting an existing one
135
+ */
136
+ createPane(options: CreatePaneOptions): Promise<string>;
137
+ /**
138
+ * Destroy a pane
139
+ */
140
+ destroyPane(paneId: string): Promise<void>;
141
+ /**
142
+ * Focus a pane
143
+ */
144
+ focusPane(paneId: string): Promise<void>;
145
+ /**
146
+ * Resize a pane
147
+ */
148
+ resizePane(paneId: string, size: PaneSize, direction: Direction): Promise<void>;
149
+ /**
150
+ * Get information about a specific pane
151
+ */
152
+ getPaneInfo(paneId: string): Promise<PaneInfo | null>;
153
+ /**
154
+ * List all panes
155
+ */
156
+ listPanes(): Promise<PaneInfo[]>;
157
+ /**
158
+ * Move a pane to the background (break to separate window)
159
+ */
160
+ hidePane(paneId: string): Promise<void>;
161
+ /**
162
+ * Bring a pane to the foreground (join to current window)
163
+ */
164
+ showPane(options: JoinPaneOptions): Promise<void>;
165
+ /**
166
+ * Check if a pane is in the foreground (visible)
167
+ */
168
+ isPaneVisible(paneId: string): Promise<boolean>;
169
+ /**
170
+ * Send text input to a pane
171
+ */
172
+ sendInput(paneId: string, text: string): Promise<void>;
173
+ /**
174
+ * Send key sequences to a pane (e.g., 'Enter', 'C-c')
175
+ */
176
+ sendKeys(paneId: string, keys: string[]): Promise<void>;
177
+ /**
178
+ * Run a command in a pane
179
+ */
180
+ runCommand(paneId: string, command: string): Promise<void>;
181
+ /**
182
+ * Create a new window
183
+ */
184
+ createWindow(name?: string, cwd?: string): Promise<string>;
185
+ /**
186
+ * Destroy a window
187
+ */
188
+ destroyWindow(windowId: string): Promise<void>;
189
+ /**
190
+ * Select a window
191
+ */
192
+ selectWindow(windowId: string): Promise<void>;
193
+ /**
194
+ * Rename a window
195
+ */
196
+ renameWindow(windowId: string, name: string): Promise<void>;
197
+ /**
198
+ * List all windows
199
+ */
200
+ listWindows(): Promise<WindowInfo[]>;
201
+ /**
202
+ * Set a multiplexer option
203
+ */
204
+ setOption(option: string, value: string, global?: boolean): Promise<void>;
205
+ /**
206
+ * Get a multiplexer option value
207
+ */
208
+ getOption(option: string): Promise<string>;
209
+ /**
210
+ * Bind a key to an action
211
+ */
212
+ bindKey(key: string, action: string): Promise<void>;
213
+ /**
214
+ * Unbind a key
215
+ */
216
+ unbindKey(key: string): Promise<void>;
217
+ /**
218
+ * Enable mouse support
219
+ */
220
+ enableMouse(): Promise<void>;
221
+ /**
222
+ * Disable mouse support
223
+ */
224
+ disableMouse(): Promise<void>;
225
+ /**
226
+ * Copy text to system clipboard
227
+ */
228
+ copyToClipboard(text: string): Promise<void>;
229
+ /**
230
+ * Run a shell command and capture output
231
+ */
232
+ runShellCommand(command: string): Promise<string>;
233
+ }
234
+ /**
235
+ * Factory function type for creating multiplexers
236
+ */
237
+ export type MultiplexerFactory = () => IMultiplexer;
238
+ //# sourceMappingURL=multiplexer.d.ts.map