@navios/commander-tui 1.0.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 (348) hide show
  1. package/CHANGELOG.md +25 -0
  2. package/README.md +275 -0
  3. package/coverage/__tests__/utils/factories.ts.html +1147 -0
  4. package/coverage/__tests__/utils/index.html +131 -0
  5. package/coverage/__tests__/utils/render-utils.tsx.html +202 -0
  6. package/coverage/base.css +224 -0
  7. package/coverage/block-navigation.js +87 -0
  8. package/coverage/clover.xml +959 -0
  9. package/coverage/components/filter/filter_bar.tsx.html +322 -0
  10. package/coverage/components/filter/index.html +116 -0
  11. package/coverage/components/log/index.html +131 -0
  12. package/coverage/components/log/index.ts.html +88 -0
  13. package/coverage/components/log/log_message.tsx.html +391 -0
  14. package/coverage/components/prompt/index.html +116 -0
  15. package/coverage/components/prompt/prompt_renderer.tsx.html +1123 -0
  16. package/coverage/components/screen/index.html +131 -0
  17. package/coverage/components/screen/loading_message.tsx.html +217 -0
  18. package/coverage/components/screen/progress_message.tsx.html +265 -0
  19. package/coverage/components/sidebar/index.html +146 -0
  20. package/coverage/components/sidebar/sidebar.tsx.html +391 -0
  21. package/coverage/components/sidebar/sidebar_item.tsx.html +235 -0
  22. package/coverage/components/sidebar/sidebar_separator.tsx.html +124 -0
  23. package/coverage/context/index.html +131 -0
  24. package/coverage/context/index.ts.html +88 -0
  25. package/coverage/context/logger_context.tsx.html +412 -0
  26. package/coverage/coverage-final.json +55 -0
  27. package/coverage/favicon.png +0 -0
  28. package/coverage/filter/filter_engine.ts.html +424 -0
  29. package/coverage/filter/index.html +116 -0
  30. package/coverage/hooks/index.html +131 -0
  31. package/coverage/hooks/index.ts.html +88 -0
  32. package/coverage/hooks/use_theme.ts.html +121 -0
  33. package/coverage/index.html +356 -0
  34. package/coverage/keyboard/index.html +116 -0
  35. package/coverage/keyboard/keyboard_manager.ts.html +784 -0
  36. package/coverage/prettify.css +1 -0
  37. package/coverage/prettify.js +2 -0
  38. package/coverage/schemas/index.html +161 -0
  39. package/coverage/schemas/index.ts.html +94 -0
  40. package/coverage/schemas/logger-options.ts.html +124 -0
  41. package/coverage/schemas/prompt-options.ts.html +112 -0
  42. package/coverage/schemas/screen-options.ts.html +127 -0
  43. package/coverage/services/index.html +146 -0
  44. package/coverage/services/logger.ts.html +1192 -0
  45. package/coverage/services/prompt.ts.html +568 -0
  46. package/coverage/services/screen.ts.html +1804 -0
  47. package/coverage/sort-arrow-sprite.png +0 -0
  48. package/coverage/sorter.js +210 -0
  49. package/coverage/themes/dark.ts.html +604 -0
  50. package/coverage/themes/high-contrast.ts.html +619 -0
  51. package/coverage/themes/index.html +176 -0
  52. package/coverage/themes/index.ts.html +97 -0
  53. package/coverage/themes/light.ts.html +601 -0
  54. package/coverage/themes/utils.ts.html +334 -0
  55. package/coverage/tokens/index.html +161 -0
  56. package/coverage/tokens/index.ts.html +94 -0
  57. package/coverage/tokens/logger.ts.html +115 -0
  58. package/coverage/tokens/prompt.ts.html +115 -0
  59. package/coverage/tokens/screen.ts.html +115 -0
  60. package/coverage/types/file.types.ts.html +265 -0
  61. package/coverage/types/filter.types.ts.html +238 -0
  62. package/coverage/types/index.html +236 -0
  63. package/coverage/types/index.ts.html +151 -0
  64. package/coverage/types/keyboard.types.ts.html +364 -0
  65. package/coverage/types/log.types.ts.html +268 -0
  66. package/coverage/types/message.types.ts.html +445 -0
  67. package/coverage/types/prompt.types.ts.html +403 -0
  68. package/coverage/types/screen.types.ts.html +451 -0
  69. package/coverage/types/theme.types.ts.html +841 -0
  70. package/coverage/utils/colors/file-colors.ts.html +112 -0
  71. package/coverage/utils/colors/helpers.ts.html +235 -0
  72. package/coverage/utils/colors/index.html +221 -0
  73. package/coverage/utils/colors/index.ts.html +145 -0
  74. package/coverage/utils/colors/log-colors.ts.html +253 -0
  75. package/coverage/utils/colors/progress-colors.ts.html +160 -0
  76. package/coverage/utils/colors/prompt-colors.ts.html +175 -0
  77. package/coverage/utils/colors/sidebar-colors.ts.html +241 -0
  78. package/coverage/utils/colors/table-colors.ts.html +118 -0
  79. package/coverage/utils/filetype.ts.html +277 -0
  80. package/coverage/utils/format.ts.html +241 -0
  81. package/coverage/utils/index.html +161 -0
  82. package/coverage/utils/index.ts.html +118 -0
  83. package/coverage/utils/stdout-printer.ts.html +523 -0
  84. package/dist/src/components/file/file_log.d.ts +35 -0
  85. package/dist/src/components/file/file_log.d.ts.map +1 -0
  86. package/dist/src/components/file/index.d.ts +2 -0
  87. package/dist/src/components/file/index.d.ts.map +1 -0
  88. package/dist/src/components/filter/filter_bar.d.ts +10 -0
  89. package/dist/src/components/filter/filter_bar.d.ts.map +1 -0
  90. package/dist/src/components/filter/index.d.ts +2 -0
  91. package/dist/src/components/filter/index.d.ts.map +1 -0
  92. package/dist/src/components/help/help_overlay.d.ts +10 -0
  93. package/dist/src/components/help/help_overlay.d.ts.map +1 -0
  94. package/dist/src/components/help/index.d.ts +2 -0
  95. package/dist/src/components/help/index.d.ts.map +1 -0
  96. package/dist/src/components/index.d.ts +27 -0
  97. package/dist/src/components/index.d.ts.map +1 -0
  98. package/dist/src/components/log/debug_log.d.ts +3 -0
  99. package/dist/src/components/log/debug_log.d.ts.map +1 -0
  100. package/dist/src/components/log/error_log.d.ts +3 -0
  101. package/dist/src/components/log/error_log.d.ts.map +1 -0
  102. package/dist/src/components/log/fatal_log.d.ts +3 -0
  103. package/dist/src/components/log/fatal_log.d.ts.map +1 -0
  104. package/dist/src/components/log/index.d.ts +9 -0
  105. package/dist/src/components/log/index.d.ts.map +1 -0
  106. package/dist/src/components/log/info_log.d.ts +3 -0
  107. package/dist/src/components/log/info_log.d.ts.map +1 -0
  108. package/dist/src/components/log/log_message.d.ts +33 -0
  109. package/dist/src/components/log/log_message.d.ts.map +1 -0
  110. package/dist/src/components/log/success_log.d.ts +3 -0
  111. package/dist/src/components/log/success_log.d.ts.map +1 -0
  112. package/dist/src/components/log/trace_log.d.ts +3 -0
  113. package/dist/src/components/log/trace_log.d.ts.map +1 -0
  114. package/dist/src/components/log/warning_log.d.ts +3 -0
  115. package/dist/src/components/log/warning_log.d.ts.map +1 -0
  116. package/dist/src/components/prompt/index.d.ts +3 -0
  117. package/dist/src/components/prompt/index.d.ts.map +1 -0
  118. package/dist/src/components/prompt/prompt_renderer.d.ts +6 -0
  119. package/dist/src/components/prompt/prompt_renderer.d.ts.map +1 -0
  120. package/dist/src/components/screen/group_renderer.d.ts +19 -0
  121. package/dist/src/components/screen/group_renderer.d.ts.map +1 -0
  122. package/dist/src/components/screen/index.d.ts +13 -0
  123. package/dist/src/components/screen/index.d.ts.map +1 -0
  124. package/dist/src/components/screen/loading_message.d.ts +6 -0
  125. package/dist/src/components/screen/loading_message.d.ts.map +1 -0
  126. package/dist/src/components/screen/message_renderer.d.ts +8 -0
  127. package/dist/src/components/screen/message_renderer.d.ts.map +1 -0
  128. package/dist/src/components/screen/progress_message.d.ts +8 -0
  129. package/dist/src/components/screen/progress_message.d.ts.map +1 -0
  130. package/dist/src/components/screen/screen_bridge.d.ts +20 -0
  131. package/dist/src/components/screen/screen_bridge.d.ts.map +1 -0
  132. package/dist/src/components/screen/table_message.d.ts +6 -0
  133. package/dist/src/components/screen/table_message.d.ts.map +1 -0
  134. package/dist/src/components/screen_manager_bridge.d.ts +11 -0
  135. package/dist/src/components/screen_manager_bridge.d.ts.map +1 -0
  136. package/dist/src/components/sidebar/index.d.ts +6 -0
  137. package/dist/src/components/sidebar/index.d.ts.map +1 -0
  138. package/dist/src/components/sidebar/sidebar.d.ts +18 -0
  139. package/dist/src/components/sidebar/sidebar.d.ts.map +1 -0
  140. package/dist/src/components/sidebar/sidebar_item.d.ts +14 -0
  141. package/dist/src/components/sidebar/sidebar_item.d.ts.map +1 -0
  142. package/dist/src/components/sidebar/sidebar_separator.d.ts +2 -0
  143. package/dist/src/components/sidebar/sidebar_separator.d.ts.map +1 -0
  144. package/dist/src/context/logger_context.d.ts +60 -0
  145. package/dist/src/context/logger_context.d.ts.map +1 -0
  146. package/dist/src/filter/filter_engine.d.ts +20 -0
  147. package/dist/src/filter/filter_engine.d.ts.map +1 -0
  148. package/dist/src/filter/index.d.ts +4 -0
  149. package/dist/src/filter/index.d.ts.map +1 -0
  150. package/dist/src/hooks/index.d.ts +2 -0
  151. package/dist/src/hooks/index.d.ts.map +1 -0
  152. package/dist/src/hooks/use_theme.d.ts +7 -0
  153. package/dist/src/hooks/use_theme.d.ts.map +1 -0
  154. package/dist/src/index.d.ts +88 -0
  155. package/dist/src/index.d.ts.map +1 -0
  156. package/dist/src/keyboard/create_bindings.d.ts +31 -0
  157. package/dist/src/keyboard/create_bindings.d.ts.map +1 -0
  158. package/dist/src/keyboard/index.d.ts +12 -0
  159. package/dist/src/keyboard/index.d.ts.map +1 -0
  160. package/dist/src/keyboard/keyboard_manager.d.ts +69 -0
  161. package/dist/src/keyboard/keyboard_manager.d.ts.map +1 -0
  162. package/dist/src/services/index.d.ts +5 -0
  163. package/dist/src/services/index.d.ts.map +1 -0
  164. package/dist/src/services/logger.d.ts +61 -0
  165. package/dist/src/services/logger.d.ts.map +1 -0
  166. package/dist/src/services/prompt.d.ts +37 -0
  167. package/dist/src/services/prompt.d.ts.map +1 -0
  168. package/dist/src/services/screen.d.ts +165 -0
  169. package/dist/src/services/screen.d.ts.map +1 -0
  170. package/dist/src/services/screen_manager.d.ts +124 -0
  171. package/dist/src/services/screen_manager.d.ts.map +1 -0
  172. package/dist/src/themes/dark.d.ts +7 -0
  173. package/dist/src/themes/dark.d.ts.map +1 -0
  174. package/dist/src/themes/high-contrast.d.ts +7 -0
  175. package/dist/src/themes/high-contrast.d.ts.map +1 -0
  176. package/dist/src/themes/index.d.ts +18 -0
  177. package/dist/src/themes/index.d.ts.map +1 -0
  178. package/dist/src/themes/light.d.ts +6 -0
  179. package/dist/src/themes/light.d.ts.map +1 -0
  180. package/dist/src/themes/utils.d.ts +22 -0
  181. package/dist/src/themes/utils.d.ts.map +1 -0
  182. package/dist/src/types/file.types.d.ts +40 -0
  183. package/dist/src/types/file.types.d.ts.map +1 -0
  184. package/dist/src/types/filter.types.d.ts +31 -0
  185. package/dist/src/types/filter.types.d.ts.map +1 -0
  186. package/dist/src/types/index.d.ts +81 -0
  187. package/dist/src/types/index.d.ts.map +1 -0
  188. package/dist/src/types/keyboard.types.d.ts +83 -0
  189. package/dist/src/types/keyboard.types.d.ts.map +1 -0
  190. package/dist/src/types/log.types.d.ts +32 -0
  191. package/dist/src/types/log.types.d.ts.map +1 -0
  192. package/dist/src/types/message.types.d.ts +91 -0
  193. package/dist/src/types/message.types.d.ts.map +1 -0
  194. package/dist/src/types/prompt.types.d.ts +89 -0
  195. package/dist/src/types/prompt.types.d.ts.map +1 -0
  196. package/dist/src/types/screen.types.d.ts +85 -0
  197. package/dist/src/types/screen.types.d.ts.map +1 -0
  198. package/dist/src/types/theme.types.d.ts +216 -0
  199. package/dist/src/types/theme.types.d.ts.map +1 -0
  200. package/dist/src/utils/colors/file-colors.d.ts +10 -0
  201. package/dist/src/utils/colors/file-colors.d.ts.map +1 -0
  202. package/dist/src/utils/colors/helpers.d.ts +29 -0
  203. package/dist/src/utils/colors/helpers.d.ts.map +1 -0
  204. package/dist/src/utils/colors/index.d.ts +13 -0
  205. package/dist/src/utils/colors/index.d.ts.map +1 -0
  206. package/dist/src/utils/colors/log-colors.d.ts +15 -0
  207. package/dist/src/utils/colors/log-colors.d.ts.map +1 -0
  208. package/dist/src/utils/colors/progress-colors.d.ts +25 -0
  209. package/dist/src/utils/colors/progress-colors.d.ts.map +1 -0
  210. package/dist/src/utils/colors/prompt-colors.d.ts +22 -0
  211. package/dist/src/utils/colors/prompt-colors.d.ts.map +1 -0
  212. package/dist/src/utils/colors/sidebar-colors.d.ts +50 -0
  213. package/dist/src/utils/colors/sidebar-colors.d.ts.map +1 -0
  214. package/dist/src/utils/colors/table-colors.d.ts +12 -0
  215. package/dist/src/utils/colors/table-colors.d.ts.map +1 -0
  216. package/dist/src/utils/filetype.d.ts +19 -0
  217. package/dist/src/utils/filetype.d.ts.map +1 -0
  218. package/dist/src/utils/format.d.ts +9 -0
  219. package/dist/src/utils/format.d.ts.map +1 -0
  220. package/dist/src/utils/index.d.ts +20 -0
  221. package/dist/src/utils/index.d.ts.map +1 -0
  222. package/dist/src/utils/stdout-printer.d.ts +10 -0
  223. package/dist/src/utils/stdout-printer.d.ts.map +1 -0
  224. package/dist/tsconfig.lib.tsbuildinfo +1 -0
  225. package/dist/tsconfig.tsbuildinfo +1 -0
  226. package/dist/tsdown.config.d.mts +5 -0
  227. package/dist/tsdown.config.d.mts.map +1 -0
  228. package/dist/vitest.config.d.mts +3 -0
  229. package/dist/vitest.config.d.mts.map +1 -0
  230. package/lib/index.cjs +6349 -0
  231. package/lib/index.cjs.map +1 -0
  232. package/lib/index.d.cts +1720 -0
  233. package/lib/index.d.cts.map +1 -0
  234. package/lib/index.d.mts +1720 -0
  235. package/lib/index.d.mts.map +1 -0
  236. package/lib/index.mjs +6264 -0
  237. package/lib/index.mjs.map +1 -0
  238. package/lib/screen_manager_bridge-BpDgVu3e.cjs +3357 -0
  239. package/lib/screen_manager_bridge-BpDgVu3e.cjs.map +1 -0
  240. package/lib/screen_manager_bridge-CkV7637i.cjs +3 -0
  241. package/lib/screen_manager_bridge-DN2J6_k1.mjs +3 -0
  242. package/lib/screen_manager_bridge-Dfg4QUrl.mjs +3034 -0
  243. package/lib/screen_manager_bridge-Dfg4QUrl.mjs.map +1 -0
  244. package/package.json +43 -0
  245. package/project.json +60 -0
  246. package/src/__tests__/components/__snapshots__/filter_bar.spec.tsx.snap +2245 -0
  247. package/src/__tests__/components/__snapshots__/loading_message.spec.tsx.snap +1382 -0
  248. package/src/__tests__/components/__snapshots__/log_message.spec.tsx.snap +3169 -0
  249. package/src/__tests__/components/__snapshots__/progress_message.spec.tsx.snap +1743 -0
  250. package/src/__tests__/components/__snapshots__/prompt_renderer.spec.tsx.snap +3135 -0
  251. package/src/__tests__/components/__snapshots__/sidebar.spec.tsx.snap +2617 -0
  252. package/src/__tests__/components/filter_bar.spec.tsx +190 -0
  253. package/src/__tests__/components/loading_message.spec.tsx +110 -0
  254. package/src/__tests__/components/log_message.spec.tsx +166 -0
  255. package/src/__tests__/components/progress_message.spec.tsx +147 -0
  256. package/src/__tests__/components/prompt_renderer.spec.tsx +274 -0
  257. package/src/__tests__/components/sidebar.spec.tsx +305 -0
  258. package/src/__tests__/filter/filter_engine.spec.ts +325 -0
  259. package/src/__tests__/keyboard/keyboard_manager.spec.ts +557 -0
  260. package/src/__tests__/mocks/scm-mock.ts +5 -0
  261. package/src/__tests__/services/logger.spec.ts +630 -0
  262. package/src/__tests__/services/prompt.spec.ts +411 -0
  263. package/src/__tests__/services/screen.spec.ts +721 -0
  264. package/src/__tests__/setup.ts +43 -0
  265. package/src/__tests__/utils/factories.ts +354 -0
  266. package/src/__tests__/utils/filetype.spec.ts +195 -0
  267. package/src/__tests__/utils/format.spec.ts +178 -0
  268. package/src/__tests__/utils/render-utils.tsx +39 -0
  269. package/src/__tests__/utils/test-container.ts +48 -0
  270. package/src/components/file/file_log.tsx +241 -0
  271. package/src/components/file/index.ts +1 -0
  272. package/src/components/filter/filter_bar.tsx +79 -0
  273. package/src/components/filter/index.ts +1 -0
  274. package/src/components/help/help_overlay.tsx +100 -0
  275. package/src/components/help/index.ts +1 -0
  276. package/src/components/index.ts +15 -0
  277. package/src/components/log/index.ts +1 -0
  278. package/src/components/log/log_message.tsx +102 -0
  279. package/src/components/prompt/index.ts +2 -0
  280. package/src/components/prompt/prompt_renderer.tsx +346 -0
  281. package/src/components/screen/group_renderer.tsx +64 -0
  282. package/src/components/screen/index.ts +6 -0
  283. package/src/components/screen/loading_message.tsx +44 -0
  284. package/src/components/screen/message_renderer.tsx +108 -0
  285. package/src/components/screen/progress_message.tsx +60 -0
  286. package/src/components/screen/screen_bridge.tsx +149 -0
  287. package/src/components/screen/table_message.tsx +57 -0
  288. package/src/components/screen_manager_bridge.tsx +245 -0
  289. package/src/components/sidebar/index.ts +3 -0
  290. package/src/components/sidebar/sidebar.tsx +102 -0
  291. package/src/components/sidebar/sidebar_item.tsx +50 -0
  292. package/src/components/sidebar/sidebar_separator.tsx +13 -0
  293. package/src/context/index.ts +1 -0
  294. package/src/context/logger_context.tsx +109 -0
  295. package/src/factories/index.ts +1 -0
  296. package/src/factories/screen.factory.ts +22 -0
  297. package/src/filter/filter_engine.ts +113 -0
  298. package/src/filter/index.ts +1 -0
  299. package/src/hooks/index.ts +1 -0
  300. package/src/hooks/use_theme.ts +12 -0
  301. package/src/index.ts +64 -0
  302. package/src/keyboard/create_bindings.ts +457 -0
  303. package/src/keyboard/index.ts +2 -0
  304. package/src/keyboard/keyboard_manager.ts +233 -0
  305. package/src/overrides/console.logger.override.ts +61 -0
  306. package/src/overrides/index.ts +1 -0
  307. package/src/schemas/index.ts +3 -0
  308. package/src/schemas/logger-options.ts +13 -0
  309. package/src/schemas/prompt-options.ts +9 -0
  310. package/src/schemas/screen-options.ts +14 -0
  311. package/src/services/index.ts +4 -0
  312. package/src/services/logger.ts +369 -0
  313. package/src/services/prompt.ts +169 -0
  314. package/src/services/screen.ts +590 -0
  315. package/src/services/screen_manager.tsx +390 -0
  316. package/src/themes/dark.ts +173 -0
  317. package/src/themes/high-contrast.ts +178 -0
  318. package/src/themes/index.ts +4 -0
  319. package/src/themes/light.ts +172 -0
  320. package/src/themes/utils.ts +83 -0
  321. package/src/tokens/index.ts +3 -0
  322. package/src/tokens/logger.ts +10 -0
  323. package/src/tokens/prompt.ts +10 -0
  324. package/src/tokens/screen.ts +10 -0
  325. package/src/types/file.types.ts +60 -0
  326. package/src/types/filter.types.ts +51 -0
  327. package/src/types/index.ts +22 -0
  328. package/src/types/keyboard.types.ts +93 -0
  329. package/src/types/log.types.ts +61 -0
  330. package/src/types/message.types.ts +120 -0
  331. package/src/types/prompt.types.ts +106 -0
  332. package/src/types/screen.types.ts +124 -0
  333. package/src/types/theme.types.ts +252 -0
  334. package/src/utils/colors/file-colors.ts +9 -0
  335. package/src/utils/colors/helpers.ts +50 -0
  336. package/src/utils/colors/index.ts +20 -0
  337. package/src/utils/colors/log-colors.ts +56 -0
  338. package/src/utils/colors/progress-colors.ts +25 -0
  339. package/src/utils/colors/prompt-colors.ts +30 -0
  340. package/src/utils/colors/sidebar-colors.ts +52 -0
  341. package/src/utils/colors/table-colors.ts +11 -0
  342. package/src/utils/filetype.ts +64 -0
  343. package/src/utils/format.ts +52 -0
  344. package/src/utils/index.ts +11 -0
  345. package/src/utils/stdout-printer.ts +255 -0
  346. package/tsconfig.json +14 -0
  347. package/tsdown.config.mts +34 -0
  348. package/vitest.config.mts +10 -0
