@navios/commander-tui 1.1.0 → 1.3.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 (364) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/README.md +69 -1
  3. package/dist/base/src/adapters/index.d.ts +2 -0
  4. package/dist/base/src/adapters/index.d.ts.map +1 -0
  5. package/dist/base/src/adapters/interface.d.ts +45 -0
  6. package/dist/base/src/adapters/interface.d.ts.map +1 -0
  7. package/dist/base/src/components/index.d.ts +2 -0
  8. package/dist/base/src/components/index.d.ts.map +1 -0
  9. package/dist/base/src/context/index.d.ts +2 -0
  10. package/dist/base/src/context/index.d.ts.map +1 -0
  11. package/dist/base/src/factories/index.d.ts +3 -0
  12. package/dist/base/src/factories/index.d.ts.map +1 -0
  13. package/dist/base/src/factories/isomorphic-logger.factory.d.ts +8 -0
  14. package/dist/base/src/factories/isomorphic-logger.factory.d.ts.map +1 -0
  15. package/dist/base/src/factories/screen.factory.d.ts +8 -0
  16. package/dist/base/src/factories/screen.factory.d.ts.map +1 -0
  17. package/dist/base/src/filter/filter_engine.d.ts +19 -0
  18. package/dist/base/src/filter/filter_engine.d.ts.map +1 -0
  19. package/dist/base/src/filter/index.d.ts +2 -0
  20. package/dist/base/src/filter/index.d.ts.map +1 -0
  21. package/dist/base/src/hooks/index.d.ts +2 -0
  22. package/dist/base/src/hooks/index.d.ts.map +1 -0
  23. package/dist/base/src/index.d.ts +16 -0
  24. package/dist/base/src/index.d.ts.map +1 -0
  25. package/dist/base/src/interfaces/index.d.ts +2 -0
  26. package/dist/base/src/interfaces/index.d.ts.map +1 -0
  27. package/dist/base/src/interfaces/isomorphic-logger.d.ts +9 -0
  28. package/dist/base/src/interfaces/isomorphic-logger.d.ts.map +1 -0
  29. package/dist/base/src/keyboard/create_bindings.d.ts +26 -0
  30. package/dist/base/src/keyboard/create_bindings.d.ts.map +1 -0
  31. package/dist/base/src/keyboard/index.d.ts +3 -0
  32. package/dist/base/src/keyboard/index.d.ts.map +1 -0
  33. package/dist/base/src/keyboard/keyboard_manager.d.ts +63 -0
  34. package/dist/base/src/keyboard/keyboard_manager.d.ts.map +1 -0
  35. package/dist/base/src/overrides/console.logger.override.d.ts +3 -0
  36. package/dist/base/src/overrides/console.logger.override.d.ts.map +1 -0
  37. package/dist/base/src/overrides/index.d.ts +3 -0
  38. package/dist/base/src/overrides/index.d.ts.map +1 -0
  39. package/dist/base/src/overrides/missing-adapter.override.d.ts +6 -0
  40. package/dist/base/src/overrides/missing-adapter.override.d.ts.map +1 -0
  41. package/dist/base/src/schemas/index.d.ts +4 -0
  42. package/dist/base/src/schemas/index.d.ts.map +1 -0
  43. package/dist/base/src/schemas/logger-options.d.ts +21 -0
  44. package/dist/base/src/schemas/logger-options.d.ts.map +1 -0
  45. package/dist/base/src/schemas/prompt-options.d.ts +12 -0
  46. package/dist/base/src/schemas/prompt-options.d.ts.map +1 -0
  47. package/dist/base/src/schemas/screen-options.d.ts +10 -0
  48. package/dist/base/src/schemas/screen-options.d.ts.map +1 -0
  49. package/dist/base/src/services/index.d.ts +5 -0
  50. package/dist/base/src/services/index.d.ts.map +1 -0
  51. package/dist/base/src/services/logger.d.ts +52 -0
  52. package/dist/base/src/services/logger.d.ts.map +1 -0
  53. package/dist/base/src/services/prompt.d.ts +31 -0
  54. package/dist/base/src/services/prompt.d.ts.map +1 -0
  55. package/dist/base/src/services/screen.d.ts +161 -0
  56. package/dist/base/src/services/screen.d.ts.map +1 -0
  57. package/dist/base/src/services/screen_manager.d.ts +130 -0
  58. package/dist/base/src/services/screen_manager.d.ts.map +1 -0
  59. package/dist/base/src/themes/dark.d.ts +7 -0
  60. package/dist/base/src/themes/dark.d.ts.map +1 -0
  61. package/dist/base/src/themes/high-contrast.d.ts +7 -0
  62. package/dist/base/src/themes/high-contrast.d.ts.map +1 -0
  63. package/dist/base/src/themes/index.d.ts +5 -0
  64. package/dist/base/src/themes/index.d.ts.map +1 -0
  65. package/dist/base/src/themes/light.d.ts +6 -0
  66. package/dist/base/src/themes/light.d.ts.map +1 -0
  67. package/dist/base/src/themes/utils.d.ts +22 -0
  68. package/dist/base/src/themes/utils.d.ts.map +1 -0
  69. package/dist/base/src/tokens/adapter.d.ts +9 -0
  70. package/dist/base/src/tokens/adapter.d.ts.map +1 -0
  71. package/dist/base/src/tokens/index.d.ts +6 -0
  72. package/dist/base/src/tokens/index.d.ts.map +1 -0
  73. package/dist/base/src/tokens/logger.d.ts +44 -0
  74. package/dist/base/src/tokens/logger.d.ts.map +1 -0
  75. package/dist/base/src/tokens/prompt.d.ts +12 -0
  76. package/dist/base/src/tokens/prompt.d.ts.map +1 -0
  77. package/dist/base/src/tokens/screen-manager.d.ts +8 -0
  78. package/dist/base/src/tokens/screen-manager.d.ts.map +1 -0
  79. package/dist/base/src/tokens/screen.d.ts +10 -0
  80. package/dist/base/src/tokens/screen.d.ts.map +1 -0
  81. package/dist/base/src/types/file.types.d.ts +40 -0
  82. package/dist/base/src/types/file.types.d.ts.map +1 -0
  83. package/dist/base/src/types/filter.types.d.ts +31 -0
  84. package/dist/base/src/types/filter.types.d.ts.map +1 -0
  85. package/dist/base/src/types/index.d.ts +9 -0
  86. package/dist/base/src/types/index.d.ts.map +1 -0
  87. package/dist/base/src/types/keyboard.types.d.ts +83 -0
  88. package/dist/base/src/types/keyboard.types.d.ts.map +1 -0
  89. package/dist/base/src/types/log.types.d.ts +39 -0
  90. package/dist/base/src/types/log.types.d.ts.map +1 -0
  91. package/dist/base/src/types/message.types.d.ts +82 -0
  92. package/dist/base/src/types/message.types.d.ts.map +1 -0
  93. package/dist/base/src/types/prompt.types.d.ts +85 -0
  94. package/dist/base/src/types/prompt.types.d.ts.map +1 -0
  95. package/dist/base/src/types/screen.types.d.ts +79 -0
  96. package/dist/base/src/types/screen.types.d.ts.map +1 -0
  97. package/dist/base/src/types/theme.types.d.ts +217 -0
  98. package/dist/base/src/types/theme.types.d.ts.map +1 -0
  99. package/dist/base/src/utils/colors/file-colors.d.ts +10 -0
  100. package/dist/base/src/utils/colors/file-colors.d.ts.map +1 -0
  101. package/dist/base/src/utils/colors/helpers.d.ts +26 -0
  102. package/dist/base/src/utils/colors/helpers.d.ts.map +1 -0
  103. package/dist/base/src/utils/colors/index.d.ts +8 -0
  104. package/dist/base/src/utils/colors/index.d.ts.map +1 -0
  105. package/dist/base/src/utils/colors/log-colors.d.ts +19 -0
  106. package/dist/base/src/utils/colors/log-colors.d.ts.map +1 -0
  107. package/dist/base/src/utils/colors/progress-colors.d.ts +25 -0
  108. package/dist/base/src/utils/colors/progress-colors.d.ts.map +1 -0
  109. package/dist/base/src/utils/colors/prompt-colors.d.ts +22 -0
  110. package/dist/base/src/utils/colors/prompt-colors.d.ts.map +1 -0
  111. package/dist/base/src/utils/colors/sidebar-colors.d.ts +50 -0
  112. package/dist/base/src/utils/colors/sidebar-colors.d.ts.map +1 -0
  113. package/dist/base/src/utils/colors/table-colors.d.ts +12 -0
  114. package/dist/base/src/utils/colors/table-colors.d.ts.map +1 -0
  115. package/dist/base/src/utils/filetype.d.ts +19 -0
  116. package/dist/base/src/utils/filetype.d.ts.map +1 -0
  117. package/dist/base/src/utils/format.d.ts +9 -0
  118. package/dist/base/src/utils/format.d.ts.map +1 -0
  119. package/dist/base/src/utils/index.d.ts +5 -0
  120. package/dist/base/src/utils/index.d.ts.map +1 -0
  121. package/dist/base/src/utils/stdout-printer.d.ts +6 -0
  122. package/dist/base/src/utils/stdout-printer.d.ts.map +1 -0
  123. package/dist/base/tsconfig.base.tsbuildinfo +1 -0
  124. package/dist/react/src/adapters/react/components/file/file_log.d.ts +35 -0
  125. package/dist/react/src/adapters/react/components/file/file_log.d.ts.map +1 -0
  126. package/dist/react/src/adapters/react/components/file/index.d.ts +2 -0
  127. package/dist/react/src/adapters/react/components/file/index.d.ts.map +1 -0
  128. package/dist/react/src/adapters/react/components/filter/filter_bar.d.ts +7 -0
  129. package/dist/react/src/adapters/react/components/filter/filter_bar.d.ts.map +1 -0
  130. package/dist/react/src/adapters/react/components/filter/index.d.ts +2 -0
  131. package/dist/react/src/adapters/react/components/filter/index.d.ts.map +1 -0
  132. package/dist/react/src/adapters/react/components/help/help_overlay.d.ts +6 -0
  133. package/dist/react/src/adapters/react/components/help/help_overlay.d.ts.map +1 -0
  134. package/dist/react/src/adapters/react/components/help/index.d.ts +2 -0
  135. package/dist/react/src/adapters/react/components/help/index.d.ts.map +1 -0
  136. package/dist/react/src/adapters/react/components/log/index.d.ts +2 -0
  137. package/dist/react/src/adapters/react/components/log/index.d.ts.map +1 -0
  138. package/dist/react/src/adapters/react/components/log/log_message.d.ts +28 -0
  139. package/dist/react/src/adapters/react/components/log/log_message.d.ts.map +1 -0
  140. package/dist/react/src/adapters/react/components/prompt/index.d.ts +3 -0
  141. package/dist/react/src/adapters/react/components/prompt/index.d.ts.map +1 -0
  142. package/dist/react/src/adapters/react/components/prompt/prompt_renderer.d.ts +6 -0
  143. package/dist/react/src/adapters/react/components/prompt/prompt_renderer.d.ts.map +1 -0
  144. package/dist/react/src/adapters/react/components/screen/group_renderer.d.ts +14 -0
  145. package/dist/react/src/adapters/react/components/screen/group_renderer.d.ts.map +1 -0
  146. package/dist/react/src/adapters/react/components/screen/index.d.ts +7 -0
  147. package/dist/react/src/adapters/react/components/screen/index.d.ts.map +1 -0
  148. package/dist/react/src/adapters/react/components/screen/loading_message.d.ts +6 -0
  149. package/dist/react/src/adapters/react/components/screen/loading_message.d.ts.map +1 -0
  150. package/dist/react/src/adapters/react/components/screen/message_renderer.d.ts +6 -0
  151. package/dist/react/src/adapters/react/components/screen/message_renderer.d.ts.map +1 -0
  152. package/dist/react/src/adapters/react/components/screen/progress_message.d.ts +6 -0
  153. package/dist/react/src/adapters/react/components/screen/progress_message.d.ts.map +1 -0
  154. package/dist/react/src/adapters/react/components/screen/screen_bridge.d.ts +14 -0
  155. package/dist/react/src/adapters/react/components/screen/screen_bridge.d.ts.map +1 -0
  156. package/dist/react/src/adapters/react/components/screen/table_message.d.ts +6 -0
  157. package/dist/react/src/adapters/react/components/screen/table_message.d.ts.map +1 -0
  158. package/dist/react/src/adapters/react/components/screen_manager_bridge.d.ts +8 -0
  159. package/dist/react/src/adapters/react/components/screen_manager_bridge.d.ts.map +1 -0
  160. package/dist/react/src/adapters/react/components/sidebar/index.d.ts +4 -0
  161. package/dist/react/src/adapters/react/components/sidebar/index.d.ts.map +1 -0
  162. package/dist/react/src/adapters/react/components/sidebar/sidebar.d.ts +11 -0
  163. package/dist/react/src/adapters/react/components/sidebar/sidebar.d.ts.map +1 -0
  164. package/dist/react/src/adapters/react/components/sidebar/sidebar_item.d.ts +9 -0
  165. package/dist/react/src/adapters/react/components/sidebar/sidebar_item.d.ts.map +1 -0
  166. package/dist/react/src/adapters/react/components/sidebar/sidebar_separator.d.ts +2 -0
  167. package/dist/react/src/adapters/react/components/sidebar/sidebar_separator.d.ts.map +1 -0
  168. package/dist/react/src/adapters/react/context/index.d.ts +2 -0
  169. package/dist/react/src/adapters/react/context/index.d.ts.map +1 -0
  170. package/dist/react/src/adapters/react/context/logger_context.d.ts +53 -0
  171. package/dist/react/src/adapters/react/context/logger_context.d.ts.map +1 -0
  172. package/dist/react/src/adapters/react/hooks/index.d.ts +2 -0
  173. package/dist/react/src/adapters/react/hooks/index.d.ts.map +1 -0
  174. package/dist/react/src/adapters/react/hooks/use_theme.d.ts +7 -0
  175. package/dist/react/src/adapters/react/hooks/use_theme.d.ts.map +1 -0
  176. package/dist/react/src/adapters/react/index.d.ts +13 -0
  177. package/dist/react/src/adapters/react/index.d.ts.map +1 -0
  178. package/dist/react/tsconfig.react.tsbuildinfo +1 -0
  179. package/dist/solid/src/adapters/solid/components/file/file_log.d.ts +35 -0
  180. package/dist/solid/src/adapters/solid/components/file/file_log.d.ts.map +1 -0
  181. package/dist/solid/src/adapters/solid/components/file/index.d.ts +2 -0
  182. package/dist/solid/src/adapters/solid/components/file/index.d.ts.map +1 -0
  183. package/dist/solid/src/adapters/solid/components/filter/filter_bar.d.ts +7 -0
  184. package/dist/solid/src/adapters/solid/components/filter/filter_bar.d.ts.map +1 -0
  185. package/dist/solid/src/adapters/solid/components/filter/index.d.ts +2 -0
  186. package/dist/solid/src/adapters/solid/components/filter/index.d.ts.map +1 -0
  187. package/dist/solid/src/adapters/solid/components/help/help_overlay.d.ts +6 -0
  188. package/dist/solid/src/adapters/solid/components/help/help_overlay.d.ts.map +1 -0
  189. package/dist/solid/src/adapters/solid/components/help/index.d.ts +2 -0
  190. package/dist/solid/src/adapters/solid/components/help/index.d.ts.map +1 -0
  191. package/dist/solid/src/adapters/solid/components/log/index.d.ts +2 -0
  192. package/dist/solid/src/adapters/solid/components/log/index.d.ts.map +1 -0
  193. package/dist/solid/src/adapters/solid/components/log/log_message.d.ts +31 -0
  194. package/dist/solid/src/adapters/solid/components/log/log_message.d.ts.map +1 -0
  195. package/dist/solid/src/adapters/solid/components/prompt/index.d.ts +3 -0
  196. package/dist/solid/src/adapters/solid/components/prompt/index.d.ts.map +1 -0
  197. package/dist/solid/src/adapters/solid/components/prompt/prompt_renderer.d.ts +6 -0
  198. package/dist/solid/src/adapters/solid/components/prompt/prompt_renderer.d.ts.map +1 -0
  199. package/dist/solid/src/adapters/solid/components/screen/group_renderer.d.ts +14 -0
  200. package/dist/solid/src/adapters/solid/components/screen/group_renderer.d.ts.map +1 -0
  201. package/dist/solid/src/adapters/solid/components/screen/index.d.ts +7 -0
  202. package/dist/solid/src/adapters/solid/components/screen/index.d.ts.map +1 -0
  203. package/dist/solid/src/adapters/solid/components/screen/loading_message.d.ts +6 -0
  204. package/dist/solid/src/adapters/solid/components/screen/loading_message.d.ts.map +1 -0
  205. package/dist/solid/src/adapters/solid/components/screen/message_renderer.d.ts +6 -0
  206. package/dist/solid/src/adapters/solid/components/screen/message_renderer.d.ts.map +1 -0
  207. package/dist/solid/src/adapters/solid/components/screen/progress_message.d.ts +6 -0
  208. package/dist/solid/src/adapters/solid/components/screen/progress_message.d.ts.map +1 -0
  209. package/dist/solid/src/adapters/solid/components/screen/screen_bridge.d.ts +14 -0
  210. package/dist/solid/src/adapters/solid/components/screen/screen_bridge.d.ts.map +1 -0
  211. package/dist/solid/src/adapters/solid/components/screen/table_message.d.ts +6 -0
  212. package/dist/solid/src/adapters/solid/components/screen/table_message.d.ts.map +1 -0
  213. package/dist/solid/src/adapters/solid/components/screen_manager_bridge.d.ts +8 -0
  214. package/dist/solid/src/adapters/solid/components/screen_manager_bridge.d.ts.map +1 -0
  215. package/dist/solid/src/adapters/solid/components/sidebar/index.d.ts +4 -0
  216. package/dist/solid/src/adapters/solid/components/sidebar/index.d.ts.map +1 -0
  217. package/dist/solid/src/adapters/solid/components/sidebar/sidebar.d.ts +11 -0
  218. package/dist/solid/src/adapters/solid/components/sidebar/sidebar.d.ts.map +1 -0
  219. package/dist/solid/src/adapters/solid/components/sidebar/sidebar_item.d.ts +9 -0
  220. package/dist/solid/src/adapters/solid/components/sidebar/sidebar_item.d.ts.map +1 -0
  221. package/dist/solid/src/adapters/solid/components/sidebar/sidebar_separator.d.ts +2 -0
  222. package/dist/solid/src/adapters/solid/components/sidebar/sidebar_separator.d.ts.map +1 -0
  223. package/dist/solid/src/adapters/solid/context/index.d.ts +3 -0
  224. package/dist/solid/src/adapters/solid/context/index.d.ts.map +1 -0
  225. package/dist/solid/src/adapters/solid/context/logger_context.d.ts +52 -0
  226. package/dist/solid/src/adapters/solid/context/logger_context.d.ts.map +1 -0
  227. package/dist/solid/src/adapters/solid/hooks/index.d.ts +2 -0
  228. package/dist/solid/src/adapters/solid/hooks/index.d.ts.map +1 -0
  229. package/dist/solid/src/adapters/solid/hooks/use_theme.d.ts +7 -0
  230. package/dist/solid/src/adapters/solid/hooks/use_theme.d.ts.map +1 -0
  231. package/dist/solid/src/adapters/solid/index.d.ts +13 -0
  232. package/dist/solid/src/adapters/solid/index.d.ts.map +1 -0
  233. package/dist/solid/tsconfig.solid.tsbuildinfo +1 -0
  234. package/dist/tsconfig.base.tsbuildinfo +1 -0
  235. package/dist/tsconfig.react.tsbuildinfo +1 -0
  236. package/dist/tsconfig.solid.tsbuildinfo +1 -0
  237. package/dist/tsconfig.tsbuildinfo +1 -1
  238. package/lib/adapters/react/index.cjs +1768 -0
  239. package/lib/adapters/react/index.cjs.map +1 -0
  240. package/lib/adapters/react/index.d.cts +80 -0
  241. package/lib/adapters/react/index.d.mts +80 -0
  242. package/lib/adapters/react/index.mjs +1760 -0
  243. package/lib/adapters/react/index.mjs.map +1 -0
  244. package/lib/adapters/solid/index.cjs +3855 -0
  245. package/lib/adapters/solid/index.cjs.map +1 -0
  246. package/lib/adapters/solid/index.d.cts +74 -0
  247. package/lib/adapters/solid/index.d.mts +74 -0
  248. package/lib/adapters/solid/index.mjs +3847 -0
  249. package/lib/adapters/solid/index.mjs.map +1 -0
  250. package/lib/filter_engine-DXqu9Vaq.cjs +1836 -0
  251. package/lib/filter_engine-DXqu9Vaq.cjs.map +1 -0
  252. package/lib/filter_engine-DmqhEhpA.mjs +1609 -0
  253. package/lib/filter_engine-DmqhEhpA.mjs.map +1 -0
  254. package/lib/index.cjs +1693 -1087
  255. package/lib/index.cjs.map +1 -1
  256. package/lib/index.d.cts +274 -1129
  257. package/lib/index.d.mts +294 -1149
  258. package/lib/index.mjs +1640 -1032
  259. package/lib/index.mjs.map +1 -1
  260. package/lib/interface-CTHQ08aY.d.mts +699 -0
  261. package/lib/interface-DQEIz9Mb.d.cts +699 -0
  262. package/package.json +25 -1
  263. package/project.json +2 -2
  264. package/src/__tests__/components/filter_bar.spec.tsx +1 -1
  265. package/src/__tests__/components/loading_message.spec.tsx +1 -1
  266. package/src/__tests__/components/log_message.spec.tsx +1 -1
  267. package/src/__tests__/components/progress_message.spec.tsx +1 -1
  268. package/src/__tests__/components/prompt_renderer.spec.tsx +1 -1
  269. package/src/__tests__/components/sidebar.spec.tsx +1 -1
  270. package/src/__tests__/services/logger.spec.ts +5 -3
  271. package/src/__tests__/utils/render-utils.tsx +1 -1
  272. package/src/adapters/index.ts +2 -0
  273. package/src/adapters/interface.ts +50 -0
  274. package/src/{components → adapters/react/components}/file/file_log.tsx +2 -2
  275. package/src/{components → adapters/react/components}/filter/filter_bar.tsx +2 -2
  276. package/src/{components → adapters/react/components}/help/help_overlay.tsx +2 -2
  277. package/src/{components → adapters/react/components}/log/log_message.tsx +2 -2
  278. package/src/{components → adapters/react/components}/prompt/prompt_renderer.tsx +1 -1
  279. package/src/{components → adapters/react/components}/screen/group_renderer.tsx +1 -1
  280. package/src/{components → adapters/react/components}/screen/loading_message.tsx +2 -3
  281. package/src/{components → adapters/react/components}/screen/message_renderer.tsx +1 -1
  282. package/src/{components → adapters/react/components}/screen/progress_message.tsx +1 -1
  283. package/src/{components → adapters/react/components}/screen/screen_bridge.tsx +2 -2
  284. package/src/{components → adapters/react/components}/screen/table_message.tsx +2 -2
  285. package/src/{components → adapters/react/components}/screen_manager_bridge.tsx +5 -5
  286. package/src/{components → adapters/react/components}/sidebar/sidebar.tsx +1 -1
  287. package/src/{components → adapters/react/components}/sidebar/sidebar_item.tsx +1 -1
  288. package/src/adapters/react/context/index.ts +1 -0
  289. package/src/{context → adapters/react/context}/logger_context.tsx +2 -2
  290. package/src/adapters/react/hooks/index.ts +1 -0
  291. package/src/{hooks → adapters/react/hooks}/use_theme.ts +1 -1
  292. package/src/adapters/react/index.ts +39 -0
  293. package/src/adapters/solid/components/file/file_log.tsx +221 -0
  294. package/src/adapters/solid/components/file/index.ts +1 -0
  295. package/src/adapters/solid/components/filter/filter_bar.tsx +84 -0
  296. package/src/adapters/solid/components/filter/index.ts +1 -0
  297. package/src/adapters/solid/components/help/help_overlay.tsx +106 -0
  298. package/src/adapters/solid/components/help/index.ts +1 -0
  299. package/src/adapters/solid/components/log/index.ts +1 -0
  300. package/src/adapters/solid/components/log/log_message.tsx +92 -0
  301. package/src/adapters/solid/components/prompt/index.ts +2 -0
  302. package/src/adapters/solid/components/prompt/prompt_renderer.tsx +350 -0
  303. package/src/adapters/solid/components/screen/group_renderer.tsx +61 -0
  304. package/src/adapters/solid/components/screen/index.ts +6 -0
  305. package/src/adapters/solid/components/screen/loading_message.tsx +39 -0
  306. package/src/adapters/solid/components/screen/message_renderer.tsx +122 -0
  307. package/src/adapters/solid/components/screen/progress_message.tsx +61 -0
  308. package/src/adapters/solid/components/screen/screen_bridge.tsx +155 -0
  309. package/src/adapters/solid/components/screen/table_message.tsx +58 -0
  310. package/src/adapters/solid/components/screen_manager_bridge.tsx +243 -0
  311. package/src/adapters/solid/components/sidebar/index.ts +3 -0
  312. package/src/adapters/solid/components/sidebar/sidebar.tsx +108 -0
  313. package/src/adapters/solid/components/sidebar/sidebar_item.tsx +55 -0
  314. package/src/adapters/solid/components/sidebar/sidebar_separator.tsx +13 -0
  315. package/src/adapters/solid/context/index.ts +2 -0
  316. package/src/adapters/solid/context/logger_context.tsx +95 -0
  317. package/src/adapters/solid/hooks/index.ts +1 -0
  318. package/src/adapters/solid/hooks/use_theme.ts +12 -0
  319. package/src/adapters/solid/index.tsx +43 -0
  320. package/src/adapters/solid/jsx.d.ts +98 -0
  321. package/src/components/index.ts +3 -15
  322. package/src/context/index.ts +3 -1
  323. package/src/factories/index.ts +1 -0
  324. package/src/factories/isomorphic-logger.factory.ts +22 -0
  325. package/src/factories/screen.factory.ts +2 -2
  326. package/src/hooks/index.ts +3 -1
  327. package/src/index.ts +10 -0
  328. package/src/interfaces/index.ts +1 -0
  329. package/src/interfaces/isomorphic-logger.ts +9 -0
  330. package/src/keyboard/create_bindings.ts +2 -2
  331. package/src/overrides/index.ts +1 -0
  332. package/src/overrides/missing-adapter.override.ts +20 -0
  333. package/src/services/index.ts +1 -1
  334. package/src/services/logger.ts +1 -1
  335. package/src/services/screen.ts +3 -3
  336. package/src/services/{screen_manager.tsx → screen_manager.ts} +22 -11
  337. package/src/tokens/adapter.ts +10 -0
  338. package/src/tokens/index.ts +2 -0
  339. package/src/tokens/logger.ts +9 -0
  340. package/src/tokens/screen-manager.ts +9 -0
  341. package/src/types/screen.types.ts +1 -1
  342. package/src/utils/format.ts +3 -2
  343. package/tsconfig.base.json +31 -0
  344. package/tsconfig.json +6 -12
  345. package/tsconfig.react.json +16 -0
  346. package/tsconfig.solid.json +16 -0
  347. package/tsdown.config.mts +69 -16
  348. package/vitest.config.mts +20 -0
  349. package/lib/index.d.cts.map +0 -1
  350. package/lib/index.d.mts.map +0 -1
  351. package/lib/screen_manager_bridge-Cp2p1Ix3.cjs +0 -3
  352. package/lib/screen_manager_bridge-D2BBwKcF.mjs +0 -3046
  353. package/lib/screen_manager_bridge-D2BBwKcF.mjs.map +0 -1
  354. package/lib/screen_manager_bridge-DT-l0rxa.mjs +0 -3
  355. package/lib/screen_manager_bridge-hMUrLiBP.cjs +0 -3369
  356. package/lib/screen_manager_bridge-hMUrLiBP.cjs.map +0 -1
  357. /package/src/{components → adapters/react/components}/file/index.ts +0 -0
  358. /package/src/{components → adapters/react/components}/filter/index.ts +0 -0
  359. /package/src/{components → adapters/react/components}/help/index.ts +0 -0
  360. /package/src/{components → adapters/react/components}/log/index.ts +0 -0
  361. /package/src/{components → adapters/react/components}/prompt/index.ts +0 -0
  362. /package/src/{components → adapters/react/components}/screen/index.ts +0 -0
  363. /package/src/{components → adapters/react/components}/sidebar/index.ts +0 -0
  364. /package/src/{components → adapters/react/components}/sidebar/sidebar_separator.tsx +0 -0
