@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
package/lib/index.d.cts CHANGED
@@ -1,183 +1,134 @@
1
- import { ClassTypeWithInstance, FactoryContext, InjectionToken, LogLevel, LoggerService } from "@navios/core";
2
- import { RGBA, SyntaxStyle, TreeSitterClient } from "@opentui/core";
3
- import * as react0 from "react";
4
- import { ReactNode } from "react";
1
+ import { $ as FileLogBaseProps, A as ScreenDefinition, B as HelpTheme, C as InputPromptData, Ct as TableMessageData, D as BindOptions, E as PromptData, F as ErrorHighlightTheme, G as SemanticColors, H as PartialTheme, I as FileTheme, J as StatusIndicator, K as SeparatorTheme, L as FilterTheme, M as ScreenProps, N as ScreenStatus, O as FocusArea, P as DeepPartial, Q as ThemePreset, R as GroupTheme, S as InputOptions, St as PromiseOptions, T as MultiChoicePromptData, U as ProgressTheme, V as LogLevelTheme, W as PromptTheme, X as TableTheme, Y as StatusIndicatorsTheme, Z as Theme, _ as ChoiceOption, _t as LogMessageVariant, a as FilterState, at as LogLevelColorMap, b as ConfirmOptions, bt as ProgressHandle, c as hasActiveFilter, ct as VariantColorMap, d as KeyBindingCondition, dt as FileErrorMessageData, et as FileLogDiffProps, f as KeyBindingsConfig, ft as FileMessageData, g as BasePromptData, gt as LogMessageData, h as KeyboardContext, ht as LoadingMessageData, i as ALL_LOG_LEVELS, it as FileLogProps, j as ScreenManagerProps, k as LoggerContextValue, l as KeyBinding, lt as BaseMessage, m as KeyHandler, mt as LoadingHandle, n as AdapterRenderProps, nt as FileLogMode, o as LevelCounts, ot as LogLevelColors, p as KeyEvent, pt as GroupMessageData, q as SidebarTheme, r as AdapterRoot, rt as FileLogPartialProps, s as createDefaultFilterState, st as LogMessageProps, t as AdapterInterface, tt as FileLogFullProps, u as KeyBindingCategory, ut as DiffMessageData, v as ChoiceOptions, vt as MessageData, w as MultiChoiceOptions, x as ConfirmPromptData, xt as ProgressMessageData, y as ChoicePromptData, yt as MessageType, z as HeaderTheme } from "./interface-DQEIz9Mb.cjs";
2
+ import { RGBA } from "@opentui/core";
3
+ import { ClassTypeWithInstance, FactoryContext, InjectionToken, LogLevel, LoggerInstance, LoggerService, OnServiceDestroy } from "@navios/core";
5
4
  import * as zod_v40 from "zod/v4";
6
5
  import { z } from "zod/v4";
7
6
  import * as zod_v4_core0 from "zod/v4/core";
8
7
 
9
- //#region src/types/message.types.d.ts
10
- type MessageType = 'log' | 'file' | 'diff' | 'fileError' | 'loading' | 'progress' | 'group' | 'table';
11
- interface BaseMessage {
12
- id: string;
13
- type: MessageType;
14
- timestamp: Date;
8
+ //#region src/schemas/screen-options.d.ts
9
+ declare const ScreenOptionsSchema: z.ZodObject<{
10
+ name: z.ZodString;
11
+ icon: z.ZodOptional<z.ZodString>;
12
+ badgeCount: z.ZodOptional<z.ZodNumber>;
13
+ hidden: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
14
+ static: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
15
+ }, z.core.$strip>;
16
+ type ScreenOptions = z.infer<typeof ScreenOptionsSchema>;
17
+ //#endregion
18
+ //#region src/schemas/logger-options.d.ts
19
+ declare const LoggerOptionsSchema: z.ZodObject<{
20
+ screen: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodObject<{
21
+ name: z.ZodString;
22
+ icon: z.ZodOptional<z.ZodString>;
23
+ badgeCount: z.ZodOptional<z.ZodNumber>;
24
+ hidden: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
25
+ static: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
26
+ }, z.core.$strip>, z.ZodString]>>>;
27
+ context: z.ZodOptional<z.ZodString>;
28
+ enabledLevels: z.ZodDefault<z.ZodArray<z.ZodEnum<{
29
+ verbose: "verbose";
30
+ debug: "debug";
31
+ log: "log";
32
+ warn: "warn";
33
+ error: "error";
34
+ fatal: "fatal";
35
+ }>>>;
36
+ }, z.core.$strip>;
37
+ type LoggerOptions = z.infer<typeof LoggerOptionsSchema>;
38
+ //#endregion
39
+ //#region src/schemas/prompt-options.d.ts
40
+ declare const PromptOptionsSchema: z.ZodObject<{
41
+ screen: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodObject<{
42
+ name: z.ZodString;
43
+ icon: z.ZodOptional<z.ZodString>;
44
+ badgeCount: z.ZodOptional<z.ZodNumber>;
45
+ hidden: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
46
+ static: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
47
+ }, z.core.$strip>, z.ZodString]>>>;
48
+ }, z.core.$strip>;
49
+ type PromptOptions = z.infer<typeof PromptOptionsSchema>;
50
+ //#endregion
51
+ //#region src/services/logger.d.ts
52
+ declare class ScreenLoggerInstance implements LoggerService {
53
+ private screen;
54
+ private context?;
55
+ private enabledLevels;
56
+ constructor(options: LoggerOptions);
57
+ private isLevelEnabled;
58
+ verbose(msg: string | object, label?: string): this;
59
+ setLogLevels(levels: LogLevel[]): this;
60
+ trace(msg: string | object, label?: string): this;
61
+ debug(msg: string | object, label?: string): this;
62
+ log(msg: string | object, label?: string): this;
63
+ success(msg: string | object, label?: string): this;
64
+ warn(msg: string | object, label?: string): this;
65
+ error(msg: string | object, label?: string): this;
66
+ fatal(msg: string | object, label?: string): this;
67
+ private write;
68
+ file(path: string, content: string): this;
69
+ diff(path: string, diffContent: string, view?: 'unified' | 'split'): this;
70
+ fileError(path: string, content: string, errorLines: number[], startLine?: number): this;
71
+ /**
72
+ * Sonner-like promise handling
73
+ */
74
+ promise<T>(promise: Promise<T>, options: PromiseOptions<T>): Promise<T>;
75
+ /**
76
+ * Create a loading message with manual resolution
77
+ */
78
+ loading(message: string): LoadingHandle;
79
+ /**
80
+ * Create a progress bar with manual updates
81
+ */
82
+ progress(label: string, options: {
83
+ total: number;
84
+ }): ProgressHandle;
85
+ /**
86
+ * Start a collapsible log group
87
+ */
88
+ group(label: string): this;
89
+ /**
90
+ * End the current log group
91
+ */
92
+ groupEnd(): this;
93
+ /**
94
+ * Display tabular data
95
+ */
96
+ table(data: Record<string, unknown>[], options?: {
97
+ title?: string;
98
+ }): this;
15
99
  }
100
+ //#endregion
101
+ //#region src/interfaces/isomorphic-logger.d.ts
102
+ type PublicLoggerMethods = Pick<LoggerInstance, keyof LoggerInstance>;
103
+ type PublicScreenLoggerMethods = Pick<ScreenLoggerInstance, keyof ScreenLoggerInstance>;
104
+ type ScreenOwnMethods = Partial<Omit<PublicScreenLoggerMethods, keyof PublicLoggerMethods>>;
105
+ interface IsomorphicLoggerInterface extends PublicLoggerMethods, ScreenOwnMethods {}
106
+ //#endregion
107
+ //#region src/utils/colors/log-colors.d.ts
16
108
  /**
17
- * Semantic variants for log messages that don't map directly to LogLevel.
18
- * These affect styling but the underlying LogLevel is used for filtering.
109
+ * Default color scheme for all log levels.
110
+ * Each level has a prominent border color and a subtle background tint.
19
111
  */
