claude-code-plus-plus 0.1.0 → 0.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (493) hide show
  1. package/dist/app.d.ts +52 -0
  2. package/dist/app.d.ts.map +1 -0
  3. package/dist/app.js +318 -0
  4. package/dist/app.js.map +1 -0
  5. package/dist/cli/commands/index.d.ts +5 -0
  6. package/dist/cli/commands/index.d.ts.map +1 -0
  7. package/dist/cli/commands/index.js +5 -0
  8. package/dist/cli/commands/index.js.map +1 -0
  9. package/dist/cli/commands/start.d.ts +16 -0
  10. package/dist/cli/commands/start.d.ts.map +1 -0
  11. package/dist/cli/commands/start.js +20 -0
  12. package/dist/cli/commands/start.js.map +1 -0
  13. package/dist/cli/index.d.ts +7 -0
  14. package/dist/cli/index.d.ts.map +1 -0
  15. package/dist/cli/index.js +7 -0
  16. package/dist/cli/index.js.map +1 -0
  17. package/dist/cli/parser.d.ts +31 -0
  18. package/dist/cli/parser.d.ts.map +1 -0
  19. package/dist/cli/parser.js +112 -0
  20. package/dist/cli/parser.js.map +1 -0
  21. package/dist/cli/validators.d.ts +46 -0
  22. package/dist/cli/validators.d.ts.map +1 -0
  23. package/dist/cli/validators.js +149 -0
  24. package/dist/cli/validators.js.map +1 -0
  25. package/dist/config/defaults.d.ts +14 -0
  26. package/dist/config/defaults.d.ts.map +1 -0
  27. package/dist/config/defaults.js +27 -0
  28. package/dist/config/defaults.js.map +1 -0
  29. package/dist/config/index.d.ts +10 -0
  30. package/dist/config/index.d.ts.map +1 -0
  31. package/dist/config/index.js +12 -0
  32. package/dist/config/index.js.map +1 -0
  33. package/dist/config/loader.d.ts +38 -0
  34. package/dist/config/loader.d.ts.map +1 -0
  35. package/dist/config/loader.js +107 -0
  36. package/dist/config/loader.js.map +1 -0
  37. package/dist/config/paths.d.ts +47 -0
  38. package/dist/config/paths.d.ts.map +1 -0
  39. package/dist/config/paths.js +86 -0
  40. package/dist/config/paths.js.map +1 -0
  41. package/dist/config/schema.d.ts +15 -0
  42. package/dist/config/schema.d.ts.map +1 -0
  43. package/dist/config/schema.js +32 -0
  44. package/dist/config/schema.js.map +1 -0
  45. package/dist/core/index.d.ts +13 -1
  46. package/dist/core/index.d.ts.map +1 -1
  47. package/dist/core/index.js +13 -1
  48. package/dist/core/index.js.map +1 -1
  49. package/dist/core/session/index.d.ts +7 -0
  50. package/dist/core/session/index.d.ts.map +1 -0
  51. package/dist/core/session/index.js +6 -0
  52. package/dist/core/session/index.js.map +1 -0
  53. package/dist/core/session/session-manager.d.ts +46 -0
  54. package/dist/core/session/session-manager.d.ts.map +1 -0
  55. package/dist/core/session/session-manager.js +245 -0
  56. package/dist/core/session/session-manager.js.map +1 -0
  57. package/dist/core/session/session.d.ts +44 -0
  58. package/dist/core/session/session.d.ts.map +1 -0
  59. package/dist/core/session/session.js +78 -0
  60. package/dist/core/session/session.js.map +1 -0
  61. package/dist/core/terminal/index.d.ts +7 -0
  62. package/dist/core/terminal/index.d.ts.map +1 -0
  63. package/dist/core/terminal/index.js +6 -0
  64. package/dist/core/terminal/index.js.map +1 -0
  65. package/dist/core/terminal/terminal-manager.d.ts +36 -0
  66. package/dist/core/terminal/terminal-manager.d.ts.map +1 -0
  67. package/dist/core/terminal/terminal-manager.js +182 -0
  68. package/dist/core/terminal/terminal-manager.js.map +1 -0
  69. package/dist/core/terminal/terminal.d.ts +27 -0
  70. package/dist/core/terminal/terminal.d.ts.map +1 -0
  71. package/dist/core/terminal/terminal.js +38 -0
  72. package/dist/core/terminal/terminal.js.map +1 -0
  73. package/dist/core/workspace/index.d.ts +7 -0
  74. package/dist/core/workspace/index.d.ts.map +1 -0
  75. package/dist/core/workspace/index.js +6 -0
  76. package/dist/core/workspace/index.js.map +1 -0
  77. package/dist/core/workspace/workspace-manager.d.ts +59 -0
  78. package/dist/core/workspace/workspace-manager.d.ts.map +1 -0
  79. package/dist/core/workspace/workspace-manager.js +224 -0
  80. package/dist/core/workspace/workspace-manager.js.map +1 -0
  81. package/dist/core/workspace/workspace.d.ts +56 -0
  82. package/dist/core/workspace/workspace.d.ts.map +1 -0
  83. package/dist/core/workspace/workspace.js +96 -0
  84. package/dist/core/workspace/workspace.js.map +1 -0
  85. package/dist/core/worktree/index.d.ts +7 -0
  86. package/dist/core/worktree/index.d.ts.map +1 -0
  87. package/dist/core/worktree/index.js +6 -0
  88. package/dist/core/worktree/index.js.map +1 -0
  89. package/dist/core/worktree/worktree-manager.d.ts +47 -0
  90. package/dist/core/worktree/worktree-manager.d.ts.map +1 -0
  91. package/dist/core/worktree/worktree-manager.js +170 -0
  92. package/dist/core/worktree/worktree-manager.js.map +1 -0
  93. package/dist/core/worktree/worktree.d.ts +35 -0
  94. package/dist/core/worktree/worktree.d.ts.map +1 -0
  95. package/dist/core/worktree/worktree.js +50 -0
  96. package/dist/core/worktree/worktree.js.map +1 -0
  97. package/dist/events/bus.d.ts +76 -0
  98. package/dist/events/bus.d.ts.map +1 -0
  99. package/dist/events/bus.js +223 -0
  100. package/dist/events/bus.js.map +1 -0
  101. package/dist/events/handlers/index.d.ts +28 -0
  102. package/dist/events/handlers/index.d.ts.map +1 -0
  103. package/dist/events/handlers/index.js +44 -0
  104. package/dist/events/handlers/index.js.map +1 -0
  105. package/dist/events/handlers/session-events.d.ts +12 -0
  106. package/dist/events/handlers/session-events.d.ts.map +1 -0
  107. package/dist/events/handlers/session-events.js +38 -0
  108. package/dist/events/handlers/session-events.js.map +1 -0
  109. package/dist/events/handlers/terminal-events.d.ts +12 -0
  110. package/dist/events/handlers/terminal-events.d.ts.map +1 -0
  111. package/dist/events/handlers/terminal-events.js +37 -0
  112. package/dist/events/handlers/terminal-events.js.map +1 -0
  113. package/dist/events/handlers/ui-events.d.ts +11 -0
  114. package/dist/events/handlers/ui-events.d.ts.map +1 -0
  115. package/dist/events/handlers/ui-events.js +202 -0
  116. package/dist/events/handlers/ui-events.js.map +1 -0
  117. package/dist/events/index.d.ts +9 -0
  118. package/dist/events/index.d.ts.map +1 -0
  119. package/dist/events/index.js +10 -0
  120. package/dist/events/index.js.map +1 -0
  121. package/dist/git/index.d.ts +5 -0
  122. package/dist/git/index.d.ts.map +1 -0
  123. package/dist/git/index.js +5 -0
  124. package/dist/git/index.js.map +1 -0
  125. package/dist/git/worktree.d.ts +44 -0
  126. package/dist/git/worktree.d.ts.map +1 -0
  127. package/dist/git/worktree.js +158 -0
  128. package/dist/git/worktree.js.map +1 -0
  129. package/dist/index.d.ts +0 -1
  130. package/dist/index.d.ts.map +1 -1
  131. package/dist/index.js +37 -144
  132. package/dist/index.js.map +1 -1
  133. package/dist/launcher/index.d.ts +24 -0
  134. package/dist/launcher/index.d.ts.map +1 -0
  135. package/dist/launcher/index.js +226 -0
  136. package/dist/launcher/index.js.map +1 -0
  137. package/dist/multiplexer/base.d.ts +73 -0
  138. package/dist/multiplexer/base.d.ts.map +1 -0
  139. package/dist/multiplexer/base.js +68 -0
  140. package/dist/multiplexer/base.js.map +1 -0
  141. package/dist/multiplexer/factory.d.ts +28 -0
  142. package/dist/multiplexer/factory.d.ts.map +1 -0
  143. package/dist/multiplexer/factory.js +72 -0
  144. package/dist/multiplexer/factory.js.map +1 -0
  145. package/dist/multiplexer/index.d.ts +14 -0
  146. package/dist/multiplexer/index.d.ts.map +1 -0
  147. package/dist/multiplexer/index.js +15 -0
  148. package/dist/multiplexer/index.js.map +1 -0
  149. package/dist/multiplexer/tmux/index.d.ts +9 -0
  150. package/dist/multiplexer/tmux/index.d.ts.map +1 -0
  151. package/dist/multiplexer/tmux/index.js +7 -0
  152. package/dist/multiplexer/tmux/index.js.map +1 -0
  153. package/dist/multiplexer/tmux/tmux-commands.d.ts +96 -0
  154. package/dist/multiplexer/tmux/tmux-commands.d.ts.map +1 -0
  155. package/dist/multiplexer/tmux/tmux-commands.js +282 -0
  156. package/dist/multiplexer/tmux/tmux-commands.js.map +1 -0
  157. package/dist/multiplexer/tmux/tmux-config.d.ts +57 -0
  158. package/dist/multiplexer/tmux/tmux-config.d.ts.map +1 -0
  159. package/dist/multiplexer/tmux/tmux-config.js +103 -0
  160. package/dist/multiplexer/tmux/tmux-config.js.map +1 -0
  161. package/dist/multiplexer/tmux/tmux-multiplexer.d.ts +94 -0
  162. package/dist/multiplexer/tmux/tmux-multiplexer.d.ts.map +1 -0
  163. package/dist/multiplexer/tmux/tmux-multiplexer.js +302 -0
  164. package/dist/multiplexer/tmux/tmux-multiplexer.js.map +1 -0
  165. package/dist/multiplexer/windows/index.d.ts +5 -0
  166. package/dist/multiplexer/windows/index.d.ts.map +1 -0
  167. package/dist/multiplexer/windows/index.js +5 -0
  168. package/dist/multiplexer/windows/index.js.map +1 -0
  169. package/dist/multiplexer/windows/windows-multiplexer.d.ts +61 -0
  170. package/dist/multiplexer/windows/windows-multiplexer.d.ts.map +1 -0
  171. package/dist/multiplexer/windows/windows-multiplexer.js +151 -0
  172. package/dist/multiplexer/windows/windows-multiplexer.js.map +1 -0
  173. package/dist/platform/clipboard.d.ts +26 -0
  174. package/dist/platform/clipboard.d.ts.map +1 -0
  175. package/dist/platform/clipboard.js +154 -0
  176. package/dist/platform/clipboard.js.map +1 -0
  177. package/dist/platform/detector.d.ts +78 -0
  178. package/dist/platform/detector.d.ts.map +1 -0
  179. package/dist/platform/detector.js +169 -0
  180. package/dist/platform/detector.js.map +1 -0
  181. package/dist/platform/index.d.ts +14 -0
  182. package/dist/platform/index.d.ts.map +1 -0
  183. package/dist/platform/index.js +15 -0
  184. package/dist/platform/index.js.map +1 -0
  185. package/dist/platform/paths.d.ts +63 -0
  186. package/dist/platform/paths.d.ts.map +1 -0
  187. package/dist/platform/paths.js +149 -0
  188. package/dist/platform/paths.js.map +1 -0
  189. package/dist/platform/shell.d.ts +43 -0
  190. package/dist/platform/shell.d.ts.map +1 -0
  191. package/dist/platform/shell.js +187 -0
  192. package/dist/platform/shell.js.map +1 -0
  193. package/dist/services/claude/claude-detector.d.ts +37 -0
  194. package/dist/services/claude/claude-detector.d.ts.map +1 -0
  195. package/dist/services/claude/claude-detector.js +83 -0
  196. package/dist/services/claude/claude-detector.js.map +1 -0
  197. package/dist/services/claude/claude-service.d.ts +57 -0
  198. package/dist/services/claude/claude-service.d.ts.map +1 -0
  199. package/dist/services/claude/claude-service.js +108 -0
  200. package/dist/services/claude/claude-service.js.map +1 -0
  201. package/dist/services/claude/index.d.ts +7 -0
  202. package/dist/services/claude/index.d.ts.map +1 -0
  203. package/dist/services/claude/index.js +6 -0
  204. package/dist/services/claude/index.js.map +1 -0
  205. package/dist/services/git/branch-service.d.ts +64 -0
  206. package/dist/services/git/branch-service.d.ts.map +1 -0
  207. package/dist/services/git/branch-service.js +217 -0
  208. package/dist/services/git/branch-service.js.map +1 -0
  209. package/dist/services/git/git-service.d.ts +44 -0
  210. package/dist/services/git/git-service.d.ts.map +1 -0
  211. package/dist/services/git/git-service.js +145 -0
  212. package/dist/services/git/git-service.js.map +1 -0
  213. package/dist/services/git/index.d.ts +8 -0
  214. package/dist/services/git/index.d.ts.map +1 -0
  215. package/dist/services/git/index.js +7 -0
  216. package/dist/services/git/index.js.map +1 -0
  217. package/dist/services/git/worktree-service.d.ts +61 -0
  218. package/dist/services/git/worktree-service.d.ts.map +1 -0
  219. package/dist/services/git/worktree-service.js +243 -0
  220. package/dist/services/git/worktree-service.js.map +1 -0
  221. package/dist/services/index.d.ts +12 -0
  222. package/dist/services/index.d.ts.map +1 -0
  223. package/dist/services/index.js +12 -0
  224. package/dist/services/index.js.map +1 -0
  225. package/dist/services/process/index.d.ts +8 -0
  226. package/dist/services/process/index.d.ts.map +1 -0
  227. package/dist/services/process/index.js +6 -0
  228. package/dist/services/process/index.js.map +1 -0
  229. package/dist/services/process/process-monitor.d.ts +98 -0
  230. package/dist/services/process/process-monitor.d.ts.map +1 -0
  231. package/dist/services/process/process-monitor.js +173 -0
  232. package/dist/services/process/process-monitor.js.map +1 -0
  233. package/dist/services/process/process-spawner.d.ts +55 -0
  234. package/dist/services/process/process-spawner.d.ts.map +1 -0
  235. package/dist/services/process/process-spawner.js +93 -0
  236. package/dist/services/process/process-spawner.js.map +1 -0
  237. package/dist/sidebar/app.d.ts +70 -0
  238. package/dist/sidebar/app.d.ts.map +1 -0
  239. package/dist/sidebar/app.js +1203 -0
  240. package/dist/sidebar/app.js.map +1 -0
  241. package/dist/sidebar/index.d.ts +8 -0
  242. package/dist/sidebar/index.d.ts.map +1 -0
  243. package/dist/sidebar/index.js +26 -0
  244. package/dist/sidebar/index.js.map +1 -0
  245. package/dist/sidebar/input.d.ts +33 -0
  246. package/dist/sidebar/input.d.ts.map +1 -0
  247. package/dist/sidebar/input.js +153 -0
  248. package/dist/sidebar/input.js.map +1 -0
  249. package/dist/sidebar/render.d.ts +73 -0
  250. package/dist/sidebar/render.d.ts.map +1 -0
  251. package/dist/sidebar/render.js +403 -0
  252. package/dist/sidebar/render.js.map +1 -0
  253. package/dist/state/actions.d.ts +49 -0
  254. package/dist/state/actions.d.ts.map +1 -0
  255. package/dist/state/actions.js +512 -0
  256. package/dist/state/actions.js.map +1 -0
  257. package/dist/state/index.d.ts +16 -0
  258. package/dist/state/index.d.ts.map +1 -0
  259. package/dist/state/index.js +28 -0
  260. package/dist/state/index.js.map +1 -0
  261. package/dist/state/middleware/index.d.ts +7 -0
  262. package/dist/state/middleware/index.d.ts.map +1 -0
  263. package/dist/state/middleware/index.js +6 -0
  264. package/dist/state/middleware/index.js.map +1 -0
  265. package/dist/state/middleware/logger.d.ts +22 -0
  266. package/dist/state/middleware/logger.d.ts.map +1 -0
  267. package/dist/state/middleware/logger.js +45 -0
  268. package/dist/state/middleware/logger.js.map +1 -0
  269. package/dist/state/middleware/persistence.d.ts +29 -0
  270. package/dist/state/middleware/persistence.d.ts.map +1 -0
  271. package/dist/state/middleware/persistence.js +71 -0
  272. package/dist/state/middleware/persistence.js.map +1 -0
  273. package/dist/state/persistence/file-adapter.d.ts +48 -0
  274. package/dist/state/persistence/file-adapter.d.ts.map +1 -0
  275. package/dist/state/persistence/file-adapter.js +96 -0
  276. package/dist/state/persistence/file-adapter.js.map +1 -0
  277. package/dist/state/persistence/index.d.ts +8 -0
  278. package/dist/state/persistence/index.d.ts.map +1 -0
  279. package/dist/state/persistence/index.js +6 -0
  280. package/dist/state/persistence/index.js.map +1 -0
  281. package/dist/state/persistence/serializer.d.ts +41 -0
  282. package/dist/state/persistence/serializer.d.ts.map +1 -0
  283. package/dist/state/persistence/serializer.js +114 -0
  284. package/dist/state/persistence/serializer.js.map +1 -0
  285. package/dist/state/selectors.d.ts +67 -0
  286. package/dist/state/selectors.d.ts.map +1 -0
  287. package/dist/state/selectors.js +177 -0
  288. package/dist/state/selectors.js.map +1 -0
  289. package/dist/state/store.d.ts +86 -0
  290. package/dist/state/store.d.ts.map +1 -0
  291. package/dist/state/store.js +161 -0
  292. package/dist/state/store.js.map +1 -0
  293. package/dist/state/types.d.ts +269 -0
  294. package/dist/state/types.d.ts.map +1 -0
  295. package/dist/state/types.js +7 -0
  296. package/dist/state/types.js.map +1 -0
  297. package/dist/terminal/bar-handler.d.ts +15 -0
  298. package/dist/terminal/bar-handler.d.ts.map +1 -0
  299. package/dist/terminal/bar-handler.js +242 -0
  300. package/dist/terminal/bar-handler.js.map +1 -0
  301. package/dist/terminal/bar-render.d.ts +33 -0
  302. package/dist/terminal/bar-render.d.ts.map +1 -0
  303. package/dist/terminal/bar-render.js +122 -0
  304. package/dist/terminal/bar-render.js.map +1 -0
  305. package/dist/terminal/index.d.ts +8 -0
  306. package/dist/terminal/index.d.ts.map +1 -0
  307. package/dist/terminal/index.js +9 -0
  308. package/dist/terminal/index.js.map +1 -0
  309. package/dist/tmux/commands.d.ts +26 -0
  310. package/dist/tmux/commands.d.ts.map +1 -0
  311. package/dist/tmux/commands.js +67 -0
  312. package/dist/tmux/commands.js.map +1 -0
  313. package/dist/tmux/index.d.ts +6 -0
  314. package/dist/tmux/index.d.ts.map +1 -0
  315. package/dist/tmux/index.js +16 -0
  316. package/dist/tmux/index.js.map +1 -0
  317. package/dist/tmux/pane.d.ts +111 -0
  318. package/dist/tmux/pane.d.ts.map +1 -0
  319. package/dist/tmux/pane.js +206 -0
  320. package/dist/tmux/pane.js.map +1 -0
  321. package/dist/types/config.d.ts +103 -0
  322. package/dist/types/config.d.ts.map +1 -0
  323. package/dist/types/config.js +7 -0
  324. package/dist/types/config.js.map +1 -0
  325. package/dist/types/entities.d.ts +88 -0
  326. package/dist/types/entities.d.ts.map +1 -0
  327. package/dist/types/entities.js +8 -0
  328. package/dist/types/entities.js.map +1 -0
  329. package/dist/types/events.d.ts +156 -0
  330. package/dist/types/events.d.ts.map +1 -0
  331. package/dist/types/events.js +8 -0
  332. package/dist/types/events.js.map +1 -0
  333. package/dist/types/index.d.ts +11 -0
  334. package/dist/types/index.d.ts.map +1 -0
  335. package/dist/types/index.js +8 -0
  336. package/dist/types/index.js.map +1 -0
  337. package/dist/types/multiplexer.d.ts +238 -0
  338. package/dist/types/multiplexer.d.ts.map +1 -0
  339. package/dist/types/multiplexer.js +8 -0
  340. package/dist/types/multiplexer.js.map +1 -0
  341. package/dist/types.d.ts +67 -3
  342. package/dist/types.d.ts.map +1 -1
  343. package/dist/types.js +6 -2
  344. package/dist/types.js.map +1 -1
  345. package/dist/ui/components/base.d.ts +155 -0
  346. package/dist/ui/components/base.d.ts.map +1 -0
  347. package/dist/ui/components/base.js +269 -0
  348. package/dist/ui/components/base.js.map +1 -0
  349. package/dist/ui/components/index.d.ts +10 -0
  350. package/dist/ui/components/index.d.ts.map +1 -0
  351. package/dist/ui/components/index.js +10 -0
  352. package/dist/ui/components/index.js.map +1 -0
  353. package/dist/ui/components/input-field.d.ts +98 -0
  354. package/dist/ui/components/input-field.d.ts.map +1 -0
  355. package/dist/ui/components/input-field.js +274 -0
  356. package/dist/ui/components/input-field.js.map +1 -0
  357. package/dist/ui/components/list.d.ts +94 -0
  358. package/dist/ui/components/list.d.ts.map +1 -0
  359. package/dist/ui/components/list.js +294 -0
  360. package/dist/ui/components/list.js.map +1 -0
  361. package/dist/ui/components/modal.d.ts +83 -0
  362. package/dist/ui/components/modal.d.ts.map +1 -0
  363. package/dist/ui/components/modal.js +249 -0
  364. package/dist/ui/components/modal.js.map +1 -0
  365. package/dist/ui/components/tabs.d.ts +97 -0
  366. package/dist/ui/components/tabs.d.ts.map +1 -0
  367. package/dist/ui/components/tabs.js +252 -0
  368. package/dist/ui/components/tabs.js.map +1 -0
  369. package/dist/ui/components/text.d.ts +60 -0
  370. package/dist/ui/components/text.d.ts.map +1 -0
  371. package/dist/ui/components/text.js +224 -0
  372. package/dist/ui/components/text.js.map +1 -0
  373. package/dist/ui/index.d.ts +12 -0
  374. package/dist/ui/index.d.ts.map +1 -0
  375. package/dist/ui/index.js +18 -0
  376. package/dist/ui/index.js.map +1 -0
  377. package/dist/ui/input/index.d.ts +8 -0
  378. package/dist/ui/input/index.d.ts.map +1 -0
  379. package/dist/ui/input/index.js +8 -0
  380. package/dist/ui/input/index.js.map +1 -0
  381. package/dist/ui/input/input-manager.d.ts +83 -0
  382. package/dist/ui/input/input-manager.d.ts.map +1 -0
  383. package/dist/ui/input/input-manager.js +200 -0
  384. package/dist/ui/input/input-manager.js.map +1 -0
  385. package/dist/ui/input/keybindings.d.ts +47 -0
  386. package/dist/ui/input/keybindings.d.ts.map +1 -0
  387. package/dist/ui/input/keybindings.js +168 -0
  388. package/dist/ui/input/keybindings.js.map +1 -0
  389. package/dist/ui/input/keyboard.d.ts +24 -0
  390. package/dist/ui/input/keyboard.d.ts.map +1 -0
  391. package/dist/ui/input/keyboard.js +230 -0
  392. package/dist/ui/input/keyboard.js.map +1 -0
  393. package/dist/ui/input/mouse.d.ts +44 -0
  394. package/dist/ui/input/mouse.d.ts.map +1 -0
  395. package/dist/ui/input/mouse.js +161 -0
  396. package/dist/ui/input/mouse.js.map +1 -0
  397. package/dist/ui/layout/box.d.ts +63 -0
  398. package/dist/ui/layout/box.d.ts.map +1 -0
  399. package/dist/ui/layout/box.js +160 -0
  400. package/dist/ui/layout/box.js.map +1 -0
  401. package/dist/ui/layout/constraints.d.ts +77 -0
  402. package/dist/ui/layout/constraints.d.ts.map +1 -0
  403. package/dist/ui/layout/constraints.js +154 -0
  404. package/dist/ui/layout/constraints.js.map +1 -0
  405. package/dist/ui/layout/flex.d.ts +59 -0
  406. package/dist/ui/layout/flex.d.ts.map +1 -0
  407. package/dist/ui/layout/flex.js +163 -0
  408. package/dist/ui/layout/flex.js.map +1 -0
  409. package/dist/ui/layout/index.d.ts +7 -0
  410. package/dist/ui/layout/index.d.ts.map +1 -0
  411. package/dist/ui/layout/index.js +7 -0
  412. package/dist/ui/layout/index.js.map +1 -0
  413. package/dist/ui/modals/delete-modal.d.ts +27 -0
  414. package/dist/ui/modals/delete-modal.d.ts.map +1 -0
  415. package/dist/ui/modals/delete-modal.js +59 -0
  416. package/dist/ui/modals/delete-modal.js.map +1 -0
  417. package/dist/ui/modals/index.d.ts +7 -0
  418. package/dist/ui/modals/index.d.ts.map +1 -0
  419. package/dist/ui/modals/index.js +7 -0
  420. package/dist/ui/modals/index.js.map +1 -0
  421. package/dist/ui/modals/input-modal.d.ts +66 -0
  422. package/dist/ui/modals/input-modal.d.ts.map +1 -0
  423. package/dist/ui/modals/input-modal.js +185 -0
  424. package/dist/ui/modals/input-modal.js.map +1 -0
  425. package/dist/ui/modals/quit-modal.d.ts +30 -0
  426. package/dist/ui/modals/quit-modal.d.ts.map +1 -0
  427. package/dist/ui/modals/quit-modal.js +65 -0
  428. package/dist/ui/modals/quit-modal.js.map +1 -0
  429. package/dist/ui/renderer/ansi.d.ts +206 -0
  430. package/dist/ui/renderer/ansi.d.ts.map +1 -0
  431. package/dist/ui/renderer/ansi.js +318 -0
  432. package/dist/ui/renderer/ansi.js.map +1 -0
  433. package/dist/ui/renderer/canvas.d.ts +126 -0
  434. package/dist/ui/renderer/canvas.d.ts.map +1 -0
  435. package/dist/ui/renderer/canvas.js +346 -0
  436. package/dist/ui/renderer/canvas.js.map +1 -0
  437. package/dist/ui/renderer/colors.d.ts +65 -0
  438. package/dist/ui/renderer/colors.d.ts.map +1 -0
  439. package/dist/ui/renderer/colors.js +260 -0
  440. package/dist/ui/renderer/colors.js.map +1 -0
  441. package/dist/ui/renderer/index.d.ts +8 -0
  442. package/dist/ui/renderer/index.d.ts.map +1 -0
  443. package/dist/ui/renderer/index.js +8 -0
  444. package/dist/ui/renderer/index.js.map +1 -0
  445. package/dist/ui/renderer/symbols.d.ts +176 -0
  446. package/dist/ui/renderer/symbols.d.ts.map +1 -0
  447. package/dist/ui/renderer/symbols.js +246 -0
  448. package/dist/ui/renderer/symbols.js.map +1 -0
  449. package/dist/ui/views/index.d.ts +7 -0
  450. package/dist/ui/views/index.d.ts.map +1 -0
  451. package/dist/ui/views/index.js +7 -0
  452. package/dist/ui/views/index.js.map +1 -0
  453. package/dist/ui/views/sidebar-view.d.ts +89 -0
  454. package/dist/ui/views/sidebar-view.d.ts.map +1 -0
  455. package/dist/ui/views/sidebar-view.js +259 -0
  456. package/dist/ui/views/sidebar-view.js.map +1 -0
  457. package/dist/ui/views/terminal-bar-view.d.ts +67 -0
  458. package/dist/ui/views/terminal-bar-view.d.ts.map +1 -0
  459. package/dist/ui/views/terminal-bar-view.js +172 -0
  460. package/dist/ui/views/terminal-bar-view.js.map +1 -0
  461. package/dist/ui/views/welcome-view.d.ts +34 -0
  462. package/dist/ui/views/welcome-view.d.ts.map +1 -0
  463. package/dist/ui/views/welcome-view.js +116 -0
  464. package/dist/ui/views/welcome-view.js.map +1 -0
  465. package/dist/utils/async.d.ts +68 -0
  466. package/dist/utils/async.d.ts.map +1 -0
  467. package/dist/utils/async.js +138 -0
  468. package/dist/utils/async.js.map +1 -0
  469. package/dist/utils/errors.d.ts +136 -0
  470. package/dist/utils/errors.d.ts.map +1 -0
  471. package/dist/utils/errors.js +224 -0
  472. package/dist/utils/errors.js.map +1 -0
  473. package/dist/utils/id.d.ts +51 -0
  474. package/dist/utils/id.d.ts.map +1 -0
  475. package/dist/utils/id.js +79 -0
  476. package/dist/utils/id.js.map +1 -0
  477. package/dist/utils/index.d.ts +15 -0
  478. package/dist/utils/index.d.ts.map +1 -0
  479. package/dist/utils/index.js +19 -0
  480. package/dist/utils/index.js.map +1 -0
  481. package/dist/utils/logger.d.ts +75 -0
  482. package/dist/utils/logger.d.ts.map +1 -0
  483. package/dist/utils/logger.js +212 -0
  484. package/dist/utils/logger.js.map +1 -0
  485. package/dist/utils/string.d.ts +71 -0
  486. package/dist/utils/string.d.ts.map +1 -0
  487. package/dist/utils/string.js +163 -0
  488. package/dist/utils/string.js.map +1 -0
  489. package/dist/utils/validation.d.ts +72 -0
  490. package/dist/utils/validation.d.ts.map +1 -0
  491. package/dist/utils/validation.js +196 -0
  492. package/dist/utils/validation.js.map +1 -0
  493. package/package.json +4 -4
