@navios/commander-tui 1.2.0 → 1.4.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 (421) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/README.md +42 -1
  3. package/{src/__tests__/mocks/scm-mock.ts → dist/base/src/__tests__/mocks/scm-mock.d.ts} +3 -1
  4. package/dist/base/src/__tests__/mocks/scm-mock.d.ts.map +1 -0
  5. package/dist/base/src/__tests__/setup.d.ts +2 -0
  6. package/dist/base/src/__tests__/setup.d.ts.map +1 -0
  7. package/dist/base/src/__tests__/utils/factories.d.ts +67 -0
  8. package/dist/base/src/__tests__/utils/factories.d.ts.map +1 -0
  9. package/dist/base/src/__tests__/utils/render-utils.d.ts +21 -0
  10. package/dist/base/src/__tests__/utils/render-utils.d.ts.map +1 -0
  11. package/dist/base/src/__tests__/utils/test-container.d.ts +20 -0
  12. package/dist/base/src/__tests__/utils/test-container.d.ts.map +1 -0
  13. package/dist/base/src/adapters/index.d.ts +2 -0
  14. package/dist/base/src/adapters/index.d.ts.map +1 -0
  15. package/dist/base/src/adapters/interface.d.ts +52 -0
  16. package/dist/base/src/adapters/interface.d.ts.map +1 -0
  17. package/dist/base/src/components/index.d.ts +2 -0
  18. package/dist/base/src/components/index.d.ts.map +1 -0
  19. package/dist/base/src/context/index.d.ts +2 -0
  20. package/dist/base/src/context/index.d.ts.map +1 -0
  21. package/dist/base/src/factories/index.d.ts +3 -0
  22. package/dist/base/src/factories/index.d.ts.map +1 -0
  23. package/dist/base/src/factories/isomorphic-logger.factory.d.ts +8 -0
  24. package/dist/base/src/factories/isomorphic-logger.factory.d.ts.map +1 -0
  25. package/dist/base/src/factories/screen.factory.d.ts +8 -0
  26. package/dist/base/src/factories/screen.factory.d.ts.map +1 -0
  27. package/dist/base/src/filter/filter_engine.d.ts +19 -0
  28. package/dist/base/src/filter/filter_engine.d.ts.map +1 -0
  29. package/dist/base/src/filter/index.d.ts +2 -0
  30. package/dist/base/src/filter/index.d.ts.map +1 -0
  31. package/dist/base/src/hooks/index.d.ts +2 -0
  32. package/dist/base/src/hooks/index.d.ts.map +1 -0
  33. package/dist/base/src/index.d.ts +16 -0
  34. package/dist/base/src/index.d.ts.map +1 -0
  35. package/dist/base/src/interfaces/index.d.ts +2 -0
  36. package/dist/base/src/interfaces/index.d.ts.map +1 -0
  37. package/dist/base/src/interfaces/isomorphic-logger.d.ts +9 -0
  38. package/dist/base/src/interfaces/isomorphic-logger.d.ts.map +1 -0
  39. package/dist/base/src/keyboard/create_bindings.d.ts +26 -0
  40. package/dist/base/src/keyboard/create_bindings.d.ts.map +1 -0
  41. package/dist/base/src/keyboard/index.d.ts +3 -0
  42. package/dist/base/src/keyboard/index.d.ts.map +1 -0
  43. package/dist/base/src/keyboard/keyboard_manager.d.ts +63 -0
  44. package/dist/base/src/keyboard/keyboard_manager.d.ts.map +1 -0
  45. package/dist/base/src/overrides/console.logger.override.d.ts +3 -0
  46. package/dist/base/src/overrides/console.logger.override.d.ts.map +1 -0
  47. package/dist/base/src/overrides/index.d.ts +3 -0
  48. package/dist/base/src/overrides/index.d.ts.map +1 -0
  49. package/dist/base/src/overrides/missing-adapter.override.d.ts +16 -0
  50. package/dist/base/src/overrides/missing-adapter.override.d.ts.map +1 -0
  51. package/dist/base/src/schemas/index.d.ts +4 -0
  52. package/dist/base/src/schemas/index.d.ts.map +1 -0
  53. package/dist/base/src/schemas/logger-options.d.ts +21 -0
  54. package/dist/base/src/schemas/logger-options.d.ts.map +1 -0
  55. package/dist/base/src/schemas/prompt-options.d.ts +12 -0
  56. package/dist/base/src/schemas/prompt-options.d.ts.map +1 -0
  57. package/dist/base/src/schemas/screen-options.d.ts +10 -0
  58. package/dist/base/src/schemas/screen-options.d.ts.map +1 -0
  59. package/dist/base/src/services/index.d.ts +6 -0
  60. package/dist/base/src/services/index.d.ts.map +1 -0
  61. package/dist/base/src/services/logger.d.ts +52 -0
  62. package/dist/base/src/services/logger.d.ts.map +1 -0
  63. package/dist/base/src/services/prompt.d.ts +31 -0
  64. package/dist/base/src/services/prompt.d.ts.map +1 -0
  65. package/dist/base/src/services/readline_prompt.d.ts +27 -0
  66. package/dist/base/src/services/readline_prompt.d.ts.map +1 -0
  67. package/dist/base/src/services/screen.d.ts +167 -0
  68. package/dist/base/src/services/screen.d.ts.map +1 -0
  69. package/dist/base/src/services/screen_manager.d.ts +180 -0
  70. package/dist/base/src/services/screen_manager.d.ts.map +1 -0
  71. package/dist/base/src/themes/dark.d.ts +7 -0
  72. package/dist/base/src/themes/dark.d.ts.map +1 -0
  73. package/dist/base/src/themes/high-contrast.d.ts +7 -0
  74. package/dist/base/src/themes/high-contrast.d.ts.map +1 -0
  75. package/dist/base/src/themes/index.d.ts +5 -0
  76. package/dist/base/src/themes/index.d.ts.map +1 -0
  77. package/dist/base/src/themes/light.d.ts +6 -0
  78. package/dist/base/src/themes/light.d.ts.map +1 -0
  79. package/dist/base/src/themes/utils.d.ts +22 -0
  80. package/dist/base/src/themes/utils.d.ts.map +1 -0
  81. package/dist/base/src/tokens/adapter.d.ts +9 -0
  82. package/dist/base/src/tokens/adapter.d.ts.map +1 -0
  83. package/dist/base/src/tokens/index.d.ts +6 -0
  84. package/dist/base/src/tokens/index.d.ts.map +1 -0
  85. package/dist/base/src/tokens/logger.d.ts +44 -0
  86. package/dist/base/src/tokens/logger.d.ts.map +1 -0
  87. package/dist/base/src/tokens/prompt.d.ts +12 -0
  88. package/dist/base/src/tokens/prompt.d.ts.map +1 -0
  89. package/dist/base/src/tokens/screen-manager.d.ts +8 -0
  90. package/dist/base/src/tokens/screen-manager.d.ts.map +1 -0
  91. package/dist/base/src/tokens/screen.d.ts +10 -0
  92. package/dist/base/src/tokens/screen.d.ts.map +1 -0
  93. package/dist/base/src/types/events.types.d.ts +40 -0
  94. package/dist/base/src/types/events.types.d.ts.map +1 -0
  95. package/dist/base/src/types/file.types.d.ts +40 -0
  96. package/dist/base/src/types/file.types.d.ts.map +1 -0
  97. package/dist/base/src/types/filter.types.d.ts +31 -0
  98. package/dist/base/src/types/filter.types.d.ts.map +1 -0
  99. package/dist/base/src/types/index.d.ts +10 -0
  100. package/dist/base/src/types/index.d.ts.map +1 -0
  101. package/dist/base/src/types/keyboard.types.d.ts +83 -0
  102. package/dist/base/src/types/keyboard.types.d.ts.map +1 -0
  103. package/dist/base/src/types/log.types.d.ts +39 -0
  104. package/dist/base/src/types/log.types.d.ts.map +1 -0
  105. package/dist/base/src/types/message.types.d.ts +82 -0
  106. package/dist/base/src/types/message.types.d.ts.map +1 -0
  107. package/dist/base/src/types/prompt.types.d.ts +85 -0
  108. package/dist/base/src/types/prompt.types.d.ts.map +1 -0
  109. package/dist/base/src/types/screen.types.d.ts +107 -0
  110. package/dist/base/src/types/screen.types.d.ts.map +1 -0
  111. package/dist/base/src/types/theme.types.d.ts +217 -0
  112. package/dist/base/src/types/theme.types.d.ts.map +1 -0
  113. package/dist/base/src/utils/colors/file-colors.d.ts +10 -0
  114. package/dist/base/src/utils/colors/file-colors.d.ts.map +1 -0
  115. package/dist/base/src/utils/colors/helpers.d.ts +10 -0
  116. package/dist/base/src/utils/colors/helpers.d.ts.map +1 -0
  117. package/dist/base/src/utils/colors/index.d.ts +8 -0
  118. package/dist/base/src/utils/colors/index.d.ts.map +1 -0
  119. package/dist/base/src/utils/colors/log-colors.d.ts +19 -0
  120. package/dist/base/src/utils/colors/log-colors.d.ts.map +1 -0
  121. package/dist/base/src/utils/colors/progress-colors.d.ts +25 -0
  122. package/dist/base/src/utils/colors/progress-colors.d.ts.map +1 -0
  123. package/dist/base/src/utils/colors/prompt-colors.d.ts +22 -0
  124. package/dist/base/src/utils/colors/prompt-colors.d.ts.map +1 -0
  125. package/dist/base/src/utils/colors/sidebar-colors.d.ts +50 -0
  126. package/dist/base/src/utils/colors/sidebar-colors.d.ts.map +1 -0
  127. package/dist/base/src/utils/colors/table-colors.d.ts +12 -0
  128. package/dist/base/src/utils/colors/table-colors.d.ts.map +1 -0
  129. package/dist/base/src/utils/filetype.d.ts +19 -0
  130. package/dist/base/src/utils/filetype.d.ts.map +1 -0
  131. package/dist/base/src/utils/format.d.ts +9 -0
  132. package/dist/base/src/utils/format.d.ts.map +1 -0
  133. package/dist/base/src/utils/index.d.ts +7 -0
  134. package/dist/base/src/utils/index.d.ts.map +1 -0
  135. package/dist/base/src/utils/prompt.d.ts +7 -0
  136. package/dist/base/src/utils/prompt.d.ts.map +1 -0
  137. package/dist/base/src/utils/runtime.d.ts +10 -0
  138. package/dist/base/src/utils/runtime.d.ts.map +1 -0
  139. package/dist/base/src/utils/stdout-printer.d.ts +11 -0
  140. package/dist/base/src/utils/stdout-printer.d.ts.map +1 -0
  141. package/dist/base/tsconfig.base.tsbuildinfo +1 -0
  142. package/dist/base/tsconfig.tsbuildinfo +1 -0
  143. package/dist/ink/src/adapters/ink/components/file/file_log.d.ts +28 -0
  144. package/dist/ink/src/adapters/ink/components/file/file_log.d.ts.map +1 -0
  145. package/dist/ink/src/adapters/ink/components/file/index.d.ts +2 -0
  146. package/dist/ink/src/adapters/ink/components/file/index.d.ts.map +1 -0
  147. package/dist/ink/src/adapters/ink/components/filter/filter_bar.d.ts +7 -0
  148. package/dist/ink/src/adapters/ink/components/filter/filter_bar.d.ts.map +1 -0
  149. package/dist/ink/src/adapters/ink/components/filter/index.d.ts +2 -0
  150. package/dist/ink/src/adapters/ink/components/filter/index.d.ts.map +1 -0
  151. package/dist/ink/src/adapters/ink/components/help/help_overlay.d.ts +6 -0
  152. package/dist/ink/src/adapters/ink/components/help/help_overlay.d.ts.map +1 -0
  153. package/dist/ink/src/adapters/ink/components/help/index.d.ts +2 -0
  154. package/dist/ink/src/adapters/ink/components/help/index.d.ts.map +1 -0
  155. package/dist/ink/src/adapters/ink/components/index.d.ts +9 -0
  156. package/dist/ink/src/adapters/ink/components/index.d.ts.map +1 -0
  157. package/dist/ink/src/adapters/ink/components/log/index.d.ts +2 -0
  158. package/dist/ink/src/adapters/ink/components/log/index.d.ts.map +1 -0
  159. package/dist/ink/src/adapters/ink/components/log/log_message.d.ts +15 -0
  160. package/dist/ink/src/adapters/ink/components/log/log_message.d.ts.map +1 -0
  161. package/dist/ink/src/adapters/ink/components/prompt/index.d.ts +2 -0
  162. package/dist/ink/src/adapters/ink/components/prompt/index.d.ts.map +1 -0
  163. package/dist/ink/src/adapters/ink/components/prompt/prompt_renderer.d.ts +6 -0
  164. package/dist/ink/src/adapters/ink/components/prompt/prompt_renderer.d.ts.map +1 -0
  165. package/dist/ink/src/adapters/ink/components/screen/group_renderer.d.ts +14 -0
  166. package/dist/ink/src/adapters/ink/components/screen/group_renderer.d.ts.map +1 -0
  167. package/dist/ink/src/adapters/ink/components/screen/index.d.ts +7 -0
  168. package/dist/ink/src/adapters/ink/components/screen/index.d.ts.map +1 -0
  169. package/dist/ink/src/adapters/ink/components/screen/loading_message.d.ts +6 -0
  170. package/dist/ink/src/adapters/ink/components/screen/loading_message.d.ts.map +1 -0
  171. package/dist/ink/src/adapters/ink/components/screen/message_renderer.d.ts +6 -0
  172. package/dist/ink/src/adapters/ink/components/screen/message_renderer.d.ts.map +1 -0
  173. package/dist/ink/src/adapters/ink/components/screen/progress_message.d.ts +6 -0
  174. package/dist/ink/src/adapters/ink/components/screen/progress_message.d.ts.map +1 -0
  175. package/dist/ink/src/adapters/ink/components/screen/screen_bridge.d.ts +14 -0
  176. package/dist/ink/src/adapters/ink/components/screen/screen_bridge.d.ts.map +1 -0
  177. package/dist/ink/src/adapters/ink/components/screen/table_message.d.ts +6 -0
  178. package/dist/ink/src/adapters/ink/components/screen/table_message.d.ts.map +1 -0
  179. package/dist/ink/src/adapters/ink/components/screen_manager_bridge.d.ts +8 -0
  180. package/dist/ink/src/adapters/ink/components/screen_manager_bridge.d.ts.map +1 -0
  181. package/dist/ink/src/adapters/ink/components/sidebar/index.d.ts +4 -0
  182. package/dist/ink/src/adapters/ink/components/sidebar/index.d.ts.map +1 -0
  183. package/dist/ink/src/adapters/ink/components/sidebar/sidebar.d.ts +11 -0
  184. package/dist/ink/src/adapters/ink/components/sidebar/sidebar.d.ts.map +1 -0
  185. package/dist/ink/src/adapters/ink/components/sidebar/sidebar_item.d.ts +9 -0
  186. package/dist/ink/src/adapters/ink/components/sidebar/sidebar_item.d.ts.map +1 -0
  187. package/dist/ink/src/adapters/ink/components/sidebar/sidebar_separator.d.ts +2 -0
  188. package/dist/ink/src/adapters/ink/components/sidebar/sidebar_separator.d.ts.map +1 -0
  189. package/dist/ink/src/adapters/ink/context/index.d.ts +2 -0
  190. package/dist/ink/src/adapters/ink/context/index.d.ts.map +1 -0
  191. package/dist/ink/src/adapters/ink/context/logger_context.d.ts +33 -0
  192. package/dist/ink/src/adapters/ink/context/logger_context.d.ts.map +1 -0
  193. package/dist/ink/src/adapters/ink/hooks/index.d.ts +2 -0
  194. package/dist/ink/src/adapters/ink/hooks/index.d.ts.map +1 -0
  195. package/dist/ink/src/adapters/ink/hooks/use_theme.d.ts +7 -0
  196. package/dist/ink/src/adapters/ink/hooks/use_theme.d.ts.map +1 -0
  197. package/dist/ink/src/adapters/ink/index.d.ts +18 -0
  198. package/dist/ink/src/adapters/ink/index.d.ts.map +1 -0
  199. package/dist/ink/src/adapters/react-shared/hooks/index.d.ts +4 -0
  200. package/dist/ink/src/adapters/react-shared/hooks/index.d.ts.map +1 -0
  201. package/dist/ink/src/adapters/react-shared/hooks/use_filter_state.d.ts +18 -0
  202. package/dist/ink/src/adapters/react-shared/hooks/use_filter_state.d.ts.map +1 -0
  203. package/dist/ink/src/adapters/react-shared/hooks/use_keyboard_manager.d.ts +26 -0
  204. package/dist/ink/src/adapters/react-shared/hooks/use_keyboard_manager.d.ts.map +1 -0
  205. package/dist/ink/src/adapters/react-shared/hooks/use_manager_subscription.d.ts +7 -0
  206. package/dist/ink/src/adapters/react-shared/hooks/use_manager_subscription.d.ts.map +1 -0
  207. package/dist/ink/src/adapters/react-shared/index.d.ts +2 -0
  208. package/dist/ink/src/adapters/react-shared/index.d.ts.map +1 -0
  209. package/dist/ink/tsconfig.ink.tsbuildinfo +1 -0
  210. package/dist/react/src/adapters/react/components/file/file_log.d.ts +35 -0
  211. package/dist/react/src/adapters/react/components/file/file_log.d.ts.map +1 -0
  212. package/dist/react/src/adapters/react/components/file/index.d.ts +2 -0
  213. package/dist/react/src/adapters/react/components/file/index.d.ts.map +1 -0
  214. package/dist/react/src/adapters/react/components/filter/filter_bar.d.ts +7 -0
  215. package/dist/react/src/adapters/react/components/filter/filter_bar.d.ts.map +1 -0
  216. package/dist/react/src/adapters/react/components/filter/index.d.ts +2 -0
  217. package/dist/react/src/adapters/react/components/filter/index.d.ts.map +1 -0
  218. package/dist/react/src/adapters/react/components/help/help_overlay.d.ts +6 -0
  219. package/dist/react/src/adapters/react/components/help/help_overlay.d.ts.map +1 -0
  220. package/dist/react/src/adapters/react/components/help/index.d.ts +2 -0
  221. package/dist/react/src/adapters/react/components/help/index.d.ts.map +1 -0
  222. package/dist/react/src/adapters/react/components/log/index.d.ts +2 -0
  223. package/dist/react/src/adapters/react/components/log/index.d.ts.map +1 -0
  224. package/dist/react/src/adapters/react/components/log/log_message.d.ts +28 -0
  225. package/dist/react/src/adapters/react/components/log/log_message.d.ts.map +1 -0
  226. package/dist/react/src/adapters/react/components/prompt/index.d.ts +3 -0
  227. package/dist/react/src/adapters/react/components/prompt/index.d.ts.map +1 -0
  228. package/dist/react/src/adapters/react/components/prompt/prompt_renderer.d.ts +6 -0
  229. package/dist/react/src/adapters/react/components/prompt/prompt_renderer.d.ts.map +1 -0
  230. package/dist/react/src/adapters/react/components/screen/group_renderer.d.ts +14 -0
  231. package/dist/react/src/adapters/react/components/screen/group_renderer.d.ts.map +1 -0
  232. package/dist/react/src/adapters/react/components/screen/index.d.ts +7 -0
  233. package/dist/react/src/adapters/react/components/screen/index.d.ts.map +1 -0
  234. package/dist/react/src/adapters/react/components/screen/loading_message.d.ts +6 -0
  235. package/dist/react/src/adapters/react/components/screen/loading_message.d.ts.map +1 -0
  236. package/dist/react/src/adapters/react/components/screen/message_renderer.d.ts +6 -0
  237. package/dist/react/src/adapters/react/components/screen/message_renderer.d.ts.map +1 -0
  238. package/dist/react/src/adapters/react/components/screen/progress_message.d.ts +6 -0
  239. package/dist/react/src/adapters/react/components/screen/progress_message.d.ts.map +1 -0
  240. package/dist/react/src/adapters/react/components/screen/screen_bridge.d.ts +14 -0
  241. package/dist/react/src/adapters/react/components/screen/screen_bridge.d.ts.map +1 -0
  242. package/dist/react/src/adapters/react/components/screen/table_message.d.ts +6 -0
  243. package/dist/react/src/adapters/react/components/screen/table_message.d.ts.map +1 -0
  244. package/dist/react/src/adapters/react/components/screen_manager_bridge.d.ts +8 -0
  245. package/dist/react/src/adapters/react/components/screen_manager_bridge.d.ts.map +1 -0
  246. package/dist/react/src/adapters/react/components/sidebar/index.d.ts +4 -0
  247. package/dist/react/src/adapters/react/components/sidebar/index.d.ts.map +1 -0
  248. package/dist/react/src/adapters/react/components/sidebar/sidebar.d.ts +11 -0
  249. package/dist/react/src/adapters/react/components/sidebar/sidebar.d.ts.map +1 -0
  250. package/dist/react/src/adapters/react/components/sidebar/sidebar_item.d.ts +9 -0
  251. package/dist/react/src/adapters/react/components/sidebar/sidebar_item.d.ts.map +1 -0
  252. package/dist/react/src/adapters/react/components/sidebar/sidebar_separator.d.ts +2 -0
  253. package/dist/react/src/adapters/react/components/sidebar/sidebar_separator.d.ts.map +1 -0
  254. package/dist/react/src/adapters/react/context/index.d.ts +2 -0
  255. package/dist/react/src/adapters/react/context/index.d.ts.map +1 -0
  256. package/dist/react/src/adapters/react/context/logger_context.d.ts +53 -0
  257. package/dist/react/src/adapters/react/context/logger_context.d.ts.map +1 -0
  258. package/dist/react/src/adapters/react/hooks/index.d.ts +2 -0
  259. package/dist/react/src/adapters/react/hooks/index.d.ts.map +1 -0
  260. package/dist/react/src/adapters/react/hooks/use_theme.d.ts +7 -0
  261. package/dist/react/src/adapters/react/hooks/use_theme.d.ts.map +1 -0
  262. package/dist/react/src/adapters/react/index.d.ts +13 -0
  263. package/dist/react/src/adapters/react/index.d.ts.map +1 -0
  264. package/dist/react/src/adapters/react-shared/hooks/index.d.ts +4 -0
  265. package/dist/react/src/adapters/react-shared/hooks/index.d.ts.map +1 -0
  266. package/dist/react/src/adapters/react-shared/hooks/use_filter_state.d.ts +18 -0
  267. package/dist/react/src/adapters/react-shared/hooks/use_filter_state.d.ts.map +1 -0
  268. package/dist/react/src/adapters/react-shared/hooks/use_keyboard_manager.d.ts +26 -0
  269. package/dist/react/src/adapters/react-shared/hooks/use_keyboard_manager.d.ts.map +1 -0
  270. package/dist/react/src/adapters/react-shared/hooks/use_manager_subscription.d.ts +7 -0
  271. package/dist/react/src/adapters/react-shared/hooks/use_manager_subscription.d.ts.map +1 -0
  272. package/dist/react/src/adapters/react-shared/index.d.ts +2 -0
  273. package/dist/react/src/adapters/react-shared/index.d.ts.map +1 -0
  274. package/dist/react/tsconfig.react.tsbuildinfo +1 -0
  275. package/dist/solid/src/adapters/solid/components/file/file_log.d.ts +35 -0
  276. package/dist/solid/src/adapters/solid/components/file/file_log.d.ts.map +1 -0
  277. package/dist/solid/src/adapters/solid/components/file/index.d.ts +2 -0
  278. package/dist/solid/src/adapters/solid/components/file/index.d.ts.map +1 -0
  279. package/dist/solid/src/adapters/solid/components/filter/filter_bar.d.ts +7 -0
  280. package/dist/solid/src/adapters/solid/components/filter/filter_bar.d.ts.map +1 -0
  281. package/dist/solid/src/adapters/solid/components/filter/index.d.ts +2 -0
  282. package/dist/solid/src/adapters/solid/components/filter/index.d.ts.map +1 -0
  283. package/dist/solid/src/adapters/solid/components/help/help_overlay.d.ts +6 -0
  284. package/dist/solid/src/adapters/solid/components/help/help_overlay.d.ts.map +1 -0
  285. package/dist/solid/src/adapters/solid/components/help/index.d.ts +2 -0
  286. package/dist/solid/src/adapters/solid/components/help/index.d.ts.map +1 -0
  287. package/dist/solid/src/adapters/solid/components/log/index.d.ts +2 -0
  288. package/dist/solid/src/adapters/solid/components/log/index.d.ts.map +1 -0
  289. package/dist/solid/src/adapters/solid/components/log/log_message.d.ts +31 -0
  290. package/dist/solid/src/adapters/solid/components/log/log_message.d.ts.map +1 -0
  291. package/dist/solid/src/adapters/solid/components/prompt/index.d.ts +3 -0
  292. package/dist/solid/src/adapters/solid/components/prompt/index.d.ts.map +1 -0
  293. package/dist/solid/src/adapters/solid/components/prompt/prompt_renderer.d.ts +6 -0
  294. package/dist/solid/src/adapters/solid/components/prompt/prompt_renderer.d.ts.map +1 -0
  295. package/dist/solid/src/adapters/solid/components/screen/group_renderer.d.ts +14 -0
  296. package/dist/solid/src/adapters/solid/components/screen/group_renderer.d.ts.map +1 -0
  297. package/dist/solid/src/adapters/solid/components/screen/index.d.ts +7 -0
  298. package/dist/solid/src/adapters/solid/components/screen/index.d.ts.map +1 -0
  299. package/dist/solid/src/adapters/solid/components/screen/loading_message.d.ts +6 -0
  300. package/dist/solid/src/adapters/solid/components/screen/loading_message.d.ts.map +1 -0
  301. package/dist/solid/src/adapters/solid/components/screen/message_renderer.d.ts +6 -0
  302. package/dist/solid/src/adapters/solid/components/screen/message_renderer.d.ts.map +1 -0
  303. package/dist/solid/src/adapters/solid/components/screen/progress_message.d.ts +6 -0
  304. package/dist/solid/src/adapters/solid/components/screen/progress_message.d.ts.map +1 -0
  305. package/dist/solid/src/adapters/solid/components/screen/screen_bridge.d.ts +14 -0
  306. package/dist/solid/src/adapters/solid/components/screen/screen_bridge.d.ts.map +1 -0
  307. package/dist/solid/src/adapters/solid/components/screen/table_message.d.ts +6 -0
  308. package/dist/solid/src/adapters/solid/components/screen/table_message.d.ts.map +1 -0
  309. package/dist/solid/src/adapters/solid/components/screen_manager_bridge.d.ts +8 -0
  310. package/dist/solid/src/adapters/solid/components/screen_manager_bridge.d.ts.map +1 -0
  311. package/dist/solid/src/adapters/solid/components/sidebar/index.d.ts +4 -0
  312. package/dist/solid/src/adapters/solid/components/sidebar/index.d.ts.map +1 -0
  313. package/dist/solid/src/adapters/solid/components/sidebar/sidebar.d.ts +11 -0
  314. package/dist/solid/src/adapters/solid/components/sidebar/sidebar.d.ts.map +1 -0
  315. package/dist/solid/src/adapters/solid/components/sidebar/sidebar_item.d.ts +9 -0
  316. package/dist/solid/src/adapters/solid/components/sidebar/sidebar_item.d.ts.map +1 -0
  317. package/dist/solid/src/adapters/solid/components/sidebar/sidebar_separator.d.ts +2 -0
  318. package/dist/solid/src/adapters/solid/components/sidebar/sidebar_separator.d.ts.map +1 -0
  319. package/dist/solid/src/adapters/solid/context/index.d.ts +3 -0
  320. package/dist/solid/src/adapters/solid/context/index.d.ts.map +1 -0
  321. package/dist/solid/src/adapters/solid/context/logger_context.d.ts +52 -0
  322. package/dist/solid/src/adapters/solid/context/logger_context.d.ts.map +1 -0
  323. package/dist/solid/src/adapters/solid/hooks/index.d.ts +2 -0
  324. package/dist/solid/src/adapters/solid/hooks/index.d.ts.map +1 -0
  325. package/dist/solid/src/adapters/solid/hooks/use_theme.d.ts +7 -0
  326. package/dist/solid/src/adapters/solid/hooks/use_theme.d.ts.map +1 -0
  327. package/dist/solid/src/adapters/solid/index.d.ts +13 -0
  328. package/dist/solid/src/adapters/solid/index.d.ts.map +1 -0
  329. package/dist/solid/tsconfig.solid.tsbuildinfo +1 -0
  330. package/dist/tsconfig.base.tsbuildinfo +1 -0
  331. package/dist/tsconfig.react.tsbuildinfo +1 -0
  332. package/dist/tsconfig.solid.tsbuildinfo +1 -0
  333. package/dist/tsconfig.tsbuildinfo +1 -1
  334. package/lib/index.cjs +3882 -1584
  335. package/lib/index.cjs.map +1 -1
  336. package/lib/index.d.cts +488 -513
  337. package/lib/index.d.cts.map +1 -1
  338. package/lib/index.d.mts +488 -513
  339. package/lib/index.d.mts.map +1 -1
  340. package/lib/index.mjs +3810 -1539
  341. package/lib/index.mjs.map +1 -1
  342. package/package.json +1 -7
  343. package/project.json +2 -2
  344. package/src/__tests__/services/logger.spec.ts +32 -0
  345. package/src/__tests__/services/screen.spec.ts +106 -95
  346. package/src/__tests__/utils/factories.ts +2 -0
  347. package/src/adapters/index.ts +2 -0
  348. package/src/adapters/interface.ts +58 -0
  349. package/src/components/index.ts +3 -15
  350. package/src/context/index.ts +3 -1
  351. package/src/factories/isomorphic-logger.factory.ts +1 -2
  352. package/src/factories/screen.factory.ts +2 -2
  353. package/src/hooks/index.ts +3 -1
  354. package/src/index.ts +5 -0
  355. package/src/keyboard/create_bindings.ts +2 -2
  356. package/src/overrides/index.ts +1 -0
  357. package/src/overrides/missing-adapter.override.ts +30 -0
  358. package/src/services/index.ts +2 -1
  359. package/src/services/logger.ts +7 -1
  360. package/src/services/readline_prompt.ts +194 -0
  361. package/src/services/screen.ts +109 -57
  362. package/src/services/screen_manager.ts +613 -0
  363. package/src/tokens/adapter.ts +10 -0
  364. package/src/tokens/index.ts +2 -0
  365. package/src/tokens/screen-manager.ts +9 -0
  366. package/src/types/events.types.ts +84 -0
  367. package/src/types/index.ts +3 -0
  368. package/src/types/screen.types.ts +34 -0
  369. package/src/utils/colors/helpers.ts +0 -25
  370. package/src/utils/index.ts +6 -0
  371. package/src/utils/prompt.ts +18 -0
  372. package/src/utils/runtime.ts +14 -0
  373. package/src/utils/stdout-printer.ts +16 -5
  374. package/tsconfig.base.json +15 -0
  375. package/tsconfig.json +1 -12
  376. package/tsdown.config.mts +2 -6
  377. package/vitest.config.mts +20 -0
  378. package/lib/screen_manager_bridge-Bk1i53h5.mjs +0 -3
  379. package/lib/screen_manager_bridge-BwPVr0bX.mjs +0 -3048
  380. package/lib/screen_manager_bridge-BwPVr0bX.mjs.map +0 -1
  381. package/lib/screen_manager_bridge-CWxLO0CK.cjs +0 -3371
  382. package/lib/screen_manager_bridge-CWxLO0CK.cjs.map +0 -1
  383. package/lib/screen_manager_bridge-DXc57iXW.cjs +0 -3
  384. package/src/__tests__/components/__snapshots__/filter_bar.spec.tsx.snap +0 -4849
  385. package/src/__tests__/components/__snapshots__/loading_message.spec.tsx.snap +0 -3003
  386. package/src/__tests__/components/__snapshots__/log_message.spec.tsx.snap +0 -6926
  387. package/src/__tests__/components/__snapshots__/progress_message.spec.tsx.snap +0 -3785
  388. package/src/__tests__/components/__snapshots__/prompt_renderer.spec.tsx.snap +0 -6787
  389. package/src/__tests__/components/__snapshots__/sidebar.spec.tsx.snap +0 -6043
  390. package/src/__tests__/components/filter_bar.spec.tsx +0 -190
  391. package/src/__tests__/components/loading_message.spec.tsx +0 -110
  392. package/src/__tests__/components/log_message.spec.tsx +0 -166
  393. package/src/__tests__/components/progress_message.spec.tsx +0 -147
  394. package/src/__tests__/components/prompt_renderer.spec.tsx +0 -274
  395. package/src/__tests__/components/sidebar.spec.tsx +0 -322
  396. package/src/__tests__/utils/render-utils.tsx +0 -39
  397. package/src/components/file/file_log.tsx +0 -241
  398. package/src/components/file/index.ts +0 -1
  399. package/src/components/filter/filter_bar.tsx +0 -79
  400. package/src/components/filter/index.ts +0 -1
  401. package/src/components/help/help_overlay.tsx +0 -100
  402. package/src/components/help/index.ts +0 -1
  403. package/src/components/log/index.ts +0 -1
  404. package/src/components/log/log_message.tsx +0 -102
  405. package/src/components/prompt/index.ts +0 -2
  406. package/src/components/prompt/prompt_renderer.tsx +0 -346
  407. package/src/components/screen/group_renderer.tsx +0 -64
  408. package/src/components/screen/index.ts +0 -6
  409. package/src/components/screen/loading_message.tsx +0 -44
  410. package/src/components/screen/message_renderer.tsx +0 -108
  411. package/src/components/screen/progress_message.tsx +0 -60
  412. package/src/components/screen/screen_bridge.tsx +0 -149
  413. package/src/components/screen/table_message.tsx +0 -57
  414. package/src/components/screen_manager_bridge.tsx +0 -245
  415. package/src/components/sidebar/index.ts +0 -3
  416. package/src/components/sidebar/sidebar.tsx +0 -102
  417. package/src/components/sidebar/sidebar_item.tsx +0 -50
  418. package/src/components/sidebar/sidebar_separator.tsx +0 -13
  419. package/src/context/logger_context.tsx +0 -109
  420. package/src/hooks/use_theme.ts +0 -12
  421. package/src/services/screen_manager.tsx +0 -394