20
- type LogMessageVariant = 'success' | 'trace';
21
- interface LogMessageData extends BaseMessage {
22
- type: 'log';
23
- level: LogLevel;
24
- /** Content is always a string - objects are formatted before storage */
25
- content: string;
26
- label?: string;
27
- trace?: string;
28
- /** Optional semantic variant for styling (e.g., 'success' shows green even though level is 'log') */
29
- variant?: LogMessageVariant;
30
- }
31
- interface FileMessageData extends BaseMessage {
32
- type: 'file';
33
- filePath: string;
34
- content: string;
35
- }
36
- interface DiffMessageData extends BaseMessage {
37
- type: 'diff';
38
- filePath: string;
39
- diff: string;
40
- view?: 'unified' | 'split';
41
- }
42
- interface FileErrorMessageData extends BaseMessage {
43
- type: 'fileError';
44
- filePath: string;
45
- content: string;
46
- errorLines: number[];
47
- startLine: number;
48
- }
49
- interface LoadingMessageData extends BaseMessage {
50
- type: 'loading';
51
- content: string;
52
- status: 'loading' | 'success' | 'fail';
53
- resolvedContent?: string;
54
- }
55
- interface ProgressMessageData extends BaseMessage {
56
- type: 'progress';
57
- label: string;
58
- current: number;
59
- total: number;
60
- status: 'active' | 'complete' | 'failed';
61
- resolvedContent?: string;
62
- }
63
- interface GroupMessageData extends BaseMessage {
64
- type: 'group';
65
- label: string;
66
- collapsed: boolean;
67
- isEnd: boolean;
68
- }
69
- interface TableMessageData extends BaseMessage {
70
- type: 'table';
71
- headers: string[];
72
- rows: string[][];
73
- title?: string;
74
- }
75
- type MessageData = LogMessageData | FileMessageData | DiffMessageData | FileErrorMessageData | LoadingMessageData | ProgressMessageData | GroupMessageData | TableMessageData;
76
- interface PromiseOptions<T> {
77
- loading: string;
78
- success: string | ((data: T) => string);
79
- error: string | ((error: Error) => string);
80
- }
81
- interface LoadingHandle {
82
- success: (message: string) => void;
83
- fail: (message: string) => void;
84
- }
85
- interface ProgressHandle {
86
- update: (current: number, label?: string) => void;
87
- complete: (message?: string) => void;
88
- fail: (message?: string) => void;
89
- }
90
- //#endregion
91
- //#region src/types/log.types.d.ts
92
- interface LogLevelColors {
93
- border: string;
94
- background: string;
95
- text?: string;
96
- }
97
- type LogLevelColorMap = Record<LogLevel, LogLevelColors>;
112
+ declare const DEFAULT_LOG_LEVEL_COLORS: LogLevelColorMap;
98
113
  /**
99
- * Color map for semantic variants (success, trace) that override level colors.
114
+ * Colors for semantic variants (override level colors when variant is set).
100
115
  */
101
- type VariantColorMap = Record<LogMessageVariant, LogLevelColors>;
102
- interface LogMessageProps {
103
- /** Log level determines the color scheme */
104
- level: LogLevel;
105
- /** Optional semantic variant for styling (e.g., 'success' shows green even though level is 'log') */
106
- variant?: LogMessageVariant;
107
- /** Message content - can be string or React nodes */
108
- children: ReactNode;
109
- /** Optional timestamp to display */
110
- timestamp?: Date | string;
111
- /** Optional label/prefix (e.g., "API", "Database") */
112
- label?: string;
113
- /** Optional stack trace to display (for trace level) */
114
- trace?: string;
115
- /** Optional custom border color (overrides level color) */
116
- borderColor?: string | RGBA;
117
- /** Optional custom background color (overrides level color) */
118
- backgroundColor?: string | RGBA;
119
- /** Border width style - 'thin' uses left border only, 'thick' uses left+top+bottom */
120
- borderStyle?: 'thin' | 'thick';
121
- /** Padding inside the message box */
122
- padding?: number;
123
- /** Margin around the message */
124
- margin?: number;
125
- }
126
- //#endregion
127
- //#region src/types/file.types.d.ts
128
- type FileLogMode = 'full' | 'diff' | 'partial';
129
- interface FileLogBaseProps {
130
- /** File path or name to display in header */
131
- filePath: string;
132
- /** Override auto-detected filetype for syntax highlighting */
133
- filetype?: string;
134
- /** Show line numbers */
135
- showLineNumbers?: boolean;
136
- /** Show header with file path */
137
- showHeader?: boolean;
138
- /** Custom header background color */
139
- headerBackgroundColor?: string | RGBA;
140
- }
141
- interface FileLogFullProps extends FileLogBaseProps {
142
- mode: 'full';
143
- /** The complete file content */
144
- content: string;
145
- }
146
- interface FileLogDiffProps extends FileLogBaseProps {
147
- mode: 'diff';
148
- /** Unified diff string */
149
- diff: string;
150
- /** Diff view mode */
151
- view?: 'unified' | 'split';
152
- }
153
- interface FileLogPartialProps extends FileLogBaseProps {
154
- mode: 'partial';
155
- /** File content (full or partial) */
156
- content: string;
157
- /** Starting line number of the content (1-indexed) */
158
- startLine: number;
159
- /** Lines to highlight as errors */
160
- errorLines?: number[];
161
- /** Error highlighting colors */
162
- errorLineBackground?: string | RGBA;
163
- errorLineBorderColor?: string | RGBA;
164
- }
165
- type FileLogProps = FileLogFullProps | FileLogDiffProps | FileLogPartialProps;
166
- //#endregion
167
- //#region src/types/theme.types.d.ts
116
+ declare const VARIANT_COLORS: Record<LogMessageVariant, LogLevelColors>;
168
117
  /**
169
- * Color scheme for a single log level.
118
+ * Error highlighting colors.
170
119
  */
171
- interface LogLevelTheme {
172
- border: string;
120
+ declare const ERROR_HIGHLIGHT_COLORS: {
173
121
  background: string;
174
- text?: string;
175
- }
122
+ border: string;
123
+ gutterBackground: string;
124
+ };
125
+ //#endregion
126
+ //#region src/utils/colors/sidebar-colors.d.ts
176
127
  /**
177
- * Sidebar color scheme.
128
+ * Sidebar colors.
178
129
  */
