claude-code-plus-plus 0.1.1 → 0.2.1

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 +9 -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 +23 -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 +22 -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 +117 -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 +159 -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 +32 -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 +32 -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 +116 -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 +95 -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 +36 -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 +10 -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 +163 -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 +73 -145
  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 +260 -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 +161 -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 +184 -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 +53 -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 +162 -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 +195 -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 +1237 -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 +28 -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 +160 -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 +415 -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 +244 -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 +126 -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 +14 -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 +74 -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 +42 -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 +231 -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 +10 -3
  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 +147 -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 +241 -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 +88 -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 +78 -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 +219 -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 +175 -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 +211 -0
  492. package/dist/utils/validation.js.map +1 -0
  493. package/package.json +4 -4
@@ -0,0 +1,136 @@
1
+ /**
2
+ * Custom Error Classes
3
+ *
4
+ * Domain-specific errors for better error handling and debugging.
5
+ */
6
+ /**
7
+ * Base error class for the application
8
+ */
9
+ export declare class AppError extends Error {
10
+ readonly code: string;
11
+ readonly context?: Record<string, unknown>;
12
+ readonly cause?: Error;
13
+ constructor(message: string, code: string, options?: {
14
+ context?: Record<string, unknown>;
15
+ cause?: Error;
16
+ });
17
+ toJSON(): Record<string, unknown>;
18
+ }
19
+ /**
20
+ * Error for configuration-related issues
21
+ */
22
+ export declare class ConfigError extends AppError {
23
+ constructor(message: string, context?: Record<string, unknown>);
24
+ }
25
+ /**
26
+ * Error for multiplexer operations (tmux, etc.)
27
+ */
28
+ export declare class MultiplexerError extends AppError {
29
+ readonly command?: string;
30
+ readonly exitCode?: number;
31
+ readonly stderr?: string;
32
+ constructor(message: string, options?: {
33
+ command?: string;
34
+ exitCode?: number;
35
+ stderr?: string;
36
+ cause?: Error;
37
+ });
38
+ }
39
+ /**
40
+ * Error for Git operations
41
+ */
42
+ export declare class GitError extends AppError {
43
+ readonly command?: string;
44
+ readonly exitCode?: number;
45
+ constructor(message: string, options?: {
46
+ command?: string;
47
+ exitCode?: number;
48
+ cause?: Error;
49
+ });
50
+ }
51
+ /**
52
+ * Error for worktree operations
53
+ */
54
+ export declare class WorktreeError extends AppError {
55
+ readonly worktreePath?: string;
56
+ readonly branch?: string;
57
+ constructor(message: string, options?: {
58
+ worktreePath?: string;
59
+ branch?: string;
60
+ cause?: Error;
61
+ });
62
+ }
63
+ /**
64
+ * Error for session operations
65
+ */
66
+ export declare class SessionError extends AppError {
67
+ readonly sessionId?: string;
68
+ constructor(message: string, options?: {
69
+ sessionId?: string;
70
+ cause?: Error;
71
+ });
72
+ }
73
+ /**
74
+ * Error for terminal operations
75
+ */
76
+ export declare class TerminalError extends AppError {
77
+ readonly terminalId?: string;
78
+ readonly paneId?: string;
79
+ constructor(message: string, options?: {
80
+ terminalId?: string;
81
+ paneId?: string;
82
+ cause?: Error;
83
+ });
84
+ }
85
+ /**
86
+ * Error for state/persistence operations
87
+ */
88
+ export declare class StateError extends AppError {
89
+ readonly statePath?: string;
90
+ constructor(message: string, options?: {
91
+ statePath?: string;
92
+ cause?: Error;
93
+ });
94
+ }
95
+ /**
96
+ * Error for UI operations
97
+ */
98
+ export declare class UIError extends AppError {
99
+ readonly component?: string;
100
+ constructor(message: string, options?: {
101
+ component?: string;
102
+ cause?: Error;
103
+ });
104
+ }
105
+ /**
106
+ * Error for validation failures
107
+ */
108
+ export declare class ValidationError extends AppError {
109
+ readonly field?: string;
110
+ readonly value?: unknown;
111
+ constructor(message: string, options?: {
112
+ field?: string;
113
+ value?: unknown;
114
+ });
115
+ }
116
+ /**
117
+ * Error for when a required resource is not found
118
+ */
119
+ export declare class NotFoundError extends AppError {
120
+ readonly resourceType: string;
121
+ readonly resourceId?: string;
122
+ constructor(resourceType: string, resourceId?: string, message?: string);
123
+ }
124
+ /**
125
+ * Check if an error is an AppError
126
+ */
127
+ export declare function isAppError(error: unknown): error is AppError;
128
+ /**
129
+ * Wrap an unknown error in an AppError
130
+ */
131
+ export declare function wrapError(error: unknown, message?: string, code?: string): AppError;
132
+ /**
133
+ * Extract error message from any error type
134
+ */
135
+ export declare function getErrorMessage(error: unknown): string;
136
+ //# sourceMappingURL=errors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,241 @@
1
+ "use strict";
2
+ /**
3
+ * Custom Error Classes
4
+ *
5
+ * Domain-specific errors for better error handling and debugging.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.NotFoundError = exports.ValidationError = exports.UIError = exports.StateError = exports.TerminalError = exports.SessionError = exports.WorktreeError = exports.GitError = exports.MultiplexerError = exports.ConfigError = exports.AppError = void 0;
9
+ exports.isAppError = isAppError;
10
+ exports.wrapError = wrapError;
11
+ exports.getErrorMessage = getErrorMessage;
12
+ /**
13
+ * Base error class for the application
14
+ */
15
+ class AppError extends Error {
16
+ code;
17
+ context;
18
+ cause;
19
+ constructor(message, code, options) {
20
+ super(message);
21
+ this.name = 'AppError';
22
+ this.code = code;
23
+ this.context = options?.context;
24
+ this.cause = options?.cause;
25
+ // Maintains proper stack trace for where error was thrown
26
+ Error.captureStackTrace?.(this, this.constructor);
27
+ }
28
+ toJSON() {
29
+ return {
30
+ name: this.name,
31
+ message: this.message,
32
+ code: this.code,
33
+ context: this.context,
34
+ stack: this.stack,
35
+ cause: this.cause?.message,
36
+ };
37
+ }
38
+ }
39
+ exports.AppError = AppError;
40
+ /**
41
+ * Error for configuration-related issues
42
+ */
43
+ class ConfigError extends AppError {
44
+ constructor(message, context) {
45
+ super(message, 'CONFIG_ERROR', { context });
46
+ this.name = 'ConfigError';
47
+ }
48
+ }
49
+ exports.ConfigError = ConfigError;
50
+ /**
51
+ * Error for multiplexer operations (tmux, etc.)
52
+ */
53
+ class MultiplexerError extends AppError {
54
+ command;
55
+ exitCode;
56
+ stderr;
57
+ constructor(message, options) {
58
+ super(message, 'MULTIPLEXER_ERROR', {
59
+ context: {
60
+ command: options?.command,
61
+ exitCode: options?.exitCode,
62
+ stderr: options?.stderr,
63
+ },
64
+ cause: options?.cause,
65
+ });
66
+ this.name = 'MultiplexerError';
67
+ this.command = options?.command;
68
+ this.exitCode = options?.exitCode;
69
+ this.stderr = options?.stderr;
70
+ }
71
+ }
72
+ exports.MultiplexerError = MultiplexerError;
73
+ /**
74
+ * Error for Git operations
75
+ */
76
+ class GitError extends AppError {
77
+ command;
78
+ exitCode;
79
+ constructor(message, options) {
80
+ super(message, 'GIT_ERROR', {
81
+ context: {
82
+ command: options?.command,
83
+ exitCode: options?.exitCode,
84
+ },
85
+ cause: options?.cause,
86
+ });
87
+ this.name = 'GitError';
88
+ this.command = options?.command;
89
+ this.exitCode = options?.exitCode;
90
+ }
91
+ }
92
+ exports.GitError = GitError;
93
+ /**
94
+ * Error for worktree operations
95
+ */
96
+ class WorktreeError extends AppError {
97
+ worktreePath;
98
+ branch;
99
+ constructor(message, options) {
100
+ super(message, 'WORKTREE_ERROR', {
101
+ context: {
102
+ worktreePath: options?.worktreePath,
103
+ branch: options?.branch,
104
+ },
105
+ cause: options?.cause,
106
+ });
107
+ this.name = 'WorktreeError';
108
+ this.worktreePath = options?.worktreePath;
109
+ this.branch = options?.branch;
110
+ }
111
+ }
112
+ exports.WorktreeError = WorktreeError;
113
+ /**
114
+ * Error for session operations
115
+ */
116
+ class SessionError extends AppError {
117
+ sessionId;
118
+ constructor(message, options) {
119
+ super(message, 'SESSION_ERROR', {
120
+ context: { sessionId: options?.sessionId },
121
+ cause: options?.cause,
122
+ });
123
+ this.name = 'SessionError';
124
+ this.sessionId = options?.sessionId;
125
+ }
126
+ }
127
+ exports.SessionError = SessionError;
128
+ /**
129
+ * Error for terminal operations
130
+ */
131
+ class TerminalError extends AppError {
132
+ terminalId;
133
+ paneId;
134
+ constructor(message, options) {
135
+ super(message, 'TERMINAL_ERROR', {
136
+ context: {
137
+ terminalId: options?.terminalId,
138
+ paneId: options?.paneId,
139
+ },
140
+ cause: options?.cause,
141
+ });
142
+ this.name = 'TerminalError';
143
+ this.terminalId = options?.terminalId;
144
+ this.paneId = options?.paneId;
145
+ }
146
+ }
147
+ exports.TerminalError = TerminalError;
148
+ /**
149
+ * Error for state/persistence operations
150
+ */
151
+ class StateError extends AppError {
152
+ statePath;
153
+ constructor(message, options) {
154
+ super(message, 'STATE_ERROR', {
155
+ context: { statePath: options?.statePath },
156
+ cause: options?.cause,
157
+ });
158
+ this.name = 'StateError';
159
+ this.statePath = options?.statePath;
160
+ }
161
+ }
162
+ exports.StateError = StateError;
163
+ /**
164
+ * Error for UI operations
165
+ */
166
+ class UIError extends AppError {
167
+ component;
168
+ constructor(message, options) {
169
+ super(message, 'UI_ERROR', {
170
+ context: { component: options?.component },
171
+ cause: options?.cause,
172
+ });
173
+ this.name = 'UIError';
174
+ this.component = options?.component;
175
+ }
176
+ }
177
+ exports.UIError = UIError;
178
+ /**
179
+ * Error for validation failures
180
+ */
181
+ class ValidationError extends AppError {
182
+ field;
183
+ value;
184
+ constructor(message, options) {
185
+ super(message, 'VALIDATION_ERROR', {
186
+ context: {
187
+ field: options?.field,
188
+ value: options?.value,
189
+ },
190
+ });
191
+ this.name = 'ValidationError';
192
+ this.field = options?.field;
193
+ this.value = options?.value;
194
+ }
195
+ }
196
+ exports.ValidationError = ValidationError;
197
+ /**
198
+ * Error for when a required resource is not found
199
+ */
200
+ class NotFoundError extends AppError {
201
+ resourceType;
202
+ resourceId;
203
+ constructor(resourceType, resourceId, message) {
204
+ super(message || `${resourceType} not found${resourceId ? `: ${resourceId}` : ''}`, 'NOT_FOUND_ERROR', {
205
+ context: { resourceType, resourceId },
206
+ });
207
+ this.name = 'NotFoundError';
208
+ this.resourceType = resourceType;
209
+ this.resourceId = resourceId;
210
+ }
211
+ }
212
+ exports.NotFoundError = NotFoundError;
213
+ /**
214
+ * Check if an error is an AppError
215
+ */
216
+ function isAppError(error) {
217
+ return error instanceof AppError;
218
+ }
219
+ /**
220
+ * Wrap an unknown error in an AppError
221
+ */
222
+ function wrapError(error, message, code = 'UNKNOWN_ERROR') {
223
+ if (error instanceof AppError) {
224
+ return error;
225
+ }
226
+ const cause = error instanceof Error ? error : new Error(String(error));
227
+ return new AppError(message || cause.message, code, { cause });
228
+ }
229
+ /**
230
+ * Extract error message from any error type
231
+ */
232
+ function getErrorMessage(error) {
233
+ if (error instanceof Error) {
234
+ return error.message;
235
+ }
236
+ if (typeof error === 'string') {
237
+ return error;
238
+ }
239
+ return String(error);
240
+ }
241
+ //# sourceMappingURL=errors.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"errors.js","sourceRoot":"","sources":["../../src/utils/errors.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,51 @@
1
+ /**
2
+ * ID Generation Utilities
3
+ *
4
+ * Functions for generating unique identifiers.
5
+ */
6
+ /**
7
+ * Generate a random ID using crypto random bytes
8
+ * @param length - Length of the ID (default: 8)
9
+ * @returns Random alphanumeric string
10
+ */
11
+ export declare function generateId(length?: number): string;
12
+ /**
13
+ * Generate a short random ID suitable for display
14
+ * @returns 6-character alphanumeric string
15
+ */
16
+ export declare function generateShortId(): string;
17
+ /**
18
+ * Generate a session-safe ID (alphanumeric, starts with letter)
19
+ * Useful for tmux session names which have restrictions
20
+ * @returns Session-safe ID string
21
+ */
22
+ export declare function generateSessionId(): string;
23
+ /**
24
+ * Create a deterministic hash from a string
25
+ * @param input - String to hash
26
+ * @param length - Length of output hash (default: 8)
27
+ * @returns Hex hash string
28
+ */
29
+ export declare function hashString(input: string, length?: number): string;
30
+ /**
31
+ * Create a unique project identifier from a path
32
+ * Format: basename-hash
33
+ * @param projectPath - Full path to the project
34
+ * @returns Unique project identifier
35
+ */
36
+ export declare function createProjectId(projectPath: string): string;
37
+ /**
38
+ * Sanitize a string to be safe for use in IDs
39
+ * Replaces non-alphanumeric characters with dashes
40
+ * @param input - String to sanitize
41
+ * @returns Sanitized string
42
+ */
43
+ export declare function sanitizeForId(input: string): string;
44
+ /**
45
+ * Create a tmux-safe session name
46
+ * @param projectName - Name of the project
47
+ * @param projectPath - Full path to the project
48
+ * @returns Tmux-safe session name
49
+ */
50
+ export declare function createTmuxSessionName(projectName: string, projectPath: string): string;
51
+ //# sourceMappingURL=id.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id.d.ts","sourceRoot":"","sources":["../../src/utils/id.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH;;;;GAIG;AACH,wBAAgB,UAAU,CAAC,MAAM,GAAE,MAAU,GAAG,MAAM,CAGrD;AAED;;;GAGG;AACH,wBAAgB,eAAe,IAAI,MAAM,CAExC;AAED;;;;GAIG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAI1C;AAED;;;;;GAKG;AACH,wBAAgB,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,GAAE,MAAU,GAAG,MAAM,CAGpE;AAED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,WAAW,EAAE,MAAM,GAAG,MAAM,CAI3D;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAOnD;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CACnC,WAAW,EAAE,MAAM,EACnB,WAAW,EAAE,MAAM,GAClB,MAAM,CAIR"}
@@ -0,0 +1,88 @@
1
+ "use strict";
2
+ /**
3
+ * ID Generation Utilities
4
+ *
5
+ * Functions for generating unique identifiers.
6
+ */
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ exports.generateId = generateId;
9
+ exports.generateShortId = generateShortId;
10
+ exports.generateSessionId = generateSessionId;
11
+ exports.hashString = hashString;
12
+ exports.createProjectId = createProjectId;
13
+ exports.sanitizeForId = sanitizeForId;
14
+ exports.createTmuxSessionName = createTmuxSessionName;
15
+ const crypto_1 = require("crypto");
16
+ /**
17
+ * Generate a random ID using crypto random bytes
18
+ * @param length - Length of the ID (default: 8)
19
+ * @returns Random alphanumeric string
20
+ */
21
+ function generateId(length = 8) {
22
+ const bytes = (0, crypto_1.randomBytes)(Math.ceil(length / 2));
23
+ return bytes.toString('hex').slice(0, length);
24
+ }
25
+ /**
26
+ * Generate a short random ID suitable for display
27
+ * @returns 6-character alphanumeric string
28
+ */
29
+ function generateShortId() {
30
+ return generateId(6);
31
+ }
32
+ /**
33
+ * Generate a session-safe ID (alphanumeric, starts with letter)
34
+ * Useful for tmux session names which have restrictions
35
+ * @returns Session-safe ID string
36
+ */
37
+ function generateSessionId() {
38
+ const chars = 'abcdefghijklmnopqrstuvwxyz';
39
+ const firstChar = chars[Math.floor(Math.random() * chars.length)];
40
+ return firstChar + generateId(7);
41
+ }
42
+ /**
43
+ * Create a deterministic hash from a string
44
+ * @param input - String to hash
45
+ * @param length - Length of output hash (default: 8)
46
+ * @returns Hex hash string
47
+ */
48
+ function hashString(input, length = 8) {
49
+ const hash = (0, crypto_1.createHash)('md5').update(input).digest('hex');
50
+ return hash.slice(0, length);
51
+ }
52
+ /**
53
+ * Create a unique project identifier from a path
54
+ * Format: basename-hash
55
+ * @param projectPath - Full path to the project
56
+ * @returns Unique project identifier
57
+ */
58
+ function createProjectId(projectPath) {
59
+ const basename = projectPath.split('/').pop() || 'project';
60
+ const hash = hashString(projectPath, 6);
61
+ return `${sanitizeForId(basename)}-${hash}`;
62
+ }
63
+ /**
64
+ * Sanitize a string to be safe for use in IDs
65
+ * Replaces non-alphanumeric characters with dashes
66
+ * @param input - String to sanitize
67
+ * @returns Sanitized string
68
+ */
69
+ function sanitizeForId(input) {
70
+ return input
71
+ .toLowerCase()
72
+ .replace(/[^a-z0-9]/g, '-')
73
+ .replace(/-+/g, '-')
74
+ .replace(/^-|-$/g, '')
75
+ .slice(0, 32);
76
+ }
77
+ /**
78
+ * Create a tmux-safe session name
79
+ * @param projectName - Name of the project
80
+ * @param projectPath - Full path to the project
81
+ * @returns Tmux-safe session name
82
+ */
83
+ function createTmuxSessionName(projectName, projectPath) {
84
+ const sanitized = sanitizeForId(projectName);
85
+ const hash = hashString(projectPath, 6);
86
+ return `cpp-${sanitized}-${hash}`;
87
+ }
88
+ //# sourceMappingURL=id.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"id.js","sourceRoot":"","sources":["../../src/utils/id.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;AASH,gCAGC;AAMD,0CAEC;AAOD,8CAIC;AAQD,gCAGC;AAQD,0CAIC;AAQD,sCAOC;AAQD,sDAOC;AAlFD,mCAAiD;AAEjD;;;;GAIG;AACH,SAAgB,UAAU,CAAC,SAAiB,CAAC;IAC3C,MAAM,KAAK,GAAG,IAAA,oBAAW,EAAC,IAAI,CAAC,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IACjD,OAAO,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAChD,CAAC;AAED;;;GAGG;AACH,SAAgB,eAAe;IAC7B,OAAO,UAAU,CAAC,CAAC,CAAC,CAAC;AACvB,CAAC;AAED;;;;GAIG;AACH,SAAgB,iBAAiB;IAC/B,MAAM,KAAK,GAAG,4BAA4B,CAAC;IAC3C,MAAM,SAAS,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC;IAClE,OAAO,SAAS,GAAG,UAAU,CAAC,CAAC,CAAC,CAAC;AACnC,CAAC;AAED;;;;;GAKG;AACH,SAAgB,UAAU,CAAC,KAAa,EAAE,SAAiB,CAAC;IAC1D,MAAM,IAAI,GAAG,IAAA,mBAAU,EAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;IAC3D,OAAO,IAAI,CAAC,KAAK,CAAC,CAAC,EAAE,MAAM,CAAC,CAAC;AAC/B,CAAC;AAED;;;;;GAKG;AACH,SAAgB,eAAe,CAAC,WAAmB;IACjD,MAAM,QAAQ,GAAG,WAAW,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,IAAI,SAAS,CAAC;IAC3D,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACxC,OAAO,GAAG,aAAa,CAAC,QAAQ,CAAC,IAAI,IAAI,EAAE,CAAC;AAC9C,CAAC;AAED;;;;;GAKG;AACH,SAAgB,aAAa,CAAC,KAAa;IACzC,OAAO,KAAK;SACT,WAAW,EAAE;SACb,OAAO,CAAC,YAAY,EAAE,GAAG,CAAC;SAC1B,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;AAClB,CAAC;AAED;;;;;GAKG;AACH,SAAgB,qBAAqB,CACnC,WAAmB,EACnB,WAAmB;IAEnB,MAAM,SAAS,GAAG,aAAa,CAAC,WAAW,CAAC,CAAC;IAC7C,MAAM,IAAI,GAAG,UAAU,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;IACxC,OAAO,OAAO,SAAS,IAAI,IAAI,EAAE,CAAC;AACpC,CAAC"}
@@ -0,0 +1,15 @@
1
+ /**
2
+ * Utils Module
3
+ *
4
+ * Shared utility functions used across the application.
5
+ * This module depends only on the types module.
6
+ */
7
+ export { generateId, generateShortId, generateSessionId, hashString, createProjectId, sanitizeForId, createTmuxSessionName, } from './id';
8
+ export { truncate, pad, wrap, slugify, stripAnsi, visibleWidth, indent, dedent, capitalize, titleCase, } from './string';
9
+ export { delay, debounce, throttle, retry, withTimeout, mapWithConcurrency, createDeferred, } from './async';
10
+ export type { Unsubscribe } from './async';
11
+ export { AppError, ConfigError, MultiplexerError, GitError, WorktreeError, SessionError, TerminalError, StateError, UIError, ValidationError, NotFoundError, isAppError, wrapError, getErrorMessage, } from './errors';
12
+ export { Logger, getLogger, setDefaultLogger, initializeLogger, } from './logger';
13
+ export type { LogLevel, LoggerOptions } from './logger';
14
+ export { isValidBranchName, isValidSessionName, isValidTmuxSessionName, isValidPath, isValidTerminalTitle, sanitizeBranchName, sanitizeSessionName, isDefined, isNonEmptyString, isPositiveInteger, isNonNegativeInteger, assert, assertDefined, } from './validation';
15
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAGH,OAAO,EACL,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,UAAU,EACV,eAAe,EACf,aAAa,EACb,qBAAqB,GACtB,MAAM,MAAM,CAAC;AAGd,OAAO,EACL,QAAQ,EACR,GAAG,EACH,IAAI,EACJ,OAAO,EACP,SAAS,EACT,YAAY,EACZ,MAAM,EACN,MAAM,EACN,UAAU,EACV,SAAS,GACV,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,KAAK,EACL,QAAQ,EACR,QAAQ,EACR,KAAK,EACL,WAAW,EACX,kBAAkB,EAClB,cAAc,GACf,MAAM,SAAS,CAAC;AACjB,YAAY,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAG3C,OAAO,EACL,QAAQ,EACR,WAAW,EACX,gBAAgB,EAChB,QAAQ,EACR,aAAa,EACb,YAAY,EACZ,aAAa,EACb,UAAU,EACV,OAAO,EACP,eAAe,EACf,aAAa,EACb,UAAU,EACV,SAAS,EACT,eAAe,GAChB,MAAM,UAAU,CAAC;AAGlB,OAAO,EACL,MAAM,EACN,SAAS,EACT,gBAAgB,EAChB,gBAAgB,GACjB,MAAM,UAAU,CAAC;AAClB,YAAY,EAAE,QAAQ,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGxD,OAAO,EACL,iBAAiB,EACjB,kBAAkB,EAClB,sBAAsB,EACtB,WAAW,EACX,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,SAAS,EACT,gBAAgB,EAChB,iBAAiB,EACjB,oBAAoB,EACpB,MAAM,EACN,aAAa,GACd,MAAM,cAAc,CAAC"}
@@ -0,0 +1,78 @@
1
+ "use strict";
2
+ /**
3
+ * Utils Module
4
+ *
5
+ * Shared utility functions used across the application.
6
+ * This module depends only on the types module.
7
+ */
8
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.isDefined = exports.sanitizeSessionName = exports.sanitizeBranchName = exports.isValidTerminalTitle = exports.isValidPath = exports.isValidTmuxSessionName = exports.isValidSessionName = exports.isValidBranchName = exports.initializeLogger = exports.setDefaultLogger = exports.getLogger = exports.Logger = exports.getErrorMessage = exports.wrapError = exports.isAppError = exports.NotFoundError = exports.ValidationError = exports.UIError = exports.StateError = exports.TerminalError = exports.SessionError = exports.WorktreeError = exports.GitError = exports.MultiplexerError = exports.ConfigError = exports.AppError = exports.createDeferred = exports.mapWithConcurrency = exports.withTimeout = exports.retry = exports.throttle = exports.debounce = exports.delay = exports.titleCase = exports.capitalize = exports.dedent = exports.indent = exports.visibleWidth = exports.stripAnsi = exports.slugify = exports.wrap = exports.pad = exports.truncate = exports.createTmuxSessionName = exports.sanitizeForId = exports.createProjectId = exports.hashString = exports.generateSessionId = exports.generateShortId = exports.generateId = void 0;
10
+ exports.assertDefined = exports.assert = exports.isNonNegativeInteger = exports.isPositiveInteger = exports.isNonEmptyString = void 0;
11
+ // ID generation
12
+ var id_1 = require("./id");
13
+ Object.defineProperty(exports, "generateId", { enumerable: true, get: function () { return id_1.generateId; } });
14
+ Object.defineProperty(exports, "generateShortId", { enumerable: true, get: function () { return id_1.generateShortId; } });
15
+ Object.defineProperty(exports, "generateSessionId", { enumerable: true, get: function () { return id_1.generateSessionId; } });
16
+ Object.defineProperty(exports, "hashString", { enumerable: true, get: function () { return id_1.hashString; } });
17
+ Object.defineProperty(exports, "createProjectId", { enumerable: true, get: function () { return id_1.createProjectId; } });
18
+ Object.defineProperty(exports, "sanitizeForId", { enumerable: true, get: function () { return id_1.sanitizeForId; } });
19
+ Object.defineProperty(exports, "createTmuxSessionName", { enumerable: true, get: function () { return id_1.createTmuxSessionName; } });
20
+ // String manipulation
21
+ var string_1 = require("./string");
22
+ Object.defineProperty(exports, "truncate", { enumerable: true, get: function () { return string_1.truncate; } });
23
+ Object.defineProperty(exports, "pad", { enumerable: true, get: function () { return string_1.pad; } });
24
+ Object.defineProperty(exports, "wrap", { enumerable: true, get: function () { return string_1.wrap; } });
25
+ Object.defineProperty(exports, "slugify", { enumerable: true, get: function () { return string_1.slugify; } });
26
+ Object.defineProperty(exports, "stripAnsi", { enumerable: true, get: function () { return string_1.stripAnsi; } });
27
+ Object.defineProperty(exports, "visibleWidth", { enumerable: true, get: function () { return string_1.visibleWidth; } });
28
+ Object.defineProperty(exports, "indent", { enumerable: true, get: function () { return string_1.indent; } });
29
+ Object.defineProperty(exports, "dedent", { enumerable: true, get: function () { return string_1.dedent; } });
30
+ Object.defineProperty(exports, "capitalize", { enumerable: true, get: function () { return string_1.capitalize; } });
31
+ Object.defineProperty(exports, "titleCase", { enumerable: true, get: function () { return string_1.titleCase; } });
32
+ // Async utilities
33
+ var async_1 = require("./async");
34
+ Object.defineProperty(exports, "delay", { enumerable: true, get: function () { return async_1.delay; } });
35
+ Object.defineProperty(exports, "debounce", { enumerable: true, get: function () { return async_1.debounce; } });
36
+ Object.defineProperty(exports, "throttle", { enumerable: true, get: function () { return async_1.throttle; } });
37
+ Object.defineProperty(exports, "retry", { enumerable: true, get: function () { return async_1.retry; } });
38
+ Object.defineProperty(exports, "withTimeout", { enumerable: true, get: function () { return async_1.withTimeout; } });
39
+ Object.defineProperty(exports, "mapWithConcurrency", { enumerable: true, get: function () { return async_1.mapWithConcurrency; } });
40
+ Object.defineProperty(exports, "createDeferred", { enumerable: true, get: function () { return async_1.createDeferred; } });
41
+ // Error handling
42
+ var errors_1 = require("./errors");
43
+ Object.defineProperty(exports, "AppError", { enumerable: true, get: function () { return errors_1.AppError; } });
44
+ Object.defineProperty(exports, "ConfigError", { enumerable: true, get: function () { return errors_1.ConfigError; } });
45
+ Object.defineProperty(exports, "MultiplexerError", { enumerable: true, get: function () { return errors_1.MultiplexerError; } });
46
+ Object.defineProperty(exports, "GitError", { enumerable: true, get: function () { return errors_1.GitError; } });
47
+ Object.defineProperty(exports, "WorktreeError", { enumerable: true, get: function () { return errors_1.WorktreeError; } });
48
+ Object.defineProperty(exports, "SessionError", { enumerable: true, get: function () { return errors_1.SessionError; } });
49
+ Object.defineProperty(exports, "TerminalError", { enumerable: true, get: function () { return errors_1.TerminalError; } });
50
+ Object.defineProperty(exports, "StateError", { enumerable: true, get: function () { return errors_1.StateError; } });
51
+ Object.defineProperty(exports, "UIError", { enumerable: true, get: function () { return errors_1.UIError; } });
52
+ Object.defineProperty(exports, "ValidationError", { enumerable: true, get: function () { return errors_1.ValidationError; } });
53
+ Object.defineProperty(exports, "NotFoundError", { enumerable: true, get: function () { return errors_1.NotFoundError; } });
54
+ Object.defineProperty(exports, "isAppError", { enumerable: true, get: function () { return errors_1.isAppError; } });
55
+ Object.defineProperty(exports, "wrapError", { enumerable: true, get: function () { return errors_1.wrapError; } });
56
+ Object.defineProperty(exports, "getErrorMessage", { enumerable: true, get: function () { return errors_1.getErrorMessage; } });
57
+ // Logging
58
+ var logger_1 = require("./logger");
59
+ Object.defineProperty(exports, "Logger", { enumerable: true, get: function () { return logger_1.Logger; } });
60
+ Object.defineProperty(exports, "getLogger", { enumerable: true, get: function () { return logger_1.getLogger; } });
61
+ Object.defineProperty(exports, "setDefaultLogger", { enumerable: true, get: function () { return logger_1.setDefaultLogger; } });
62
+ Object.defineProperty(exports, "initializeLogger", { enumerable: true, get: function () { return logger_1.initializeLogger; } });
63
+ // Validation
64
+ var validation_1 = require("./validation");
65
+ Object.defineProperty(exports, "isValidBranchName", { enumerable: true, get: function () { return validation_1.isValidBranchName; } });
66
+ Object.defineProperty(exports, "isValidSessionName", { enumerable: true, get: function () { return validation_1.isValidSessionName; } });
67
+ Object.defineProperty(exports, "isValidTmuxSessionName", { enumerable: true, get: function () { return validation_1.isValidTmuxSessionName; } });
68
+ Object.defineProperty(exports, "isValidPath", { enumerable: true, get: function () { return validation_1.isValidPath; } });
69
+ Object.defineProperty(exports, "isValidTerminalTitle", { enumerable: true, get: function () { return validation_1.isValidTerminalTitle; } });
70
+ Object.defineProperty(exports, "sanitizeBranchName", { enumerable: true, get: function () { return validation_1.sanitizeBranchName; } });
71
+ Object.defineProperty(exports, "sanitizeSessionName", { enumerable: true, get: function () { return validation_1.sanitizeSessionName; } });
72
+ Object.defineProperty(exports, "isDefined", { enumerable: true, get: function () { return validation_1.isDefined; } });
73
+ Object.defineProperty(exports, "isNonEmptyString", { enumerable: true, get: function () { return validation_1.isNonEmptyString; } });
74
+ Object.defineProperty(exports, "isPositiveInteger", { enumerable: true, get: function () { return validation_1.isPositiveInteger; } });
75
+ Object.defineProperty(exports, "isNonNegativeInteger", { enumerable: true, get: function () { return validation_1.isNonNegativeInteger; } });
76
+ Object.defineProperty(exports, "assert", { enumerable: true, get: function () { return validation_1.assert; } });
77
+ Object.defineProperty(exports, "assertDefined", { enumerable: true, get: function () { return validation_1.assertDefined; } });
78
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":";AAAA;;;;;GAKG;;;;AAEH,gBAAgB;AAChB,2BAQc;AAPZ,gGAAA,UAAU,OAAA;AACV,qGAAA,eAAe,OAAA;AACf,uGAAA,iBAAiB,OAAA;AACjB,gGAAA,UAAU,OAAA;AACV,qGAAA,eAAe,OAAA;AACf,mGAAA,aAAa,OAAA;AACb,2GAAA,qBAAqB,OAAA;AAGvB,sBAAsB;AACtB,mCAWkB;AAVhB,kGAAA,QAAQ,OAAA;AACR,6FAAA,GAAG,OAAA;AACH,8FAAA,IAAI,OAAA;AACJ,iGAAA,OAAO,OAAA;AACP,mGAAA,SAAS,OAAA;AACT,sGAAA,YAAY,OAAA;AACZ,gGAAA,MAAM,OAAA;AACN,gGAAA,MAAM,OAAA;AACN,oGAAA,UAAU,OAAA;AACV,mGAAA,SAAS,OAAA;AAGX,kBAAkB;AAClB,iCAQiB;AAPf,8FAAA,KAAK,OAAA;AACL,iGAAA,QAAQ,OAAA;AACR,iGAAA,QAAQ,OAAA;AACR,8FAAA,KAAK,OAAA;AACL,oGAAA,WAAW,OAAA;AACX,2GAAA,kBAAkB,OAAA;AAClB,uGAAA,cAAc,OAAA;AAIhB,iBAAiB;AACjB,mCAekB;AAdhB,kGAAA,QAAQ,OAAA;AACR,qGAAA,WAAW,OAAA;AACX,0GAAA,gBAAgB,OAAA;AAChB,kGAAA,QAAQ,OAAA;AACR,uGAAA,aAAa,OAAA;AACb,sGAAA,YAAY,OAAA;AACZ,uGAAA,aAAa,OAAA;AACb,oGAAA,UAAU,OAAA;AACV,iGAAA,OAAO,OAAA;AACP,yGAAA,eAAe,OAAA;AACf,uGAAA,aAAa,OAAA;AACb,oGAAA,UAAU,OAAA;AACV,mGAAA,SAAS,OAAA;AACT,yGAAA,eAAe,OAAA;AAGjB,UAAU;AACV,mCAKkB;AAJhB,gGAAA,MAAM,OAAA;AACN,mGAAA,SAAS,OAAA;AACT,0GAAA,gBAAgB,OAAA;AAChB,0GAAA,gBAAgB,OAAA;AAIlB,aAAa;AACb,2CAcsB;AAbpB,+GAAA,iBAAiB,OAAA;AACjB,gHAAA,kBAAkB,OAAA;AAClB,oHAAA,sBAAsB,OAAA;AACtB,yGAAA,WAAW,OAAA;AACX,kHAAA,oBAAoB,OAAA;AACpB,gHAAA,kBAAkB,OAAA;AAClB,iHAAA,mBAAmB,OAAA;AACnB,uGAAA,SAAS,OAAA;AACT,8GAAA,gBAAgB,OAAA;AAChB,+GAAA,iBAAiB,OAAA;AACjB,kHAAA,oBAAoB,OAAA;AACpB,oGAAA,MAAM,OAAA;AACN,2GAAA,aAAa,OAAA"}