claude-code-plus-plus 0.2.1 → 0.2.3

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 (376) hide show
  1. package/dist/sidebar/app.d.ts +2 -0
  2. package/dist/sidebar/app.d.ts.map +1 -1
  3. package/dist/sidebar/app.js +30 -3
  4. package/dist/sidebar/app.js.map +1 -1
  5. package/dist/sidebar/render.d.ts +4 -0
  6. package/dist/sidebar/render.d.ts.map +1 -1
  7. package/dist/sidebar/render.js +65 -0
  8. package/dist/sidebar/render.js.map +1 -1
  9. package/dist/types.d.ts +2 -1
  10. package/dist/types.d.ts.map +1 -1
  11. package/dist/types.js.map +1 -1
  12. package/package.json +1 -1
  13. package/dist/app.d.ts +0 -52
  14. package/dist/app.d.ts.map +0 -1
  15. package/dist/app.js +0 -318
  16. package/dist/app.js.map +0 -1
  17. package/dist/core/index.d.ts +0 -14
  18. package/dist/core/index.d.ts.map +0 -1
  19. package/dist/core/index.js +0 -14
  20. package/dist/core/index.js.map +0 -1
  21. package/dist/core/session/index.d.ts +0 -7
  22. package/dist/core/session/index.d.ts.map +0 -1
  23. package/dist/core/session/index.js +0 -6
  24. package/dist/core/session/index.js.map +0 -1
  25. package/dist/core/session/session-manager.d.ts +0 -46
  26. package/dist/core/session/session-manager.d.ts.map +0 -1
  27. package/dist/core/session/session-manager.js +0 -245
  28. package/dist/core/session/session-manager.js.map +0 -1
  29. package/dist/core/session/session.d.ts +0 -44
  30. package/dist/core/session/session.d.ts.map +0 -1
  31. package/dist/core/session/session.js +0 -78
  32. package/dist/core/session/session.js.map +0 -1
  33. package/dist/core/terminal/index.d.ts +0 -7
  34. package/dist/core/terminal/index.d.ts.map +0 -1
  35. package/dist/core/terminal/index.js +0 -6
  36. package/dist/core/terminal/index.js.map +0 -1
  37. package/dist/core/terminal/terminal-manager.d.ts +0 -36
  38. package/dist/core/terminal/terminal-manager.d.ts.map +0 -1
  39. package/dist/core/terminal/terminal-manager.js +0 -182
  40. package/dist/core/terminal/terminal-manager.js.map +0 -1
  41. package/dist/core/terminal/terminal.d.ts +0 -27
  42. package/dist/core/terminal/terminal.d.ts.map +0 -1
  43. package/dist/core/terminal/terminal.js +0 -38
  44. package/dist/core/terminal/terminal.js.map +0 -1
  45. package/dist/core/workspace/index.d.ts +0 -7
  46. package/dist/core/workspace/index.d.ts.map +0 -1
  47. package/dist/core/workspace/index.js +0 -6
  48. package/dist/core/workspace/index.js.map +0 -1
  49. package/dist/core/workspace/workspace-manager.d.ts +0 -59
  50. package/dist/core/workspace/workspace-manager.d.ts.map +0 -1
  51. package/dist/core/workspace/workspace-manager.js +0 -224
  52. package/dist/core/workspace/workspace-manager.js.map +0 -1
  53. package/dist/core/workspace/workspace.d.ts +0 -56
  54. package/dist/core/workspace/workspace.d.ts.map +0 -1
  55. package/dist/core/workspace/workspace.js +0 -96
  56. package/dist/core/workspace/workspace.js.map +0 -1
  57. package/dist/core/worktree/index.d.ts +0 -7
  58. package/dist/core/worktree/index.d.ts.map +0 -1
  59. package/dist/core/worktree/index.js +0 -6
  60. package/dist/core/worktree/index.js.map +0 -1
  61. package/dist/core/worktree/worktree-manager.d.ts +0 -47
  62. package/dist/core/worktree/worktree-manager.d.ts.map +0 -1
  63. package/dist/core/worktree/worktree-manager.js +0 -170
  64. package/dist/core/worktree/worktree-manager.js.map +0 -1
  65. package/dist/core/worktree/worktree.d.ts +0 -35
  66. package/dist/core/worktree/worktree.d.ts.map +0 -1
  67. package/dist/core/worktree/worktree.js +0 -50
  68. package/dist/core/worktree/worktree.js.map +0 -1
  69. package/dist/core/worktree-manager.d.ts +0 -26
  70. package/dist/core/worktree-manager.d.ts.map +0 -1
  71. package/dist/core/worktree-manager.js +0 -177
  72. package/dist/core/worktree-manager.js.map +0 -1
  73. package/dist/events/bus.d.ts +0 -76
  74. package/dist/events/bus.d.ts.map +0 -1
  75. package/dist/events/bus.js +0 -223
  76. package/dist/events/bus.js.map +0 -1
  77. package/dist/events/handlers/index.d.ts +0 -28
  78. package/dist/events/handlers/index.d.ts.map +0 -1
  79. package/dist/events/handlers/index.js +0 -44
  80. package/dist/events/handlers/index.js.map +0 -1
  81. package/dist/events/handlers/session-events.d.ts +0 -12
  82. package/dist/events/handlers/session-events.d.ts.map +0 -1
  83. package/dist/events/handlers/session-events.js +0 -38
  84. package/dist/events/handlers/session-events.js.map +0 -1
  85. package/dist/events/handlers/terminal-events.d.ts +0 -12
  86. package/dist/events/handlers/terminal-events.d.ts.map +0 -1
  87. package/dist/events/handlers/terminal-events.js +0 -37
  88. package/dist/events/handlers/terminal-events.js.map +0 -1
  89. package/dist/events/handlers/ui-events.d.ts +0 -11
  90. package/dist/events/handlers/ui-events.d.ts.map +0 -1
  91. package/dist/events/handlers/ui-events.js +0 -202
  92. package/dist/events/handlers/ui-events.js.map +0 -1
  93. package/dist/events/index.d.ts +0 -9
  94. package/dist/events/index.d.ts.map +0 -1
  95. package/dist/events/index.js +0 -10
  96. package/dist/events/index.js.map +0 -1
  97. package/dist/multiplexer/base.d.ts +0 -73
  98. package/dist/multiplexer/base.d.ts.map +0 -1
  99. package/dist/multiplexer/base.js +0 -68
  100. package/dist/multiplexer/base.js.map +0 -1
  101. package/dist/multiplexer/factory.d.ts +0 -28
  102. package/dist/multiplexer/factory.d.ts.map +0 -1
  103. package/dist/multiplexer/factory.js +0 -72
  104. package/dist/multiplexer/factory.js.map +0 -1
  105. package/dist/multiplexer/index.d.ts +0 -14
  106. package/dist/multiplexer/index.d.ts.map +0 -1
  107. package/dist/multiplexer/index.js +0 -15
  108. package/dist/multiplexer/index.js.map +0 -1
  109. package/dist/multiplexer/tmux/index.d.ts +0 -9
  110. package/dist/multiplexer/tmux/index.d.ts.map +0 -1
  111. package/dist/multiplexer/tmux/index.js +0 -7
  112. package/dist/multiplexer/tmux/index.js.map +0 -1
  113. package/dist/multiplexer/tmux/tmux-commands.d.ts +0 -96
  114. package/dist/multiplexer/tmux/tmux-commands.d.ts.map +0 -1
  115. package/dist/multiplexer/tmux/tmux-commands.js +0 -282
  116. package/dist/multiplexer/tmux/tmux-commands.js.map +0 -1
  117. package/dist/multiplexer/tmux/tmux-config.d.ts +0 -57
  118. package/dist/multiplexer/tmux/tmux-config.d.ts.map +0 -1
  119. package/dist/multiplexer/tmux/tmux-config.js +0 -103
  120. package/dist/multiplexer/tmux/tmux-config.js.map +0 -1
  121. package/dist/multiplexer/tmux/tmux-multiplexer.d.ts +0 -94
  122. package/dist/multiplexer/tmux/tmux-multiplexer.d.ts.map +0 -1
  123. package/dist/multiplexer/tmux/tmux-multiplexer.js +0 -302
  124. package/dist/multiplexer/tmux/tmux-multiplexer.js.map +0 -1
  125. package/dist/multiplexer/windows/index.d.ts +0 -5
  126. package/dist/multiplexer/windows/index.d.ts.map +0 -1
  127. package/dist/multiplexer/windows/index.js +0 -5
  128. package/dist/multiplexer/windows/index.js.map +0 -1
  129. package/dist/multiplexer/windows/windows-multiplexer.d.ts +0 -61
  130. package/dist/multiplexer/windows/windows-multiplexer.d.ts.map +0 -1
  131. package/dist/multiplexer/windows/windows-multiplexer.js +0 -151
  132. package/dist/multiplexer/windows/windows-multiplexer.js.map +0 -1
  133. package/dist/services/claude/claude-detector.d.ts +0 -37
  134. package/dist/services/claude/claude-detector.d.ts.map +0 -1
  135. package/dist/services/claude/claude-detector.js +0 -83
  136. package/dist/services/claude/claude-detector.js.map +0 -1
  137. package/dist/services/claude/claude-service.d.ts +0 -57
  138. package/dist/services/claude/claude-service.d.ts.map +0 -1
  139. package/dist/services/claude/claude-service.js +0 -108
  140. package/dist/services/claude/claude-service.js.map +0 -1
  141. package/dist/services/claude/index.d.ts +0 -7
  142. package/dist/services/claude/index.d.ts.map +0 -1
  143. package/dist/services/claude/index.js +0 -6
  144. package/dist/services/claude/index.js.map +0 -1
  145. package/dist/services/git/branch-service.d.ts +0 -64
  146. package/dist/services/git/branch-service.d.ts.map +0 -1
  147. package/dist/services/git/branch-service.js +0 -217
  148. package/dist/services/git/branch-service.js.map +0 -1
  149. package/dist/services/git/git-service.d.ts +0 -44
  150. package/dist/services/git/git-service.d.ts.map +0 -1
  151. package/dist/services/git/git-service.js +0 -145
  152. package/dist/services/git/git-service.js.map +0 -1
  153. package/dist/services/git/index.d.ts +0 -8
  154. package/dist/services/git/index.d.ts.map +0 -1
  155. package/dist/services/git/index.js +0 -7
  156. package/dist/services/git/index.js.map +0 -1
  157. package/dist/services/git/worktree-service.d.ts +0 -61
  158. package/dist/services/git/worktree-service.d.ts.map +0 -1
  159. package/dist/services/git/worktree-service.js +0 -243
  160. package/dist/services/git/worktree-service.js.map +0 -1
  161. package/dist/services/index.d.ts +0 -12
  162. package/dist/services/index.d.ts.map +0 -1
  163. package/dist/services/index.js +0 -12
  164. package/dist/services/index.js.map +0 -1
  165. package/dist/services/process/index.d.ts +0 -8
  166. package/dist/services/process/index.d.ts.map +0 -1
  167. package/dist/services/process/index.js +0 -6
  168. package/dist/services/process/index.js.map +0 -1
  169. package/dist/services/process/process-monitor.d.ts +0 -98
  170. package/dist/services/process/process-monitor.d.ts.map +0 -1
  171. package/dist/services/process/process-monitor.js +0 -173
  172. package/dist/services/process/process-monitor.js.map +0 -1
  173. package/dist/services/process/process-spawner.d.ts +0 -55
  174. package/dist/services/process/process-spawner.d.ts.map +0 -1
  175. package/dist/services/process/process-spawner.js +0 -93
  176. package/dist/services/process/process-spawner.js.map +0 -1
  177. package/dist/sidebar.d.ts +0 -13
  178. package/dist/sidebar.d.ts.map +0 -1
  179. package/dist/sidebar.js +0 -1535
  180. package/dist/sidebar.js.map +0 -1
  181. package/dist/state/actions.d.ts +0 -49
  182. package/dist/state/actions.d.ts.map +0 -1
  183. package/dist/state/actions.js +0 -512
  184. package/dist/state/actions.js.map +0 -1
  185. package/dist/state/index.d.ts +0 -16
  186. package/dist/state/index.d.ts.map +0 -1
  187. package/dist/state/index.js +0 -28
  188. package/dist/state/index.js.map +0 -1
  189. package/dist/state/middleware/index.d.ts +0 -7
  190. package/dist/state/middleware/index.d.ts.map +0 -1
  191. package/dist/state/middleware/index.js +0 -6
  192. package/dist/state/middleware/index.js.map +0 -1
  193. package/dist/state/middleware/logger.d.ts +0 -22
  194. package/dist/state/middleware/logger.d.ts.map +0 -1
  195. package/dist/state/middleware/logger.js +0 -45
  196. package/dist/state/middleware/logger.js.map +0 -1
  197. package/dist/state/middleware/persistence.d.ts +0 -29
  198. package/dist/state/middleware/persistence.d.ts.map +0 -1
  199. package/dist/state/middleware/persistence.js +0 -71
  200. package/dist/state/middleware/persistence.js.map +0 -1
  201. package/dist/state/persistence/file-adapter.d.ts +0 -48
  202. package/dist/state/persistence/file-adapter.d.ts.map +0 -1
  203. package/dist/state/persistence/file-adapter.js +0 -96
  204. package/dist/state/persistence/file-adapter.js.map +0 -1
  205. package/dist/state/persistence/index.d.ts +0 -8
  206. package/dist/state/persistence/index.d.ts.map +0 -1
  207. package/dist/state/persistence/index.js +0 -6
  208. package/dist/state/persistence/index.js.map +0 -1
  209. package/dist/state/persistence/serializer.d.ts +0 -41
  210. package/dist/state/persistence/serializer.d.ts.map +0 -1
  211. package/dist/state/persistence/serializer.js +0 -114
  212. package/dist/state/persistence/serializer.js.map +0 -1
  213. package/dist/state/selectors.d.ts +0 -67
  214. package/dist/state/selectors.d.ts.map +0 -1
  215. package/dist/state/selectors.js +0 -177
  216. package/dist/state/selectors.js.map +0 -1
  217. package/dist/state/store.d.ts +0 -86
  218. package/dist/state/store.d.ts.map +0 -1
  219. package/dist/state/store.js +0 -161
  220. package/dist/state/store.js.map +0 -1
  221. package/dist/state/types.d.ts +0 -269
  222. package/dist/state/types.d.ts.map +0 -1
  223. package/dist/state/types.js +0 -7
  224. package/dist/state/types.js.map +0 -1
  225. package/dist/state.d.ts +0 -53
  226. package/dist/state.d.ts.map +0 -1
  227. package/dist/state.js +0 -101
  228. package/dist/state.js.map +0 -1
  229. package/dist/terminal-manager.d.ts +0 -16
  230. package/dist/terminal-manager.d.ts.map +0 -1
  231. package/dist/terminal-manager.js +0 -364
  232. package/dist/terminal-manager.js.map +0 -1
  233. package/dist/tmux.d.ts +0 -163
  234. package/dist/tmux.d.ts.map +0 -1
  235. package/dist/tmux.js +0 -360
  236. package/dist/tmux.js.map +0 -1
  237. package/dist/types/config.d.ts +0 -103
  238. package/dist/types/config.d.ts.map +0 -1
  239. package/dist/types/config.js +0 -7
  240. package/dist/types/config.js.map +0 -1
  241. package/dist/types/entities.d.ts +0 -88
  242. package/dist/types/entities.d.ts.map +0 -1
  243. package/dist/types/entities.js +0 -8
  244. package/dist/types/entities.js.map +0 -1
  245. package/dist/types/events.d.ts +0 -156
  246. package/dist/types/events.d.ts.map +0 -1
  247. package/dist/types/events.js +0 -8
  248. package/dist/types/events.js.map +0 -1
  249. package/dist/types/index.d.ts +0 -11
  250. package/dist/types/index.d.ts.map +0 -1
  251. package/dist/types/index.js +0 -8
  252. package/dist/types/index.js.map +0 -1
  253. package/dist/types/multiplexer.d.ts +0 -238
  254. package/dist/types/multiplexer.d.ts.map +0 -1
  255. package/dist/types/multiplexer.js +0 -8
  256. package/dist/types/multiplexer.js.map +0 -1
  257. package/dist/ui/components/base.d.ts +0 -155
  258. package/dist/ui/components/base.d.ts.map +0 -1
  259. package/dist/ui/components/base.js +0 -269
  260. package/dist/ui/components/base.js.map +0 -1
  261. package/dist/ui/components/index.d.ts +0 -10
  262. package/dist/ui/components/index.d.ts.map +0 -1
  263. package/dist/ui/components/index.js +0 -10
  264. package/dist/ui/components/index.js.map +0 -1
  265. package/dist/ui/components/input-field.d.ts +0 -98
  266. package/dist/ui/components/input-field.d.ts.map +0 -1
  267. package/dist/ui/components/input-field.js +0 -274
  268. package/dist/ui/components/input-field.js.map +0 -1
  269. package/dist/ui/components/list.d.ts +0 -94
  270. package/dist/ui/components/list.d.ts.map +0 -1
  271. package/dist/ui/components/list.js +0 -294
  272. package/dist/ui/components/list.js.map +0 -1
  273. package/dist/ui/components/modal.d.ts +0 -83
  274. package/dist/ui/components/modal.d.ts.map +0 -1
  275. package/dist/ui/components/modal.js +0 -249
  276. package/dist/ui/components/modal.js.map +0 -1
  277. package/dist/ui/components/tabs.d.ts +0 -97
  278. package/dist/ui/components/tabs.d.ts.map +0 -1
  279. package/dist/ui/components/tabs.js +0 -252
  280. package/dist/ui/components/tabs.js.map +0 -1
  281. package/dist/ui/components/text.d.ts +0 -60
  282. package/dist/ui/components/text.d.ts.map +0 -1
  283. package/dist/ui/components/text.js +0 -224
  284. package/dist/ui/components/text.js.map +0 -1
  285. package/dist/ui/index.d.ts +0 -12
  286. package/dist/ui/index.d.ts.map +0 -1
  287. package/dist/ui/index.js +0 -18
  288. package/dist/ui/index.js.map +0 -1
  289. package/dist/ui/input/index.d.ts +0 -8
  290. package/dist/ui/input/index.d.ts.map +0 -1
  291. package/dist/ui/input/index.js +0 -8
  292. package/dist/ui/input/index.js.map +0 -1
  293. package/dist/ui/input/input-manager.d.ts +0 -83
  294. package/dist/ui/input/input-manager.d.ts.map +0 -1
  295. package/dist/ui/input/input-manager.js +0 -200
  296. package/dist/ui/input/input-manager.js.map +0 -1
  297. package/dist/ui/input/keybindings.d.ts +0 -47
  298. package/dist/ui/input/keybindings.d.ts.map +0 -1
  299. package/dist/ui/input/keybindings.js +0 -168
  300. package/dist/ui/input/keybindings.js.map +0 -1
  301. package/dist/ui/input/keyboard.d.ts +0 -24
  302. package/dist/ui/input/keyboard.d.ts.map +0 -1
  303. package/dist/ui/input/keyboard.js +0 -230
  304. package/dist/ui/input/keyboard.js.map +0 -1
  305. package/dist/ui/input/mouse.d.ts +0 -44
  306. package/dist/ui/input/mouse.d.ts.map +0 -1
  307. package/dist/ui/input/mouse.js +0 -161
  308. package/dist/ui/input/mouse.js.map +0 -1
  309. package/dist/ui/layout/box.d.ts +0 -63
  310. package/dist/ui/layout/box.d.ts.map +0 -1
  311. package/dist/ui/layout/box.js +0 -160
  312. package/dist/ui/layout/box.js.map +0 -1
  313. package/dist/ui/layout/constraints.d.ts +0 -77
  314. package/dist/ui/layout/constraints.d.ts.map +0 -1
  315. package/dist/ui/layout/constraints.js +0 -154
  316. package/dist/ui/layout/constraints.js.map +0 -1
  317. package/dist/ui/layout/flex.d.ts +0 -59
  318. package/dist/ui/layout/flex.d.ts.map +0 -1
  319. package/dist/ui/layout/flex.js +0 -163
  320. package/dist/ui/layout/flex.js.map +0 -1
  321. package/dist/ui/layout/index.d.ts +0 -7
  322. package/dist/ui/layout/index.d.ts.map +0 -1
  323. package/dist/ui/layout/index.js +0 -7
  324. package/dist/ui/layout/index.js.map +0 -1
  325. package/dist/ui/modals/delete-modal.d.ts +0 -27
  326. package/dist/ui/modals/delete-modal.d.ts.map +0 -1
  327. package/dist/ui/modals/delete-modal.js +0 -59
  328. package/dist/ui/modals/delete-modal.js.map +0 -1
  329. package/dist/ui/modals/index.d.ts +0 -7
  330. package/dist/ui/modals/index.d.ts.map +0 -1
  331. package/dist/ui/modals/index.js +0 -7
  332. package/dist/ui/modals/index.js.map +0 -1
  333. package/dist/ui/modals/input-modal.d.ts +0 -66
  334. package/dist/ui/modals/input-modal.d.ts.map +0 -1
  335. package/dist/ui/modals/input-modal.js +0 -185
  336. package/dist/ui/modals/input-modal.js.map +0 -1
  337. package/dist/ui/modals/quit-modal.d.ts +0 -30
  338. package/dist/ui/modals/quit-modal.d.ts.map +0 -1
  339. package/dist/ui/modals/quit-modal.js +0 -65
  340. package/dist/ui/modals/quit-modal.js.map +0 -1
  341. package/dist/ui/renderer/ansi.d.ts +0 -206
  342. package/dist/ui/renderer/ansi.d.ts.map +0 -1
  343. package/dist/ui/renderer/ansi.js +0 -318
  344. package/dist/ui/renderer/ansi.js.map +0 -1
  345. package/dist/ui/renderer/canvas.d.ts +0 -126
  346. package/dist/ui/renderer/canvas.d.ts.map +0 -1
  347. package/dist/ui/renderer/canvas.js +0 -346
  348. package/dist/ui/renderer/canvas.js.map +0 -1
  349. package/dist/ui/renderer/colors.d.ts +0 -65
  350. package/dist/ui/renderer/colors.d.ts.map +0 -1
  351. package/dist/ui/renderer/colors.js +0 -260
  352. package/dist/ui/renderer/colors.js.map +0 -1
  353. package/dist/ui/renderer/index.d.ts +0 -8
  354. package/dist/ui/renderer/index.d.ts.map +0 -1
  355. package/dist/ui/renderer/index.js +0 -8
  356. package/dist/ui/renderer/index.js.map +0 -1
  357. package/dist/ui/renderer/symbols.d.ts +0 -176
  358. package/dist/ui/renderer/symbols.d.ts.map +0 -1
  359. package/dist/ui/renderer/symbols.js +0 -246
  360. package/dist/ui/renderer/symbols.js.map +0 -1
  361. package/dist/ui/views/index.d.ts +0 -7
  362. package/dist/ui/views/index.d.ts.map +0 -1
  363. package/dist/ui/views/index.js +0 -7
  364. package/dist/ui/views/index.js.map +0 -1
  365. package/dist/ui/views/sidebar-view.d.ts +0 -89
  366. package/dist/ui/views/sidebar-view.d.ts.map +0 -1
  367. package/dist/ui/views/sidebar-view.js +0 -259
  368. package/dist/ui/views/sidebar-view.js.map +0 -1
  369. package/dist/ui/views/terminal-bar-view.d.ts +0 -67
  370. package/dist/ui/views/terminal-bar-view.d.ts.map +0 -1
  371. package/dist/ui/views/terminal-bar-view.js +0 -172
  372. package/dist/ui/views/terminal-bar-view.js.map +0 -1
  373. package/dist/ui/views/welcome-view.d.ts +0 -34
  374. package/dist/ui/views/welcome-view.d.ts.map +0 -1
  375. package/dist/ui/views/welcome-view.js +0 -116
  376. package/dist/ui/views/welcome-view.js.map +0 -1