179
- interface SidebarTheme {
180
- background?: string;
130
+ declare const SIDEBAR_COLORS: {
131
+ background: undefined;
181
132
  selectedBackground: string;
182
133
  hoverBackground: string;
183
134
  text: string;
@@ -185,43 +136,49 @@ interface SidebarTheme {
185
136
  border: string;
186
137
  badge: string;
187
138
  focusBorder: string;
188
- }
139
+ };
189
140
  /**
190
- * Screen header color scheme.
141
+ * Screen header colors.
191
142
  */
192
- interface HeaderTheme {
193
- background?: string;
143
+ declare const HEADER_COLORS: {
144
+ background: undefined;
194
145
  text: string;
195
146
  border: string;
196
- }
197
- /**
198
- * Status indicator with icon and color.
199
- */
200
- interface StatusIndicator {
201
- icon: string;
202
- color: string;
203
- }
147
+ };
204
148
  /**
205
- * Status indicators for all screen states.
149
+ * Screen status indicator colors and icons.
206
150
  */
207
- interface StatusIndicatorsTheme {
208
- waiting: StatusIndicator;
209
- pending: StatusIndicator;
210
- success: StatusIndicator;
211
- fail: StatusIndicator;
212
- static: StatusIndicator;
213
- }
151
+ declare const STATUS_INDICATORS: {
152
+ readonly waiting: {
153
+ readonly icon: "○";
154
+ readonly color: "#6B7280";
155
+ };
156
+ readonly pending: {
157
+ readonly icon: "◐";
158
+ readonly color: "#F59E0B";
159
+ };
160
+ readonly success: {
161
+ readonly icon: "✓";
162
+ readonly color: "#22C55E";
163
+ };
164
+ readonly fail: {
165
+ readonly icon: "✗";
166
+ readonly color: "#EF4444";
167
+ };
168
+ };
214
169
  /**
215
170
  * Separator colors for sidebar sections.
216
171
  */
217
- interface SeparatorTheme {
172
+ declare const SEPARATOR_COLORS: {
218
173
  line: string;
219
174
  text: string;
220
- }
175
+ };
176
+ //#endregion
177
+ //#region src/utils/colors/progress-colors.d.ts
221
178
  /**
222
- * Progress bar and loading indicator colors.
179
+ * Progress bar colors.
223
180
  */
224
- interface ProgressTheme {
181
+ declare const PROGRESS_COLORS: {
225
182
  border: string;
226
183
  background: string;
227
184
  barFilled: string;
@@ -232,40 +189,46 @@ interface ProgressTheme {
232
189
  completeBackground: string;
233
190
  failed: string;
234
191
  failedBackground: string;
235
- }
192
+ };
236
193
  /**
237
- * Collapsible group colors.
194
+ * Group colors for collapsible log groups.
238
195
  */
239
- interface GroupTheme {
196
+ declare const GROUP_COLORS: {
240
197
  border: string;
241
198
  background: string;
242
199
  headerText: string;
243
200
  icon: string;
244
- }
201
+ };
202
+ //#endregion
203
+ //#region src/utils/colors/table-colors.d.ts
245
204
  /**
246
- * Table display colors.
205
+ * Table colors (uses info/blue scheme).
247
206
  */
248
- interface TableTheme {
207
+ declare const TABLE_COLORS: {
249
208
  border: string;
250
209
  background: string;
251
210
  headerText: string;
252
211
  cellText: string;
253
212
  title: string;
254
213
  separator: string;
255
- }
214
+ };
215
+ //#endregion
216
+ //#region src/utils/colors/file-colors.d.ts
256
217
  /**
257
- * File display colors.
218
+ * File display colors (uses info/blue scheme).
258
219
  */
259
- interface FileTheme {
220
+ declare const FILE_COLORS: {
260
221
  border: string;
261
222
  background: string;
262
223
  headerText: string;
263
224
  headerBackground: string;
264
- }
225
+ };
226
+ //#endregion
227
+ //#region src/utils/colors/prompt-colors.d.ts
265
228
  /**
266
- * Interactive prompt colors.
229
+ * Prompt colors for interactive prompts.
267
230
  */
268
- interface PromptTheme {
231
+ declare const PROMPT_COLORS: {
269
232
  question: string;
270
233
  optionText: string;
271
234
  optionTextDim: string;
@@ -282,504 +245,67 @@ interface PromptTheme {
282
245
  inputCursor: string;
283
246
  border: string;
284
247
  focusBorder: string;
285
- }
286
- /**
287
- * Error highlighting colors for file displays.
288
- */
289
- interface ErrorHighlightTheme {
290
- background: string;
291
- border: string;
292
- gutterBackground: string;
293
- }
294
- /**
295
- * Filter bar colors.
296
- */
297
- interface FilterTheme {
298
- background: string;
299
- border: string;
300
- text: string;
301
- textDim: string;
302
- inputBackground: string;
303
- inputText: string;
304
- inputPlaceholder: string;
305
- cursor: string;
306
- activeLevel: string;
307
- inactiveLevel: string;
308
- }
309
- /**
310
- * Help overlay colors.
311
- */
312
- interface HelpTheme {
313
- background: string;
314
- border: string;
315
- title: string;
316
- category: string;
317
- key: string;
318
- description: string;
319
- hint: string;
320
- }
321
- /**
322
- * General semantic colors.
323
- */
324
- interface SemanticColors {
325
- primary: string;
326
- secondary: string;
327
- success: string;
328
- warning: string;
329
- error: string;
330
- muted: string;
331
- background?: string;
332
- foreground: string;
333
- }
334
- /**
335
- * Complete theme definition.
336
- */
337
- interface Theme {
338
- /** Theme identifier */
339
- name: string;
340
- /** Log level color schemes */
341
- logLevels: Record<LogLevel, LogLevelTheme>;
342
- /** Sidebar colors */
343
- sidebar: SidebarTheme;
344
- /** Screen header colors */
345
- header: HeaderTheme;
346
- /** Status indicator colors and icons */
347
- statusIndicators: StatusIndicatorsTheme;
348
- /** Separator colors */
349
- separator: SeparatorTheme;
350
- /** Progress bar colors */
351
- progress: ProgressTheme;
352
- /** Collapsible group colors */
353
- group: GroupTheme;
354
- /** Table display colors */
355
- table: TableTheme;
356
- /** File display colors */
357
- file: FileTheme;
358
- /** Prompt colors */
359
- prompt: PromptTheme;
360
- /** Error highlighting colors */
361
- errorHighlight: ErrorHighlightTheme;
362
- /** Filter bar colors */
363
- filter: FilterTheme;
364
- /** Help overlay colors */
365
- help: HelpTheme;
366
- /** General semantic colors */
367
- colors: SemanticColors;
368
- }
369
- /**
370
- * Theme preset names.
371
- */
372
- type ThemePreset = 'dark' | 'light' | 'high-contrast';
373
- /**
374
- * Deep partial type for theme overrides.
375
- */
376
- type DeepPartial<T> = { [P in keyof T]?: T[P] extends object ? DeepPartial<T[P]> : T[P] };
377
- /**
378
- * Partial theme for creating custom themes.
379
- */
380
- type PartialTheme = DeepPartial<Theme>;
381
- //#endregion
382
- //#region src/types/screen.types.d.ts
383
- interface ScreenProps {
384
- /** Screen title/name displayed in header */
385
- name: string;
386
- /** Child log messages/file logs */
387
- children: ReactNode;
388
- /** Enable auto-scroll to bottom on new content */
389
- stickyScroll?: boolean;
390
- /** Show scroll position indicator */
391
- showScrollIndicator?: boolean;
392
- /** Screen header background color */
393
- headerBackgroundColor?: string | RGBA;
394
- /** Screen header text color */
395
- headerTextColor?: string | RGBA;
396
- /** Whether this screen is currently focused */
397
- focused?: boolean;
398
- /** Callback when screen is scrolled */
399
- onScroll?: (scrollTop: number, scrollHeight: number) => void;
400
- }
401
- interface ScreenDefinition {
402
- /** Unique screen identifier */
403
- id: string;
404
- /** Display name for sidebar */
405
- name: string;
406
- /** Optional icon/badge character */
407
- icon?: string;
408
- /** Unread/notification count */
409
- badgeCount?: number;
410
- }
411
- interface ScreenManagerProps {
412
- /** Screen definitions for the sidebar */
413
- screens: ScreenDefinition[];
414
- /** Currently active screen ID */
415
- activeScreenId: string;
416
- /** Callback when screen selection changes */
417
- onScreenChange?: (screenId: string) => void;
418
- /** Screen content - should be conditionally rendered based on activeScreenId */
419
- children: ReactNode;
420
- /** Force show/hide sidebar (overrides auto behavior) */
421
- sidebarVisible?: boolean;
422
- /** Callback when sidebar visibility changes */
423
- onSidebarVisibilityChange?: (visible: boolean) => void;
424
- /** Sidebar width (columns) */
425
- sidebarWidth?: number;
426
- /** Sidebar position */
427
- sidebarPosition?: 'left' | 'right';
428
- /** Key to toggle sidebar visibility */
429
- toggleSidebarKey?: string;
430
- /** Sidebar header title */
431
- sidebarTitle?: string;
432
- }
433
- type FocusArea = 'sidebar' | 'content';
434
- interface LoggerContextValue {
435
- /** Shared SyntaxStyle instance for code highlighting */
436
- syntaxStyle?: SyntaxStyle;
437
- /** Shared TreeSitterClient for parsing */
438
- treeSitterClient?: TreeSitterClient;
439
- /** Default colors for log levels (derived from theme for backwards compatibility) */
440
- levelColors: LogLevelColorMap;
441
- /** Current theme */
442
- theme: Theme;
443
- }
444
- type ScreenStatus = 'waiting' | 'pending' | 'success' | 'fail' | 'static';
445
- interface BindOptions {
446
- exitOnCtrlC?: boolean;
447
- sidebarWidth?: number;
448
- sidebarPosition?: 'left' | 'right';
449
- sidebarTitle?: string;
450
- /** Auto close after all screens complete successfully (delay in ms, default 5000) */
451
- autoClose?: boolean | number;
452
- /** Theme to use for the TUI (theme object or preset name) */
453
- theme?: Theme | ThemePreset;
454
- /** Enable mouse support (default: false) */
455
- useMouse?: boolean;
456
- }
457
- //#endregion
458
- //#region src/types/prompt.types.d.ts
459
- interface ChoiceOption {
460
- label: string;
461
- value: string;
462
- /** If true, this option allows text input */
463
- input?: boolean;
464
- }
465
- interface BasePromptData {
466
- id: string;
467
- timestamp: Date;
468
- resolved: boolean;
469
- /** Auto-resolve timeout in ms */
470
- timeout?: number;
471
- /** Timestamp when timeout started */
472
- timeoutStarted?: number;
473
- }
474
- interface ChoicePromptData extends BasePromptData {
475
- type: 'choice';
476
- question: string;
477
- choices: ChoiceOption[];
478
- defaultChoice: string;
479
- selectedIndex: number;
480
- inputMode: boolean;
481
- inputValue: string;
482
- resolvedValue?: string;
483
- }
484
- interface ConfirmPromptData extends BasePromptData {
485
- type: 'confirm';
486
- question: string;
487
- confirmText: string;
488
- cancelText: string;
489
- defaultValue: boolean;
490
- selectedValue: boolean;
491
- resolvedValue?: boolean;
492
- }
493
- interface InputPromptData extends BasePromptData {
494
- type: 'input';
495
- question: string;
496
- placeholder: string;
497
- defaultValue: string;
498
- value: string;
499
- resolvedValue?: string;
500
- }
501
- interface MultiChoicePromptData extends BasePromptData {
502
- type: 'multiChoice';
503
- question: string;
504
- choices: ChoiceOption[];
505
- selectedIndices: Set<number>;
506
- focusedIndex: number;
507
- minSelect: number;
508
- maxSelect: number;
509
- resolvedValues?: string[];
510
- }
511
- type PromptData = ChoicePromptData | ConfirmPromptData | InputPromptData | MultiChoicePromptData;
512
- interface ChoiceOptions {
513
- question: string;
514
- choices: ChoiceOption[];
515
- defaultChoice?: string;
516
- /** Auto-resolve with default after timeout (ms) */
517
- timeout?: number;
518
- }
519
- interface ConfirmOptions {
520
- question: string;
521
- confirmText?: string;
522
- cancelText?: string;
523
- defaultValue?: boolean;
524
- /** Auto-resolve with default after timeout (ms) */
525
- timeout?: number;
526
- }
527
- interface InputOptions {
528
- question: string;
529
- placeholder?: string;
530
- defaultValue?: string;
531
- /** Auto-resolve with default after timeout (ms) */
532
- timeout?: number;
533
- }
534
- interface MultiChoiceOptions {
535
- question: string;
536
- choices: ChoiceOption[];
537
- defaultChoices?: string[];
538
- minSelect?: number;
539
- maxSelect?: number;
540
- /** Auto-resolve with default after timeout (ms) */
541
- timeout?: number;
542
- }
248
+ };
543
249
  //#endregion
544
- //#region src/types/keyboard.types.d.ts
545
- /**
546
- * Key event from the terminal.
547
- */
548
- interface KeyEvent {
549
- name: string;
550
- sequence?: string;
551
- ctrl?: boolean;
552
- meta?: boolean;
553
- shift?: boolean;
554
- }
555
- /**
556
- * Context available to keyboard handlers.
557
- */
558
- interface KeyboardContext {
559
- /** Has multiple screens (sidebar visible) */
560
- hasSidebar: boolean;
561
- /** Currently focused area */
562
- focusArea: FocusArea;
563
- /** Whether a prompt is active */
564
- hasPrompt: boolean;
565
- /** Whether prompt is in text input mode */
566
- inInputMode: boolean;
567
- /** Whether filter bar is visible */
568
- isFilterActive: boolean;
569
- /** Whether help overlay is visible */
570
- isHelpVisible: boolean;
571
- }
572
- /**
573
- * Handler function for a key binding.
574
- * Return true to prevent further processing, false/void to continue.
575
- */
576
- type KeyHandler = (key: KeyEvent, context: KeyboardContext) => boolean | void;
577
- /**
578
- * Category for organizing bindings in help overlay.
579
- */
580
- type KeyBindingCategory = 'general' | 'navigation' | 'screen' | 'prompt' | 'filter';
250
+ //#region src/utils/colors/helpers.d.ts
581
251
  /**
582
- * Condition for when a binding is active.
252
+ * Creates a tinted (subtle) version of a color by setting alpha.
253
+ *
254
+ * @param color - The base color (hex string or RGBA)
255
+ * @param alpha - Target alpha value (0-1), default 0.08 for subtle tinting
256
+ * @returns New RGBA with adjusted alpha
583
257
  */
584
- interface KeyBindingCondition {
585
- hasPrompt?: boolean;
586
- inInputMode?: boolean;
587
- focusArea?: FocusArea;
588
- isFilterActive?: boolean;
589
- isHelpVisible?: boolean;
590
- hasSidebar?: boolean;
591
- }
258
+ declare function createTintedColor(color: string | RGBA, alpha?: number): RGBA;
592
259
  /**
593
- * A single key binding definition.
260
+ * Creates a more prominent version of a color for borders.
261
+ *
262
+ * @param color - The base color
263
+ * @param alpha - Target alpha, default 1.0 for solid borders
594
264
  */
595
- interface KeyBinding {
596
- /** Key name(s) that trigger this binding */
597
- key: string | string[];
598
- /** Require Ctrl modifier */
599
- ctrl?: boolean;
600
- /** Require Meta/Cmd modifier */
601
- meta?: boolean;
602
- /** Require Shift modifier (for capital letters) */
603
- shift?: boolean;
604
- /** Handler function */
605
- handler: KeyHandler;
606
- /** Description for help overlay */
607
- description: string;
608
- /** Category for grouping in help */
609
- category: KeyBindingCategory;
610
- /** Condition when this binding is active */
611
- when?: KeyBindingCondition;
612
- /** Priority (higher = checked first, default 0) */
613
- priority?: number;
614
- }
265
+ declare function createBorderColor(color: string | RGBA, alpha?: number): RGBA;
615
266
  /**
616
- * Configuration for the keyboard manager.
267
+ * Gets colors for a specific log level.
268
+ *
269
+ * @param level - The log level
270
+ * @param customColors - Optional custom color map
617
271
  */
618
- interface KeyBindingsConfig {
619
- /** Custom bindings (added to defaults) */
620
- bindings?: KeyBinding[];
621
- /** Override specific default bindings by key */
622
- overrides?: Record<string, Partial<KeyBinding>>;
623
- /** Disable specific keys */
624
- disabled?: string[];
625
- }
272
+ declare function getLogLevelColors(level: LogLevel, customColors?: Partial<LogLevelColorMap>): LogLevelColors;
626
273
  //#endregion
627
- //#region src/types/filter.types.d.ts
628
- /**
629
- * Filter state for log filtering.
630
- */
631
- interface FilterState {
632
- /** Which log levels are enabled (shown) */
633
- enabledLevels: Set<LogLevel>;
634
- /** Text search query */
635
- searchQuery: string;
636
- /** Whether the filter bar is visible */
637
- isVisible: boolean;
638
- /** Which filter field is focused */
639
- focusedField: 'search' | 'levels';
640
- }
274
+ //#region src/utils/filetype.d.ts
641
275
  /**
642
- * All log levels in order.
276
+ * Common file extension to filetype mapping for syntax highlighting.
643
277
  */
644
- declare const ALL_LOG_LEVELS: LogLevel[];
278
+ declare const COMMON_FILETYPES: Record<string, string>;
645
279
  /**
646
- * Create a default filter state.
280
+ * Resolves filetype from file path for syntax highlighting.
281
+ *
282
+ * @param filePath - Full file path or just filename
283
+ * @returns Filetype string for tree-sitter, or undefined
647
284
  */
648
- declare function createDefaultFilterState(): FilterState;
285
+ declare function resolveFiletype(filePath: string): string | undefined;
649
286
  /**
650
- * Check if any filtering is active.
287
+ * Gets the filename from a full path.
288
+ *
289
+ * @param filePath - Full file path
290
+ * @returns Just the filename
651
291
  */
652
- declare function hasActiveFilter(filter: FilterState): boolean;
292
+ declare function getFileName(filePath: string): string;
293
+ //#endregion
294
+ //#region src/utils/stdout-printer.d.ts
653
295
  /**
654
- * Level counts for display.
296
+ * Print all messages to stdout (or stderr if isError)
655
297
  */
656
- type LevelCounts = Record<LogLevel, number>;
298
+ declare function printMessagesToStdout(messages: MessageData[], screenName: string, isError?: boolean): void;
657
299
  //#endregion
658
- //#region src/components/log/log_message.d.ts
300
+ //#region src/utils/format.d.ts
659
301
  /**
660
- * LogMessage - A chat-like styled log message with level-based coloring.
661
- *
662
- * Features:
663
- * - Left border with prominent color based on log level
664
- * - Subtle tinted background matching the log level
665
- * - Optional timestamp and label display
666
- * - Supports both simple text and complex React children
667
- * - Optional variant for semantic styling (e.g., 'success', 'trace')
668
- *
669
- * @example
670
- * <LogMessage level="error">
671
- * Connection failed: timeout after 30s
672
- * </LogMessage>
673
- *
674
- * @example
675
- * <LogMessage level="log" timestamp={new Date()} label="API">
676
- * Request completed successfully
677
- * </LogMessage>
678
- *
679
- * @example
680
- * <LogMessage level="log" variant="success">
681
- * Operation completed successfully
682
- * </LogMessage>
302
+ * Format an object for display with configurable depth
683
303
  */
684
- declare function LogMessage({
685
- level,
686
- variant,
687
- children,
688
- timestamp,
689
- label,
690
- trace,
691
- borderColor: customBorderColor,
692
- backgroundColor: customBackgroundColor,
693
- borderStyle,
694
- padding,
695
- margin
696
- }: LogMessageProps): react0.ReactNode;
697
- //#endregion
698
- //#region src/components/file/file_log.d.ts
304
+ declare function formatObject(obj: unknown, depth?: number, currentDepth?: number): string;
699
305
  /**
700
- * FileLog - Displays file content, diffs, or partial files with error highlighting.
701
- *
702
- * Three modes:
703
- * 1. "full" - Display complete file with syntax highlighting
704
- * 2. "diff" - Display unified diff using <diff> component
705
- * 3. "partial" - Display file excerpt with optional error line highlighting
706
- *
707
- * @example Full file
708
- * <FileLog
709
- * mode="full"
710
- * filePath="src/index.ts"
711
- * content={fileContent}
712
- * />
713
- *
714
- * @example Diff
715
- * <FileLog
716
- * mode="diff"
717
- * filePath="src/api.ts"
718
- * diff={unifiedDiff}
719
- * view="unified"
720
- * />
721
- *
722
- * @example Partial with error
723
- * <FileLog
724
- * mode="partial"
725
- * filePath="src/utils.ts"
726
- * content={excerpt}
727
- * startLine={42}
728
- * errorLines={[45, 46]}
729
- * />
306
+ * Capture a stack trace, filtering out internal frames
730
307
  */
731
- declare function FileLog(props: FileLogProps): react0.ReactNode;
732
- //#endregion
733
- //#region src/components/prompt/prompt_renderer.d.ts
734
- interface PromptRendererProps {
735
- prompt: PromptData;
736
- }
737
- declare function PromptRenderer({
738
- prompt
739
- }: PromptRendererProps): react0.ReactNode;
740
- //#endregion
741
- //#region src/schemas/screen-options.d.ts
742
- declare const ScreenOptionsSchema: z.ZodObject<{
743
- name: z.ZodString;
744
- icon: z.ZodOptional<z.ZodString>;
745
- badgeCount: z.ZodOptional<z.ZodNumber>;
746
- hidden: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
747
- static: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
748
- }, z.core.$strip>;
749
- type ScreenOptions = z.infer<typeof ScreenOptionsSchema>;
750
- //#endregion
751
- //#region src/schemas/logger-options.d.ts
752
- declare const LoggerOptionsSchema: z.ZodObject<{
753
- screen: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodObject<{
754
- name: z.ZodString;
755
- icon: z.ZodOptional<z.ZodString>;
756
- badgeCount: z.ZodOptional<z.ZodNumber>;
757
- hidden: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
758
- static: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
759
- }, z.core.$strip>, z.ZodString]>>>;
760
- context: z.ZodOptional<z.ZodString>;
761
- enabledLevels: z.ZodDefault<z.ZodArray<z.ZodEnum<{
762
- verbose: "verbose";
763
- debug: "debug";
764
- log: "log";
765
- warn: "warn";
766
- error: "error";
767
- fatal: "fatal";
768
- }>>>;
769
- }, z.core.$strip>;
770
- type LoggerOptions = z.infer<typeof LoggerOptionsSchema>;
771
- //#endregion
772
- //#region src/schemas/prompt-options.d.ts
773
- declare const PromptOptionsSchema: z.ZodObject<{
774
- screen: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodObject<{
775
- name: z.ZodString;
776
- icon: z.ZodOptional<z.ZodString>;
777
- badgeCount: z.ZodOptional<z.ZodNumber>;
778
- hidden: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
779
- static: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
780
- }, z.core.$strip>, z.ZodString]>>>;
781
- }, z.core.$strip>;
782
- type PromptOptions = z.infer<typeof PromptOptionsSchema>;
308
+ declare function captureTrace(offset?: number): string;
783
309
  //#endregion
784
310
  //#region src/services/screen.d.ts
785
311
  declare class ScreenInstance {
@@ -803,7 +329,7 @@ declare class ScreenInstance {
803
329
  /**
804
330
  * Internal: Set the manager reference
805
331
  */
806
- _setManager(manager: ScreenManager): void;
332
+ _setManager(manager: ScreenManagerInstance): void;
807
333
  /**
808
334
  * Internal: Set the print function for stdout output
809
335
  */
@@ -941,12 +467,13 @@ declare class ScreenInstance {
941
467
  }
942
468
  //#endregion
943
469
  //#region src/services/screen_manager.d.ts
944
- declare class ScreenManager {
470
+ declare class ScreenManagerInstance implements OnServiceDestroy {
945
471
  private screens;
946
472
  private screenOrder;
947
473
  private activeScreenId;
948
474
  private renderer;
949
475
  private root;
476
+ private adapter;
950
477
  private isBound;
951
478
  private changeListeners;
952
479
  private bindOptions;
@@ -971,6 +498,7 @@ declare class ScreenManager {
971
498
  * Get the configured theme
972
499
  */
973
500
  getTheme(): Theme | undefined;
501
+ onServiceDestroy(): void;
974
502
  /**
975
503
  * Stop TUI rendering and cleanup
976
504
  * Flushes all completed screens to stdout/stderr
@@ -1065,56 +593,6 @@ declare class ScreenManager {
1065
593
  private render;
1066
594
  }
1067
595
  //#endregion
1068
- //#region src/services/logger.d.ts
1069
- declare class ScreenLoggerInstance implements LoggerService {
1070
- private screen;
1071
- private context?;
1072
- private enabledLevels;
1073
- constructor(options: LoggerOptions);
1074
- private isLevelEnabled;
1075
- verbose(msg: string | object, label?: string): this;
1076
- setLogLevels(levels: LogLevel[]): this;
1077
- trace(msg: string | object, label?: string): this;
1078
- debug(msg: string | object, label?: string): this;
1079
- log(msg: string | object, label?: string): this;
1080
- success(msg: string | object, label?: string): this;
1081
- warn(msg: string | object, label?: string): this;
1082
- error(msg: string | object, label?: string): this;
1083
- fatal(msg: string | object, label?: string): this;
1084
- private write;
1085
- file(path: string, content: string): this;
1086
- diff(path: string, diffContent: string, view?: 'unified' | 'split'): this;
1087
- fileError(path: string, content: string, errorLines: number[], startLine?: number): this;
1088
- /**
1089
- * Sonner-like promise handling
1090
- */
1091
- promise<T>(promise: Promise<T>, options: PromiseOptions<T>): Promise<T>;
1092
- /**
1093
- * Create a loading message with manual resolution
1094
- */
1095
- loading(message: string): LoadingHandle;
1096
- /**
1097
- * Create a progress bar with manual updates
1098
- */
1099
- progress(label: string, options: {
1100
- total: number;
1101
- }): ProgressHandle;
1102
- /**
1103
- * Start a collapsible log group
1104
- */
1105
- group(label: string): this;
1106
- /**
1107
- * End the current log group
1108
- */
1109
- groupEnd(): this;
1110
- /**
1111
- * Display tabular data
1112
- */
1113
- table(data: Record<string, unknown>[], options?: {
1114
- title?: string;
1115
- }): this;
1116
- }
1117
- //#endregion
1118
596
  //#region src/services/prompt.d.ts
1119
597
  /**
1120
598
  * Prompt class for interactive user input.
@@ -1125,400 +603,25 @@ declare class PromptInstance {
1125
603
  constructor(options: PromptOptions);
1126
604
  /**
1127
605
  * Display a choice prompt and wait for user selection.
1128
- * Returns the selected value (or input text if an input option was selected).
1129
- */
1130
- choice(options: ChoiceOptions): Promise<string>;
1131
- /**
1132
- * Display a confirmation prompt and wait for user response.
1133
- * Returns true for confirm, false for cancel.
1134
- */
1135
- confirm(options: ConfirmOptions): Promise<boolean>;
1136
- /**
1137
- * Display a text input prompt and wait for user input.
1138
- * Returns the entered text.
1139
- */
1140
- input(options: InputOptions): Promise<string>;
1141
- /**
1142
- * Display a multi-select choice prompt.
1143
- * Returns an array of selected values.
1144
- */
1145
- multiChoice(options: MultiChoiceOptions): Promise<string[]>;
1146
- }
1147
- //#endregion
1148
- //#region src/components/screen/screen_bridge.d.ts
1149
- interface ScreenBridgeProps {
1150
- screen: ScreenInstance;
1151
- focused: boolean;
1152
- /** Pre-filtered messages (if filtering is active) */
1153
- filteredMessages?: MessageData[];
1154
- /** Whether any filter is currently active */
1155
- isFiltering?: boolean;
1156
- /** Total message count (before filtering) */
1157
- totalMessages?: number;
1158
- }
1159
- declare function ScreenBridge({
1160
- screen,
1161
- focused,
1162
- filteredMessages,
1163
- isFiltering,
1164
- totalMessages
1165
- }: ScreenBridgeProps): react0.ReactNode;
1166
- //#endregion
1167
- //#region src/components/screen/message_renderer.d.ts
1168
- interface MessageRendererProps {
1169
- message: MessageData;
1170
- }
1171
- declare function MessageRenderer({
1172
- message
1173
- }: MessageRendererProps): react0.ReactNode;
1174
- //#endregion
1175
- //#region src/components/screen/loading_message.d.ts
1176
- interface LoadingMessageProps {
1177
- message: LoadingMessageData;
1178
- }
1179
- declare function LoadingMessage({
1180
- message
1181
- }: LoadingMessageProps): react0.ReactNode;
1182
- //#endregion
1183
- //#region src/components/screen/progress_message.d.ts
1184
- interface ProgressMessageProps {
1185
- message: ProgressMessageData;
1186
- }
1187
- declare function ProgressMessage({
1188
- message
1189
- }: ProgressMessageProps): react0.ReactNode;
1190
- //#endregion
1191
- //#region src/components/screen/group_renderer.d.ts
1192
- interface GroupRendererProps {
1193
- label: string;
1194
- messages: MessageData[];
1195
- }
1196
- declare function GroupRenderer({
1197
- label,
1198
- messages
1199
- }: GroupRendererProps): react0.ReactNode;
1200
- interface GroupMessageRendererProps {
1201
- message: GroupMessageData;
1202
- }
1203
- /**
1204
- * Fallback renderer for group markers (when not processed at higher level)
1205
- */
1206
- declare function GroupMessageRenderer({
1207
- message
1208
- }: GroupMessageRendererProps): react0.ReactNode;
1209
- //#endregion
1210
- //#region src/components/screen/table_message.d.ts
1211
- interface TableMessageProps {
1212
- message: TableMessageData;
1213
- }
1214
- declare function TableMessage({
1215
- message
1216
- }: TableMessageProps): react0.ReactNode;
1217
- //#endregion
1218
- //#region src/components/sidebar/sidebar.d.ts
1219
- interface SidebarProps {
1220
- screens: ScreenInstance[];
1221
- selectedIndex: number;
1222
- activeScreenId: string;
1223
- focused: boolean;
1224
- width: number;
1225
- title: string;
1226
- }
1227
- declare function Sidebar({
1228
- screens,
1229
- selectedIndex,
1230
- activeScreenId,
1231
- focused,
1232
- width,
1233
- title
1234
- }: SidebarProps): react0.ReactNode;
1235
- //#endregion
1236
- //#region src/components/sidebar/sidebar_item.d.ts
1237
- interface SidebarItemProps {
1238
- screen: ScreenInstance;
1239
- isSelected: boolean;
1240
- isActive: boolean;
1241
- focused: boolean;
1242
- }
1243
- declare function SidebarItem({
1244
- screen,
1245
- isSelected,
1246
- isActive,
1247
- focused
1248
- }: SidebarItemProps): react0.ReactNode;
1249
- //#endregion
1250
- //#region src/components/sidebar/sidebar_separator.d.ts
1251
- declare function SidebarSeparator(): react0.ReactNode;
1252
- //#endregion
1253
- //#region src/components/screen_manager_bridge.d.ts
1254
- interface ScreenManagerBridgeProps {
1255
- manager: ScreenManager;
1256
- theme?: Theme;
1257
- }
1258
- declare function ScreenManagerBridge({
1259
- manager,
1260
- theme
1261
- }: ScreenManagerBridgeProps): react0.ReactNode;
1262
- //#endregion
1263
- //#region src/context/logger_context.d.ts
1264
- interface LoggerProviderProps {
1265
- children: ReactNode;
1266
- /** Custom syntax style for code highlighting */
1267
- syntaxStyle?: SyntaxStyle;
1268
- /** Tree-sitter client for parsing */
1269
- treeSitterClient?: TreeSitterClient;
606
+ * Returns the selected value (or input text if an input option was selected).
607
+ */
608
+ choice(options: ChoiceOptions): Promise<string>;
609
+ /**
610
+ * Display a confirmation prompt and wait for user response.
611
+ * Returns true for confirm, false for cancel.
612
+ */
613
+ confirm(options: ConfirmOptions): Promise<boolean>;
1270
614
  /**
1271
- * Theme configuration.
1272
- * Can be a preset name ("dark", "light", "high-contrast") or a Theme object.
1273
- * @default "dark"
615
+ * Display a text input prompt and wait for user input.
616
+ * Returns the entered text.
1274
617
  */
1275
- theme?: Theme | ThemePreset;
618
+ input(options: InputOptions): Promise<string>;
1276
619
  /**
1277
- * @deprecated Use `theme` instead. Custom log level colors.
1278
- * If both `theme` and `levelColors` are provided, `levelColors` takes precedence.
620
+ * Display a multi-select choice prompt.
621
+ * Returns an array of selected values.
1279
622
  */
1280
- levelColors?: Partial<LogLevelColorMap>;
623
+ multiChoice(options: MultiChoiceOptions): Promise<string[]>;
1281
624
  }
1282
- /**
1283
- * LoggerProvider - Provides shared context for logger components.
1284
- *
1285
- * This context provides:
1286
- * - Shared SyntaxStyle instance for consistent code highlighting
1287
- * - Optional TreeSitterClient for advanced parsing
1288
- * - Theme configuration for consistent styling
1289
- * - Log level color configuration (for backwards compatibility)
1290
- *
1291
- * @example
1292
- * // Using a preset theme
1293
- * <LoggerProvider theme="dark">
1294
- * <ScreenManager screens={screens} activeScreenId={activeId}>
1295
- * <Screen name="Logs">
1296
- * <LogMessage level="info">Hello</LogMessage>
1297
- * </Screen>
1298
- * </ScreenManager>
1299
- * </LoggerProvider>
1300
- *
1301
- * @example
1302
- * // Using a custom theme
1303
- * <LoggerProvider theme={myCustomTheme}>
1304
- * ...
1305
- * </LoggerProvider>
1306
- */
1307
- declare function LoggerProvider({
1308
- children,
1309
- syntaxStyle: customSyntaxStyle,
1310
- treeSitterClient,
1311
- theme: themeProp,
1312
- levelColors: customLevelColors
1313
- }: LoggerProviderProps): ReactNode;
1314
- /**
1315
- * Hook to access logger context.
1316
- * Returns default values if used outside LoggerProvider.
1317
- */
1318
- declare function useLoggerContext(): LoggerContextValue;
1319
- //#endregion
1320
- //#region src/utils/colors/log-colors.d.ts
1321
- /**
1322
- * Default color scheme for all log levels.
1323
- * Each level has a prominent border color and a subtle background tint.
1324
- */
1325
- declare const DEFAULT_LOG_LEVEL_COLORS: LogLevelColorMap;
1326
- /**
1327
- * Colors for semantic variants (override level colors when variant is set).
1328
- */
1329
- declare const VARIANT_COLORS: Record<LogMessageVariant, LogLevelColors>;
1330
- /**
1331
- * Error highlighting colors.
1332
- */
1333
- declare const ERROR_HIGHLIGHT_COLORS: {
1334
- background: string;
1335
- border: string;
1336
- gutterBackground: string;
1337
- };
1338
- //#endregion
1339
- //#region src/utils/colors/sidebar-colors.d.ts
1340
- /**
1341
- * Sidebar colors.
1342
- */
1343
- declare const SIDEBAR_COLORS: {
1344
- background: undefined;
1345
- selectedBackground: string;
1346
- hoverBackground: string;
1347
- text: string;
1348
- textDim: string;
1349
- border: string;
1350
- badge: string;
1351
- focusBorder: string;
1352
- };
1353
- /**
1354
- * Screen header colors.
1355
- */
1356
- declare const HEADER_COLORS: {
1357
- background: undefined;
1358
- text: string;
1359
- border: string;
1360
- };
1361
- /**
1362
- * Screen status indicator colors and icons.
1363
- */
1364
- declare const STATUS_INDICATORS: {
1365
- readonly waiting: {
1366
- readonly icon: "○";
1367
- readonly color: "#6B7280";
1368
- };
1369
- readonly pending: {
1370
- readonly icon: "◐";
1371
- readonly color: "#F59E0B";
1372
- };
1373
- readonly success: {
1374
- readonly icon: "✓";
1375
- readonly color: "#22C55E";
1376
- };
1377
- readonly fail: {
1378
- readonly icon: "✗";
1379
- readonly color: "#EF4444";
1380
- };
1381
- };
1382
- /**
1383
- * Separator colors for sidebar sections.
1384
- */
1385
- declare const SEPARATOR_COLORS: {
1386
- line: string;
1387
- text: string;
1388
- };
1389
- //#endregion
1390
- //#region src/utils/colors/progress-colors.d.ts
1391
- /**
1392
- * Progress bar colors.
1393
- */
1394
- declare const PROGRESS_COLORS: {
1395
- border: string;
1396
- background: string;
1397
- barFilled: string;
1398
- barEmpty: string;
1399
- text: string;
1400
- textDim: string;
1401
- complete: string;
1402
- completeBackground: string;
1403
- failed: string;
1404
- failedBackground: string;
1405
- };
1406
- /**
1407
- * Group colors for collapsible log groups.
1408
- */
1409
- declare const GROUP_COLORS: {
1410
- border: string;
1411
- background: string;
1412
- headerText: string;
1413
- icon: string;
1414
- };
1415
- //#endregion
1416
- //#region src/utils/colors/table-colors.d.ts
1417
- /**
1418
- * Table colors (uses info/blue scheme).
1419
- */
1420
- declare const TABLE_COLORS: {
1421
- border: string;
1422
- background: string;
1423
- headerText: string;
1424
- cellText: string;
1425
- title: string;
1426
- separator: string;
1427
- };
1428
- //#endregion
1429
- //#region src/utils/colors/file-colors.d.ts
1430
- /**
1431
- * File display colors (uses info/blue scheme).
1432
- */
1433
- declare const FILE_COLORS: {
1434
- border: string;
1435
- background: string;
1436
- headerText: string;
1437
- headerBackground: string;
1438
- };
1439
- //#endregion
1440
- //#region src/utils/colors/prompt-colors.d.ts
1441
- /**
1442
- * Prompt colors for interactive prompts.
1443
- */
1444
- declare const PROMPT_COLORS: {
1445
- question: string;
1446
- optionText: string;
1447
- optionTextDim: string;
1448
- optionSelected: string;
1449
- optionSelectedBackground: string;
1450
- confirmButton: string;
1451
- cancelButton: string;
1452
- buttonBackground: string;
1453
- buttonSelectedBackground: string;
1454
- inputBorder: string;
1455
- inputBackground: string;
1456
- inputText: string;
1457
- inputPlaceholder: string;
1458
- inputCursor: string;
1459
- border: string;
1460
- focusBorder: string;
1461
- };
1462
- //#endregion
1463
- //#region src/utils/colors/helpers.d.ts
1464
- /**
1465
- * Creates a tinted (subtle) version of a color by setting alpha.
1466
- *
1467
- * @param color - The base color (hex string or RGBA)
1468
- * @param alpha - Target alpha value (0-1), default 0.08 for subtle tinting
1469
- * @returns New RGBA with adjusted alpha
1470
- */
1471
- declare function createTintedColor(color: string | RGBA, alpha?: number): RGBA;
1472
- /**
1473
- * Creates a more prominent version of a color for borders.
1474
- *
1475
- * @param color - The base color
1476
- * @param alpha - Target alpha, default 1.0 for solid borders
1477
- */
1478
- declare function createBorderColor(color: string | RGBA, alpha?: number): RGBA;
1479
- /**
1480
- * Gets colors for a specific log level.
1481
- *
1482
- * @param level - The log level
1483
- * @param customColors - Optional custom color map
1484
- */
1485
- declare function getLogLevelColors(level: LogLevel, customColors?: Partial<LogLevelColorMap>): LogLevelColors;
1486
- //#endregion
1487
- //#region src/utils/filetype.d.ts
1488
- /**
1489
- * Common file extension to filetype mapping for syntax highlighting.
1490
- */
1491
- declare const COMMON_FILETYPES: Record<string, string>;
1492
- /**
1493
- * Resolves filetype from file path for syntax highlighting.
1494
- *
1495
- * @param filePath - Full file path or just filename
1496
- * @returns Filetype string for tree-sitter, or undefined
1497
- */
1498
- declare function resolveFiletype(filePath: string): string | undefined;
1499
- /**
1500
- * Gets the filename from a full path.
1501
- *
1502
- * @param filePath - Full file path
1503
- * @returns Just the filename
1504
- */
1505
- declare function getFileName(filePath: string): string;
1506
- //#endregion
1507
- //#region src/utils/stdout-printer.d.ts
1508
- /**
1509
- * Print all messages to stdout (or stderr if isError)
1510
- */
1511
- declare function printMessagesToStdout(messages: MessageData[], screenName: string, isError?: boolean): void;
1512
- //#endregion
1513
- //#region src/utils/format.d.ts
1514
- /**
1515
- * Format an object for display with configurable depth
1516
- */
1517
- declare function formatObject(obj: unknown, depth?: number, currentDepth?: number): string;
1518
- /**
1519
- * Capture a stack trace, filtering out internal frames
1520
- */
1521
- declare function captureTrace(): string;
1522
625
  //#endregion
1523
626
  //#region src/tokens/screen.d.ts
1524
627
  declare const Screen: InjectionToken<ScreenInstance, zod_v40.ZodObject<{
@@ -1540,9 +643,31 @@ declare const ScreenLogger: InjectionToken<ScreenLoggerInstance, zod_v40.ZodObje
1540
643
  }, zod_v4_core0.$strip>, zod_v40.ZodString]>>>;
1541
644
  context: zod_v40.ZodOptional<zod_v40.ZodString>;
1542
645
  enabledLevels: zod_v40.ZodDefault<zod_v40.ZodArray<zod_v40.ZodEnum<{
646
+ log: "log";
1543
647
  verbose: "verbose";
1544
648
  debug: "debug";
649
+ warn: "warn";
650
+ error: "error";
651
+ fatal: "fatal";
652
+ }>>>;
653
+ }, zod_v4_core0.$strip>, true>;
654
+ /**
655
+ * Isomorphic logger token for shared logger between TUI and Server.
656
+ * This token is used to inject the logger instance into the application.
657
+ */
658
+ declare const IsomorphicLogger: InjectionToken<IsomorphicLoggerInterface, zod_v40.ZodObject<{
659
+ screen: zod_v40.ZodDefault<zod_v40.ZodOptional<zod_v40.ZodUnion<[zod_v40.ZodObject<{
660
+ name: zod_v40.ZodString;
661
+ icon: zod_v40.ZodOptional<zod_v40.ZodString>;
662
+ badgeCount: zod_v40.ZodOptional<zod_v40.ZodNumber>;
663
+ hidden: zod_v40.ZodDefault<zod_v40.ZodOptional<zod_v40.ZodBoolean>>;
664
+ static: zod_v40.ZodDefault<zod_v40.ZodOptional<zod_v40.ZodBoolean>>;
665
+ }, zod_v4_core0.$strip>, zod_v40.ZodString]>>>;
666
+ context: zod_v40.ZodOptional<zod_v40.ZodString>;
667
+ enabledLevels: zod_v40.ZodDefault<zod_v40.ZodArray<zod_v40.ZodEnum<{
1545
668
  log: "log";
669
+ verbose: "verbose";
670
+ debug: "debug";
1546
671
  warn: "warn";
1547
672
  error: "error";
1548
673
  fatal: "fatal";
@@ -1560,6 +685,27 @@ declare const Prompt: InjectionToken<PromptInstance, zod_v40.ZodObject<{
1560
685
  }, zod_v4_core0.$strip>, zod_v40.ZodString]>>>;
1561
686
  }, zod_v4_core0.$strip>, true>;
1562
687
  //#endregion
688
+ //#region src/tokens/adapter.d.ts
689
+ /**
690
+ * Injection token for the TUI rendering adapter.
691
+ * Import the specific adapter (e.g., '@navios/commander-tui/adapters/react')
692
+ * to register an implementation.
693
+ */
694
+ declare const Adapter: InjectionToken<AdapterInterface, undefined, false>;
695
+ //#endregion
696
+ //#region src/tokens/screen-manager.d.ts
697
+ /**
698
+ * Injection token for the ScreenManager singleton.
699
+ * Used for dependency injection without requiring direct import of the class.
700
+ */
701
+ declare const ScreenManager: InjectionToken<ScreenManagerInstance, undefined, false>;
702
+ //#endregion
703
+ //#region src/factories/isomorphic-logger.factory.d.ts
704
+ declare class IsomorphicLoggerFactory {
705
+ private readonly screenManager;
706
+ create(ctx: FactoryContext, options: LoggerOptions): Promise<IsomorphicLoggerInterface>;
707
+ }
708
+ //#endregion
1563
709
  //#region src/factories/screen.factory.d.ts
1564
710
  declare class ScreenFactory {
1565
711
  private readonly screenManager;
@@ -1569,6 +715,12 @@ declare class ScreenFactory {
1569
715
  //#region src/overrides/console.logger.override.d.ts
1570
716
  declare function overrideConsoleLogger(hidden?: boolean): ClassTypeWithInstance<LoggerService>;
1571
717
  //#endregion
718
+ //#region src/overrides/missing-adapter.override.d.ts
719
+ declare class MissingAdapterOverride implements AdapterInterface {
720
+ createRoot(): AdapterRoot;
721
+ renderToRoot(): void;
722
+ }
723
+ //#endregion
1572
724
  //#region src/themes/dark.d.ts
1573
725
  /**
1574
726
  * Default dark theme.
@@ -1611,13 +763,6 @@ declare function createThemeFrom(base: Theme | ThemePreset, overrides: PartialTh
1611
763
  */
1612
764
  declare function resolveTheme(theme: Theme | ThemePreset): Theme;
1613
765
  //#endregion
1614
- //#region src/hooks/use_theme.d.ts
1615
- /**
1616
- * Hook to access the current theme.
1617
- * Returns the theme from LoggerContext.
1618
- */
1619
- declare function useTheme(): Theme;
1620
- //#endregion
1621
766
  //#region src/keyboard/keyboard_manager.d.ts
1622
767
  /**
1623
768
  * Manages keyboard bindings and dispatches key events to handlers.
@@ -1686,7 +831,7 @@ declare function formatKeyBinding(binding: KeyBinding): string;
1686
831
  * Interface for binding handlers that need manager/screen access.
1687
832
  */
1688
833
  interface BindingHandlers {
1689
- manager: ScreenManager;
834
+ manager: ScreenManagerInstance;
1690
835
  getActiveScreen: () => ScreenInstance | null;
1691
836
  toggleHelp: () => void;
1692
837
  toggleFilter: () => void;
@@ -1725,5 +870,5 @@ declare class FilterEngine {
1725
870
  static countByLevel(messages: MessageData[]): LevelCounts;
1726
871
  }
1727
872
  //#endregion
1728
- 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, 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, 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 };
873
+ export { ALL_LOG_LEVELS, Adapter, AdapterInterface, AdapterRenderProps, AdapterRoot, BaseMessage, BasePromptData, BindOptions, BindingHandlers, COMMON_FILETYPES, 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, MessageData, MessageType, MissingAdapterOverride, MultiChoiceOptions, MultiChoicePromptData, PROGRESS_COLORS, PROMPT_COLORS, PartialTheme, ProgressHandle, ProgressMessageData, ProgressTheme, PromiseOptions, Prompt, PromptData, PromptInstance, PromptOptions, PromptOptionsSchema, PromptTheme, SEPARATOR_COLORS, SIDEBAR_COLORS, STATUS_INDICATORS, Screen, ScreenDefinition, ScreenFactory, ScreenInstance, ScreenLogger, ScreenLoggerInstance, ScreenManager, ScreenManagerInstance, ScreenManagerProps, ScreenOptions, ScreenOptionsSchema, ScreenProps, ScreenStatus, SemanticColors, SeparatorTheme, SidebarTheme, StatusIndicator, StatusIndicatorsTheme, TABLE_COLORS, TableMessageData, 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 };
1729
874
  //# sourceMappingURL=index.d.cts.map