@@ -0,0 +1,699 @@
1
+ import { CliRenderer, RGBA, SyntaxStyle, TreeSitterClient } from "@opentui/core";
2
+ import { LogLevel } from "@navios/core";
3
+ import { ReactNode } from "react";
4
+
5
+ //#region src/types/message.types.d.ts
6
+ type MessageType = 'log' | 'file' | 'diff' | 'fileError' | 'loading' | 'progress' | 'group' | 'table';
7
+ interface BaseMessage {
8
+ id: string;
9
+ type: MessageType;
10
+ timestamp: Date;
11
+ }
12
+ /**
13
+ * Semantic variants for log messages that don't map directly to LogLevel.
14
+ * These affect styling but the underlying LogLevel is used for filtering.
15
+ */
16
+ type LogMessageVariant = 'success' | 'trace';
17
+ interface LogMessageData extends BaseMessage {
18
+ type: 'log';
19
+ level: LogLevel;
20
+ /** Content is always a string - objects are formatted before storage */
21
+ content: string;
22
+ label?: string;
23
+ trace?: string;
24
+ /** Optional semantic variant for styling (e.g., 'success' shows green even though level is 'log') */
25
+ variant?: LogMessageVariant;
26
+ }
27
+ interface FileMessageData extends BaseMessage {
28
+ type: 'file';
29
+ filePath: string;
30
+ content: string;
31
+ }
32
+ interface DiffMessageData extends BaseMessage {
33
+ type: 'diff';
34
+ filePath: string;
35
+ diff: string;
36
+ view?: 'unified' | 'split';
37
+ }
38
+ interface FileErrorMessageData extends BaseMessage {
39
+ type: 'fileError';
40
+ filePath: string;
41
+ content: string;
42
+ errorLines: number[];
43
+ startLine: number;
44
+ }
45
+ interface LoadingMessageData extends BaseMessage {
46
+ type: 'loading';
47
+ content: string;
48
+ status: 'loading' | 'success' | 'fail';
49
+ resolvedContent?: string;
50
+ }
51
+ interface ProgressMessageData extends BaseMessage {
52
+ type: 'progress';
53
+ label: string;
54
+ current: number;
55
+ total: number;
56
+ status: 'active' | 'complete' | 'failed';
57
+ resolvedContent?: string;
58
+ }
59
+ interface GroupMessageData extends BaseMessage {
60
+ type: 'group';
61
+ label: string;
62
+ collapsed: boolean;
63
+ isEnd: boolean;
64
+ }
65
+ interface TableMessageData extends BaseMessage {
66
+ type: 'table';
67
+ headers: string[];
68
+ rows: string[][];
69
+ title?: string;
70
+ }
71
+ type MessageData = LogMessageData | FileMessageData | DiffMessageData | FileErrorMessageData | LoadingMessageData | ProgressMessageData | GroupMessageData | TableMessageData;
72
+ interface PromiseOptions<T> {
73
+ loading: string;
74
+ success: string | ((data: T) => string);
75
+ error: string | ((error: Error) => string);
76
+ }
77
+ interface LoadingHandle {
78
+ success: (message: string) => void;
79
+ fail: (message: string) => void;
80
+ }
81
+ interface ProgressHandle {
82
+ update: (current: number, label?: string) => void;
83
+ complete: (message?: string) => void;
84
+ fail: (message?: string) => void;
85
+ }
86
+ //#endregion
87
+ //#region src/types/log.types.d.ts
88
+ interface LogLevelColors {
89
+ border: string;
90
+ background: string;
91
+ text?: string;
92
+ }
93
+ type LogLevelColorMap = Record<LogLevel, LogLevelColors>;
94
+ /**
95
+ * Color map for semantic variants (success, trace) that override level colors.
96
+ */
97
+ type VariantColorMap = Record<LogMessageVariant, LogLevelColors>;
98
+ interface LogMessageProps {
99
+ /** Log level determines the color scheme */
100
+ level: LogLevel;
101
+ /** Optional semantic variant for styling (e.g., 'success' shows green even though level is 'log') */
102
+ variant?: LogMessageVariant;
103
+ /** Message content - can be string or React nodes */
104
+ children: ReactNode;
105
+ /** Optional timestamp to display */
106
+ timestamp?: Date | string;
107
+ /** Optional label/prefix (e.g., "API", "Database") */
108
+ label?: string;
109
+ /** Optional stack trace to display (for trace level) */
110
+ trace?: string;
111
+ /** Optional custom border color (overrides level color) */
112
+ borderColor?: string | RGBA;
113
+ /** Optional custom background color (overrides level color) */
114
+ backgroundColor?: string | RGBA;
115
+ /** Border width style - 'thin' uses left border only, 'thick' uses left+top+bottom */
116
+ borderStyle?: 'thin' | 'thick';
117
+ /** Padding inside the message box */
118
+ padding?: number;
119
+ /** Margin around the message */
120
+ margin?: number;
121
+ }
122
+ //#endregion
123
+ //#region src/types/file.types.d.ts
124
+ type FileLogMode = 'full' | 'diff' | 'partial';
125
+ interface FileLogBaseProps {
126
+ /** File path or name to display in header */
127
+ filePath: string;
128
+ /** Override auto-detected filetype for syntax highlighting */
129
+ filetype?: string;
130
+ /** Show line numbers */
131
+ showLineNumbers?: boolean;
132
+ /** Show header with file path */
133
+ showHeader?: boolean;
134
+ /** Custom header background color */
135
+ headerBackgroundColor?: string | RGBA;
136
+ }
137
+ interface FileLogFullProps extends FileLogBaseProps {
138
+ mode: 'full';
139
+ /** The complete file content */
140
+ content: string;
141
+ }
142
+ interface FileLogDiffProps extends FileLogBaseProps {
143
+ mode: 'diff';
144
+ /** Unified diff string */
145
+ diff: string;
146
+ /** Diff view mode */
147
+ view?: 'unified' | 'split';
148
+ }
149
+ interface FileLogPartialProps extends FileLogBaseProps {
150
+ mode: 'partial';
151
+ /** File content (full or partial) */
152
+ content: string;
153
+ /** Starting line number of the content (1-indexed) */
154
+ startLine: number;
155
+ /** Lines to highlight as errors */
156
+ errorLines?: number[];
157
+ /** Error highlighting colors */
158
+ errorLineBackground?: string | RGBA;
159
+ errorLineBorderColor?: string | RGBA;
160
+ }
161
+ type FileLogProps = FileLogFullProps | FileLogDiffProps | FileLogPartialProps;
162
+ //#endregion
163
+ //#region src/types/theme.types.d.ts
164
+ /**
165
+ * Color scheme for a single log level.
166
+ */
167
+ interface LogLevelTheme {
168
+ border: string;
169
+ background: string;
170
+ text?: string;
171
+ }
172
+ /**
173
+ * Sidebar color scheme.
174
+ */
175
+ interface SidebarTheme {
176
+ background?: string;
177
+ selectedBackground: string;
178
+ hoverBackground: string;
179
+ text: string;
180
+ textDim: string;
181
+ border: string;
182
+ badge: string;
183
+ focusBorder: string;
184
+ }
185
+ /**
186
+ * Screen header color scheme.
187
+ */
188
+ interface HeaderTheme {
189
+ background?: string;
190
+ text: string;
191
+ border: string;
192
+ }
193
+ /**
194
+ * Status indicator with icon and color.
195
+ */
196
+ interface StatusIndicator {
197
+ icon: string;
198
+ color: string;
199
+ }
200
+ /**
201
+ * Status indicators for all screen states.
202
+ */
203
+ interface StatusIndicatorsTheme {
204
+ waiting: StatusIndicator;
205
+ pending: StatusIndicator;
206
+ success: StatusIndicator;
207
+ fail: StatusIndicator;
208
+ static: StatusIndicator;
209
+ }
210
+ /**
211
+ * Separator colors for sidebar sections.
212
+ */
213
+ interface SeparatorTheme {
214
+ line: string;
215
+ text: string;
216
+ }
217
+ /**
218
+ * Progress bar and loading indicator colors.
219
+ */
220
+ interface ProgressTheme {
221
+ border: string;
222
+ background: string;
223
+ barFilled: string;
224
+ barEmpty: string;
225
+ text: string;
226
+ textDim: string;
227
+ complete: string;
228
+ completeBackground: string;
229
+ failed: string;
230
+ failedBackground: string;
231
+ }
232
+ /**
233
+ * Collapsible group colors.
234
+ */
235
+ interface GroupTheme {
236
+ border: string;
237
+ background: string;
238
+ headerText: string;
239
+ icon: string;
240
+ }
241
+ /**
242
+ * Table display colors.
243
+ */
244
+ interface TableTheme {
245
+ border: string;
246
+ background: string;
247
+ headerText: string;
248
+ cellText: string;
249
+ title: string;
250
+ separator: string;
251
+ }
252
+ /**
253
+ * File display colors.
254
+ */
255
+ interface FileTheme {
256
+ border: string;
257
+ background: string;
258
+ headerText: string;
259
+ headerBackground: string;
260
+ }
261
+ /**
262
+ * Interactive prompt colors.
263
+ */
264
+ interface PromptTheme {
265
+ question: string;
266
+ optionText: string;
267
+ optionTextDim: string;
268
+ optionSelected: string;
269
+ optionSelectedBackground: string;
270
+ confirmButton: string;
271
+ cancelButton: string;
272
+ buttonBackground: string;
273
+ buttonSelectedBackground: string;
274
+ inputBorder: string;
275
+ inputBackground: string;
276
+ inputText: string;
277
+ inputPlaceholder: string;
278
+ inputCursor: string;
279
+ border: string;
280
+ focusBorder: string;
281
+ }
282
+ /**
283
+ * Error highlighting colors for file displays.
284
+ */
285
+ interface ErrorHighlightTheme {
286
+ background: string;
287
+ border: string;
288
+ gutterBackground: string;
289
+ }
290
+ /**
291
+ * Filter bar colors.
292
+ */
293
+ interface FilterTheme {
294
+ background: string;
295
+ border: string;
296
+ text: string;
297
+ textDim: string;
298
+ inputBackground: string;
299
+ inputText: string;
300
+ inputPlaceholder: string;
301
+ cursor: string;
302
+ activeLevel: string;
303
+ inactiveLevel: string;
304
+ }
305
+ /**
306
+ * Help overlay colors.
307
+ */
308
+ interface HelpTheme {
309
+ background: string;
310
+ border: string;
311
+ title: string;
312
+ category: string;
313
+ key: string;
314
+ description: string;
315
+ hint: string;
316
+ }
317
+ /**
318
+ * General semantic colors.
319
+ */
320
+ interface SemanticColors {
321
+ primary: string;
322
+ secondary: string;
323
+ success: string;
324
+ warning: string;
325
+ error: string;
326
+ muted: string;
327
+ background?: string;
328
+ foreground: string;
329
+ }
330
+ /**
331
+ * Complete theme definition.
332
+ */
333
+ interface Theme {
334
+ /** Theme identifier */
335
+ name: string;
336
+ /** Log level color schemes */
337
+ logLevels: Record<LogLevel, LogLevelTheme>;
338
+ /** Sidebar colors */
339
+ sidebar: SidebarTheme;
340
+ /** Screen header colors */
341
+ header: HeaderTheme;
342
+ /** Status indicator colors and icons */
343
+ statusIndicators: StatusIndicatorsTheme;
344
+ /** Separator colors */
345
+ separator: SeparatorTheme;
346
+ /** Progress bar colors */
347
+ progress: ProgressTheme;
348
+ /** Collapsible group colors */
349
+ group: GroupTheme;
350
+ /** Table display colors */
351
+ table: TableTheme;
352
+ /** File display colors */
353
+ file: FileTheme;
354
+ /** Prompt colors */
355
+ prompt: PromptTheme;
356
+ /** Error highlighting colors */
357
+ errorHighlight: ErrorHighlightTheme;
358
+ /** Filter bar colors */
359
+ filter: FilterTheme;
360
+ /** Help overlay colors */
361
+ help: HelpTheme;
362
+ /** General semantic colors */
363
+ colors: SemanticColors;
364
+ }
365
+ /**
366
+ * Theme preset names.
367
+ */
368
+ type ThemePreset = 'dark' | 'light' | 'high-contrast';
369
+ /**
370
+ * Deep partial type for theme overrides.
371
+ */
372
+ type DeepPartial<T> = { [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P] };
373
+ /**
374
+ * Partial theme for creating custom themes.
375
+ */
376
+ type PartialTheme = DeepPartial<Theme>;
377
+ //#endregion
378
+ //#region src/types/screen.types.d.ts
379
+ interface ScreenProps {
380
+ /** Screen title/name displayed in header */
381
+ name: string;
382
+ /** Child log messages/file logs */
383
+ children: ReactNode;
384
+ /** Enable auto-scroll to bottom on new content */
385
+ stickyScroll?: boolean;
386
+ /** Show scroll position indicator */
387
+ showScrollIndicator?: boolean;
388
+ /** Screen header background color */
389
+ headerBackgroundColor?: string | RGBA;
390
+ /** Screen header text color */
391
+ headerTextColor?: string | RGBA;
392
+ /** Whether this screen is currently focused */
393
+ focused?: boolean;
394
+ /** Callback when screen is scrolled */
395
+ onScroll?: (scrollTop: number, scrollHeight: number) => void;
396
+ }
397
+ interface ScreenDefinition {
398
+ /** Unique screen identifier */
399
+ id: string;
400
+ /** Display name for sidebar */
401
+ name: string;
402
+ /** Optional icon/badge character */
403
+ icon?: string;
404
+ /** Unread/notification count */
405
+ badgeCount?: number;
406
+ }
407
+ interface ScreenManagerProps {
408
+ /** Screen definitions for the sidebar */
409
+ screens: ScreenDefinition[];
410
+ /** Currently active screen ID */
411
+ activeScreenId: string;
412
+ /** Callback when screen selection changes */
413
+ onScreenChange?: (screenId: string) => void;
414
+ /** Screen content - should be conditionally rendered based on activeScreenId */
415
+ children: ReactNode;
416
+ /** Force show/hide sidebar (overrides auto behavior) */
417
+ sidebarVisible?: boolean;
418
+ /** Callback when sidebar visibility changes */
419
+ onSidebarVisibilityChange?: (visible: boolean) => void;
420
+ /** Sidebar width (columns) */
421
+ sidebarWidth?: number;
422
+ /** Sidebar position */
423
+ sidebarPosition?: 'left' | 'right';
424
+ /** Key to toggle sidebar visibility */
425
+ toggleSidebarKey?: string;
426
+ /** Sidebar header title */
427
+ sidebarTitle?: string;
428
+ }
429
+ type FocusArea = 'sidebar' | 'content';
430
+ interface LoggerContextValue {
431
+ /** Shared SyntaxStyle instance for code highlighting */
432
+ syntaxStyle?: SyntaxStyle;
433
+ /** Shared TreeSitterClient for parsing */
434
+ treeSitterClient?: TreeSitterClient;
435
+ /** Default colors for log levels (derived from theme for backwards compatibility) */
436
+ levelColors: LogLevelColorMap;
437
+ /** Current theme */
438
+ theme: Theme;
439
+ }
440
+ type ScreenStatus = 'waiting' | 'pending' | 'success' | 'fail' | 'static';
441
+ interface BindOptions {
442
+ exitOnCtrlC?: boolean;
443
+ sidebarWidth?: number;
444
+ sidebarPosition?: 'left' | 'right';
445
+ sidebarTitle?: string;
446
+ /** Auto close after all screens complete successfully (delay in ms, default 5000) */
447
+ autoClose?: boolean | number;
448
+ /** Theme to use for the TUI (theme object or preset name) */
449
+ theme?: Theme | ThemePreset;
450
+ /** Enable mouse support (default: true) */
451
+ useMouse?: boolean;
452
+ }
453
+ //#endregion
454
+ //#region src/types/prompt.types.d.ts
455
+ interface ChoiceOption {
456
+ label: string;
457
+ value: string;
458
+ /** If true, this option allows text input */
459
+ input?: boolean;
460
+ }
461
+ interface BasePromptData {
462
+ id: string;
463
+ timestamp: Date;
464
+ resolved: boolean;
465
+ /** Auto-resolve timeout in ms */
466
+ timeout?: number;
467
+ /** Timestamp when timeout started */
468
+ timeoutStarted?: number;
469
+ }
470
+ interface ChoicePromptData extends BasePromptData {
471
+ type: 'choice';
472
+ question: string;
473
+ choices: ChoiceOption[];
474
+ defaultChoice: string;
475
+ selectedIndex: number;
476
+ inputMode: boolean;
477
+ inputValue: string;
478
+ resolvedValue?: string;
479
+ }
480
+ interface ConfirmPromptData extends BasePromptData {
481
+ type: 'confirm';
482
+ question: string;
483
+ confirmText: string;
484
+ cancelText: string;
485
+ defaultValue: boolean;
486
+ selectedValue: boolean;
487
+ resolvedValue?: boolean;
488
+ }
489
+ interface InputPromptData extends BasePromptData {
490
+ type: 'input';
491
+ question: string;
492
+ placeholder: string;
493
+ defaultValue: string;
494
+ value: string;
495
+ resolvedValue?: string;
496
+ }
497
+ interface MultiChoicePromptData extends BasePromptData {
498
+ type: 'multiChoice';
499
+ question: string;
500
+ choices: ChoiceOption[];
501
+ selectedIndices: Set<number>;
502
+ focusedIndex: number;
503
+ minSelect: number;
504
+ maxSelect: number;
505
+ resolvedValues?: string[];
506
+ }
507
+ type PromptData = ChoicePromptData | ConfirmPromptData | InputPromptData | MultiChoicePromptData;
508
+ interface ChoiceOptions {
509
+ question: string;
510
+ choices: ChoiceOption[];
511
+ defaultChoice?: string;
512
+ /** Auto-resolve with default after timeout (ms) */
513
+ timeout?: number;
514
+ }
515
+ interface ConfirmOptions {
516
+ question: string;
517
+ confirmText?: string;
518
+ cancelText?: string;
519
+ defaultValue?: boolean;
520
+ /** Auto-resolve with default after timeout (ms) */
521
+ timeout?: number;
522
+ }
523
+ interface InputOptions {
524
+ question: string;
525
+ placeholder?: string;
526
+ defaultValue?: string;
527
+ /** Auto-resolve with default after timeout (ms) */
528
+ timeout?: number;
529
+ }
530
+ interface MultiChoiceOptions {
531
+ question: string;
532
+ choices: ChoiceOption[];
533
+ defaultChoices?: string[];
534
+ minSelect?: number;
535
+ maxSelect?: number;
536
+ /** Auto-resolve with default after timeout (ms) */
537
+ timeout?: number;
538
+ }
539
+ //#endregion
540
+ //#region src/types/keyboard.types.d.ts
541
+ /**
542
+ * Key event from the terminal.
543
+ */
544
+ interface KeyEvent {
545
+ name: string;
546
+ sequence?: string;
547
+ ctrl?: boolean;
548
+ meta?: boolean;
549
+ shift?: boolean;
550
+ }
551
+ /**
552
+ * Context available to keyboard handlers.
553
+ */
554
+ interface KeyboardContext {
555
+ /** Has multiple screens (sidebar visible) */
556
+ hasSidebar: boolean;
557
+ /** Currently focused area */
558
+ focusArea: FocusArea;
559
+ /** Whether a prompt is active */
560
+ hasPrompt: boolean;
561
+ /** Whether prompt is in text input mode */
562
+ inInputMode: boolean;
563
+ /** Whether filter bar is visible */
564
+ isFilterActive: boolean;
565
+ /** Whether help overlay is visible */
566
+ isHelpVisible: boolean;
567
+ }
568
+ /**
569
+ * Handler function for a key binding.
570
+ * Return true to prevent further processing, false/void to continue.
571
+ */
572
+ type KeyHandler = (key: KeyEvent, context: KeyboardContext) => boolean | void;
573
+ /**
574
+ * Category for organizing bindings in help overlay.
575
+ */
576
+ type KeyBindingCategory = 'general' | 'navigation' | 'screen' | 'prompt' | 'filter';
577
+ /**
578
+ * Condition for when a binding is active.
579
+ */
580
+ interface KeyBindingCondition {
581
+ hasPrompt?: boolean;
582
+ inInputMode?: boolean;
583
+ focusArea?: FocusArea;
584
+ isFilterActive?: boolean;
585
+ isHelpVisible?: boolean;
586
+ hasSidebar?: boolean;
587
+ }
588
+ /**
589
+ * A single key binding definition.
590
+ */
591
+ interface KeyBinding {
592
+ /** Key name(s) that trigger this binding */
593
+ key: string | string[];
594
+ /** Require Ctrl modifier */
595
+ ctrl?: boolean;
596
+ /** Require Meta/Cmd modifier */
597
+ meta?: boolean;
598
+ /** Require Shift modifier (for capital letters) */
599
+ shift?: boolean;
600
+ /** Handler function */
601
+ handler: KeyHandler;
602
+ /** Description for help overlay */
603
+ description: string;
604
+ /** Category for grouping in help */
605
+ category: KeyBindingCategory;
606
+ /** Condition when this binding is active */
607
+ when?: KeyBindingCondition;
608
+ /** Priority (higher = checked first, default 0) */
609
+ priority?: number;
610
+ }
611
+ /**
612
+ * Configuration for the keyboard manager.
613
+ */
614
+ interface KeyBindingsConfig {
615
+ /** Custom bindings (added to defaults) */
616
+ bindings?: KeyBinding[];
617
+ /** Override specific default bindings by key */
618
+ overrides?: Record<string, Partial<KeyBinding>>;
619
+ /** Disable specific keys */
620
+ disabled?: string[];
621
+ }
622
+ //#endregion
623
+ //#region src/types/filter.types.d.ts
624
+ /**
625
+ * Filter state for log filtering.
626
+ */
627
+ interface FilterState {
628
+ /** Which log levels are enabled (shown) */
629
+ enabledLevels: Set<LogLevel>;
630
+ /** Text search query */
631
+ searchQuery: string;
632
+ /** Whether the filter bar is visible */
633
+ isVisible: boolean;
634
+ /** Which filter field is focused */
635
+ focusedField: 'search' | 'levels';
636
+ }
637
+ /**
638
+ * All log levels in order.
639
+ */
640
+ declare const ALL_LOG_LEVELS: LogLevel[];
641
+ /**
642
+ * Create a default filter state.
643
+ */
644
+ declare function createDefaultFilterState(): FilterState;
645
+ /**
646
+ * Check if any filtering is active.
647
+ */
648
+ declare function hasActiveFilter(filter: FilterState): boolean;
649
+ /**
650
+ * Level counts for display.
651
+ */
652
+ type LevelCounts = Record<LogLevel, number>;
653
+ //#endregion
654
+ //#region src/adapters/interface.d.ts
655
+ /**
656
+ * Root instance returned by adapter's createRoot method.
657
+ * Abstracts the framework-specific root implementation.
658
+ */
659
+ interface AdapterRoot {
660
+ /**
661
+ * Render an element to the root.
662
+ * @param element - Framework-specific element to render
663
+ */
664
+ render(element: unknown): void;
665
+ /**
666
+ * Unmount and cleanup the root.
667
+ */
668
+ unmount(): void;
669
+ }
670
+ /**
671
+ * Props passed to the adapter's internal bridge component.
672
+ * The manager type is kept generic to avoid circular imports.
673
+ */
674
+ interface AdapterRenderProps {
675
+ manager: unknown;
676
+ theme?: Theme;
677
+ }
678
+ /**
679
+ * Abstract interface for rendering adapters.
680
+ * Implementations provide framework-specific rendering capabilities.
681
+ */
682
+ interface AdapterInterface {
683
+ /**
684
+ * Create a root instance for rendering.
685
+ * @param renderer - CLI renderer from @opentui/core
686
+ * @returns Root instance with render/unmount methods, or a Promise that resolves to one
687
+ */
688
+ createRoot(renderer: CliRenderer): AdapterRoot | Promise<AdapterRoot>;
689
+ /**
690
+ * Render the adapter's internal bridge component to the root.
691
+ * The adapter owns its bridge component - no component is passed in.
692
+ * @param root - Root instance created by createRoot
693
+ * @param props - Props to pass to the bridge component
694
+ */
695
+ renderToRoot(root: AdapterRoot, props: AdapterRenderProps): void;
696
+ }
697
+ //#endregion
698
+ export { FileLogBaseProps as $, ScreenDefinition as A, HelpTheme as B, InputPromptData as C, TableMessageData as Ct, BindOptions as D, PromptData as E, ErrorHighlightTheme as F, SemanticColors as G, PartialTheme as H, FileTheme as I, StatusIndicator as J, SeparatorTheme as K, FilterTheme as L, ScreenProps as M, ScreenStatus as N, FocusArea as O, DeepPartial as P, ThemePreset as Q, GroupTheme as R, InputOptions as S, PromiseOptions as St, MultiChoicePromptData as T, ProgressTheme as U, LogLevelTheme as V, PromptTheme as W, TableTheme as X, StatusIndicatorsTheme as Y, Theme as Z, ChoiceOption as _, LogMessageVariant as _t, FilterState as a, LogLevelColorMap as at, ConfirmOptions as b, ProgressHandle as bt, hasActiveFilter as c, VariantColorMap as ct, KeyBindingCondition as d, FileErrorMessageData as dt, FileLogDiffProps as et, KeyBindingsConfig as f, FileMessageData as ft, BasePromptData as g, LogMessageData as gt, KeyboardContext as h, LoadingMessageData as ht, ALL_LOG_LEVELS as i, FileLogProps as it, ScreenManagerProps as j, LoggerContextValue as k, KeyBinding as l, BaseMessage as lt, KeyHandler as m, LoadingHandle as mt, AdapterRenderProps as n, FileLogMode as nt, LevelCounts as o, LogLevelColors as ot, KeyEvent as p, GroupMessageData as pt, SidebarTheme as q, AdapterRoot as r, FileLogPartialProps as rt, createDefaultFilterState as s, LogMessageProps as st, AdapterInterface as t, FileLogFullProps as tt, KeyBindingCategory as u, DiffMessageData as ut, ChoiceOptions as v, MessageData as vt, MultiChoiceOptions as w, ConfirmPromptData as x, ProgressMessageData as xt, ChoicePromptData as y, MessageType as yt, HeaderTheme as z };
699
+ //# sourceMappingURL=interface-DQEIz9Mb.d.cts.map