@@ -1,83 +0,0 @@
1
- /**
2
- * Claude CLI Detector
3
- *
4
- * Detects if Claude CLI is installed and gets version information.
5
- */
6
- import { execSync } from 'child_process';
7
- import { isCommandAvailable } from '../../platform';
8
- /**
9
- * Check if Claude CLI is available
10
- */
11
- export function isClaudeAvailable() {
12
- return isCommandAvailable('claude');
13
- }
14
- /**
15
- * Get Claude CLI version
16
- */
17
- export function getClaudeVersion() {
18
- try {
19
- const result = execSync('claude --version', {
20
- encoding: 'utf-8',
21
- stdio: ['pipe', 'pipe', 'pipe'],
22
- });
23
- // Parse version from output like "claude 1.0.0"
24
- const match = result.match(/(\d+\.\d+\.\d+)/);
25
- return match ? match[1] : result.trim();
26
- }
27
- catch {
28
- return null;
29
- }
30
- }
31
- /**
32
- * Get Claude CLI path
33
- */
34
- export function getClaudePath() {
35
- try {
36
- const result = execSync('which claude', {
37
- encoding: 'utf-8',
38
- stdio: ['pipe', 'pipe', 'pipe'],
39
- });
40
- return result.trim();
41
- }
42
- catch {
43
- return null;
44
- }
45
- }
46
- /**
47
- * Get complete Claude CLI information
48
- */
49
- export function getClaudeInfo() {
50
- const available = isClaudeAvailable();
51
- if (!available) {
52
- return {
53
- available: false,
54
- version: null,
55
- path: null,
56
- };
57
- }
58
- return {
59
- available: true,
60
- version: getClaudeVersion(),
61
- path: getClaudePath(),
62
- };
63
- }
64
- /**
65
- * Verify Claude CLI is working
66
- */
67
- export function verifyClaudeInstallation() {
68
- if (!isClaudeAvailable()) {
69
- return {
70
- ok: false,
71
- error: 'Claude CLI is not installed. Please install it from https://claude.ai/cli',
72
- };
73
- }
74
- const version = getClaudeVersion();
75
- if (!version) {
76
- return {
77
- ok: false,
78
- error: 'Claude CLI is installed but version check failed',
79
- };
80
- }
81
- return { ok: true };
82
- }
83
- //# sourceMappingURL=claude-detector.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"claude-detector.js","sourceRoot":"","sources":["../../../src/services/claude/claude-detector.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EAAE,kBAAkB,EAAqB,MAAM,gBAAgB,CAAC;AAWvE;;GAEG;AACH,MAAM,UAAU,iBAAiB;IAC/B,OAAO,kBAAkB,CAAC,QAAQ,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,kBAAkB,EAAE;YAC1C,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC;QACH,gDAAgD;QAChD,MAAM,KAAK,GAAG,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,CAAC;QAC9C,OAAO,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;IAC1C,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,QAAQ,CAAC,cAAc,EAAE;YACtC,QAAQ,EAAE,OAAO;YACjB,KAAK,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC;SAChC,CAAC,CAAC;QACH,OAAO,MAAM,CAAC,IAAI,EAAE,CAAC;IACvB,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,IAAI,CAAC;IACd,CAAC;AACH,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,aAAa;IAC3B,MAAM,SAAS,GAAG,iBAAiB,EAAE,CAAC;IAEtC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,OAAO;YACL,SAAS,EAAE,KAAK;YAChB,OAAO,EAAE,IAAI;YACb,IAAI,EAAE,IAAI;SACX,CAAC;IACJ,CAAC;IAED,OAAO;QACL,SAAS,EAAE,IAAI;QACf,OAAO,EAAE,gBAAgB,EAAE;QAC3B,IAAI,EAAE,aAAa,EAAE;KACtB,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,wBAAwB;IAItC,IAAI,CAAC,iBAAiB,EAAE,EAAE,CAAC;QACzB,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EACH,2EAA2E;SAC9E,CAAC;IACJ,CAAC;IAED,MAAM,OAAO,GAAG,gBAAgB,EAAE,CAAC;IACnC,IAAI,CAAC,OAAO,EAAE,CAAC;QACb,OAAO;YACL,EAAE,EAAE,KAAK;YACT,KAAK,EAAE,kDAAkD;SAC1D,CAAC;IACJ,CAAC;IAED,OAAO,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;AACtB,CAAC"}
@@ -1,57 +0,0 @@
1
- /**
2
- * Claude CLI Service
3
- *
4
- * Manages Claude CLI invocation and configuration.
5
- */
6
- import type { ClaudeConfig } from '../../types';
7
- import { type ClaudeInfo } from './claude-detector';
8
- /**
9
- * Claude service for managing Claude CLI
10
- */
11
- export declare class ClaudeService {
12
- private config;
13
- constructor(config?: Partial<ClaudeConfig>);
14
- /**
15
- * Update configuration
16
- */
17
- configure(config: Partial<ClaudeConfig>): void;
18
- /**
19
- * Get current configuration
20
- */
21
- getConfig(): ClaudeConfig;
22
- /**
23
- * Check if Claude CLI is available
24
- */
25
- isAvailable(): boolean;
26
- /**
27
- * Get Claude CLI information
28
- */
29
- getInfo(): ClaudeInfo;
30
- /**
31
- * Build the command to run Claude CLI
32
- */
33
- buildCommand(options?: {
34
- workingDirectory?: string;
35
- resume?: boolean;
36
- }): string;
37
- /**
38
- * Build command for a specific prompt
39
- */
40
- buildPromptCommand(prompt: string): string;
41
- /**
42
- * Get the command for running Claude in a terminal
43
- * This returns the command string to be sent to a pane
44
- */
45
- getStartCommand(cwd?: string): string;
46
- /**
47
- * Get the command to resume a Claude session
48
- */
49
- getResumeCommand(): string;
50
- }
51
- /**
52
- * Create a Claude service instance
53
- */
54
- export declare function createClaudeService(config?: Partial<ClaudeConfig>): ClaudeService;
55
- export declare function getClaudeService(): ClaudeService;
56
- export declare function setClaudeService(service: ClaudeService): void;
57
- //# sourceMappingURL=claude-service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"claude-service.d.ts","sourceRoot":"","sources":["../../../src/services/claude/claude-service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAChD,OAAO,EAAoC,KAAK,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAWtF;;GAEG;AACH,qBAAa,aAAa;IACxB,OAAO,CAAC,MAAM,CAAe;gBAEjB,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC;IAI1C;;OAEG;IACH,SAAS,CAAC,MAAM,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,IAAI;IAI9C;;OAEG;IACH,SAAS,IAAI,YAAY;IAIzB;;OAEG;IACH,WAAW,IAAI,OAAO;IAItB;;OAEG;IACH,OAAO,IAAI,UAAU;IAIrB;;OAEG;IACH,YAAY,CAAC,OAAO,GAAE;QACpB,gBAAgB,CAAC,EAAE,MAAM,CAAC;QAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;KACb,GAAG,MAAM;IAyBf;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM;IAM1C;;;OAGG;IACH,eAAe,CAAC,GAAG,CAAC,EAAE,MAAM,GAAG,MAAM;IAIrC;;OAEG;IACH,gBAAgB,IAAI,MAAM;CAG3B;AAED;;GAEG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,CAAC,EAAE,OAAO,CAAC,YAAY,CAAC,GAAG,aAAa,CAEjF;AAKD,wBAAgB,gBAAgB,IAAI,aAAa,CAKhD;AAED,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,aAAa,GAAG,IAAI,CAE7D"}
@@ -1,108 +0,0 @@
1
- /**
2
- * Claude CLI Service
3
- *
4
- * Manages Claude CLI invocation and configuration.
5
- */
6
- import { isClaudeAvailable, getClaudeInfo } from './claude-detector';
7
- /**
8
- * Default Claude configuration
9
- */
10
- const DEFAULT_CLAUDE_CONFIG = {
11
- command: 'claude',
12
- skipPermissions: true,
13
- additionalArgs: [],
14
- };
15
- /**
16
- * Claude service for managing Claude CLI
17
- */
18
- export class ClaudeService {
19
- config;
20
- constructor(config) {
21
- this.config = { ...DEFAULT_CLAUDE_CONFIG, ...config };
22
- }
23
- /**
24
- * Update configuration
25
- */
26
- configure(config) {
27
- this.config = { ...this.config, ...config };
28
- }
29
- /**
30
- * Get current configuration
31
- */
32
- getConfig() {
33
- return { ...this.config };
34
- }
35
- /**
36
- * Check if Claude CLI is available
37
- */
38
- isAvailable() {
39
- return isClaudeAvailable();
40
- }
41
- /**
42
- * Get Claude CLI information
43
- */
44
- getInfo() {
45
- return getClaudeInfo();
46
- }
47
- /**
48
- * Build the command to run Claude CLI
49
- */
50
- buildCommand(options = {}) {
51
- const { workingDirectory, resume } = options;
52
- const parts = [];
53
- // Base command
54
- parts.push(this.config.command);
55
- // Skip permissions flag
56
- if (this.config.skipPermissions) {
57
- parts.push('--dangerously-skip-permissions');
58
- }
59
- // Resume mode
60
- if (resume) {
61
- parts.push('--resume');
62
- }
63
- // Additional args
64
- if (this.config.additionalArgs.length > 0) {
65
- parts.push(...this.config.additionalArgs);
66
- }
67
- return parts.join(' ');
68
- }
69
- /**
70
- * Build command for a specific prompt
71
- */
72
- buildPromptCommand(prompt) {
73
- const base = this.buildCommand();
74
- const escapedPrompt = prompt.replace(/'/g, "'\\''");
75
- return `${base} -p '${escapedPrompt}'`;
76
- }
77
- /**
78
- * Get the command for running Claude in a terminal
79
- * This returns the command string to be sent to a pane
80
- */
81
- getStartCommand(cwd) {
82
- return this.buildCommand({ workingDirectory: cwd });
83
- }
84
- /**
85
- * Get the command to resume a Claude session
86
- */
87
- getResumeCommand() {
88
- return this.buildCommand({ resume: true });
89
- }
90
- }
91
- /**
92
- * Create a Claude service instance
93
- */
94
- export function createClaudeService(config) {
95
- return new ClaudeService(config);
96
- }
97
- // Default instance
98
- let defaultClaudeService = null;
99
- export function getClaudeService() {
100
- if (!defaultClaudeService) {
101
- defaultClaudeService = new ClaudeService();
102
- }
103
- return defaultClaudeService;
104
- }
105
- export function setClaudeService(service) {
106
- defaultClaudeService = service;
107
- }
108
- //# sourceMappingURL=claude-service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"claude-service.js","sourceRoot":"","sources":["../../../src/services/claude/claude-service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAGH,OAAO,EAAE,iBAAiB,EAAE,aAAa,EAAmB,MAAM,mBAAmB,CAAC;AAEtF;;GAEG;AACH,MAAM,qBAAqB,GAAiB;IAC1C,OAAO,EAAE,QAAQ;IACjB,eAAe,EAAE,IAAI;IACrB,cAAc,EAAE,EAAE;CACnB,CAAC;AAEF;;GAEG;AACH,MAAM,OAAO,aAAa;IAChB,MAAM,CAAe;IAE7B,YAAY,MAA8B;QACxC,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,qBAAqB,EAAE,GAAG,MAAM,EAAE,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,MAA6B;QACrC,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,MAAM,EAAE,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,iBAAiB,EAAE,CAAC;IAC7B,CAAC;IAED;;OAEG;IACH,OAAO;QACL,OAAO,aAAa,EAAE,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,UAGT,EAAE;QACJ,MAAM,EAAE,gBAAgB,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC;QAC7C,MAAM,KAAK,GAAa,EAAE,CAAC;QAE3B,eAAe;QACf,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAEhC,wBAAwB;QACxB,IAAI,IAAI,CAAC,MAAM,CAAC,eAAe,EAAE,CAAC;YAChC,KAAK,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;QAC/C,CAAC;QAED,cAAc;QACd,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QACzB,CAAC;QAED,kBAAkB;QAClB,IAAI,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,cAAc,CAAC,CAAC;QAC5C,CAAC;QAED,OAAO,KAAK,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACzB,CAAC;IAED;;OAEG;IACH,kBAAkB,CAAC,MAAc;QAC/B,MAAM,IAAI,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACjC,MAAM,aAAa,GAAG,MAAM,CAAC,OAAO,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;QACpD,OAAO,GAAG,IAAI,QAAQ,aAAa,GAAG,CAAC;IACzC,CAAC;IAED;;;OAGG;IACH,eAAe,CAAC,GAAY;QAC1B,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,gBAAgB,EAAE,GAAG,EAAE,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,gBAAgB;QACd,OAAO,IAAI,CAAC,YAAY,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC;IAC7C,CAAC;CACF;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,MAA8B;IAChE,OAAO,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC;AACnC,CAAC;AAED,mBAAmB;AACnB,IAAI,oBAAoB,GAAyB,IAAI,CAAC;AAEtD,MAAM,UAAU,gBAAgB;IAC9B,IAAI,CAAC,oBAAoB,EAAE,CAAC;QAC1B,oBAAoB,GAAG,IAAI,aAAa,EAAE,CAAC;IAC7C,CAAC;IACD,OAAO,oBAAoB,CAAC;AAC9B,CAAC;AAED,MAAM,UAAU,gBAAgB,CAAC,OAAsB;IACrD,oBAAoB,GAAG,OAAO,CAAC;AACjC,CAAC"}
@@ -1,7 +0,0 @@
1
- /**
2
- * Claude Services Module
3
- */
4
- export { ClaudeService, createClaudeService, getClaudeService, setClaudeService, } from './claude-service';
5
- export { isClaudeAvailable, getClaudeVersion, getClaudePath, getClaudeInfo, verifyClaudeInstallation, } from './claude-detector';
6
- export type { ClaudeInfo } from './claude-detector';
7
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/services/claude/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,wBAAwB,GACzB,MAAM,mBAAmB,CAAC;AAC3B,YAAY,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC"}
@@ -1,6 +0,0 @@
1
- /**
2
- * Claude Services Module
3
- */
4
- export { ClaudeService, createClaudeService, getClaudeService, setClaudeService, } from './claude-service';
5
- export { isClaudeAvailable, getClaudeVersion, getClaudePath, getClaudeInfo, verifyClaudeInstallation, } from './claude-detector';
6
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/services/claude/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EACL,aAAa,EACb,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,iBAAiB,EACjB,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,wBAAwB,GACzB,MAAM,mBAAmB,CAAC"}
@@ -1,64 +0,0 @@
1
- /**
2
- * Branch Service
3
- *
4
- * Git branch operations.
5
- */
6
- /**
7
- * Branch information
8
- */
9
- export interface BranchInfo {
10
- name: string;
11
- current: boolean;
12
- remote: string | null;
13
- commit: string;
14
- }
15
- /**
16
- * Branch service for git branch operations
17
- */
18
- export declare class BranchService {
19
- /**
20
- * List all local branches
21
- */
22
- listLocal(repoPath: string): string[];
23
- /**
24
- * List all branches with details
25
- */
26
- list(repoPath: string): BranchInfo[];
27
- /**
28
- * List remote branches
29
- */
30
- listRemote(repoPath: string): string[];
31
- /**
32
- * Check if a branch exists
33
- */
34
- exists(repoPath: string, branch: string): boolean;
35
- /**
36
- * Create a new branch
37
- */
38
- create(repoPath: string, branch: string, options?: {
39
- startPoint?: string;
40
- checkout?: boolean;
41
- }): void;
42
- /**
43
- * Delete a branch
44
- */
45
- delete(repoPath: string, branch: string, force?: boolean): void;
46
- /**
47
- * Rename a branch
48
- */
49
- rename(repoPath: string, oldName: string, newName: string): void;
50
- /**
51
- * Get the current branch name
52
- */
53
- current(repoPath: string): string;
54
- /**
55
- * Checkout a branch
56
- */
57
- checkout(repoPath: string, branch: string): void;
58
- }
59
- /**
60
- * Create a branch service instance
61
- */
62
- export declare function createBranchService(): BranchService;
63
- export declare function getBranchService(): BranchService;
64
- //# sourceMappingURL=branch-service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"branch-service.d.ts","sourceRoot":"","sources":["../../../src/services/git/branch-service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAMH;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,qBAAa,aAAa;IACxB;;OAEG;IACH,SAAS,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IAmBrC;;OAEG;IACH,IAAI,CAAC,QAAQ,EAAE,MAAM,GAAG,UAAU,EAAE;IA8BpC;;OAEG;IACH,UAAU,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,EAAE;IAoBtC;;OAEG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO;IAajD;;OAEG;IACH,MAAM,CACJ,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,OAAO,GAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,OAAO,CAAA;KAAO,GACxD,IAAI;IA+BP;;OAEG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,GAAE,OAAe,GAAG,IAAI;IAgBtE;;OAEG;IACH,MAAM,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAehE;;OAEG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM;IAKjC;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,IAAI;CAcjD;AAED;;GAEG;AACH,wBAAgB,mBAAmB,IAAI,aAAa,CAEnD;AAKD,wBAAgB,gBAAgB,IAAI,aAAa,CAKhD"}
@@ -1,217 +0,0 @@
1
- /**
2
- * Branch Service
3
- *
4
- * Git branch operations.
5
- */
6
- import { execSync } from 'child_process';
7
- import { GitError } from '../../utils';
8
- import { getGitService } from './git-service';
9
- /**
10
- * Branch service for git branch operations
11
- */
12
- export class BranchService {
13
- /**
14
- * List all local branches
15
- */
16
- listLocal(repoPath) {
17
- try {
18
- const result = execSync('git branch --format="%(refname:short)"', {
19
- cwd: repoPath,
20
- stdio: ['pipe', 'pipe', 'pipe'],
21
- encoding: 'utf-8',
22
- });
23
- return result
24
- .trim()
25
- .split('\n')
26
- .filter((b) => b.length > 0);
27
- }
28
- catch (error) {
29
- throw new GitError('Failed to list branches', {
30
- command: 'git branch',
31
- cause: error instanceof Error ? error : undefined,
32
- });
33
- }
34
- }
35
- /**
36
- * List all branches with details
37
- */
38
- list(repoPath) {
39
- try {
40
- const format = '%(refname:short)|%(HEAD)|%(upstream:short)|%(objectname:short)';
41
- const result = execSync(`git branch --format="${format}"`, {
42
- cwd: repoPath,
43
- stdio: ['pipe', 'pipe', 'pipe'],
44
- encoding: 'utf-8',
45
- });
46
- return result
47
- .trim()
48
- .split('\n')
49
- .filter((line) => line.length > 0)
50
- .map((line) => {
51
- const [name, head, upstream, commit] = line.split('|');
52
- return {
53
- name,
54
- current: head === '*',
55
- remote: upstream || null,
56
- commit,
57
- };
58
- });
59
- }
60
- catch (error) {
61
- throw new GitError('Failed to list branches', {
62
- command: 'git branch',
63
- cause: error instanceof Error ? error : undefined,
64
- });
65
- }
66
- }
67
- /**
68
- * List remote branches
69
- */
70
- listRemote(repoPath) {
71
- try {
72
- const result = execSync('git branch -r --format="%(refname:short)"', {
73
- cwd: repoPath,
74
- stdio: ['pipe', 'pipe', 'pipe'],
75
- encoding: 'utf-8',
76
- });
77
- return result
78
- .trim()
79
- .split('\n')
80
- .filter((b) => b.length > 0)
81
- .map((b) => b.replace(/^origin\//, ''));
82
- }
83
- catch (error) {
84
- throw new GitError('Failed to list remote branches', {
85
- command: 'git branch -r',
86
- cause: error instanceof Error ? error : undefined,
87
- });
88
- }
89
- }
90
- /**
91
- * Check if a branch exists
92
- */
93
- exists(repoPath, branch) {
94
- try {
95
- execSync(`git rev-parse --verify "${branch}"`, {
96
- cwd: repoPath,
97
- stdio: ['pipe', 'pipe', 'pipe'],
98
- encoding: 'utf-8',
99
- });
100
- return true;
101
- }
102
- catch {
103
- return false;
104
- }
105
- }
106
- /**
107
- * Create a new branch
108
- */
109
- create(repoPath, branch, options = {}) {
110
- const { startPoint, checkout = false } = options;
111
- try {
112
- if (checkout) {
113
- const cmd = startPoint
114
- ? `git checkout -b "${branch}" "${startPoint}"`
115
- : `git checkout -b "${branch}"`;
116
- execSync(cmd, {
117
- cwd: repoPath,
118
- stdio: ['pipe', 'pipe', 'pipe'],
119
- encoding: 'utf-8',
120
- });
121
- }
122
- else {
123
- const cmd = startPoint
124
- ? `git branch "${branch}" "${startPoint}"`
125
- : `git branch "${branch}"`;
126
- execSync(cmd, {
127
- cwd: repoPath,
128
- stdio: ['pipe', 'pipe', 'pipe'],
129
- encoding: 'utf-8',
130
- });
131
- }
132
- }
133
- catch (error) {
134
- throw new GitError(`Failed to create branch: ${branch}`, {
135
- command: `git branch ${branch}`,
136
- cause: error instanceof Error ? error : undefined,
137
- });
138
- }
139
- }
140
- /**
141
- * Delete a branch
142
- */
143
- delete(repoPath, branch, force = false) {
144
- try {
145
- const flag = force ? '-D' : '-d';
146
- execSync(`git branch ${flag} "${branch}"`, {
147
- cwd: repoPath,
148
- stdio: ['pipe', 'pipe', 'pipe'],
149
- encoding: 'utf-8',
150
- });
151
- }
152
- catch (error) {
153
- throw new GitError(`Failed to delete branch: ${branch}`, {
154
- command: `git branch -d ${branch}`,
155
- cause: error instanceof Error ? error : undefined,
156
- });
157
- }
158
- }
159
- /**
160
- * Rename a branch
161
- */
162
- rename(repoPath, oldName, newName) {
163
- try {
164
- execSync(`git branch -m "${oldName}" "${newName}"`, {
165
- cwd: repoPath,
166
- stdio: ['pipe', 'pipe', 'pipe'],
167
- encoding: 'utf-8',
168
- });
169
- }
170
- catch (error) {
171
- throw new GitError(`Failed to rename branch: ${oldName} -> ${newName}`, {
172
- command: `git branch -m ${oldName} ${newName}`,
173
- cause: error instanceof Error ? error : undefined,
174
- });
175
- }
176
- }
177
- /**
178
- * Get the current branch name
179
- */
180
- current(repoPath) {
181
- const gitService = getGitService();
182
- return gitService.getCurrentBranch(repoPath);
183
- }
184
- /**
185
- * Checkout a branch
186
- */
187
- checkout(repoPath, branch) {
188
- try {
189
- execSync(`git checkout "${branch}"`, {
190
- cwd: repoPath,
191
- stdio: ['pipe', 'pipe', 'pipe'],
192
- encoding: 'utf-8',
193
- });
194
- }
195
- catch (error) {
196
- throw new GitError(`Failed to checkout branch: ${branch}`, {
197
- command: `git checkout ${branch}`,
198
- cause: error instanceof Error ? error : undefined,
199
- });
200
- }
201
- }
202
- }
203
- /**
204
- * Create a branch service instance
205
- */
206
- export function createBranchService() {
207
- return new BranchService();
208
- }
209
- // Default instance
210
- let defaultBranchService = null;
211
- export function getBranchService() {
212
- if (!defaultBranchService) {
213
- defaultBranchService = new BranchService();
214
- }
215
- return defaultBranchService;
216
- }
217
- //# sourceMappingURL=branch-service.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"branch-service.js","sourceRoot":"","sources":["../../../src/services/git/branch-service.ts"],"names":[],"mappings":"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"}
@@ -1,44 +0,0 @@
1
- /**
2
- * Git Service
3
- *
4
- * Core git operations wrapper.
5
- */
6
- /**
7
- * Git service for basic git operations
8
- */
9
- export declare class GitService {
10
- /**
11
- * Check if a path is inside a git repository
12
- */
13
- isGitRepository(path: string): boolean;
14
- /**
15
- * Get the root directory of the git repository
16
- */
17
- getRepositoryRoot(path: string): string;
18
- /**
19
- * Get the repository name (basename of root)
20
- */
21
- getRepositoryName(path: string): string;
22
- /**
23
- * Get the current branch name
24
- */
25
- getCurrentBranch(path: string): string;
26
- /**
27
- * Get the current commit hash
28
- */
29
- getCurrentCommit(path: string): string;
30
- /**
31
- * Check if there are uncommitted changes
32
- */
33
- hasUncommittedChanges(path: string): boolean;
34
- /**
35
- * Run a git command and return output
36
- */
37
- run(args: string[], cwd: string): string;
38
- }
39
- /**
40
- * Create a git service instance
41
- */
42
- export declare function createGitService(): GitService;
43
- export declare function getGitService(): GitService;
44
- //# sourceMappingURL=git-service.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"git-service.d.ts","sourceRoot":"","sources":["../../../src/services/git/git-service.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAOH;;GAEG;AACH,qBAAa,UAAU;IACrB;;OAEG;IACH,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAatC;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAgBvC;;OAEG;IACH,iBAAiB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAKvC;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAgBtC;;OAEG;IACH,gBAAgB,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAgBtC;;OAEG;IACH,qBAAqB,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO;IAa5C;;OAEG;IACH,GAAG,CAAC,IAAI,EAAE,MAAM,EAAE,EAAE,GAAG,EAAE,MAAM,GAAG,MAAM;CAiBzC;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,UAAU,CAE7C;AAKD,wBAAgB,aAAa,IAAI,UAAU,CAK1C"}