package/lib/index.d.mts CHANGED
@@ -1,10 +1,10 @@
1
- import { RGBA, SyntaxStyle, TreeSitterClient } from "@opentui/core";
2
- import * as react11 from "react";
1
+ import { ClassTypeWithInstance, FactoryContext, InjectionToken, LogLevel, LoggerInstance, LoggerService, OnServiceDestroy } from "@navios/core";
2
+ import { EventEmitter } from "node:events";
3
+ import { CliRenderer, RGBA, SyntaxStyle, TreeSitterClient } from "@opentui/core";
3
4
  import { ReactNode } from "react";
4
- import { ClassTypeWithInstance, FactoryContext, InjectionToken, LogLevel, LoggerInstance, LoggerService } from "@navios/core";
5
- import * as zod_v416 from "zod/v4";
5
+ import * as zod_v40 from "zod/v4";
6
6
  import { z } from "zod/v4";
7
- import * as zod_v4_core1 from "zod/v4/core";
7
+ import * as zod_v4_core0 from "zod/v4/core";
8
8
 
9
9
  //#region src/types/message.types.d.ts
10
10
  type MessageType = 'log' | 'file' | 'diff' | 'fileError' | 'loading' | 'progress' | 'group' | 'table';
@@ -442,6 +442,20 @@ interface LoggerContextValue {
442
442
  theme: Theme;
443
443
  }