@@ -0,0 +1,31 @@
1
+ import type { LogLevel } from './log.types.ts'
2
+ /**
3
+ * Filter state for log filtering.
4
+ */
5
+ export interface FilterState {
6
+ /** Which log levels are enabled (shown) */
7
+ enabledLevels: Set<LogLevel>
8
+ /** Text search query */
9
+ searchQuery: string
10
+ /** Whether the filter bar is visible */
11
+ isVisible: boolean
12
+ /** Which filter field is focused */
13
+ focusedField: 'search' | 'levels'
14
+ }
15
+ /**
16
+ * All log levels in order.
17
+ */
18
+ export declare const ALL_LOG_LEVELS: LogLevel[]
19
+ /**
20
+ * Create a default filter state.
21
+ */
22
+ export declare function createDefaultFilterState(): FilterState
23
+ /**
24
+ * Check if any filtering is active.
25
+ */
26
+ export declare function hasActiveFilter(filter: FilterState): boolean
27
+ /**
28
+ * Level counts for display.
29
+ */
30
+ export type LevelCounts = Record<LogLevel, number>
31
+ //# sourceMappingURL=filter.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.types.d.ts","sourceRoot":"","sources":["../../../src/types/filter.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAM/C;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,2CAA2C;IAC3C,aAAa,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAC;IAE7B,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAC;IAEpB,wCAAwC;IACxC,SAAS,EAAE,OAAO,CAAC;IAEnB,oCAAoC;IACpC,YAAY,EAAE,QAAQ,GAAG,QAAQ,CAAC;CACnC;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,QAAQ,EAQpC,CAAC;AAEF;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,WAAW,CAOtD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAK5D;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC"}
@@ -0,0 +1,81 @@
1
+ export type { LogLevel, LogLevelColors, LogLevelColorMap, LogMessageProps } from './log.types.ts'
2
+ export type {
3
+ FileLogMode,
4
+ FileLogProps,
5
+ FileLogBaseProps,
6
+ FileLogFullProps,
7
+ FileLogDiffProps,
8
+ FileLogPartialProps,
9
+ } from './file.types.ts'
10
+ export type {
11
+ ScreenProps,
12
+ ScreenDefinition,
13
+ ScreenManagerProps,
14
+ FocusArea,
15
+ LoggerContextValue,
16
+ ScreenStatus,
17
+ ScreenOptions,
18
+ BindOptions,
19
+ } from './screen.types.ts'
20
+ export type {
21
+ MessageType,
22
+ BaseMessage,
23
+ MessageData,
24
+ LogMessageData,
25
+ FileMessageData,
26
+ DiffMessageData,
27
+ FileErrorMessageData,
28
+ LoadingMessageData,
29
+ ProgressMessageData,
30
+ GroupMessageData,
31
+ TableMessageData,
32
+ PromiseOptions,
33
+ LoadingHandle,
34
+ ProgressHandle,
35
+ } from './message.types.ts'
36
+ export type {
37
+ ChoiceOption,
38
+ BasePromptData,
39
+ ChoicePromptData,
40
+ ConfirmPromptData,
41
+ InputPromptData,
42
+ MultiChoicePromptData,
43
+ PromptData,
44
+ ChoiceOptions,
45
+ ConfirmOptions,
46
+ InputOptions,
47
+ MultiChoiceOptions,
48
+ } from './prompt.types.ts'
49
+ export type {
50
+ Theme,
51
+ ThemePreset,
52
+ PartialTheme,
53
+ DeepPartial,
54
+ LogLevelTheme,
55
+ SidebarTheme,
56
+ HeaderTheme,
57
+ StatusIndicator,
58
+ StatusIndicatorsTheme,
59
+ SeparatorTheme,
60
+ ProgressTheme,
61
+ GroupTheme,
62
+ TableTheme,
63
+ FileTheme,
64
+ PromptTheme,
65
+ ErrorHighlightTheme,
66
+ FilterTheme,
67
+ HelpTheme,
68
+ SemanticColors,
69
+ } from './theme.types.ts'
70
+ export type {
71
+ KeyEvent,
72
+ KeyBinding,
73
+ KeyboardContext,
74
+ KeyBindingsConfig,
75
+ KeyBindingCategory,
76
+ KeyBindingCondition,
77
+ KeyHandler,
78
+ } from './keyboard.types.ts'
79
+ export type { FilterState, LevelCounts } from './filter.types.ts'
80
+ export { ALL_LOG_LEVELS, createDefaultFilterState, hasActiveFilter } from './filter.types.ts'
81
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/types/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,QAAQ,EACR,cAAc,EACd,gBAAgB,EAChB,eAAe,GAChB,MAAM,gBAAgB,CAAC;AAGxB,YAAY,EACV,WAAW,EACX,YAAY,EACZ,gBAAgB,EAChB,gBAAgB,EAChB,gBAAgB,EAChB,mBAAmB,GACpB,MAAM,iBAAiB,CAAC;AAGzB,YAAY,EACV,WAAW,EACX,gBAAgB,EAChB,kBAAkB,EAClB,SAAS,EACT,kBAAkB,EAClB,YAAY,EACZ,aAAa,EACb,WAAW,GACZ,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EACV,WAAW,EACX,WAAW,EACX,WAAW,EACX,cAAc,EACd,eAAe,EACf,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,gBAAgB,EAChB,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,cAAc,GACf,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EACV,YAAY,EACZ,cAAc,EACd,gBAAgB,EAChB,iBAAiB,EACjB,eAAe,EACf,qBAAqB,EACrB,UAAU,EACV,aAAa,EACb,cAAc,EACd,YAAY,EACZ,kBAAkB,GACnB,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EACV,KAAK,EACL,WAAW,EACX,YAAY,EACZ,WAAW,EACX,aAAa,EACb,YAAY,EACZ,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,cAAc,EACd,aAAa,EACb,UAAU,EACV,UAAU,EACV,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,WAAW,EACX,SAAS,EACT,cAAc,GACf,MAAM,kBAAkB,CAAC;AAG1B,YAAY,EACV,QAAQ,EACR,UAAU,EACV,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,mBAAmB,EACnB,UAAU,GACX,MAAM,qBAAqB,CAAC;AAG7B,YAAY,EAAE,WAAW,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAClE,OAAO,EAAE,cAAc,EAAE,wBAAwB,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC"}
@@ -0,0 +1,83 @@
1
+ import type { FocusArea } from './screen.types.ts'
2
+ /**
3
+ * Key event from the terminal.
4
+ */
5
+ export interface KeyEvent {
6
+ name: string
7
+ sequence?: string
8
+ ctrl?: boolean
9
+ meta?: boolean
10
+ shift?: boolean
11
+ }
12
+ /**
13
+ * Context available to keyboard handlers.
14
+ */
15
+ export interface KeyboardContext {
16
+ /** Has multiple screens (sidebar visible) */
17
+ hasSidebar: boolean
18
+ /** Currently focused area */
19
+ focusArea: FocusArea
20
+ /** Whether a prompt is active */
21
+ hasPrompt: boolean
22
+ /** Whether prompt is in text input mode */
23
+ inInputMode: boolean
24
+ /** Whether filter bar is visible */
25
+ isFilterActive: boolean
26
+ /** Whether help overlay is visible */
27
+ isHelpVisible: boolean
28
+ }
29
+ /**
30
+ * Handler function for a key binding.
31
+ * Return true to prevent further processing, false/void to continue.
32
+ */
33
+ export type KeyHandler = (key: KeyEvent, context: KeyboardContext) => boolean | void
34
+ /**
35
+ * Category for organizing bindings in help overlay.
36
+ */
37
+ export type KeyBindingCategory = 'general' | 'navigation' | 'screen' | 'prompt' | 'filter'
38
+ /**
39
+ * Condition for when a binding is active.
40
+ */
41
+ export interface KeyBindingCondition {
42
+ hasPrompt?: boolean
43
+ inInputMode?: boolean
44
+ focusArea?: FocusArea
45
+ isFilterActive?: boolean
46
+ isHelpVisible?: boolean
47
+ hasSidebar?: boolean
48
+ }
49
+ /**
50
+ * A single key binding definition.
51
+ */
52
+ export interface KeyBinding {
53
+ /** Key name(s) that trigger this binding */
54
+ key: string | string[]
55
+ /** Require Ctrl modifier */
56
+ ctrl?: boolean
57
+ /** Require Meta/Cmd modifier */
58
+ meta?: boolean
59
+ /** Require Shift modifier (for capital letters) */
60
+ shift?: boolean
61
+ /** Handler function */
62
+ handler: KeyHandler
63
+ /** Description for help overlay */
64
+ description: string
65
+ /** Category for grouping in help */
66
+ category: KeyBindingCategory
67
+ /** Condition when this binding is active */
68
+ when?: KeyBindingCondition
69
+ /** Priority (higher = checked first, default 0) */
70
+ priority?: number
71
+ }
72
+ /**
73
+ * Configuration for the keyboard manager.
74
+ */
75
+ export interface KeyBindingsConfig {
76
+ /** Custom bindings (added to defaults) */
77
+ bindings?: KeyBinding[]
78
+ /** Override specific default bindings by key */
79
+ overrides?: Record<string, Partial<KeyBinding>>
80
+ /** Disable specific keys */
81
+ disabled?: string[]
82
+ }
83
+ //# sourceMappingURL=keyboard.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyboard.types.d.ts","sourceRoot":"","sources":["../../../src/types/keyboard.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAMnD;;GAEG;AACH,MAAM,WAAW,QAAQ;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,6CAA6C;IAC7C,UAAU,EAAE,OAAO,CAAC;IACpB,6BAA6B;IAC7B,SAAS,EAAE,SAAS,CAAC;IACrB,iCAAiC;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,2CAA2C;IAC3C,WAAW,EAAE,OAAO,CAAC;IACrB,oCAAoC;IACpC,cAAc,EAAE,OAAO,CAAC;IACxB,sCAAsC;IACtC,aAAa,EAAE,OAAO,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,KAAK,OAAO,GAAG,IAAI,CAAC;AAErF;;GAEG;AACH,MAAM,MAAM,kBAAkB,GAC1B,SAAS,GACT,YAAY,GACZ,QAAQ,GACR,QAAQ,GACR,QAAQ,CAAC;AAEb;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,SAAS,CAAC;IACtB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,UAAU,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;GAEG;AACH,MAAM,WAAW,UAAU;IACzB,4CAA4C;IAC5C,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,CAAC;IACvB,4BAA4B;IAC5B,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,gCAAgC;IAChC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,mDAAmD;IACnD,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,uBAAuB;IACvB,OAAO,EAAE,UAAU,CAAC;IACpB,mCAAmC;IACnC,WAAW,EAAE,MAAM,CAAC;IACpB,oCAAoC;IACpC,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,4CAA4C;IAC5C,IAAI,CAAC,EAAE,mBAAmB,CAAC;IAC3B,mDAAmD;IACnD,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,0CAA0C;IAC1C,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;IACxB,gDAAgD;IAChD,SAAS,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC,CAAC;IAChD,4BAA4B;IAC5B,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACrB"}
@@ -0,0 +1,32 @@
1
+ import type { RGBA } from '@opentui/core'
2
+ import type { ReactNode } from 'react'
3
+ export type LogLevel = 'trace' | 'debug' | 'info' | 'success' | 'warning' | 'error' | 'fatal'
4
+ export interface LogLevelColors {
5
+ border: string
6
+ background: string
7
+ text?: string
8
+ }
9
+ export type LogLevelColorMap = Record<LogLevel, LogLevelColors>
10
+ export interface LogMessageProps {
11
+ /** Log level determines the color scheme */
12
+ level: LogLevel
13
+ /** Message content - can be string or React nodes */
14
+ children: ReactNode
15
+ /** Optional timestamp to display */
16
+ timestamp?: Date | string
17
+ /** Optional label/prefix (e.g., "API", "Database") */
18
+ label?: string
19
+ /** Optional stack trace to display (for trace level) */
20
+ trace?: string
21
+ /** Optional custom border color (overrides level color) */
22
+ borderColor?: string | RGBA
23
+ /** Optional custom background color (overrides level color) */
24
+ backgroundColor?: string | RGBA
25
+ /** Border width style - 'thin' uses left border only, 'thick' uses left+top+bottom */
26
+ borderStyle?: 'thin' | 'thick'
27
+ /** Padding inside the message box */
28
+ padding?: number
29
+ /** Margin around the message */
30
+ margin?: number
31
+ }
32
+ //# sourceMappingURL=log.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"log.types.d.ts","sourceRoot":"","sources":["../../../src/types/log.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAC;AAC1C,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAMvC,MAAM,MAAM,QAAQ,GAChB,OAAO,GACP,OAAO,GACP,MAAM,GACN,SAAS,GACT,SAAS,GACT,OAAO,GACP,OAAO,CAAC;AAEZ,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;CACf;AAED,MAAM,MAAM,gBAAgB,GAAG,MAAM,CAAC,QAAQ,EAAE,cAAc,CAAC,CAAC;AAMhE,MAAM,WAAW,eAAe;IAC9B,4CAA4C;IAC5C,KAAK,EAAE,QAAQ,CAAC;IAEhB,qDAAqD;IACrD,QAAQ,EAAE,SAAS,CAAC;IAEpB,oCAAoC;IACpC,SAAS,CAAC,EAAE,IAAI,GAAG,MAAM,CAAC;IAE1B,sDAAsD;IACtD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,wDAAwD;IACxD,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,2DAA2D;IAC3D,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAE5B,+DAA+D;IAC/D,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC,sFAAsF;IACtF,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAE/B,qCAAqC;IACrC,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,gCAAgC;IAChC,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -0,0 +1,91 @@
1
+ import type { LogLevel } from './log.types.ts'
2
+ export type MessageType =
3
+ | 'log'
4
+ | 'file'
5
+ | 'diff'
6
+ | 'fileError'
7
+ | 'loading'
8
+ | 'progress'
9
+ | 'group'
10
+ | 'table'
11
+ export interface BaseMessage {
12
+ id: string
13
+ type: MessageType
14
+ timestamp: Date
15
+ }
16
+ export interface LogMessageData extends BaseMessage {
17
+ type: 'log'
18
+ level: LogLevel
19
+ /** Content is always a string - objects are formatted before storage */
20
+ content: string
21
+ label?: string
22
+ trace?: string
23
+ }
24
+ export interface FileMessageData extends BaseMessage {
25
+ type: 'file'
26
+ filePath: string
27
+ content: string
28
+ }
29
+ export interface DiffMessageData extends BaseMessage {
30
+ type: 'diff'
31
+ filePath: string
32
+ diff: string
33
+ view?: 'unified' | 'split'
34
+ }
35
+ export interface FileErrorMessageData extends BaseMessage {
36
+ type: 'fileError'
37
+ filePath: string
38
+ content: string
39
+ errorLines: number[]
40
+ startLine: number
41
+ }
42
+ export interface LoadingMessageData extends BaseMessage {
43
+ type: 'loading'
44
+ content: string
45
+ status: 'loading' | 'success' | 'fail'
46
+ resolvedContent?: string
47
+ }
48
+ export interface ProgressMessageData extends BaseMessage {
49
+ type: 'progress'
50
+ label: string
51
+ current: number
52
+ total: number
53
+ status: 'active' | 'complete' | 'failed'
54
+ resolvedContent?: string
55
+ }
56
+ export interface GroupMessageData extends BaseMessage {
57
+ type: 'group'
58
+ label: string
59
+ collapsed: boolean
60
+ isEnd: boolean
61
+ }
62
+ export interface TableMessageData extends BaseMessage {
63
+ type: 'table'
64
+ headers: string[]
65
+ rows: string[][]
66
+ title?: string
67
+ }
68
+ export type MessageData =
69
+ | LogMessageData
70
+ | FileMessageData
71
+ | DiffMessageData
72
+ | FileErrorMessageData
73
+ | LoadingMessageData
74
+ | ProgressMessageData
75
+ | GroupMessageData
76
+ | TableMessageData
77
+ export interface PromiseOptions<T> {
78
+ loading: string
79
+ success: string | ((data: T) => string)
80
+ error: string | ((error: Error) => string)
81
+ }
82
+ export interface LoadingHandle {
83
+ success: (message: string) => void
84
+ fail: (message: string) => void
85
+ }
86
+ export interface ProgressHandle {
87
+ update: (current: number, label?: string) => void
88
+ complete: (message?: string) => void
89
+ fail: (message?: string) => void
90
+ }
91
+ //# sourceMappingURL=message.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"message.types.d.ts","sourceRoot":"","sources":["../../../src/types/message.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAM/C,MAAM,MAAM,WAAW,GACnB,KAAK,GACL,MAAM,GACN,MAAM,GACN,WAAW,GACX,SAAS,GACT,UAAU,GACV,OAAO,GACP,OAAO,CAAC;AAEZ,MAAM,WAAW,WAAW;IAC1B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,WAAW,CAAC;IAClB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,cAAe,SAAQ,WAAW;IACjD,IAAI,EAAE,KAAK,CAAC;IACZ,KAAK,EAAE,QAAQ,CAAC;IAChB,wEAAwE;IACxE,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,eAAgB,SAAQ,WAAW;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,oBAAqB,SAAQ,WAAW;IACvD,IAAI,EAAE,WAAW,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,kBAAmB,SAAQ,WAAW;IACrD,IAAI,EAAE,SAAS,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;IACvC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,mBAAoB,SAAQ,WAAW;IACtD,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,QAAQ,GAAG,UAAU,GAAG,QAAQ,CAAC;IACzC,eAAe,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,gBAAiB,SAAQ,WAAW;IACnD,IAAI,EAAE,OAAO,CAAC;IACd,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,IAAI,EAAE,MAAM,EAAE,EAAE,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,MAAM,WAAW,GACnB,cAAc,GACd,eAAe,GACf,eAAe,GACf,oBAAoB,GACpB,kBAAkB,GAClB,mBAAmB,GACnB,gBAAgB,GAChB,gBAAgB,CAAC;AAMrB,MAAM,WAAW,cAAc,CAAC,CAAC;IAC/B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,KAAK,MAAM,CAAC,CAAC;IACxC,KAAK,EAAE,MAAM,GAAG,CAAC,CAAC,KAAK,EAAE,KAAK,KAAK,MAAM,CAAC,CAAC;CAC5C;AAED,MAAM,WAAW,aAAa;IAC5B,OAAO,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;IACnC,IAAI,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,CAAC;CACjC;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IAClD,QAAQ,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;IACrC,IAAI,EAAE,CAAC,OAAO,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CAClC"}
@@ -0,0 +1,89 @@
1
+ export interface ChoiceOption {
2
+ label: string
3
+ value: string
4
+ /** If true, this option allows text input */
5
+ input?: boolean
6
+ }
7
+ export interface BasePromptData {
8
+ id: string
9
+ timestamp: Date
10
+ resolved: boolean
11
+ /** Auto-resolve timeout in ms */
12
+ timeout?: number
13
+ /** Timestamp when timeout started */
14
+ timeoutStarted?: number
15
+ }
16
+ export interface ChoicePromptData extends BasePromptData {
17
+ type: 'choice'
18
+ question: string
19
+ choices: ChoiceOption[]
20
+ defaultChoice: string
21
+ selectedIndex: number
22
+ inputMode: boolean
23
+ inputValue: string
24
+ resolvedValue?: string
25
+ }
26
+ export interface ConfirmPromptData extends BasePromptData {
27
+ type: 'confirm'
28
+ question: string
29
+ confirmText: string
30
+ cancelText: string
31
+ defaultValue: boolean
32
+ selectedValue: boolean
33
+ resolvedValue?: boolean
34
+ }
35
+ export interface InputPromptData extends BasePromptData {
36
+ type: 'input'
37
+ question: string
38
+ placeholder: string
39
+ defaultValue: string
40
+ value: string
41
+ resolvedValue?: string
42
+ }
43
+ export interface MultiChoicePromptData extends BasePromptData {
44
+ type: 'multiChoice'
45
+ question: string
46
+ choices: ChoiceOption[]
47
+ selectedIndices: Set<number>
48
+ focusedIndex: number
49
+ minSelect: number
50
+ maxSelect: number
51
+ resolvedValues?: string[]
52
+ }
53
+ export type PromptData =
54
+ | ChoicePromptData
55
+ | ConfirmPromptData
56
+ | InputPromptData
57
+ | MultiChoicePromptData
58
+ export interface ChoiceOptions {
59
+ question: string
60
+ choices: ChoiceOption[]
61
+ defaultChoice?: string
62
+ /** Auto-resolve with default after timeout (ms) */
63
+ timeout?: number
64
+ }
65
+ export interface ConfirmOptions {
66
+ question: string
67
+ confirmText?: string
68
+ cancelText?: string
69
+ defaultValue?: boolean
70
+ /** Auto-resolve with default after timeout (ms) */
71
+ timeout?: number
72
+ }
73
+ export interface InputOptions {
74
+ question: string
75
+ placeholder?: string
76
+ defaultValue?: string
77
+ /** Auto-resolve with default after timeout (ms) */
78
+ timeout?: number
79
+ }
80
+ export interface MultiChoiceOptions {
81
+ question: string
82
+ choices: ChoiceOption[]
83
+ defaultChoices?: string[]
84
+ minSelect?: number
85
+ maxSelect?: number
86
+ /** Auto-resolve with default after timeout (ms) */
87
+ timeout?: number
88
+ }
89
+ //# sourceMappingURL=prompt.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.types.d.ts","sourceRoot":"","sources":["../../../src/types/prompt.types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ import type { RGBA, SyntaxStyle, TreeSitterClient } from '@opentui/core'
2
+ import type { ReactNode } from 'react'
3
+
4
+ import type { LogLevelColorMap } from './log.types.ts'
5
+ import type { Theme, ThemePreset } from './theme.types.ts'
6
+ export interface ScreenProps {
7
+ /** Screen title/name displayed in header */
8
+ name: string
9
+ /** Child log messages/file logs */
10
+ children: ReactNode
11
+ /** Enable auto-scroll to bottom on new content */
12
+ stickyScroll?: boolean
13
+ /** Show scroll position indicator */
14
+ showScrollIndicator?: boolean
15
+ /** Screen header background color */
16
+ headerBackgroundColor?: string | RGBA
17
+ /** Screen header text color */
18
+ headerTextColor?: string | RGBA
19
+ /** Whether this screen is currently focused */
20
+ focused?: boolean
21
+ /** Callback when screen is scrolled */
22
+ onScroll?: (scrollTop: number, scrollHeight: number) => void
23
+ }
24
+ export interface ScreenDefinition {
25
+ /** Unique screen identifier */
26
+ id: string
27
+ /** Display name for sidebar */
28
+ name: string
29
+ /** Optional icon/badge character */
30
+ icon?: string
31
+ /** Unread/notification count */
32
+ badgeCount?: number
33
+ }
34
+ export interface ScreenManagerProps {
35
+ /** Screen definitions for the sidebar */
36
+ screens: ScreenDefinition[]
37
+ /** Currently active screen ID */
38
+ activeScreenId: string
39
+ /** Callback when screen selection changes */
40
+ onScreenChange?: (screenId: string) => void
41
+ /** Screen content - should be conditionally rendered based on activeScreenId */
42
+ children: ReactNode
43
+ /** Force show/hide sidebar (overrides auto behavior) */
44
+ sidebarVisible?: boolean
45
+ /** Callback when sidebar visibility changes */
46
+ onSidebarVisibilityChange?: (visible: boolean) => void
47
+ /** Sidebar width (columns) */
48
+ sidebarWidth?: number
49
+ /** Sidebar position */
50
+ sidebarPosition?: 'left' | 'right'
51
+ /** Key to toggle sidebar visibility */
52
+ toggleSidebarKey?: string
53
+ /** Sidebar header title */
54
+ sidebarTitle?: string
55
+ }
56
+ export type FocusArea = 'sidebar' | 'content'
57
+ export interface LoggerContextValue {
58
+ /** Shared SyntaxStyle instance for code highlighting */
59
+ syntaxStyle?: SyntaxStyle
60
+ /** Shared TreeSitterClient for parsing */
61
+ treeSitterClient?: TreeSitterClient
62
+ /** Default colors for log levels (derived from theme for backwards compatibility) */
63
+ levelColors: LogLevelColorMap
64
+ /** Current theme */
65
+ theme: Theme
66
+ }
67
+ export type ScreenStatus = 'waiting' | 'pending' | 'success' | 'fail'
68
+ export interface ScreenOptions {
69
+ name: string
70
+ icon?: string
71
+ badgeCount?: number
72
+ /** Whether the screen is hidden from the sidebar and navigation */
73
+ hidden?: boolean
74
+ }
75
+ export interface BindOptions {
76
+ exitOnCtrlC?: boolean
77
+ sidebarWidth?: number
78
+ sidebarPosition?: 'left' | 'right'
79
+ sidebarTitle?: string
80
+ /** Auto close after all screens complete successfully (delay in ms, default 5000) */
81
+ autoClose?: boolean | number
82
+ /** Theme to use for the TUI (theme object or preset name) */
83
+ theme?: Theme | ThemePreset
84
+ }
85
+ //# sourceMappingURL=screen.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screen.types.d.ts","sourceRoot":"","sources":["../../../src/types/screen.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,WAAW,EAAE,gBAAgB,EAAE,MAAM,eAAe,CAAC;AACzE,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACvC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAC;AACvD,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAM3D,MAAM,WAAW,WAAW;IAC1B,4CAA4C;IAC5C,IAAI,EAAE,MAAM,CAAC;IAEb,mCAAmC;IACnC,QAAQ,EAAE,SAAS,CAAC;IAEpB,kDAAkD;IAClD,YAAY,CAAC,EAAE,OAAO,CAAC;IAEvB,qCAAqC;IACrC,mBAAmB,CAAC,EAAE,OAAO,CAAC;IAE9B,qCAAqC;IACrC,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEtC,+BAA+B;IAC/B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAEhC,+CAA+C;IAC/C,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,uCAAuC;IACvC,QAAQ,CAAC,EAAE,CAAC,SAAS,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,IAAI,CAAC;CAC9D;AAMD,MAAM,WAAW,gBAAgB;IAC/B,+BAA+B;IAC/B,EAAE,EAAE,MAAM,CAAC;IAEX,+BAA+B;IAC/B,IAAI,EAAE,MAAM,CAAC;IAEb,oCAAoC;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IAEd,gCAAgC;IAChC,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,kBAAkB;IACjC,yCAAyC;IACzC,OAAO,EAAE,gBAAgB,EAAE,CAAC;IAE5B,iCAAiC;IACjC,cAAc,EAAE,MAAM,CAAC;IAEvB,6CAA6C;IAC7C,cAAc,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,IAAI,CAAC;IAE5C,gFAAgF;IAChF,QAAQ,EAAE,SAAS,CAAC;IAEpB,wDAAwD;IACxD,cAAc,CAAC,EAAE,OAAO,CAAC;IAEzB,+CAA+C;IAC/C,yBAAyB,CAAC,EAAE,CAAC,OAAO,EAAE,OAAO,KAAK,IAAI,CAAC;IAEvD,8BAA8B;IAC9B,YAAY,CAAC,EAAE,MAAM,CAAC;IAEtB,uBAAuB;IACvB,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IAEnC,uCAAuC;IACvC,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAE1B,2BAA2B;IAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,MAAM,SAAS,GAAG,SAAS,GAAG,SAAS,CAAC;AAM9C,MAAM,WAAW,kBAAkB;IACjC,wDAAwD;IACxD,WAAW,CAAC,EAAE,WAAW,CAAC;IAE1B,0CAA0C;IAC1C,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IAEpC,qFAAqF;IACrF,WAAW,EAAE,gBAAgB,CAAC;IAE9B,oBAAoB;IACpB,KAAK,EAAE,KAAK,CAAC;CACd;AAMD,MAAM,MAAM,YAAY,GAAG,SAAS,GAAG,SAAS,GAAG,SAAS,GAAG,MAAM,CAAC;AAEtE,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,mEAAmE;IACnE,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB;AAED,MAAM,WAAW,WAAW;IAC1B,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;IACnC,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,qFAAqF;IACrF,SAAS,CAAC,EAAE,OAAO,GAAG,MAAM,CAAC;IAC7B,6DAA6D;IAC7D,KAAK,CAAC,EAAE,KAAK,GAAG,WAAW,CAAC;CAC7B"}