@@ -0,0 +1,346 @@
1
+ /**
2
+ * Virtual Canvas
3
+ *
4
+ * A buffered rendering system for efficient TUI output.
5
+ * Uses double-buffering to minimize flickering and reduce
6
+ * the number of escape sequences written to the terminal.
7
+ */
8
+ import * as ansi from './ansi';
9
+ // ============================================================================
10
+ // Canvas Class
11
+ // ============================================================================
12
+ export class Canvas {
13
+ buffer;
14
+ previousBuffer;
15
+ width;
16
+ height;
17
+ dirty = true;
18
+ constructor(width, height) {
19
+ this.width = width;
20
+ this.height = height;
21
+ this.buffer = this.createEmptyBuffer();
22
+ this.previousBuffer = this.createEmptyBuffer();
23
+ }
24
+ /**
25
+ * Create an empty buffer filled with spaces
26
+ */
27
+ createEmptyBuffer() {
28
+ const buffer = [];
29
+ for (let y = 0; y < this.height; y++) {
30
+ const row = [];
31
+ for (let x = 0; x < this.width; x++) {
32
+ row.push({ char: ' ', style: {} });
33
+ }
34
+ buffer.push(row);
35
+ }
36
+ return buffer;
37
+ }
38
+ /**
39
+ * Resize the canvas
40
+ */
41
+ resize(width, height) {
42
+ if (width === this.width && height === this.height) {
43
+ return;
44
+ }
45
+ this.width = width;
46
+ this.height = height;
47
+ this.buffer = this.createEmptyBuffer();
48
+ this.previousBuffer = this.createEmptyBuffer();
49
+ this.dirty = true;
50
+ }
51
+ /**
52
+ * Clear the canvas
53
+ */
54
+ clear() {
55
+ this.buffer = this.createEmptyBuffer();
56
+ this.dirty = true;
57
+ }
58
+ /**
59
+ * Set a single cell
60
+ */
61
+ setCell(x, y, char, style = {}) {
62
+ if (x < 0 || x >= this.width || y < 0 || y >= this.height) {
63
+ return;
64
+ }
65
+ this.buffer[y][x] = { char: char[0] || ' ', style };
66
+ this.dirty = true;
67
+ }
68
+ /**
69
+ * Get a single cell
70
+ */
71
+ getCell(x, y) {
72
+ if (x < 0 || x >= this.width || y < 0 || y >= this.height) {
73
+ return null;
74
+ }
75
+ return this.buffer[y][x];
76
+ }
77
+ /**
78
+ * Draw text at position
79
+ */
80
+ drawText(x, y, text, style = {}) {
81
+ const stripped = ansi.stripAnsi(text);
82
+ for (let i = 0; i < stripped.length; i++) {
83
+ this.setCell(x + i, y, stripped[i], style);
84
+ }
85
+ }
86
+ /**
87
+ * Draw styled text (preserving ANSI codes within)
88
+ */
89
+ drawStyledText(x, y, text) {
90
+ // For styled text, we render character by character
91
+ // stripping ANSI codes but applying them as we go
92
+ let currentX = x;
93
+ let currentStyle = {};
94
+ let inEscape = false;
95
+ let escapeSeq = '';
96
+ for (const char of text) {
97
+ if (char === '\x1b') {
98
+ inEscape = true;
99
+ escapeSeq = char;
100
+ continue;
101
+ }
102
+ if (inEscape) {
103
+ escapeSeq += char;
104
+ if (char.match(/[a-zA-Z]/)) {
105
+ // End of escape sequence
106
+ inEscape = false;
107
+ // Parse and apply style changes
108
+ currentStyle = { ...currentStyle, ...this.parseEscapeSequence(escapeSeq) };
109
+ escapeSeq = '';
110
+ }
111
+ continue;
112
+ }
113
+ this.setCell(currentX++, y, char, { ...currentStyle });
114
+ }
115
+ }
116
+ /**
117
+ * Parse escape sequence into style changes
118
+ */
119
+ parseEscapeSequence(seq) {
120
+ const style = {};
121
+ // Basic parsing - this is simplified
122
+ if (seq.includes('1m'))
123
+ style.bold = true;
124
+ if (seq.includes('2m'))
125
+ style.dim = true;
126
+ if (seq.includes('3m'))
127
+ style.italic = true;
128
+ if (seq.includes('4m'))
129
+ style.underline = true;
130
+ if (seq.includes('7m'))
131
+ style.inverse = true;
132
+ if (seq.includes('9m'))
133
+ style.strikethrough = true;
134
+ if (seq.includes('0m')) {
135
+ return { bold: false, dim: false, italic: false, underline: false, inverse: false, strikethrough: false };
136
+ }
137
+ return style;
138
+ }
139
+ /**
140
+ * Fill a rectangle with a character
141
+ */
142
+ fill(x, y, width, height, char = ' ', style = {}) {
143
+ for (let dy = 0; dy < height; dy++) {
144
+ for (let dx = 0; dx < width; dx++) {
145
+ this.setCell(x + dx, y + dy, char, style);
146
+ }
147
+ }
148
+ }
149
+ /**
150
+ * Draw a horizontal line
151
+ */
152
+ drawHLine(x, y, length, char = '─', style = {}) {
153
+ for (let i = 0; i < length; i++) {
154
+ this.setCell(x + i, y, char, style);
155
+ }
156
+ }
157
+ /**
158
+ * Draw a vertical line
159
+ */
160
+ drawVLine(x, y, length, char = '│', style = {}) {
161
+ for (let i = 0; i < length; i++) {
162
+ this.setCell(x, y + i, char, style);
163
+ }
164
+ }
165
+ /**
166
+ * Draw a box
167
+ */
168
+ drawBox(x, y, width, height, boxStyle = {}) {
169
+ const { border = 'single', borderColor, fill, fillColor, title, titleColor } = boxStyle;
170
+ if (width < 2 || height < 2)
171
+ return;
172
+ // Get border characters
173
+ let chars = { tl: '┌', tr: '┐', bl: '└', br: '┘', h: '─', v: '│' };
174
+ switch (border) {
175
+ case 'double':
176
+ chars = { tl: '╔', tr: '╗', bl: '╚', br: '╝', h: '═', v: '║' };
177
+ break;
178
+ case 'round':
179
+ chars = { tl: '╭', tr: '╮', bl: '╰', br: '╯', h: '─', v: '│' };
180
+ break;
181
+ case 'heavy':
182
+ chars = { tl: '┏', tr: '┓', bl: '┗', br: '┛', h: '━', v: '┃' };
183
+ break;
184
+ case 'none':
185
+ chars = { tl: ' ', tr: ' ', bl: ' ', br: ' ', h: ' ', v: ' ' };
186
+ break;
187
+ }
188
+ const borderStyle = borderColor ? { fg: borderColor.fg } : {};
189
+ // Draw corners
190
+ this.setCell(x, y, chars.tl, borderStyle);
191
+ this.setCell(x + width - 1, y, chars.tr, borderStyle);
192
+ this.setCell(x, y + height - 1, chars.bl, borderStyle);
193
+ this.setCell(x + width - 1, y + height - 1, chars.br, borderStyle);
194
+ // Draw top and bottom edges
195
+ for (let i = 1; i < width - 1; i++) {
196
+ this.setCell(x + i, y, chars.h, borderStyle);
197
+ this.setCell(x + i, y + height - 1, chars.h, borderStyle);
198
+ }
199
+ // Draw left and right edges
200
+ for (let i = 1; i < height - 1; i++) {
201
+ this.setCell(x, y + i, chars.v, borderStyle);
202
+ this.setCell(x + width - 1, y + i, chars.v, borderStyle);
203
+ }
204
+ // Fill interior
205
+ if (fill !== undefined || fillColor) {
206
+ const fillChar = fill || ' ';
207
+ const fillStyle = fillColor ? { bg: fillColor.bg } : {};
208
+ for (let dy = 1; dy < height - 1; dy++) {
209
+ for (let dx = 1; dx < width - 1; dx++) {
210
+ this.setCell(x + dx, y + dy, fillChar, fillStyle);
211
+ }
212
+ }
213
+ }
214
+ // Draw title
215
+ if (title && width > 4) {
216
+ const maxTitleLen = width - 4;
217
+ const displayTitle = title.length > maxTitleLen
218
+ ? title.substring(0, maxTitleLen - 1) + '…'
219
+ : title;
220
+ const titleX = x + 2;
221
+ const titleStyle = titleColor ? { fg: titleColor.fg, bold: true } : { bold: true };
222
+ this.drawText(titleX, y, displayTitle, titleStyle);
223
+ }
224
+ }
225
+ /**
226
+ * Build style string for a cell
227
+ */
228
+ buildStyleString(style) {
229
+ const parts = [];
230
+ if (style.bold)
231
+ parts.push(ansi.bold());
232
+ if (style.dim)
233
+ parts.push(ansi.dim());
234
+ if (style.italic)
235
+ parts.push(ansi.italic());
236
+ if (style.underline)
237
+ parts.push(ansi.underline());
238
+ if (style.inverse)
239
+ parts.push(ansi.reverse());
240
+ if (style.strikethrough)
241
+ parts.push(ansi.strikethrough());
242
+ if (style.fg)
243
+ parts.push(style.fg);
244
+ if (style.bg)
245
+ parts.push(style.bg);
246
+ return parts.join('');
247
+ }
248
+ /**
249
+ * Check if two cells are equal
250
+ */
251
+ cellsEqual(a, b) {
252
+ return (a.char === b.char &&
253
+ a.style.fg === b.style.fg &&
254
+ a.style.bg === b.style.bg &&
255
+ a.style.bold === b.style.bold &&
256
+ a.style.dim === b.style.dim &&
257
+ a.style.italic === b.style.italic &&
258
+ a.style.underline === b.style.underline &&
259
+ a.style.inverse === b.style.inverse &&
260
+ a.style.strikethrough === b.style.strikethrough);
261
+ }
262
+ /**
263
+ * Render the canvas to a string (full render)
264
+ */
265
+ render() {
266
+ const output = [];
267
+ output.push(ansi.hideCursor());
268
+ output.push(ansi.moveTo(1, 1));
269
+ for (let y = 0; y < this.height; y++) {
270
+ output.push(ansi.moveTo(y + 1, 1));
271
+ let currentStyle = '';
272
+ for (let x = 0; x < this.width; x++) {
273
+ const cell = this.buffer[y][x];
274
+ const styleStr = this.buildStyleString(cell.style);
275
+ if (styleStr !== currentStyle) {
276
+ output.push(ansi.reset());
277
+ output.push(styleStr);
278
+ currentStyle = styleStr;
279
+ }
280
+ output.push(cell.char);
281
+ }
282
+ output.push(ansi.reset());
283
+ }
284
+ // Copy buffer to previous buffer
285
+ for (let y = 0; y < this.height; y++) {
286
+ for (let x = 0; x < this.width; x++) {
287
+ this.previousBuffer[y][x] = { ...this.buffer[y][x], style: { ...this.buffer[y][x].style } };
288
+ }
289
+ }
290
+ this.dirty = false;
291
+ return output.join('');
292
+ }
293
+ /**
294
+ * Render only changed cells (differential render)
295
+ */
296
+ renderDiff() {
297
+ if (!this.dirty)
298
+ return '';
299
+ const output = [];
300
+ output.push(ansi.hideCursor());
301
+ for (let y = 0; y < this.height; y++) {
302
+ for (let x = 0; x < this.width; x++) {
303
+ const cell = this.buffer[y][x];
304
+ const prevCell = this.previousBuffer[y][x];
305
+ if (!this.cellsEqual(cell, prevCell)) {
306
+ output.push(ansi.moveTo(y + 1, x + 1));
307
+ output.push(ansi.reset());
308
+ output.push(this.buildStyleString(cell.style));
309
+ output.push(cell.char);
310
+ this.previousBuffer[y][x] = { ...cell, style: { ...cell.style } };
311
+ }
312
+ }
313
+ }
314
+ output.push(ansi.reset());
315
+ this.dirty = false;
316
+ return output.join('');
317
+ }
318
+ /**
319
+ * Flush output to a stream
320
+ */
321
+ flush(stream, differential = true) {
322
+ const output = differential ? this.renderDiff() : this.render();
323
+ if (output) {
324
+ stream.write(output);
325
+ }
326
+ }
327
+ /**
328
+ * Check if canvas needs re-rendering
329
+ */
330
+ isDirty() {
331
+ return this.dirty;
332
+ }
333
+ /**
334
+ * Mark canvas as dirty (needs re-rendering)
335
+ */
336
+ markDirty() {
337
+ this.dirty = true;
338
+ }
339
+ }
340
+ /**
341
+ * Create a new canvas
342
+ */
343
+ export function createCanvas(width, height) {
344
+ return new Canvas(width, height);
345
+ }
346
+ //# sourceMappingURL=canvas.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"canvas.js","sourceRoot":"","sources":["../../../src/ui/renderer/canvas.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,65 @@
1
+ /**
2
+ * Color Definitions and Themes
3
+ *
4
+ * Centralized color management for the UI.
5
+ */
6
+ export interface Color {
7
+ fg: string;
8
+ bg: string;
9
+ }
10
+ export interface ThemeColors {
11
+ primary: Color;
12
+ secondary: Color;
13
+ accent: Color;
14
+ success: Color;
15
+ warning: Color;
16
+ error: Color;
17
+ info: Color;
18
+ background: Color;
19
+ surface: Color;
20
+ border: Color;
21
+ text: Color;
22
+ textMuted: Color;
23
+ textInverse: Color;
24
+ selection: Color;
25
+ selectionActive: Color;
26
+ sidebarBg: Color;
27
+ sidebarItem: Color;
28
+ sidebarItemHover: Color;
29
+ sidebarItemActive: Color;
30
+ modalBg: Color;
31
+ modalBorder: Color;
32
+ inputBg: Color;
33
+ inputBorder: Color;
34
+ inputFocus: Color;
35
+ }
36
+ export type ThemeName = 'default' | 'minimal';
37
+ /**
38
+ * Get the current theme colors
39
+ */
40
+ export declare function getTheme(): ThemeColors;
41
+ /**
42
+ * Set the current theme
43
+ */
44
+ export declare function setTheme(name: ThemeName): void;
45
+ /**
46
+ * Get all available theme names
47
+ */
48
+ export declare function getThemeNames(): ThemeName[];
49
+ /**
50
+ * Apply color to text
51
+ */
52
+ export declare function colorize(text: string, color: Color): string;
53
+ /**
54
+ * Make text bold with color
55
+ */
56
+ export declare function boldColor(text: string, color: Color): string;
57
+ /**
58
+ * Make text dim with color
59
+ */
60
+ export declare function dimColor(text: string, color: Color): string;
61
+ /**
62
+ * Get styled text for different states
63
+ */
64
+ export declare function stateColor(text: string, state: 'success' | 'warning' | 'error' | 'info'): string;
65
+ //# sourceMappingURL=colors.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"colors.d.ts","sourceRoot":"","sources":["../../../src/ui/renderer/colors.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAQH,MAAM,WAAW,KAAK;IACpB,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,WAAW;IAE1B,OAAO,EAAE,KAAK,CAAC;IACf,SAAS,EAAE,KAAK,CAAC;IACjB,MAAM,EAAE,KAAK,CAAC;IAGd,OAAO,EAAE,KAAK,CAAC;IACf,OAAO,EAAE,KAAK,CAAC;IACf,KAAK,EAAE,KAAK,CAAC;IACb,IAAI,EAAE,KAAK,CAAC;IAGZ,UAAU,EAAE,KAAK,CAAC;IAClB,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,KAAK,CAAC;IACd,IAAI,EAAE,KAAK,CAAC;IACZ,SAAS,EAAE,KAAK,CAAC;IACjB,WAAW,EAAE,KAAK,CAAC;IAGnB,SAAS,EAAE,KAAK,CAAC;IACjB,eAAe,EAAE,KAAK,CAAC;IAGvB,SAAS,EAAE,KAAK,CAAC;IACjB,WAAW,EAAE,KAAK,CAAC;IACnB,gBAAgB,EAAE,KAAK,CAAC;IACxB,iBAAiB,EAAE,KAAK,CAAC;IAGzB,OAAO,EAAE,KAAK,CAAC;IACf,WAAW,EAAE,KAAK,CAAC;IAGnB,OAAO,EAAE,KAAK,CAAC;IACf,WAAW,EAAE,KAAK,CAAC;IACnB,UAAU,EAAE,KAAK,CAAC;CACnB;AAgOD,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAS9C;;GAEG;AACH,wBAAgB,QAAQ,IAAI,WAAW,CAEtC;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI,CAE9C;AAED;;GAEG;AACH,wBAAgB,aAAa,IAAI,SAAS,EAAE,CAE3C;AAMD;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAE3D;AAED;;GAEG;AACH,wBAAgB,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAE5D;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,GAAG,MAAM,CAE3D;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,EACZ,KAAK,EAAE,SAAS,GAAG,SAAS,GAAG,OAAO,GAAG,MAAM,GAC9C,MAAM,CAGR"}
@@ -0,0 +1,260 @@
1
+ /**
2
+ * Color Definitions and Themes
3
+ *
4
+ * Centralized color management for the UI.
5
+ */
6
+ import { fgHex, bgHex, fg, bg, bold, dim, reset } from './ansi';
7
+ // ============================================================================
8
+ // Default Theme
9
+ // ============================================================================
10
+ const defaultColors = {
11
+ primary: {
12
+ fg: fgHex('#7c3aed'),
13
+ bg: bgHex('#7c3aed'),
14
+ },
15
+ secondary: {
16
+ fg: fgHex('#64748b'),
17
+ bg: bgHex('#64748b'),
18
+ },
19
+ accent: {
20
+ fg: fgHex('#06b6d4'),
21
+ bg: bgHex('#06b6d4'),
22
+ },
23
+ success: {
24
+ fg: fgHex('#22c55e'),
25
+ bg: bgHex('#22c55e'),
26
+ },
27
+ warning: {
28
+ fg: fgHex('#f59e0b'),
29
+ bg: bgHex('#f59e0b'),
30
+ },
31
+ error: {
32
+ fg: fgHex('#ef4444'),
33
+ bg: bgHex('#ef4444'),
34
+ },
35
+ info: {
36
+ fg: fgHex('#3b82f6'),
37
+ bg: bgHex('#3b82f6'),
38
+ },
39
+ background: {
40
+ fg: fg.default,
41
+ bg: bgHex('#0f172a'),
42
+ },
43
+ surface: {
44
+ fg: fg.default,
45
+ bg: bgHex('#1e293b'),
46
+ },
47
+ border: {
48
+ fg: fgHex('#334155'),
49
+ bg: bgHex('#334155'),
50
+ },
51
+ text: {
52
+ fg: fgHex('#f8fafc'),
53
+ bg: bg.default,
54
+ },
55
+ textMuted: {
56
+ fg: fgHex('#94a3b8'),
57
+ bg: bg.default,
58
+ },
59
+ textInverse: {
60
+ fg: fgHex('#0f172a'),
61
+ bg: bg.default,
62
+ },
63
+ selection: {
64
+ fg: fgHex('#f8fafc'),
65
+ bg: bgHex('#334155'),
66
+ },
67
+ selectionActive: {
68
+ fg: fgHex('#f8fafc'),
69
+ bg: bgHex('#7c3aed'),
70
+ },
71
+ sidebarBg: {
72
+ fg: fg.default,
73
+ bg: bgHex('#1e293b'),
74
+ },
75
+ sidebarItem: {
76
+ fg: fgHex('#cbd5e1'),
77
+ bg: bg.default,
78
+ },
79
+ sidebarItemHover: {
80
+ fg: fgHex('#f8fafc'),
81
+ bg: bgHex('#334155'),
82
+ },
83
+ sidebarItemActive: {
84
+ fg: fgHex('#f8fafc'),
85
+ bg: bgHex('#7c3aed'),
86
+ },
87
+ modalBg: {
88
+ fg: fg.default,
89
+ bg: bgHex('#1e293b'),
90
+ },
91
+ modalBorder: {
92
+ fg: fgHex('#475569'),
93
+ bg: bg.default,
94
+ },
95
+ inputBg: {
96
+ fg: fgHex('#f8fafc'),
97
+ bg: bgHex('#0f172a'),
98
+ },
99
+ inputBorder: {
100
+ fg: fgHex('#475569'),
101
+ bg: bg.default,
102
+ },
103
+ inputFocus: {
104
+ fg: fgHex('#7c3aed'),
105
+ bg: bg.default,
106
+ },
107
+ };
108
+ // ============================================================================
109
+ // Minimal Theme
110
+ // ============================================================================
111
+ const minimalColors = {
112
+ primary: {
113
+ fg: fg.brightWhite,
114
+ bg: bg.white,
115
+ },
116
+ secondary: {
117
+ fg: fg.brightBlack,
118
+ bg: bg.brightBlack,
119
+ },
120
+ accent: {
121
+ fg: fg.cyan,
122
+ bg: bg.cyan,
123
+ },
124
+ success: {
125
+ fg: fg.green,
126
+ bg: bg.green,
127
+ },
128
+ warning: {
129
+ fg: fg.yellow,
130
+ bg: bg.yellow,
131
+ },
132
+ error: {
133
+ fg: fg.red,
134
+ bg: bg.red,
135
+ },
136
+ info: {
137
+ fg: fg.blue,
138
+ bg: bg.blue,
139
+ },
140
+ background: {
141
+ fg: fg.default,
142
+ bg: bg.default,
143
+ },
144
+ surface: {
145
+ fg: fg.default,
146
+ bg: bg.default,
147
+ },
148
+ border: {
149
+ fg: fg.brightBlack,
150
+ bg: bg.default,
151
+ },
152
+ text: {
153
+ fg: fg.white,
154
+ bg: bg.default,
155
+ },
156
+ textMuted: {
157
+ fg: fg.brightBlack,
158
+ bg: bg.default,
159
+ },
160
+ textInverse: {
161
+ fg: fg.black,
162
+ bg: bg.default,
163
+ },
164
+ selection: {
165
+ fg: fg.white,
166
+ bg: bg.brightBlack,
167
+ },
168
+ selectionActive: {
169
+ fg: fg.black,
170
+ bg: bg.white,
171
+ },
172
+ sidebarBg: {
173
+ fg: fg.default,
174
+ bg: bg.default,
175
+ },
176
+ sidebarItem: {
177
+ fg: fg.white,
178
+ bg: bg.default,
179
+ },
180
+ sidebarItemHover: {
181
+ fg: fg.brightWhite,
182
+ bg: bg.brightBlack,
183
+ },
184
+ sidebarItemActive: {
185
+ fg: fg.black,
186
+ bg: bg.white,
187
+ },
188
+ modalBg: {
189
+ fg: fg.default,
190
+ bg: bg.default,
191
+ },
192
+ modalBorder: {
193
+ fg: fg.brightBlack,
194
+ bg: bg.default,
195
+ },
196
+ inputBg: {
197
+ fg: fg.white,
198
+ bg: bg.default,
199
+ },
200
+ inputBorder: {
201
+ fg: fg.brightBlack,
202
+ bg: bg.default,
203
+ },
204
+ inputFocus: {
205
+ fg: fg.cyan,
206
+ bg: bg.default,
207
+ },
208
+ };
209
+ const themes = {
210
+ default: defaultColors,
211
+ minimal: minimalColors,
212
+ };
213
+ let currentTheme = 'default';
214
+ /**
215
+ * Get the current theme colors
216
+ */
217
+ export function getTheme() {
218
+ return themes[currentTheme];
219
+ }
220
+ /**
221
+ * Set the current theme
222
+ */
223
+ export function setTheme(name) {
224
+ currentTheme = name;
225
+ }
226
+ /**
227
+ * Get all available theme names
228
+ */
229
+ export function getThemeNames() {
230
+ return Object.keys(themes);
231
+ }
232
+ // ============================================================================
233
+ // Style Helpers
234
+ // ============================================================================
235
+ /**
236
+ * Apply color to text
237
+ */
238
+ export function colorize(text, color) {
239
+ return `${color.fg}${color.bg}${text}${reset()}`;
240
+ }
241
+ /**
242
+ * Make text bold with color
243
+ */
244
+ export function boldColor(text, color) {
245
+ return `${bold()}${color.fg}${color.bg}${text}${reset()}`;
246
+ }
247
+ /**
248
+ * Make text dim with color
249
+ */
250
+ export function dimColor(text, color) {
251
+ return `${dim()}${color.fg}${color.bg}${text}${reset()}`;
252
+ }
253
+ /**
254
+ * Get styled text for different states
255
+ */
256
+ export function stateColor(text, state) {
257
+ const theme = getTheme();
258
+ return colorize(text, theme[state]);
259
+ }
260
+ //# sourceMappingURL=colors.js.map