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,96 @@
1
+ /**
2
+ * Workspace Entity
3
+ *
4
+ * Factory functions for creating Workspace objects.
5
+ * A workspace represents the entire application state for a repository.
6
+ */
7
+ import { generateId } from '../../utils';
8
+ /**
9
+ * Create a new workspace
10
+ */
11
+ export function createWorkspace(options) {
12
+ const { projectPath, projectName, multiplexerSessionId } = options;
13
+ return {
14
+ id: generateId(12),
15
+ projectPath,
16
+ projectName: projectName ?? extractProjectName(projectPath),
17
+ multiplexerSessionId: multiplexerSessionId ?? '',
18
+ worktrees: [],
19
+ activeSessionId: null,
20
+ };
21
+ }
22
+ /**
23
+ * Extract project name from path
24
+ */
25
+ function extractProjectName(projectPath) {
26
+ const parts = projectPath.split('/');
27
+ return parts[parts.length - 1] || 'workspace';
28
+ }
29
+ /**
30
+ * Add a worktree to workspace
31
+ */
32
+ export function addWorktreeToWorkspace(workspace, worktree) {
33
+ return {
34
+ ...workspace,
35
+ worktrees: [...workspace.worktrees, worktree],
36
+ };
37
+ }
38
+ /**
39
+ * Remove a worktree from workspace
40
+ */
41
+ export function removeWorktreeFromWorkspace(workspace, worktreeId) {
42
+ return {
43
+ ...workspace,
44
+ worktrees: workspace.worktrees.filter((w) => w.id !== worktreeId),
45
+ };
46
+ }
47
+ /**
48
+ * Get the active session from workspace
49
+ */
50
+ export function getActiveSession(workspace) {
51
+ if (!workspace.activeSessionId)
52
+ return undefined;
53
+ for (const wt of workspace.worktrees) {
54
+ const session = wt.sessions.find((s) => s.id === workspace.activeSessionId);
55
+ if (session)
56
+ return session;
57
+ }
58
+ return undefined;
59
+ }
60
+ /**
61
+ * Get the main worktree from workspace
62
+ */
63
+ export function getMainWorktree(workspace) {
64
+ return workspace.worktrees.find((w) => w.isMain);
65
+ }
66
+ /**
67
+ * Get all sessions across all worktrees
68
+ */
69
+ export function getAllSessions(workspace) {
70
+ return workspace.worktrees.flatMap((w) => w.sessions);
71
+ }
72
+ /**
73
+ * Get total session count
74
+ */
75
+ export function getTotalSessionCount(workspace) {
76
+ return workspace.worktrees.reduce((sum, w) => sum + w.sessions.length, 0);
77
+ }
78
+ /**
79
+ * Find worktree containing a session
80
+ */
81
+ export function findWorktreeBySessionId(workspace, sessionId) {
82
+ return workspace.worktrees.find((w) => w.sessions.some((s) => s.id === sessionId));
83
+ }
84
+ /**
85
+ * Find worktree by branch name
86
+ */
87
+ export function findWorktreeByBranch(workspace, branch) {
88
+ return workspace.worktrees.find((w) => w.branch === branch);
89
+ }
90
+ /**
91
+ * Find worktree by ID
92
+ */
93
+ export function findWorktreeById(workspace, worktreeId) {
94
+ return workspace.worktrees.find((w) => w.id === worktreeId);
95
+ }
96
+ //# sourceMappingURL=workspace.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"workspace.js","sourceRoot":"","sources":["../../../src/core/workspace/workspace.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,7 @@
1
+ /**
2
+ * Worktree Module
3
+ */
4
+ export { createWorktree, worktreeFromInfo, worktreesFromInfoList, hasSessions, getSessionCount, } from './worktree';
5
+ export type { CreateWorktreeOptions } from './worktree';
6
+ export { WorktreeManager, createWorktreeManager } from './worktree-manager';
7
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/core/worktree/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,WAAW,EACX,eAAe,GAChB,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,qBAAqB,EAAE,MAAM,YAAY,CAAC;AAExD,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,6 @@
1
+ /**
2
+ * Worktree Module
3
+ */
4
+ export { createWorktree, worktreeFromInfo, worktreesFromInfoList, hasSessions, getSessionCount, } from './worktree';
5
+ export { WorktreeManager, createWorktreeManager } from './worktree-manager';
6
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/core/worktree/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,cAAc,EACd,gBAAgB,EAChB,qBAAqB,EACrB,WAAW,EACX,eAAe,GAChB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,eAAe,EAAE,qBAAqB,EAAE,MAAM,oBAAoB,CAAC"}
@@ -0,0 +1,47 @@
1
+ /**
2
+ * Worktree Manager
3
+ *
4
+ * Manages the lifecycle of git worktrees.
5
+ */
6
+ import type { Worktree } from '../../types';
7
+ /**
8
+ * Worktree manager class
9
+ */
10
+ export declare class WorktreeManager {
11
+ private repoPath;
12
+ private worktreesBasePath;
13
+ constructor(repoPath: string, worktreesBasePath: string);
14
+ /**
15
+ * Load all worktrees from git
16
+ */
17
+ loadWorktrees(): Worktree[];
18
+ /**
19
+ * Create a new worktree
20
+ */
21
+ create(branch: string): Promise<Worktree>;
22
+ /**
23
+ * Delete a worktree
24
+ */
25
+ delete(worktreeId: string): Promise<void>;
26
+ /**
27
+ * Rename a worktree (renames branch and moves directory)
28
+ */
29
+ rename(worktreeId: string, newBranch: string): Promise<void>;
30
+ /**
31
+ * Get a worktree by ID
32
+ */
33
+ get(worktreeId: string): Worktree | undefined;
34
+ /**
35
+ * Get all worktrees
36
+ */
37
+ getAll(): Worktree[];
38
+ /**
39
+ * Check if a branch name is available
40
+ */
41
+ isBranchAvailable(branch: string): boolean;
42
+ }
43
+ /**
44
+ * Create a worktree manager
45
+ */
46
+ export declare function createWorktreeManager(repoPath: string, worktreesBasePath: string): WorktreeManager;
47
+ //# sourceMappingURL=worktree-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktree-manager.d.ts","sourceRoot":"","sources":["../../../src/core/worktree/worktree-manager.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAgB,MAAM,aAAa,CAAC;AAU1D;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,iBAAiB,CAAS;gBAEtB,QAAQ,EAAE,MAAM,EAAE,iBAAiB,EAAE,MAAM;IAKvD;;OAEG;IACH,aAAa,IAAI,QAAQ,EAAE;IAM3B;;OAEG;IACG,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,QAAQ,CAAC;IAkD/C;;OAEG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAgC/C;;OAEG;IACG,MAAM,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAmDlE;;OAEG;IACH,GAAG,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;IAK7C;;OAEG;IACH,MAAM,IAAI,QAAQ,EAAE;IAKpB;;OAEG;IACH,iBAAiB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;CAY3C;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CACnC,QAAQ,EAAE,MAAM,EAChB,iBAAiB,EAAE,MAAM,GACxB,eAAe,CAEjB"}
@@ -0,0 +1,170 @@
1
+ /**
2
+ * Worktree Manager
3
+ *
4
+ * Manages the lifecycle of git worktrees.
5
+ */
6
+ import { getLogger, WorktreeError } from '../../utils';
7
+ import { getEventBus } from '../../events';
8
+ import { getStore, actions, selectWorktreeById } from '../../state';
9
+ import { getWorktreeService, getBranchService, getGitService } from '../../services';
10
+ import { getNewWorktreePath } from '../../config';
11
+ import { createWorktree, worktreesFromInfoList } from './worktree';
12
+ const logger = getLogger().child('worktree-manager');
13
+ /**
14
+ * Worktree manager class
15
+ */
16
+ export class WorktreeManager {
17
+ repoPath;
18
+ worktreesBasePath;
19
+ constructor(repoPath, worktreesBasePath) {
20
+ this.repoPath = repoPath;
21
+ this.worktreesBasePath = worktreesBasePath;
22
+ }
23
+ /**
24
+ * Load all worktrees from git
25
+ */
26
+ loadWorktrees() {
27
+ const worktreeService = getWorktreeService();
28
+ const infos = worktreeService.list(this.repoPath);
29
+ return worktreesFromInfoList(infos);
30
+ }
31
+ /**
32
+ * Create a new worktree
33
+ */
34
+ async create(branch) {
35
+ const eventBus = getEventBus();
36
+ const store = getStore();
37
+ const worktreeService = getWorktreeService();
38
+ const branchService = getBranchService();
39
+ const gitService = getGitService();
40
+ logger.debug('Creating worktree', { branch });
41
+ // Check if branch already exists
42
+ if (branchService.exists(this.repoPath, branch)) {
43
+ // Check if it already has a worktree
44
+ if (worktreeService.hasBranchWorktree(this.repoPath, branch)) {
45
+ throw new WorktreeError(`Branch ${branch} already has a worktree`, {
46
+ branch,
47
+ });
48
+ }
49
+ }
50
+ // Determine worktree path
51
+ const repoName = gitService.getRepositoryName(this.repoPath);
52
+ const worktreePath = getNewWorktreePath(this.worktreesBasePath, repoName, branch);
53
+ // Create the worktree
54
+ worktreeService.create(this.repoPath, worktreePath, branch, {
55
+ createBranch: true,
56
+ });
57
+ // Create worktree entity
58
+ const worktree = createWorktree({
59
+ path: worktreePath,
60
+ branch,
61
+ isMain: false,
62
+ });
63
+ // Update state
64
+ store.dispatch(actions.createWorktree(worktree));
65
+ // Emit event
66
+ eventBus.emit('worktree:created', { worktree });
67
+ logger.debug('Worktree created', { worktreeId: worktree.id, branch });
68
+ return worktree;
69
+ }
70
+ /**
71
+ * Delete a worktree
72
+ */
73
+ async delete(worktreeId) {
74
+ const eventBus = getEventBus();
75
+ const store = getStore();
76
+ const state = store.getState();
77
+ const worktreeService = getWorktreeService();
78
+ const worktree = selectWorktreeById(state, worktreeId);
79
+ if (!worktree) {
80
+ throw new WorktreeError('Worktree not found', { worktreePath: worktreeId });
81
+ }
82
+ if (worktree.isMain) {
83
+ throw new WorktreeError('Cannot delete main worktree');
84
+ }
85
+ logger.debug('Deleting worktree', { worktreeId, path: worktree.path });
86
+ // Delete the worktree from git
87
+ worktreeService.remove(worktree.path, true);
88
+ // Update state
89
+ store.dispatch(actions.deleteWorktree(worktreeId));
90
+ // Emit event
91
+ eventBus.emit('worktree:deleted', {
92
+ worktreeId,
93
+ path: worktree.path,
94
+ });
95
+ logger.debug('Worktree deleted', { worktreeId });
96
+ }
97
+ /**
98
+ * Rename a worktree (renames branch and moves directory)
99
+ */
100
+ async rename(worktreeId, newBranch) {
101
+ const eventBus = getEventBus();
102
+ const store = getStore();
103
+ const state = store.getState();
104
+ const worktreeService = getWorktreeService();
105
+ const branchService = getBranchService();
106
+ const gitService = getGitService();
107
+ const worktree = selectWorktreeById(state, worktreeId);
108
+ if (!worktree) {
109
+ throw new WorktreeError('Worktree not found');
110
+ }
111
+ if (worktree.isMain) {
112
+ throw new WorktreeError('Cannot rename main worktree');
113
+ }
114
+ const oldBranch = worktree.branch;
115
+ const oldPath = worktree.path;
116
+ logger.debug('Renaming worktree', { worktreeId, oldBranch, newBranch });
117
+ // Rename the branch
118
+ branchService.rename(worktree.path, oldBranch, newBranch);
119
+ // Calculate new path
120
+ const repoName = gitService.getRepositoryName(this.repoPath);
121
+ const newPath = getNewWorktreePath(this.worktreesBasePath, repoName, newBranch);
122
+ // Move the worktree
123
+ if (newPath !== oldPath) {
124
+ worktreeService.move(oldPath, newPath);
125
+ }
126
+ // Update state
127
+ store.dispatch(actions.renameWorktree(worktreeId, newBranch, newPath));
128
+ // Emit event
129
+ eventBus.emit('worktree:renamed', {
130
+ worktreeId,
131
+ oldBranch,
132
+ newBranch,
133
+ });
134
+ logger.debug('Worktree renamed', { worktreeId, newBranch });
135
+ }
136
+ /**
137
+ * Get a worktree by ID
138
+ */
139
+ get(worktreeId) {
140
+ const state = getStore().getState();
141
+ return selectWorktreeById(state, worktreeId);
142
+ }
143
+ /**
144
+ * Get all worktrees
145
+ */
146
+ getAll() {
147
+ const state = getStore().getState();
148
+ return state.workspace?.worktrees ?? [];
149
+ }
150
+ /**
151
+ * Check if a branch name is available
152
+ */
153
+ isBranchAvailable(branch) {
154
+ const branchService = getBranchService();
155
+ const worktreeService = getWorktreeService();
156
+ // Check if branch exists
157
+ if (!branchService.exists(this.repoPath, branch)) {
158
+ return true; // Branch doesn't exist, so it's available for creation
159
+ }
160
+ // Branch exists, check if it has a worktree
161
+ return !worktreeService.hasBranchWorktree(this.repoPath, branch);
162
+ }
163
+ }
164
+ /**
165
+ * Create a worktree manager
166
+ */
167
+ export function createWorktreeManager(repoPath, worktreesBasePath) {
168
+ return new WorktreeManager(repoPath, worktreesBasePath);
169
+ }
170
+ //# sourceMappingURL=worktree-manager.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktree-manager.js","sourceRoot":"","sources":["../../../src/core/worktree/worktree-manager.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,35 @@
1
+ /**
2
+ * Worktree Entity
3
+ *
4
+ * Factory functions for creating Worktree objects.
5
+ */
6
+ import type { Worktree, WorktreeInfo } from '../../types';
7
+ /**
8
+ * Options for creating a new worktree
9
+ */
10
+ export interface CreateWorktreeOptions {
11
+ path: string;
12
+ branch: string;
13
+ isMain?: boolean;
14
+ }
15
+ /**
16
+ * Create a new worktree entity from options
17
+ */
18
+ export declare function createWorktree(options: CreateWorktreeOptions): Worktree;
19
+ /**
20
+ * Create a worktree entity from git WorktreeInfo
21
+ */
22
+ export declare function worktreeFromInfo(info: WorktreeInfo): Worktree;
23
+ /**
24
+ * Convert multiple WorktreeInfo to Worktree entities
25
+ */
26
+ export declare function worktreesFromInfoList(infos: WorktreeInfo[]): Worktree[];
27
+ /**
28
+ * Check if a worktree has any sessions
29
+ */
30
+ export declare function hasSessions(worktree: Worktree): boolean;
31
+ /**
32
+ * Get the session count for a worktree
33
+ */
34
+ export declare function getSessionCount(worktree: Worktree): number;
35
+ //# sourceMappingURL=worktree.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktree.d.ts","sourceRoot":"","sources":["../../../src/core/worktree/worktree.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAG1D;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAAC,OAAO,EAAE,qBAAqB,GAAG,QAAQ,CAUvE;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,IAAI,EAAE,YAAY,GAAG,QAAQ,CAQ7D;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,YAAY,EAAE,GAAG,QAAQ,EAAE,CAEvE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,QAAQ,GAAG,OAAO,CAEvD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,QAAQ,EAAE,QAAQ,GAAG,MAAM,CAE1D"}
@@ -0,0 +1,50 @@
1
+ /**
2
+ * Worktree Entity
3
+ *
4
+ * Factory functions for creating Worktree objects.
5
+ */
6
+ import { generateId } from '../../utils';
7
+ /**
8
+ * Create a new worktree entity from options
9
+ */
10
+ export function createWorktree(options) {
11
+ const { path, branch, isMain = false } = options;
12
+ return {
13
+ id: isMain ? 'main' : generateId(8),
14
+ path,
15
+ branch,
16
+ isMain,
17
+ sessions: [],
18
+ };
19
+ }
20
+ /**
21
+ * Create a worktree entity from git WorktreeInfo
22
+ */
23
+ export function worktreeFromInfo(info) {
24
+ return {
25
+ id: info.isMain ? 'main' : generateId(8),
26
+ path: info.path,
27
+ branch: info.branch,
28
+ isMain: info.isMain,
29
+ sessions: [],
30
+ };
31
+ }
32
+ /**
33
+ * Convert multiple WorktreeInfo to Worktree entities
34
+ */
35
+ export function worktreesFromInfoList(infos) {
36
+ return infos.map(worktreeFromInfo);
37
+ }
38
+ /**
39
+ * Check if a worktree has any sessions
40
+ */
41
+ export function hasSessions(worktree) {
42
+ return worktree.sessions.length > 0;
43
+ }
44
+ /**
45
+ * Get the session count for a worktree
46
+ */
47
+ export function getSessionCount(worktree) {
48
+ return worktree.sessions.length;
49
+ }
50
+ //# sourceMappingURL=worktree.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"worktree.js","sourceRoot":"","sources":["../../../src/core/worktree/worktree.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAWzC;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,OAA8B;IAC3D,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,GAAG,KAAK,EAAE,GAAG,OAAO,CAAC;IAEjD,OAAO;QACL,EAAE,EAAE,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QACnC,IAAI;QACJ,MAAM;QACN,MAAM;QACN,QAAQ,EAAE,EAAE;KACb,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB,CAAC,IAAkB;IACjD,OAAO;QACL,EAAE,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC;QACxC,IAAI,EAAE,IAAI,CAAC,IAAI;QACf,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,MAAM,EAAE,IAAI,CAAC,MAAM;QACnB,QAAQ,EAAE,EAAE;KACb,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,qBAAqB,CAAC,KAAqB;IACzD,OAAO,KAAK,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;AACrC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,WAAW,CAAC,QAAkB;IAC5C,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,QAAkB;IAChD,OAAO,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC;AAClC,CAAC"}
@@ -0,0 +1,76 @@
1
+ /**
2
+ * Event Bus Implementation
3
+ *
4
+ * Provides a typed event bus for decoupled communication between modules.
5
+ */
6
+ import type { AppEventType, EventType, EventOfType } from '../types';
7
+ import type { Unsubscribe } from '../utils';
8
+ /**
9
+ * Event bus for application-wide event handling
10
+ */
11
+ export declare class EventBus {
12
+ private listeners;
13
+ private allListeners;
14
+ private debugMode;
15
+ /**
16
+ * Enable debug mode to log all events
17
+ */
18
+ setDebugMode(enabled: boolean): void;
19
+ /**
20
+ * Emit an event to all registered listeners
21
+ */
22
+ emit<T extends EventType>(type: T, payload: Omit<EventOfType<T>, 'type' | 'timestamp'>): void;
23
+ /**
24
+ * Subscribe to events of a specific type
25
+ */
26
+ on<T extends EventType>(type: T, handler: (event: EventOfType<T>) => void | Promise<void>): Unsubscribe;
27
+ /**
28
+ * Subscribe to a single event occurrence
29
+ */
30
+ once<T extends EventType>(type: T, handler: (event: EventOfType<T>) => void | Promise<void>): Unsubscribe;
31
+ /**
32
+ * Remove a specific handler for an event type
33
+ */
34
+ off<T extends EventType>(type: T, handler: (event: EventOfType<T>) => void | Promise<void>): void;
35
+ /**
36
+ * Subscribe to all events
37
+ */
38
+ onAll(handler: (event: AppEventType) => void): Unsubscribe;
39
+ /**
40
+ * Wait for a specific event type
41
+ */
42
+ waitFor<T extends EventType>(type: T, timeout?: number): Promise<EventOfType<T>>;
43
+ /**
44
+ * Wait for an event matching a predicate
45
+ */
46
+ waitForMatch<T extends EventType>(type: T, predicate: (event: EventOfType<T>) => boolean, timeout?: number): Promise<EventOfType<T>>;
47
+ /**
48
+ * Remove all listeners for a specific event type
49
+ */
50
+ removeAllListeners(type?: EventType): void;
51
+ /**
52
+ * Get the count of listeners for a specific event type
53
+ */
54
+ listenerCount(type: EventType): number;
55
+ /**
56
+ * Get all registered event types
57
+ */
58
+ eventTypes(): string[];
59
+ }
60
+ /**
61
+ * Create an event with timestamp
62
+ */
63
+ export declare function createEvent<T extends EventType>(type: T, payload: Omit<EventOfType<T>, 'type' | 'timestamp'>): EventOfType<T>;
64
+ /**
65
+ * Get the global event bus
66
+ */
67
+ export declare function getEventBus(): EventBus;
68
+ /**
69
+ * Set the global event bus
70
+ */
71
+ export declare function setEventBus(bus: EventBus): void;
72
+ /**
73
+ * Create a new event bus instance
74
+ */
75
+ export declare function createEventBus(): EventBus;
76
+ //# sourceMappingURL=bus.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bus.d.ts","sourceRoot":"","sources":["../../src/events/bus.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EACV,YAAY,EACZ,SAAS,EACT,WAAW,EAEZ,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,UAAU,CAAC;AAgB5C;;GAEG;AACH,qBAAa,QAAQ;IACnB,OAAO,CAAC,SAAS,CAA8C;IAC/D,OAAO,CAAC,YAAY,CAA2B;IAC/C,OAAO,CAAC,SAAS,CAAkB;IAEnC;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI;IAIpC;;OAEG;IACH,IAAI,CAAC,CAAC,SAAS,SAAS,EACtB,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC,GAClD,IAAI;IA+CP;;OAEG;IACH,EAAE,CAAC,CAAC,SAAS,SAAS,EACpB,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACvD,WAAW;IAiBd;;OAEG;IACH,IAAI,CAAC,CAAC,SAAS,SAAS,EACtB,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACvD,WAAW;IAiBd;;OAEG;IACH,GAAG,CAAC,CAAC,SAAS,SAAS,EACrB,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,GACvD,IAAI;IAYP;;OAEG;IACH,KAAK,CAAC,OAAO,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,GAAG,WAAW;IAO1D;;OAEG;IACH,OAAO,CAAC,CAAC,SAAS,SAAS,EACzB,IAAI,EAAE,CAAC,EACP,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IAoB1B;;OAEG;IACH,YAAY,CAAC,CAAC,SAAS,SAAS,EAC9B,IAAI,EAAE,CAAC,EACP,SAAS,EAAE,CAAC,KAAK,EAAE,WAAW,CAAC,CAAC,CAAC,KAAK,OAAO,EAC7C,OAAO,CAAC,EAAE,MAAM,GACf,OAAO,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;IA0B1B;;OAEG;IACH,kBAAkB,CAAC,IAAI,CAAC,EAAE,SAAS,GAAG,IAAI;IAS1C;;OAEG;IACH,aAAa,CAAC,IAAI,EAAE,SAAS,GAAG,MAAM;IAItC;;OAEG;IACH,UAAU,IAAI,MAAM,EAAE;CAGvB;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,CAAC,SAAS,SAAS,EAC7C,IAAI,EAAE,CAAC,EACP,OAAO,EAAE,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,WAAW,CAAC,GAClD,WAAW,CAAC,CAAC,CAAC,CAMhB;AAKD;;GAEG;AACH,wBAAgB,WAAW,IAAI,QAAQ,CAKtC;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,GAAG,EAAE,QAAQ,GAAG,IAAI,CAE/C;AAED;;GAEG;AACH,wBAAgB,cAAc,IAAI,QAAQ,CAEzC"}