444
444
  type ScreenStatus = 'waiting' | 'pending' | 'success' | 'fail' | 'static';
445
+ /**
446
+ * Render mode determines how the TUI operates.
447
+ * This is set during bind() and affects prompts, screen printing, and exit behavior.
448
+ */
449
+ declare enum RenderMode {
450
+ /** bind() never called - screens print on completion, prompts return defaults */
451
+ UNBOUND = "unbound",
452
+ /** bind() called with useOpenTUI: false - stdout mode with readline prompts */
453
+ STDOUT_INTERACTIVE = "stdout",
454
+ /** bind() called with useOpenTUI: true but adapter unavailable - fallback to stdout with warning */
455
+ STDOUT_FALLBACK = "fallback",
456
+ /** Full TUI rendering active with adapter */
457
+ TUI_ACTIVE = "tui",
458
+ }
445
459
  interface BindOptions {
446
460
  exitOnCtrlC?: boolean;
447
461
  sidebarWidth?: number;
@@ -453,6 +467,19 @@ interface BindOptions {
453
467
  theme?: Theme | ThemePreset;
454
468
  /** Enable mouse support (default: true) */
455
469
  useMouse?: boolean;
470
+ /**
471
+ * Use OpenTUI for terminal rendering.
472
+ * When true: Full TUI with sidebar, scrolling, interactive prompts.
473
+ * When false: Stdout mode - static screens print immediately, others on completion.
474
+ * Default: true for Node.js, false for Bun (OpenTUI not supported).
475
+ */
476
+ useOpenTUI?: boolean;
477
+ }
478
+ interface SetupOptions {
479
+ /** Theme to use for the TUI (theme object or preset name) */
480
+ theme?: Theme | ThemePreset;
481
+ /** Global log levels filter - only these levels will be displayed across all loggers */
482
+ logLevels?: LogLevel[];
456
483
  }
457
484
  //#endregion
458
485
  //#region src/types/prompt.types.d.ts
@@ -655,6 +682,46 @@ declare function hasActiveFilter(filter: FilterState): boolean;
655
682
  */
656
683
  type LevelCounts = Record<LogLevel, number>;
657
684
  //#endregion
685
+ //#region src/types/events.types.d.ts
686
+ interface ScreenManagerEventMap {
687
+ 'screen:added': [screenId: string];
688
+ 'screen:removed': [screenId: string];
689
+ 'screen:reordered': [];
690
+ 'activeScreen:changed': [screenId: string | null];
691
+ 'focus:changed': [area: FocusArea];
692
+ 'sidebar:indexChanged': [index: number];
693
+ 'mode:changed': [mode: RenderMode];
694
+ }
695
+ type ScreenManagerEventType = keyof ScreenManagerEventMap;
696
+ /**
697
+ * All manager events that adapters typically subscribe to for re-renders.
698
+ */
699
+ declare const MANAGER_EVENTS: ScreenManagerEventType[];
700
+ interface ScreenEventMap {
701
+ 'message:added': [messageId: string];
702
+ 'message:updated': [messageId: string];
703
+ 'messages:cleared': [];
704
+ 'status:changed': [status: ScreenStatus];
705
+ 'visibility:changed': [hidden: boolean];
706
+ 'badge:changed': [count: number];
707
+ 'prompt:activated': [];
708
+ 'prompt:updated': [];
709
+ 'prompt:resolved': [];
710
+ }
711
+ type ScreenEventType = keyof ScreenEventMap;
712
+ /**
713
+ * All screen events that adapters typically subscribe to for re-renders.
714
+ */
715
+ declare const SCREEN_EVENTS: ScreenEventType[];
716
+ /**
717
+ * Sidebar-specific events that require re-render.
718
+ */
719
+ declare const SIDEBAR_EVENTS: ScreenManagerEventType[];
720
+ /**
721
+ * Content area events that affect active screen changes.
722
+ */
723
+ declare const CONTENT_MANAGER_EVENTS: ScreenManagerEventType[];
724
+ //#endregion
658
725
  //#region src/schemas/screen-options.d.ts
659
726
  declare const ScreenOptionsSchema: z.ZodObject<{
660
727
  name: z.ZodString;
@@ -754,91 +821,219 @@ type PublicScreenLoggerMethods = Pick<ScreenLoggerInstance, keyof ScreenLoggerIn
754
821
  type ScreenOwnMethods = Partial<Omit<PublicScreenLoggerMethods, keyof PublicLoggerMethods>>;
755
822
  interface IsomorphicLoggerInterface extends PublicLoggerMethods, ScreenOwnMethods {}
756
823
  //#endregion
757
- //#region src/components/log/log_message.d.ts
824
+ //#region src/utils/colors/log-colors.d.ts
758
825
  /**
759
- * LogMessage - A chat-like styled log message with level-based coloring.
760
- *
761
- * Features:
762
- * - Left border with prominent color based on log level
763
- * - Subtle tinted background matching the log level
764
- * - Optional timestamp and label display
765
- * - Supports both simple text and complex React children
766
- * - Optional variant for semantic styling (e.g., 'success', 'trace')
767
- *
768
- * @example
769
- * <LogMessage level="error">
770
- * Connection failed: timeout after 30s
771
- * </LogMessage>
772
- *
773
- * @example
774
- * <LogMessage level="log" timestamp={new Date()} label="API">
775
- * Request completed successfully
776
- * </LogMessage>
777
- *
778
- * @example
779
- * <LogMessage level="log" variant="success">
780
- * Operation completed successfully
781
- * </LogMessage>
782
- */
783
- declare function LogMessage({
784
- level,
785
- variant,
786
- children,
787
- timestamp,
788
- label,
789
- trace,
790
- borderColor: customBorderColor,
791
- backgroundColor: customBackgroundColor,
792
- borderStyle,
793
- padding,
794
- margin
795
- }: LogMessageProps): react11.ReactNode;
826
+ * Default color scheme for all log levels.
827
+ * Each level has a prominent border color and a subtle background tint.
828
+ */
829
+ declare const DEFAULT_LOG_LEVEL_COLORS: LogLevelColorMap;
830
+ /**
831
+ * Colors for semantic variants (override level colors when variant is set).
832
+ */
833
+ declare const VARIANT_COLORS: Record<LogMessageVariant, LogLevelColors>;
834
+ /**
835
+ * Error highlighting colors.
836
+ */
837
+ declare const ERROR_HIGHLIGHT_COLORS: {
838
+ background: string;
839
+ border: string;
840
+ gutterBackground: string;
841
+ };
796
842
  //#endregion
797
- //#region src/components/file/file_log.d.ts
843
+ //#region src/utils/colors/sidebar-colors.d.ts
798
844
  /**
799
- * FileLog - Displays file content, diffs, or partial files with error highlighting.
800
- *
801
- * Three modes:
802
- * 1. "full" - Display complete file with syntax highlighting
803
- * 2. "diff" - Display unified diff using <diff> component
804
- * 3. "partial" - Display file excerpt with optional error line highlighting
845
+ * Sidebar colors.
846
+ */
847
+ declare const SIDEBAR_COLORS: {
848
+ background: undefined;
849
+ selectedBackground: string;
850
+ hoverBackground: string;
851
+ text: string;
852
+ textDim: string;
853
+ border: string;
854
+ badge: string;
855
+ focusBorder: string;
856
+ };
857
+ /**
858
+ * Screen header colors.
859
+ */
860
+ declare const HEADER_COLORS: {
861
+ background: undefined;
862
+ text: string;
863
+ border: string;
864
+ };
865
+ /**
866
+ * Screen status indicator colors and icons.
867
+ */
868
+ declare const STATUS_INDICATORS: {
869
+ readonly waiting: {
870
+ readonly icon: "○";
871
+ readonly color: "#6B7280";
872
+ };
873
+ readonly pending: {
874
+ readonly icon: "◐";
875
+ readonly color: "#F59E0B";
876
+ };
877
+ readonly success: {
878
+ readonly icon: "✓";
879
+ readonly color: "#22C55E";
880
+ };
881
+ readonly fail: {
882
+ readonly icon: "✗";
883
+ readonly color: "#EF4444";
884
+ };
885
+ };
886
+ /**
887
+ * Separator colors for sidebar sections.
888
+ */
889
+ declare const SEPARATOR_COLORS: {
890
+ line: string;
891
+ text: string;
892
+ };
893
+ //#endregion
894
+ //#region src/utils/colors/progress-colors.d.ts
895
+ /**
896
+ * Progress bar colors.
897
+ */
898
+ declare const PROGRESS_COLORS: {
899
+ border: string;
900
+ background: string;
901
+ barFilled: string;
902
+ barEmpty: string;
903
+ text: string;
904
+ textDim: string;
905
+ complete: string;
906
+ completeBackground: string;
907
+ failed: string;
908
+ failedBackground: string;
909
+ };
910
+ /**
911
+ * Group colors for collapsible log groups.
912
+ */
913
+ declare const GROUP_COLORS: {
914
+ border: string;
915
+ background: string;
916
+ headerText: string;
917
+ icon: string;
918
+ };
919
+ //#endregion
920
+ //#region src/utils/colors/table-colors.d.ts
921
+ /**
922
+ * Table colors (uses info/blue scheme).
923
+ */
924
+ declare const TABLE_COLORS: {
925
+ border: string;
926
+ background: string;
927
+ headerText: string;
928
+ cellText: string;
929
+ title: string;
930
+ separator: string;
931
+ };
932
+ //#endregion
933
+ //#region src/utils/colors/file-colors.d.ts
934
+ /**
935
+ * File display colors (uses info/blue scheme).
936
+ */
937
+ declare const FILE_COLORS: {
938
+ border: string;
939
+ background: string;
940
+ headerText: string;
941
+ headerBackground: string;
942
+ };
943
+ //#endregion
944
+ //#region src/utils/colors/prompt-colors.d.ts
945
+ /**
946
+ * Prompt colors for interactive prompts.
947
+ */
948
+ declare const PROMPT_COLORS: {
949
+ question: string;
950
+ optionText: string;
951
+ optionTextDim: string;
952
+ optionSelected: string;
953
+ optionSelectedBackground: string;
954
+ confirmButton: string;
955
+ cancelButton: string;
956
+ buttonBackground: string;
957
+ buttonSelectedBackground: string;
958
+ inputBorder: string;
959
+ inputBackground: string;
960
+ inputText: string;
961
+ inputPlaceholder: string;
962
+ inputCursor: string;
963
+ border: string;
964
+ focusBorder: string;
965
+ };
966
+ //#endregion
967
+ //#region src/utils/colors/helpers.d.ts
968
+ /**
969
+ * Gets colors for a specific log level.
805
970
  *
806
- * @example Full file
807
- * <FileLog
808
- * mode="full"
809
- * filePath="src/index.ts"
810
- * content={fileContent}
811
- * />
971
+ * @param level - The log level
972
+ * @param customColors - Optional custom color map
973
+ */
974
+ declare function getLogLevelColors(level: LogLevel, customColors?: Partial<LogLevelColorMap>): LogLevelColors;
975
+ //#endregion
976
+ //#region src/utils/filetype.d.ts
977
+ /**
978
+ * Common file extension to filetype mapping for syntax highlighting.
979
+ */
980
+ declare const COMMON_FILETYPES: Record<string, string>;
981
+ /**
982
+ * Resolves filetype from file path for syntax highlighting.
812
983
  *
813
- * @example Diff
814
- * <FileLog
815
- * mode="diff"
816
- * filePath="src/api.ts"
817
- * diff={unifiedDiff}
818
- * view="unified"
819
- * />
984
+ * @param filePath - Full file path or just filename
985
+ * @returns Filetype string for tree-sitter, or undefined
986
+ */
987
+ declare function resolveFiletype(filePath: string): string | undefined;
988
+ /**
989
+ * Gets the filename from a full path.
820
990
  *
821
- * @example Partial with error
822
- * <FileLog
823
- * mode="partial"
824
- * filePath="src/utils.ts"
825
- * content={excerpt}
826
- * startLine={42}
827
- * errorLines={[45, 46]}
828
- * />
829
- */
830
- declare function FileLog(props: FileLogProps): react11.ReactNode;
991
+ * @param filePath - Full file path
992
+ * @returns Just the filename
993
+ */
994
+ declare function getFileName(filePath: string): string;
831
995
  //#endregion
832
- //#region src/components/prompt/prompt_renderer.d.ts
833
- interface PromptRendererProps {
834
- prompt: PromptData;
835
- }
836
- declare function PromptRenderer({
837
- prompt
838
- }: PromptRendererProps): react11.ReactNode;
996
+ //#region src/utils/stdout-printer.d.ts
997
+ /**
998
+ * Print a single message to stdout with optional screen name prefix.
999
+ * Used for immediate output in stdout mode (when OpenTUI is not active).
1000
+ */
1001
+ declare function printSingleMessage(message: MessageData, screenName?: string, isError?: boolean): void;
1002
+ /**
1003
+ * Print all messages to stdout (or stderr if isError)
1004
+ */
1005
+ declare function printMessagesToStdout(messages: MessageData[], screenName: string, isError?: boolean): void;
1006
+ //#endregion
1007
+ //#region src/utils/format.d.ts
1008
+ /**
1009
+ * Format an object for display with configurable depth
1010
+ */
1011
+ declare function formatObject(obj: unknown, depth?: number, currentDepth?: number): string;
1012
+ /**
1013
+ * Capture a stack trace, filtering out internal frames
1014
+ */
1015
+ declare function captureTrace(offset?: number): string;
1016
+ //#endregion
1017
+ //#region src/utils/runtime.d.ts
1018
+ /**
1019
+ * Detect if running in Bun environment (OpenTUI is not supported in Bun)
1020
+ */
1021
+ declare function isBunRuntime(): boolean;
1022
+ /**
1023
+ * Dynamic import that bypasses bundler static analysis.
1024
+ * Uses Function constructor to prevent bundlers from resolving the import at build time.
1025
+ */
1026
+ declare function dynamicImport<T = unknown>(modulePath: string): Promise<T>;
1027
+ //#endregion
1028
+ //#region src/utils/prompt.d.ts
1029
+ /**
1030
+ * Get the default value for a prompt based on its type.
1031
+ * Used for resolving prompts when no interaction is possible.
1032
+ */
1033
+ declare function getPromptDefaultValue(prompt: PromptData): string | boolean | string[];
839
1034
  //#endregion
840
1035
  //#region src/services/screen.d.ts
841
- declare class ScreenInstance {
1036
+ declare class ScreenInstance extends EventEmitter<ScreenEventMap> {
842
1037
  private id;
843
1038
  private name;
844
1039
  private icon?;
@@ -847,7 +1042,6 @@ declare class ScreenInstance {
847
1042
  private hidden;
848
1043
  private messages;
849
1044
  private manager;
850
- private changeListeners;
851
1045
  private printFn;
852
1046
  private hasPrinted;
853
1047
  private version;
@@ -859,7 +1053,7 @@ declare class ScreenInstance {
859
1053
  /**
860
1054
  * Internal: Set the manager reference
861
1055
  */
862
- _setManager(manager: ScreenManager): void;
1056
+ _setManager(manager: ScreenManagerInstance): void;
863
1057
  /**
864
1058
  * Internal: Set the print function for stdout output
865
1059
  */
@@ -875,7 +1069,12 @@ declare class ScreenInstance {
875
1069
  hide(): this;
876
1070
  getStatus(): ScreenStatus;
877
1071
  /**
878
- * Set screen status. When success/fail and TUI is not bound, prints to stdout/stderr
1072
+ * Check if a log level is enabled globally via the ScreenManager.
1073
+ * Returns true if no manager is set or if the level is allowed.
1074
+ */
1075
+ isLogLevelEnabled(level: LogLevel): boolean;
1076
+ /**
1077
+ * Set screen status. When success/fail and not in TUI mode, prints to stdout/stderr
879
1078
  */
880
1079
  setStatus(status: ScreenStatus): this;
881
1080
  /**
@@ -883,7 +1082,8 @@ declare class ScreenInstance {
883
1082
  */
884
1083
  isComplete(): boolean;
885
1084
  /**
886
- * Check if this screen has been printed to console
1085
+ * Check if this screen has been printed to console.
1086
+ * Static screens in non-TUI modes are considered printed as they print incrementally.
887
1087
  */
888
1088
  hasPrintedToConsole(): boolean;
889
1089
  /**
@@ -986,10 +1186,9 @@ declare class ScreenInstance {
986
1186
  */
987
1187
  private activateNextPrompt;
988
1188
  /**
989
- * Register a change listener for re-renders
1189
+ * Print a single message immediately to stdout (for static screens in stdout mode)
990
1190
  */
991
- onChange(listener: () => void): () => void;
992
- private notifyChange;
1191
+ private printSingleMessageToConsole;
993
1192
  /**
994
1193
  * Print all messages to stdout/stderr with ANSI colors
995
1194
  */
@@ -997,19 +1196,23 @@ declare class ScreenInstance {
997
1196
  }
998
1197
  //#endregion
999
1198
  //#region src/services/screen_manager.d.ts
1000
- declare class ScreenManager {
1199
+ declare class ScreenManagerInstance extends EventEmitter<ScreenManagerEventMap> implements OnServiceDestroy {
1001
1200
  private screens;
1002
1201
  private screenOrder;
1003
1202
  private activeScreenId;
1004
1203
  private renderer;
1005
1204
  private root;
1006
- private isBound;
1007
- private changeListeners;
1205
+ private adapter;
1206
+ private container;
1207
+ private mode;
1208
+ private readlinePromptService;
1008
1209
  private bindOptions;
1009
1210
  private autoCloseTimer;
1010
1211
  private theme;
1212
+ private globalLogLevels;
1011
1213
  focusArea: FocusArea;
1012
1214
  selectedIndex: number;
1215
+ constructor();
1013
1216
  /**
1014
1217
  * Create a new screen and return it
1015
1218
  */
@@ -1023,23 +1226,73 @@ declare class ScreenManager {
1023
1226
  * Non-blocking bind - starts TUI rendering in background
1024
1227
  */
1025
1228
  bind(options?: BindOptions): Promise<void>;
1229
+ /**
1230
+ * Get the current render mode
1231
+ */
1232
+ getRenderMode(): RenderMode;
1233
+ /**
1234
+ * Check if TUI is interactive (any mode except UNBOUND).
1235
+ * In interactive modes, prompts can be handled via readline or TUI.
1236
+ */
1237
+ isInteractive(): boolean;
1238
+ /**
1239
+ * Check if TUI rendering is active (TUI_ACTIVE mode).
1240
+ * When true, screens are rendered in the TUI and not printed to stdout.
1241
+ */
1242
+ hasTuiRenderer(): boolean;
1243
+ /**
1244
+ * Handle a prompt via readline (for stdout modes)
1245
+ */
1246
+ handleReadlinePrompt(prompt: PromptData): Promise<string | boolean | string[]>;
1026
1247
  /**
1027
1248
  * Get the configured theme
1028
1249
  */
1029
1250
  getTheme(): Theme | undefined;
1251
+ /**
1252
+ * Setup global configuration for the screen manager.
1253
+ * Can be called before or after bind() to configure theme and log levels.
1254
+ */
1255
+ setup(options: SetupOptions): void;
1256
+ /**
1257
+ * Check if a log level is enabled globally.
1258
+ * Returns true if no global filter is set, or if the level is in the allowed set.
1259
+ */
1260
+ isLogLevelEnabled(level: LogLevel): boolean;
1261
+ /**
1262
+ * Get the current global log levels filter.
1263
+ * Returns null if no filter is set (all levels allowed).
1264
+ */
1265
+ getGlobalLogLevels(): LogLevel[] | null;
1266
+ onServiceDestroy(): void;
1030
1267
  /**
1031
1268
  * Stop TUI rendering and cleanup
1032
- * Flushes all completed screens to stdout/stderr
1269
+ * Flushes screens to stdout/stderr based on mode
1033
1270
  */
1034
1271
  unbind(): void;
1035
1272
  /**
1036
- * Print all completed screens that haven't been printed yet
1273
+ * Flush screens on exit based on the mode we're exiting from
1274
+ */
1275
+ private flushScreensOnExit;
1276
+ /**
1277
+ * Flush any remaining non-hidden screens that haven't been printed.
1278
+ * Called on destroy even in UNBOUND mode to handle forgotten completions.
1037
1279
  */
1038
- private flushCompletedScreens;
1280
+ private flushRemainingScreens;
1039
1281
  /**
1040
1282
  * Check if TUI is currently bound
1283
+ * @deprecated Use isInteractive() instead
1041
1284
  */
1042
1285
  isTuiBound(): boolean;
1286
+ /**
1287
+ * Check if TUI rendering is active (has renderer or self-rendering adapter).
1288
+ * @deprecated Use hasTuiRenderer() instead
1289
+ */
1290
+ isTuiRendererActive(): boolean;
1291
+ /**
1292
+ * Check if OpenTUI rendering is active (has renderer).
1293
+ * @deprecated Use hasTuiRenderer() instead
1294
+ */
1295
+ isOpenTUIActive(): boolean;
1043
1296
  /**
1044
1297
  * Called by Screen when a prompt becomes active
1045
1298
  * Focuses the screen and switches to content area
@@ -1113,11 +1366,6 @@ declare class ScreenManager {
1113
1366
  * Toggle focus between sidebar and content
1114
1367
  */
1115
1368
  toggleFocus(): void;
1116
- /**
1117
- * Register a change listener for re-renders
1118
- */
1119
- onChange(listener: () => void): () => void;
1120
- private notifyChange;
1121
1369
  private render;
1122
1370
  }
1123
1371
  //#endregion
@@ -1151,401 +1399,53 @@ declare class PromptInstance {
1151
1399
  multiChoice(options: MultiChoiceOptions): Promise<string[]>;
1152
1400
  }
1153
1401
  //#endregion
1154
- //#region src/components/screen/screen_bridge.d.ts
1155
- interface ScreenBridgeProps {
1156
- screen: ScreenInstance;
1157
- focused: boolean;
1158
- /** Pre-filtered messages (if filtering is active) */
1159
- filteredMessages?: MessageData[];
1160
- /** Whether any filter is currently active */
1161
- isFiltering?: boolean;
1162
- /** Total message count (before filtering) */
1163
- totalMessages?: number;
1164
- }
1165
- declare function ScreenBridge({
1166
- screen,
1167
- focused,
1168
- filteredMessages,
1169
- isFiltering,
1170
- totalMessages
1171
- }: ScreenBridgeProps): react11.ReactNode;
1172
- //#endregion
1173
- //#region src/components/screen/message_renderer.d.ts
1174
- interface MessageRendererProps {
1175
- message: MessageData;
1176
- }
1177
- declare function MessageRenderer({
1178
- message
1179
- }: MessageRendererProps): react11.ReactNode;
1180
- //#endregion
1181
- //#region src/components/screen/loading_message.d.ts
1182
- interface LoadingMessageProps {
1183
- message: LoadingMessageData;
1184
- }
1185
- declare function LoadingMessage({
1186
- message
1187
- }: LoadingMessageProps): react11.ReactNode;
1188
- //#endregion
1189
- //#region src/components/screen/progress_message.d.ts
1190
- interface ProgressMessageProps {
1191
- message: ProgressMessageData;
1192
- }
1193
- declare function ProgressMessage({
1194
- message
1195
- }: ProgressMessageProps): react11.ReactNode;
1196
- //#endregion
1197
- //#region src/components/screen/group_renderer.d.ts
1198
- interface GroupRendererProps {
1199
- label: string;
1200
- messages: MessageData[];
1201
- }
1202
- declare function GroupRenderer({
1203
- label,
1204
- messages
1205
- }: GroupRendererProps): react11.ReactNode;
1206
- interface GroupMessageRendererProps {
1207
- message: GroupMessageData;
1208
- }
1402
+ //#region src/services/readline_prompt.d.ts
1209
1403
  /**
1210
- * Fallback renderer for group markers (when not processed at higher level)
1404
+ * Readline-based prompt service for stdout mode.
1405
+ * Provides basic interactive prompts when TUI adapter is not available.
1211
1406
  */
1212
- declare function GroupMessageRenderer({
1213
- message
1214
- }: GroupMessageRendererProps): react11.ReactNode;
1215
- //#endregion
1216
- //#region src/components/screen/table_message.d.ts
1217
- interface TableMessageProps {
1218
- message: TableMessageData;
1219
- }
1220
- declare function TableMessage({
1221
- message
1222
- }: TableMessageProps): react11.ReactNode;
1223
- //#endregion
1224
- //#region src/components/sidebar/sidebar.d.ts
1225
- interface SidebarProps {
1226
- screens: ScreenInstance[];
1227
- selectedIndex: number;
1228
- activeScreenId: string;
1229
- focused: boolean;
1230
- width: number;
1231
- title: string;
1232
- }
1233
- declare function Sidebar({
1234
- screens,
1235
- selectedIndex,
1236
- activeScreenId,
1237
- focused,
1238
- width,
1239
- title
1240
- }: SidebarProps): react11.ReactNode;
1241
- //#endregion
1242
- //#region src/components/sidebar/sidebar_item.d.ts
1243
- interface SidebarItemProps {
1244
- screen: ScreenInstance;
1245
- isSelected: boolean;
1246
- isActive: boolean;
1247
- focused: boolean;
1248
- }
1249
- declare function SidebarItem({
1250
- screen,
1251
- isSelected,
1252
- isActive,
1253
- focused
1254
- }: SidebarItemProps): react11.ReactNode;
1255
- //#endregion
1256
- //#region src/components/sidebar/sidebar_separator.d.ts
1257
- declare function SidebarSeparator(): react11.ReactNode;
1258
- //#endregion
1259
- //#region src/components/screen_manager_bridge.d.ts
1260
- interface ScreenManagerBridgeProps {
1261
- manager: ScreenManager;
1262
- theme?: Theme;
1263
- }
1264
- declare function ScreenManagerBridge({
1265
- manager,
1266
- theme
1267
- }: ScreenManagerBridgeProps): react11.ReactNode;
1268
- //#endregion
1269
- //#region src/context/logger_context.d.ts
1270
- interface LoggerProviderProps {
1271
- children: ReactNode;
1272
- /** Custom syntax style for code highlighting */
1273
- syntaxStyle?: SyntaxStyle;
1274
- /** Tree-sitter client for parsing */
1275
- treeSitterClient?: TreeSitterClient;
1407
+ declare class ReadlinePromptService {
1408
+ private rl;
1409
+ private promptQueue;
1410
+ private isProcessing;
1411
+ private ensureInterface;
1276
1412
  /**
1277
- * Theme configuration.
1278
- * Can be a preset name ("dark", "light", "high-contrast") or a Theme object.
1279
- * @default "dark"
1413
+ * Handle a prompt interactively via readline.
1414
+ * Prompts are queued and processed sequentially.
1280
1415
  */
1281
- theme?: Theme | ThemePreset;
1416
+ handlePrompt(prompt: PromptData): Promise<string | boolean | string[]>;
1417
+ private processQueue;
1418
+ private processPrompt;
1419
+ private handleChoice;
1420
+ private handleConfirm;
1421
+ private handleInput;
1422
+ private handleMultiChoice;
1282
1423
  /**
1283
- * @deprecated Use `theme` instead. Custom log level colors.
1284
- * If both `theme` and `levelColors` are provided, `levelColors` takes precedence.
1424
+ * Cleanup readline interface
1285
1425
  */
1286
- levelColors?: Partial<LogLevelColorMap>;
1426
+ destroy(): void;
1287
1427
  }
1288
- /**
1289
- * LoggerProvider - Provides shared context for logger components.
1290
- *
1291
- * This context provides:
1292
- * - Shared SyntaxStyle instance for consistent code highlighting
1293
- * - Optional TreeSitterClient for advanced parsing
1294
- * - Theme configuration for consistent styling
1295
- * - Log level color configuration (for backwards compatibility)
1296
- *
1297
- * @example
1298
- * // Using a preset theme
1299
- * <LoggerProvider theme="dark">
1300
- * <ScreenManager screens={screens} activeScreenId={activeId}>
1301
- * <Screen name="Logs">
1302
- * <LogMessage level="info">Hello</LogMessage>
1303
- * </Screen>
1304
- * </ScreenManager>
1305
- * </LoggerProvider>
1306
- *
1307
- * @example
1308
- * // Using a custom theme
1309
- * <LoggerProvider theme={myCustomTheme}>
1310
- * ...
1311
- * </LoggerProvider>
1312
- */
1313
- declare function LoggerProvider({
1314
- children,
1315
- syntaxStyle: customSyntaxStyle,
1316
- treeSitterClient,
1317
- theme: themeProp,
1318
- levelColors: customLevelColors
1319
- }: LoggerProviderProps): ReactNode;
1320
- /**
1321
- * Hook to access logger context.
1322
- * Returns default values if used outside LoggerProvider.
1323
- */
1324
- declare function useLoggerContext(): LoggerContextValue;
1325
- //#endregion
1326
- //#region src/utils/colors/log-colors.d.ts
1327
- /**
1328
- * Default color scheme for all log levels.
1329
- * Each level has a prominent border color and a subtle background tint.
1330
- */
1331
- declare const DEFAULT_LOG_LEVEL_COLORS: LogLevelColorMap;
1332
- /**
1333
- * Colors for semantic variants (override level colors when variant is set).
1334
- */
1335
- declare const VARIANT_COLORS: Record<LogMessageVariant, LogLevelColors>;
1336
- /**
1337
- * Error highlighting colors.
1338
- */
1339
- declare const ERROR_HIGHLIGHT_COLORS: {
1340
- background: string;
1341
- border: string;
1342
- gutterBackground: string;
1343
- };
1344
- //#endregion
1345
- //#region src/utils/colors/sidebar-colors.d.ts
1346
- /**
1347
- * Sidebar colors.
1348
- */
1349
- declare const SIDEBAR_COLORS: {
1350
- background: undefined;
1351
- selectedBackground: string;
1352
- hoverBackground: string;
1353
- text: string;
1354
- textDim: string;
1355
- border: string;
1356
- badge: string;
1357
- focusBorder: string;
1358
- };
1359
- /**
1360
- * Screen header colors.
1361
- */
1362
- declare const HEADER_COLORS: {
1363
- background: undefined;
1364
- text: string;
1365
- border: string;
1366
- };
1367
- /**
1368
- * Screen status indicator colors and icons.
1369
- */
1370
- declare const STATUS_INDICATORS: {
1371
- readonly waiting: {
1372
- readonly icon: "○";
1373
- readonly color: "#6B7280";
1374
- };
1375
- readonly pending: {
1376
- readonly icon: "◐";
1377
- readonly color: "#F59E0B";
1378
- };
1379
- readonly success: {
1380
- readonly icon: "✓";
1381
- readonly color: "#22C55E";
1382
- };
1383
- readonly fail: {
1384
- readonly icon: "✗";
1385
- readonly color: "#EF4444";
1386
- };
1387
- };
1388
- /**
1389
- * Separator colors for sidebar sections.
1390
- */
1391
- declare const SEPARATOR_COLORS: {
1392
- line: string;
1393
- text: string;
1394
- };
1395
- //#endregion
1396
- //#region src/utils/colors/progress-colors.d.ts
1397
- /**
1398
- * Progress bar colors.
1399
- */
1400
- declare const PROGRESS_COLORS: {
1401
- border: string;
1402
- background: string;
1403
- barFilled: string;
1404
- barEmpty: string;
1405
- text: string;
1406
- textDim: string;
1407
- complete: string;
1408
- completeBackground: string;
1409
- failed: string;
1410
- failedBackground: string;
1411
- };
1412
- /**
1413
- * Group colors for collapsible log groups.
1414
- */
1415
- declare const GROUP_COLORS: {
1416
- border: string;
1417
- background: string;
1418
- headerText: string;
1419
- icon: string;
1420
- };
1421
- //#endregion
1422
- //#region src/utils/colors/table-colors.d.ts
1423
- /**
1424
- * Table colors (uses info/blue scheme).
1425
- */
1426
- declare const TABLE_COLORS: {
1427
- border: string;
1428
- background: string;
1429
- headerText: string;
1430
- cellText: string;
1431
- title: string;
1432
- separator: string;
1433
- };
1434
- //#endregion
1435
- //#region src/utils/colors/file-colors.d.ts
1436
- /**
1437
- * File display colors (uses info/blue scheme).
1438
- */
1439
- declare const FILE_COLORS: {
1440
- border: string;
1441
- background: string;
1442
- headerText: string;
1443
- headerBackground: string;
1444
- };
1445
- //#endregion
1446
- //#region src/utils/colors/prompt-colors.d.ts
1447
- /**
1448
- * Prompt colors for interactive prompts.
1449
- */
1450
- declare const PROMPT_COLORS: {
1451
- question: string;
1452
- optionText: string;
1453
- optionTextDim: string;
1454
- optionSelected: string;
1455
- optionSelectedBackground: string;
1456
- confirmButton: string;
1457
- cancelButton: string;
1458
- buttonBackground: string;
1459
- buttonSelectedBackground: string;
1460
- inputBorder: string;
1461
- inputBackground: string;
1462
- inputText: string;
1463
- inputPlaceholder: string;
1464
- inputCursor: string;
1465
- border: string;
1466
- focusBorder: string;
1467
- };
1468
- //#endregion
1469
- //#region src/utils/colors/helpers.d.ts
1470
- /**
1471
- * Creates a tinted (subtle) version of a color by setting alpha.
1472
- *
1473
- * @param color - The base color (hex string or RGBA)
1474
- * @param alpha - Target alpha value (0-1), default 0.08 for subtle tinting
1475
- * @returns New RGBA with adjusted alpha
1476
- */
1477
- declare function createTintedColor(color: string | RGBA, alpha?: number): RGBA;
1478
- /**
1479
- * Creates a more prominent version of a color for borders.
1480
- *
1481
- * @param color - The base color
1482
- * @param alpha - Target alpha, default 1.0 for solid borders
1483
- */
1484
- declare function createBorderColor(color: string | RGBA, alpha?: number): RGBA;
1485
- /**
1486
- * Gets colors for a specific log level.
1487
- *
1488
- * @param level - The log level
1489
- * @param customColors - Optional custom color map
1490
- */
1491
- declare function getLogLevelColors(level: LogLevel, customColors?: Partial<LogLevelColorMap>): LogLevelColors;
1492
- //#endregion
1493
- //#region src/utils/filetype.d.ts
1494
- /**
1495
- * Common file extension to filetype mapping for syntax highlighting.
1496
- */
1497
- declare const COMMON_FILETYPES: Record<string, string>;
1498
- /**
1499
- * Resolves filetype from file path for syntax highlighting.
1500
- *
1501
- * @param filePath - Full file path or just filename
1502
- * @returns Filetype string for tree-sitter, or undefined
1503
- */
1504
- declare function resolveFiletype(filePath: string): string | undefined;
1505
- /**
1506
- * Gets the filename from a full path.
1507
- *
1508
- * @param filePath - Full file path
1509
- * @returns Just the filename
1510
- */
1511
- declare function getFileName(filePath: string): string;
1512
- //#endregion
1513
- //#region src/utils/stdout-printer.d.ts
1514
- /**
1515
- * Print all messages to stdout (or stderr if isError)
1516
- */
1517
- declare function printMessagesToStdout(messages: MessageData[], screenName: string, isError?: boolean): void;
1518
- //#endregion
1519
- //#region src/utils/format.d.ts
1520
- /**
1521
- * Format an object for display with configurable depth
1522
- */
1523
- declare function formatObject(obj: unknown, depth?: number, currentDepth?: number): string;
1524
- /**
1525
- * Capture a stack trace, filtering out internal frames
1526
- */
1527
- declare function captureTrace(offset?: number): string;
1528
1428
  //#endregion
1529
1429
  //#region src/tokens/screen.d.ts
1530
- declare const Screen: InjectionToken<ScreenInstance, zod_v416.ZodObject<{
1531
- name: zod_v416.ZodString;
1532
- icon: zod_v416.ZodOptional<zod_v416.ZodString>;
1533
- badgeCount: zod_v416.ZodOptional<zod_v416.ZodNumber>;
1534
- hidden: zod_v416.ZodDefault<zod_v416.ZodOptional<zod_v416.ZodBoolean>>;
1535
- static: zod_v416.ZodDefault<zod_v416.ZodOptional<zod_v416.ZodBoolean>>;
1536
- }, zod_v4_core1.$strip>, true>;
1430
+ declare const Screen: InjectionToken<ScreenInstance, zod_v40.ZodObject<{
1431
+ name: zod_v40.ZodString;
1432
+ icon: zod_v40.ZodOptional<zod_v40.ZodString>;
1433
+ badgeCount: zod_v40.ZodOptional<zod_v40.ZodNumber>;
1434
+ hidden: zod_v40.ZodDefault<zod_v40.ZodOptional<zod_v40.ZodBoolean>>;
1435
+ static: zod_v40.ZodDefault<zod_v40.ZodOptional<zod_v40.ZodBoolean>>;
1436
+ }, zod_v4_core0.$strip>, true>;
1537
1437
  //#endregion
1538
1438
  //#region src/tokens/logger.d.ts
1539
- declare const ScreenLogger: InjectionToken<ScreenLoggerInstance, zod_v416.ZodObject<{
1540
- screen: zod_v416.ZodDefault<zod_v416.ZodOptional<zod_v416.ZodUnion<[zod_v416.ZodObject<{
1541
- name: zod_v416.ZodString;
1542
- icon: zod_v416.ZodOptional<zod_v416.ZodString>;
1543
- badgeCount: zod_v416.ZodOptional<zod_v416.ZodNumber>;
1544
- hidden: zod_v416.ZodDefault<zod_v416.ZodOptional<zod_v416.ZodBoolean>>;
1545
- static: zod_v416.ZodDefault<zod_v416.ZodOptional<zod_v416.ZodBoolean>>;
1546
- }, zod_v4_core1.$strip>, zod_v416.ZodString]>>>;
1547
- context: zod_v416.ZodOptional<zod_v416.ZodString>;
1548
- enabledLevels: zod_v416.ZodDefault<zod_v416.ZodArray<zod_v416.ZodEnum<{
1439
+ declare const ScreenLogger: InjectionToken<ScreenLoggerInstance, zod_v40.ZodObject<{
1440
+ screen: zod_v40.ZodDefault<zod_v40.ZodOptional<zod_v40.ZodUnion<[zod_v40.ZodObject<{
1441
+ name: zod_v40.ZodString;
1442
+ icon: zod_v40.ZodOptional<zod_v40.ZodString>;
1443
+ badgeCount: zod_v40.ZodOptional<zod_v40.ZodNumber>;
1444
+ hidden: zod_v40.ZodDefault<zod_v40.ZodOptional<zod_v40.ZodBoolean>>;
1445
+ static: zod_v40.ZodDefault<zod_v40.ZodOptional<zod_v40.ZodBoolean>>;
1446
+ }, zod_v4_core0.$strip>, zod_v40.ZodString]>>>;
1447
+ context: zod_v40.ZodOptional<zod_v40.ZodString>;
1448
+ enabledLevels: zod_v40.ZodDefault<zod_v40.ZodArray<zod_v40.ZodEnum<{
1549
1449
  verbose: "verbose";
1550
1450
  debug: "debug";
1551
1451
  log: "log";
@@ -1553,21 +1453,21 @@ declare const ScreenLogger: InjectionToken<ScreenLoggerInstance, zod_v416.ZodObj
1553
1453
  error: "error";
1554
1454
  fatal: "fatal";
1555
1455
  }>>>;
1556
- }, zod_v4_core1.$strip>, true>;
1456
+ }, zod_v4_core0.$strip>, true>;
1557
1457
  /**
1558
1458
  * Isomorphic logger token for shared logger between TUI and Server.
1559
1459
  * This token is used to inject the logger instance into the application.
1560
1460
  */
1561
- declare const IsomorphicLogger: InjectionToken<IsomorphicLoggerInterface, zod_v416.ZodObject<{
1562
- screen: zod_v416.ZodDefault<zod_v416.ZodOptional<zod_v416.ZodUnion<[zod_v416.ZodObject<{
1563
- name: zod_v416.ZodString;
1564
- icon: zod_v416.ZodOptional<zod_v416.ZodString>;
1565
- badgeCount: zod_v416.ZodOptional<zod_v416.ZodNumber>;
1566
- hidden: zod_v416.ZodDefault<zod_v416.ZodOptional<zod_v416.ZodBoolean>>;
1567
- static: zod_v416.ZodDefault<zod_v416.ZodOptional<zod_v416.ZodBoolean>>;
1568
- }, zod_v4_core1.$strip>, zod_v416.ZodString]>>>;
1569
- context: zod_v416.ZodOptional<zod_v416.ZodString>;
1570
- enabledLevels: zod_v416.ZodDefault<zod_v416.ZodArray<zod_v416.ZodEnum<{
1461
+ declare const IsomorphicLogger: InjectionToken<IsomorphicLoggerInterface, zod_v40.ZodObject<{
1462
+ screen: zod_v40.ZodDefault<zod_v40.ZodOptional<zod_v40.ZodUnion<[zod_v40.ZodObject<{
1463
+ name: zod_v40.ZodString;
1464
+ icon: zod_v40.ZodOptional<zod_v40.ZodString>;
1465
+ badgeCount: zod_v40.ZodOptional<zod_v40.ZodNumber>;
1466
+ hidden: zod_v40.ZodDefault<zod_v40.ZodOptional<zod_v40.ZodBoolean>>;
1467
+ static: zod_v40.ZodDefault<zod_v40.ZodOptional<zod_v40.ZodBoolean>>;
1468
+ }, zod_v4_core0.$strip>, zod_v40.ZodString]>>>;
1469
+ context: zod_v40.ZodOptional<zod_v40.ZodString>;
1470
+ enabledLevels: zod_v40.ZodDefault<zod_v40.ZodArray<zod_v40.ZodEnum<{
1571
1471
  verbose: "verbose";
1572
1472
  debug: "debug";
1573
1473
  log: "log";
@@ -1575,18 +1475,84 @@ declare const IsomorphicLogger: InjectionToken<IsomorphicLoggerInterface, zod_v4
1575
1475
  error: "error";
1576
1476
  fatal: "fatal";
1577
1477
  }>>>;
1578
- }, zod_v4_core1.$strip>, true>;
1478
+ }, zod_v4_core0.$strip>, true>;
1579
1479
  //#endregion
1580
1480
  //#region src/tokens/prompt.d.ts
1581
- declare const Prompt: InjectionToken<PromptInstance, zod_v416.ZodObject<{
1582
- screen: zod_v416.ZodDefault<zod_v416.ZodOptional<zod_v416.ZodUnion<[zod_v416.ZodObject<{
1583
- name: zod_v416.ZodString;
1584
- icon: zod_v416.ZodOptional<zod_v416.ZodString>;
1585
- badgeCount: zod_v416.ZodOptional<zod_v416.ZodNumber>;
1586
- hidden: zod_v416.ZodDefault<zod_v416.ZodOptional<zod_v416.ZodBoolean>>;
1587
- static: zod_v416.ZodDefault<zod_v416.ZodOptional<zod_v416.ZodBoolean>>;
1588
- }, zod_v4_core1.$strip>, zod_v416.ZodString]>>>;
1589
- }, zod_v4_core1.$strip>, true>;
1481
+ declare const Prompt: InjectionToken<PromptInstance, zod_v40.ZodObject<{
1482
+ screen: zod_v40.ZodDefault<zod_v40.ZodOptional<zod_v40.ZodUnion<[zod_v40.ZodObject<{
1483
+ name: zod_v40.ZodString;
1484
+ icon: zod_v40.ZodOptional<zod_v40.ZodString>;
1485
+ badgeCount: zod_v40.ZodOptional<zod_v40.ZodNumber>;
1486
+ hidden: zod_v40.ZodDefault<zod_v40.ZodOptional<zod_v40.ZodBoolean>>;
1487
+ static: zod_v40.ZodDefault<zod_v40.ZodOptional<zod_v40.ZodBoolean>>;
1488
+ }, zod_v4_core0.$strip>, zod_v40.ZodString]>>>;
1489
+ }, zod_v4_core0.$strip>, true>;
1490
+ //#endregion
1491
+ //#region src/adapters/interface.d.ts
1492
+ /**
1493
+ * Root instance returned by adapter's createRoot method.
1494
+ * Abstracts the framework-specific root implementation.
1495
+ */
1496
+ interface AdapterRoot {
1497
+ /**
1498
+ * Render an element to the root.
1499
+ * @param element - Framework-specific element to render
1500
+ */
1501
+ render(element: unknown): void;
1502
+ /**
1503
+ * Unmount and cleanup the root.
1504
+ */
1505
+ unmount(): void;
1506
+ }
1507
+ /**
1508
+ * Props passed to the adapter's internal bridge component.
1509
+ * The manager type is kept generic to avoid circular imports.
1510
+ */
1511
+ interface AdapterRenderProps {
1512
+ manager: unknown;
1513
+ theme?: Theme;
1514
+ }
1515
+ /**
1516
+ * Abstract interface for rendering adapters.
1517
+ * Implementations provide framework-specific rendering capabilities.
1518
+ */
1519
+ interface AdapterInterface {
1520
+ /**
1521
+ * Whether this adapter handles its own rendering without requiring
1522
+ * the ScreenManager to create an OpenTUI CliRenderer.
1523
+ * When true, createRoot() will be called without a renderer argument.
1524
+ * @default false
1525
+ */
1526
+ readonly handlesOwnRenderer?: boolean;
1527
+ /**
1528
+ * Create a root instance for rendering.
1529
+ * @param renderer - CLI renderer from @opentui/core (undefined if handlesOwnRenderer is true)
1530
+ * @returns Root instance with render/unmount methods, or a Promise that resolves to one
1531
+ */
1532
+ createRoot(renderer?: CliRenderer): AdapterRoot | Promise<AdapterRoot>;
1533
+ /**
1534
+ * Render the adapter's internal bridge component to the root.
1535
+ * The adapter owns its bridge component - no component is passed in.
1536
+ * @param root - Root instance created by createRoot
1537
+ * @param props - Props to pass to the bridge component
1538
+ */
1539
+ renderToRoot(root: AdapterRoot, props: AdapterRenderProps): void;
1540
+ }
1541
+ //#endregion
1542
+ //#region src/tokens/adapter.d.ts
1543
+ /**
1544
+ * Injection token for the TUI rendering adapter.
1545
+ * Import the specific adapter (e.g., '@navios/commander-tui/adapters/react')
1546
+ * to register an implementation.
1547
+ */
1548
+ declare const Adapter: InjectionToken<AdapterInterface, undefined, false>;
1549
+ //#endregion
1550
+ //#region src/tokens/screen-manager.d.ts
1551
+ /**
1552
+ * Injection token for the ScreenManager singleton.
1553
+ * Used for dependency injection without requiring direct import of the class.
1554
+ */
1555
+ declare const ScreenManager: InjectionToken<ScreenManagerInstance, undefined, false>;
1590
1556
  //#endregion
1591
1557
  //#region src/factories/isomorphic-logger.factory.d.ts
1592
1558
  declare class IsomorphicLoggerFactory {
@@ -1603,6 +1569,22 @@ declare class ScreenFactory {
1603
1569
  //#region src/overrides/console.logger.override.d.ts
1604
1570
  declare function overrideConsoleLogger(hidden?: boolean): ClassTypeWithInstance<LoggerService>;
1605
1571
  //#endregion
1572
+ //#region src/overrides/missing-adapter.override.d.ts
1573
+ /**
1574
+ * Fallback adapter that is used when no TUI adapter is registered.
1575
+ * The `isMissingAdapter` marker allows ScreenManager to detect this
1576
+ * and gracefully fall back to stdout mode instead of throwing.
1577
+ */
1578
+ declare class MissingAdapterOverride implements AdapterInterface {
1579
+ /**
1580
+ * Marker property to identify this as the missing adapter fallback.
1581
+ * Used by ScreenManager.bind() to detect and handle graceful fallback.
1582
+ */
1583
+ readonly isMissingAdapter = true;
1584
+ createRoot(): AdapterRoot;
1585
+ renderToRoot(): void;
1586
+ }
1587
+ //#endregion
1606
1588
  //#region src/themes/dark.d.ts
1607
1589
  /**
1608
1590
  * Default dark theme.
@@ -1645,13 +1627,6 @@ declare function createThemeFrom(base: Theme | ThemePreset, overrides: PartialTh
1645
1627
  */
1646
1628
  declare function resolveTheme(theme: Theme | ThemePreset): Theme;
1647
1629
  //#endregion
1648
- //#region src/hooks/use_theme.d.ts
1649
- /**
1650
- * Hook to access the current theme.
1651
- * Returns the theme from LoggerContext.
1652
- */
1653
- declare function useTheme(): Theme;
1654
- //#endregion
1655
1630
  //#region src/keyboard/keyboard_manager.d.ts
1656
1631
  /**
1657
1632
  * Manages keyboard bindings and dispatches key events to handlers.
@@ -1720,7 +1695,7 @@ declare function formatKeyBinding(binding: KeyBinding): string;
1720
1695
  * Interface for binding handlers that need manager/screen access.
1721
1696
  */
1722
1697
  interface BindingHandlers {
1723
- manager: ScreenManager;
1698
+ manager: ScreenManagerInstance;
1724
1699
  getActiveScreen: () => ScreenInstance | null;
1725
1700
  toggleHelp: () => void;
1726
1701
  toggleFilter: () => void;
@@ -1759,5 +1734,5 @@ declare class FilterEngine {
1759
1734
  static countByLevel(messages: MessageData[]): LevelCounts;
1760
1735
  }
1761
1736
  //#endregion
1762
- export { ALL_LOG_LEVELS, BaseMessage, BasePromptData, BindOptions, BindingHandlers, COMMON_FILETYPES, ChoiceOption, ChoiceOptions, ChoicePromptData, ConfirmOptions, ConfirmPromptData, DEFAULT_LOG_LEVEL_COLORS, DeepPartial, DiffMessageData, ERROR_HIGHLIGHT_COLORS, ErrorHighlightTheme, FILE_COLORS, FileErrorMessageData, FileLog, FileLogBaseProps, FileLogDiffProps, FileLogFullProps, FileLogMode, FileLogPartialProps, FileLogProps, FileMessageData, FileTheme, FilterEngine, FilterState, FilterTheme, FocusArea, GROUP_COLORS, GroupMessageData, GroupMessageRenderer, GroupMessageRendererProps, GroupRenderer, GroupRendererProps, GroupTheme, HEADER_COLORS, HeaderTheme, HelpTheme, InputOptions, InputPromptData, IsomorphicLogger, IsomorphicLoggerFactory, IsomorphicLoggerInterface, KeyBinding, KeyBindingCategory, KeyBindingCondition, KeyBindingsConfig, KeyEvent, KeyHandler, KeyboardContext, KeyboardManager, LevelCounts, LoadingHandle, LoadingMessage, LoadingMessageData, LoadingMessageProps, LogLevelColorMap, LogLevelColors, LogLevelTheme, LogMessage, LogMessageData, LogMessageProps, LogMessageVariant, LoggerContextValue, LoggerOptions, LoggerOptionsSchema, LoggerProvider, LoggerProviderProps, MessageData, MessageRenderer, MessageRendererProps, MessageType, MultiChoiceOptions, MultiChoicePromptData, PROGRESS_COLORS, PROMPT_COLORS, PartialTheme, ProgressHandle, ProgressMessage, ProgressMessageData, ProgressMessageProps, ProgressTheme, PromiseOptions, Prompt, PromptData, PromptInstance, PromptOptions, PromptOptionsSchema, PromptRenderer, type PromptRendererProps, PromptTheme, SEPARATOR_COLORS, SIDEBAR_COLORS, STATUS_INDICATORS, Screen, ScreenBridge, ScreenBridgeProps, ScreenDefinition, ScreenFactory, ScreenInstance, ScreenLogger, ScreenLoggerInstance, ScreenManager, ScreenManagerBridge, ScreenManagerBridgeProps, ScreenManagerProps, ScreenOptions, ScreenOptionsSchema, ScreenProps, ScreenStatus, SemanticColors, SeparatorTheme, Sidebar, SidebarItem, SidebarItemProps, SidebarProps, SidebarSeparator, SidebarTheme, StatusIndicator, StatusIndicatorsTheme, TABLE_COLORS, TableMessage, TableMessageData, TableMessageProps, TableTheme, Theme, ThemePreset, VARIANT_COLORS, VariantColorMap, captureTrace, createBorderColor, createDefaultBindings, createDefaultFilterState, createTheme, createThemeFrom, createTintedColor, darkTheme, formatKeyBinding, formatObject, getFileName, getLogLevelColors, getThemePreset, handlePrintableInput, hasActiveFilter, highContrastTheme, lightTheme, mergeThemes, overrideConsoleLogger, printMessagesToStdout, resolveFiletype, resolveTheme, useLoggerContext, useTheme };
1737
+ export { ALL_LOG_LEVELS, Adapter, AdapterInterface, AdapterRenderProps, AdapterRoot, BaseMessage, BasePromptData, BindOptions, BindingHandlers, COMMON_FILETYPES, CONTENT_MANAGER_EVENTS, ChoiceOption, ChoiceOptions, ChoicePromptData, ConfirmOptions, ConfirmPromptData, DEFAULT_LOG_LEVEL_COLORS, DeepPartial, DiffMessageData, ERROR_HIGHLIGHT_COLORS, ErrorHighlightTheme, FILE_COLORS, FileErrorMessageData, FileLogBaseProps, FileLogDiffProps, FileLogFullProps, FileLogMode, FileLogPartialProps, FileLogProps, FileMessageData, FileTheme, FilterEngine, FilterState, FilterTheme, FocusArea, GROUP_COLORS, GroupMessageData, GroupTheme, HEADER_COLORS, HeaderTheme, HelpTheme, InputOptions, InputPromptData, IsomorphicLogger, IsomorphicLoggerFactory, IsomorphicLoggerInterface, KeyBinding, KeyBindingCategory, KeyBindingCondition, KeyBindingsConfig, KeyEvent, KeyHandler, KeyboardContext, KeyboardManager, LevelCounts, LoadingHandle, LoadingMessageData, LogLevelColorMap, LogLevelColors, LogLevelTheme, LogMessageData, LogMessageProps, LogMessageVariant, LoggerContextValue, LoggerOptions, LoggerOptionsSchema, MANAGER_EVENTS, MessageData, MessageType, MissingAdapterOverride, MultiChoiceOptions, MultiChoicePromptData, PROGRESS_COLORS, PROMPT_COLORS, PartialTheme, ProgressHandle, ProgressMessageData, ProgressTheme, PromiseOptions, Prompt, PromptData, PromptInstance, PromptOptions, PromptOptionsSchema, PromptTheme, ReadlinePromptService, RenderMode, SCREEN_EVENTS, SEPARATOR_COLORS, SIDEBAR_COLORS, SIDEBAR_EVENTS, STATUS_INDICATORS, Screen, ScreenDefinition, ScreenEventMap, ScreenEventType, ScreenFactory, ScreenInstance, ScreenLogger, ScreenLoggerInstance, ScreenManager, ScreenManagerEventMap, ScreenManagerEventType, ScreenManagerInstance, ScreenManagerProps, ScreenOptions, ScreenOptionsSchema, ScreenProps, ScreenStatus, SemanticColors, SeparatorTheme, SetupOptions, SidebarTheme, StatusIndicator, StatusIndicatorsTheme, TABLE_COLORS, TableMessageData, TableTheme, Theme, ThemePreset, VARIANT_COLORS, VariantColorMap, captureTrace, createDefaultBindings, createDefaultFilterState, createTheme, createThemeFrom, darkTheme, dynamicImport, formatKeyBinding, formatObject, getFileName, getLogLevelColors, getPromptDefaultValue, getThemePreset, handlePrintableInput, hasActiveFilter, highContrastTheme, isBunRuntime, lightTheme, mergeThemes, overrideConsoleLogger, printMessagesToStdout, printSingleMessage, resolveFiletype, resolveTheme };
1763
1738
  //# sourceMappingURL=index.d.mts.map