@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/CHANGELOG.md CHANGED
@@ -5,6 +5,50 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.1.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.3.0] - 2026-01-13
9
+
10
+ ### Added
11
+
12
+ - **Framework Adapter Architecture** - TUI components are now framework-agnostic with dedicated adapters
13
+ - New `TuiAdapterInterface` for framework-agnostic TUI rendering
14
+ - `@navios/commander-tui/adapters/react` - React adapter (default, uses @opentui/react)
15
+ - `@navios/commander-tui/adapters/solid` - Solid.js adapter (optional, uses @opentui/solid)
16
+ - **Solid.js Support** - Full Solid.js implementation of all TUI components
17
+ - All components ported: Sidebar, Screen, Log, Prompt, Filter, Help, File display
18
+ - SolidJS-specific patterns with reactive signals and proper type narrowing
19
+ - Optional peer dependency on `solid-js`
20
+ - **Adapter Token** - New `TuiAdapterToken` for injecting the active TUI adapter
21
+ - **Screen Manager Token** - New `ScreenManagerToken` for service injection
22
+
23
+ ### Changed
24
+
25
+ - **Component Organization** - Components moved from `src/components/` to `src/adapters/react/components/`
26
+ - **Context Organization** - Context providers moved to `src/adapters/react/context/`
27
+ - **Hooks Organization** - Hooks moved to `src/adapters/react/hooks/`
28
+ - **Screen Manager** - Refactored to use adapter interface instead of direct React rendering
29
+ - **Build Configuration** - Separate TypeScript configs for React and Solid builds
30
+
31
+ ### Fixed
32
+
33
+ - **Type Safety** - Solid adapter uses proper SolidJS type narrowing patterns instead of `as any` casts
34
+
35
+ ## [1.2.0] - 2026-01-11
36
+
37
+ ### Added
38
+
39
+ - **Isomorphic Logger** - New `IsomorphicLogger` token and factory for unified logging across TUI and server environments
40
+ - `IsomorphicLoggerInterface` type that works with both `ScreenLogger` (TUI) and standard `Logger` (server)
41
+ - `IsomorphicLoggerFactory` automatically selects the appropriate logger based on TUI availability
42
+ - **Interfaces Export** - New `interfaces` module export for public type definitions
43
+
44
+ ### Changed
45
+
46
+ - **Mouse Support Default** - `useMouse` option now defaults to `true` (previously `false`)
47
+
48
+ ### Fixed
49
+
50
+ - **Stack Trace Capture** - Improved `captureTrace()` to dynamically find the correct stack frame offset, ensuring accurate trace output regardless of call depth
51
+
8
52
  ## [1.1.0] - 2026-01-10
9
53
 
10
54
  ### Added
package/README.md CHANGED
@@ -1,9 +1,10 @@
1
1
  # @navios/commander-tui
2
2
 
3
- A powerful terminal user interface (TUI) library for building beautiful CLI applications with React. Built on top of [@opentui/react](https://github.com/nicepkg/opentui), it provides a high-level API for logging, prompts, progress indicators, and multi-screen management.
3
+ A powerful terminal user interface (TUI) library for building beautiful CLI applications. Built on top of [@opentui](https://github.com/nicepkg/opentui), it provides a high-level API for logging, prompts, progress indicators, and multi-screen management with support for both React and Solid.js frameworks.
4
4
 
5
5
  ## Features
6
6
 
7
+ - **Framework Agnostic** - Choose between React or Solid.js adapters for rendering
7
8
  - **Rich Logging** - Multiple log levels (log, debug, warn, error, success, trace, fatal) with contextual labels
8
9
  - **Interactive Prompts** - Confirm, choice, multi-choice, and text input prompts
9
10
  - **Progress Indicators** - Loading spinners and progress bars with manual or promise-based resolution
@@ -21,6 +22,12 @@ npm install @navios/commander-tui @navios/core
21
22
  yarn add @navios/commander-tui @navios/core
22
23
  ```
23
24
 
25
+ For Solid.js support, also install:
26
+
27
+ ```bash
28
+ npm install solid-js
29
+ ```
30
+
24
31
  ## Quick Start
25
32
 
26
33
  ```typescript
@@ -99,6 +106,33 @@ logger.fatal('Fatal error')
99
106
  logger.log('Step 1').log('Step 2').success('Done!')
100
107
  ```
101
108
 
109
+ ### IsomorphicLogger
110
+
111
+ A unified logger that automatically switches between `ScreenLogger` (TUI mode) and standard `Logger` (server mode) based on the environment. This is useful when writing code that needs to work both in TUI and non-TUI contexts.
112
+
113
+ ```typescript
114
+ import { IsomorphicLogger } from '@navios/commander-tui'
115
+ import { inject, Injectable } from '@navios/core'
116
+
117
+ @Injectable()
118
+ class MyService {
119
+ // Will use ScreenLogger when TUI is bound, otherwise standard Logger
120
+ private logger = inject(IsomorphicLogger, { context: 'MyService' })
121
+
122
+ doWork() {
123
+ this.logger.log('Processing...')
124
+ this.logger.debug('Debug info')
125
+ this.logger.error('Something went wrong')
126
+ }
127
+ }
128
+ ```
129
+
130
+ The `IsomorphicLoggerFactory` checks if the `ScreenManager` has an active TUI binding:
131
+ - **TUI bound**: Returns a `ScreenLogger` instance with full TUI features
132
+ - **TUI not bound**: Returns a standard `Logger` instance for console output
133
+
134
+ This makes it easy to write services that can be used in both CLI tools with TUI and background server processes.
135
+
102
136
  #### Loading Indicators
103
137
 
104
138
  ```typescript
@@ -270,6 +304,40 @@ Three built-in themes are available:
270
304
  await screenManager.bind({ theme: 'high-contrast' })
271
305
  ```
272
306
 
307
+ ## Framework Adapters
308
+
309
+ The TUI library supports multiple rendering frameworks through adapters. By default, React is used, but you can switch to Solid.js for potentially better performance.
310
+
311
+ ### Using with @navios/commander
312
+
313
+ When using with `@navios/commander`, specify the adapter in the TUI options:
314
+
315
+ ```typescript
316
+ import { CommanderFactory } from '@navios/commander'
317
+
318
+ const app = await CommanderFactory.create(AppModule, {
319
+ enableTUI: true,
320
+ tuiOptions: {
321
+ adapter: 'react', // 'react' (default) or 'solid'
322
+ theme: 'dark',
323
+ },
324
+ })
325
+ ```
326
+
327
+ ### Direct Adapter Import
328
+
329
+ For standalone usage, import the adapter directly:
330
+
331
+ ```typescript
332
+ // React adapter (default)
333
+ import '@navios/commander-tui/adapters/react'
334
+
335
+ // Or Solid.js adapter
336
+ import '@navios/commander-tui/adapters/solid'
337
+ ```
338
+
339
+ The adapter must be imported before using any TUI services. It registers the framework-specific components with the dependency injection container.
340
+
273
341
  ## License
274
342
 
275
343
  MIT
@@ -0,0 +1,2 @@
1
+ export * from './interface.ts';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/adapters/index.ts"],"names":[],"mappings":"AACA,cAAc,gBAAgB,CAAA"}
@@ -0,0 +1,45 @@
1
+ import type { CliRenderer } from '@opentui/core';
2
+ import type { Theme } from '../types/index.ts';
3
+ /**
4
+ * Root instance returned by adapter's createRoot method.
5
+ * Abstracts the framework-specific root implementation.
6
+ */
7
+ export interface AdapterRoot {
8
+ /**
9
+ * Render an element to the root.
10
+ * @param element - Framework-specific element to render
11
+ */
12
+ render(element: unknown): void;
13
+ /**
14
+ * Unmount and cleanup the root.
15
+ */
16
+ unmount(): void;
17
+ }
18
+ /**
19
+ * Props passed to the adapter's internal bridge component.
20
+ * The manager type is kept generic to avoid circular imports.
21
+ */
22
+ export interface AdapterRenderProps {
23
+ manager: unknown;
24
+ theme?: Theme;
25
+ }
26
+ /**
27
+ * Abstract interface for rendering adapters.
28
+ * Implementations provide framework-specific rendering capabilities.
29
+ */
30
+ export interface AdapterInterface {
31
+ /**
32
+ * Create a root instance for rendering.
33
+ * @param renderer - CLI renderer from @opentui/core
34
+ * @returns Root instance with render/unmount methods, or a Promise that resolves to one
35
+ */
36
+ createRoot(renderer: CliRenderer): AdapterRoot | Promise<AdapterRoot>;
37
+ /**
38
+ * Render the adapter's internal bridge component to the root.
39
+ * The adapter owns its bridge component - no component is passed in.
40
+ * @param root - Root instance created by createRoot
41
+ * @param props - Props to pass to the bridge component
42
+ */
43
+ renderToRoot(root: AdapterRoot, props: AdapterRenderProps): void;
44
+ }
45
+ //# sourceMappingURL=interface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"interface.d.ts","sourceRoot":"","sources":["../../../../src/adapters/interface.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,eAAe,CAAA;AAEhD,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAE9C;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC1B;;;OAGG;IACH,MAAM,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAAA;IAE9B;;OAEG;IACH,OAAO,IAAI,IAAI,CAAA;CAChB;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC,OAAO,EAAE,OAAO,CAAA;IAChB,KAAK,CAAC,EAAE,KAAK,CAAA;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,gBAAgB;IAC/B;;;;OAIG;IACH,UAAU,CAAC,QAAQ,EAAE,WAAW,GAAG,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CAAA;IAErE;;;;;OAKG;IACH,YAAY,CAAC,IAAI,EAAE,WAAW,EAAE,KAAK,EAAE,kBAAkB,GAAG,IAAI,CAAA;CACjE"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/components/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/context/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,3 @@
1
+ export * from './isomorphic-logger.factory.js';
2
+ export * from './screen.factory.ts';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/factories/index.ts"],"names":[],"mappings":"AAAA,cAAc,gCAAgC,CAAA;AAC9C,cAAc,qBAAqB,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { type FactoryContext } from '@navios/core';
2
+ import type { IsomorphicLoggerInterface } from '../interfaces/isomorphic-logger.js';
3
+ import type { LoggerOptions } from '../schemas/index.js';
4
+ export declare class IsomorphicLoggerFactory {
5
+ private readonly screenManager;
6
+ create(ctx: FactoryContext, options: LoggerOptions): Promise<IsomorphicLoggerInterface>;
7
+ }
8
+ //# sourceMappingURL=isomorphic-logger.factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isomorphic-logger.factory.d.ts","sourceRoot":"","sources":["../../../../src/factories/isomorphic-logger.factory.ts"],"names":[],"mappings":"AAAA,OAAO,EAA2B,KAAK,cAAc,EAAE,MAAM,cAAc,CAAA;AAI3E,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAA;AACnF,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AAExD,qBAGa,uBAAuB;IAClC,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAwB;IAEhD,MAAM,CAAC,GAAG,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,yBAAyB,CAAC;CAQ9F"}
@@ -0,0 +1,8 @@
1
+ import type { FactoryContext } from '@navios/core';
2
+ import { type ScreenOptions } from '../schemas/index.ts';
3
+ import { ScreenInstance } from '../services/index.ts';
4
+ export declare class ScreenFactory {
5
+ private readonly screenManager;
6
+ create(ctx: FactoryContext, options: ScreenOptions): ScreenInstance;
7
+ }
8
+ //# sourceMappingURL=screen.factory.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screen.factory.d.ts","sourceRoot":"","sources":["../../../../src/factories/screen.factory.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAElD,OAAO,EAAE,KAAK,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAGrD,qBAGa,aAAa;IACxB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAwB;IAEtD,MAAM,CAAC,GAAG,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,GAAG,cAAc;CAOpE"}
@@ -0,0 +1,19 @@
1
+ import type { FilterState, LevelCounts, MessageData } from '../types/index.ts';
2
+ /**
3
+ * Filter engine for filtering log messages.
4
+ */
5
+ export declare class FilterEngine {
6
+ /**
7
+ * Apply filter to messages array.
8
+ */
9
+ static filterMessages(messages: MessageData[], filter: FilterState): MessageData[];
10
+ /**
11
+ * Check if a message matches the search query.
12
+ */
13
+ private static messageMatchesSearch;
14
+ /**
15
+ * Count messages by log level.
16
+ */
17
+ static countByLevel(messages: MessageData[]): LevelCounts;
18
+ }
19
+ //# sourceMappingURL=filter_engine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter_engine.d.ts","sourceRoot":"","sources":["../../../../src/filter/filter_engine.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,WAAW,EAAkB,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAE9F;;GAEG;AACH,qBAAa,YAAY;IACvB;;OAEG;IACH,MAAM,CAAC,cAAc,CAAC,QAAQ,EAAE,WAAW,EAAE,EAAE,MAAM,EAAE,WAAW,GAAG,WAAW,EAAE;IAqClF;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,oBAAoB;IAwCnC;;OAEG;IACH,MAAM,CAAC,YAAY,CAAC,QAAQ,EAAE,WAAW,EAAE,GAAG,WAAW;CAkB1D"}
@@ -0,0 +1,2 @@
1
+ export * from './filter_engine.ts';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/filter/index.ts"],"names":[],"mappings":"AAAA,cAAc,oBAAoB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/hooks/index.ts"],"names":[],"mappings":""}
@@ -0,0 +1,16 @@
1
+ export * from './types/index.ts';
2
+ export * from './interfaces/index.ts';
3
+ export * from './components/index.ts';
4
+ export * from './context/index.ts';
5
+ export * from './utils/index.ts';
6
+ export * from './schemas/index.ts';
7
+ export * from './tokens/index.ts';
8
+ export * from './factories/index.ts';
9
+ export * from './overrides/index.ts';
10
+ export * from './services/index.ts';
11
+ export * from './themes/index.ts';
12
+ export * from './hooks/index.ts';
13
+ export * from './keyboard/index.ts';
14
+ export * from './filter/index.ts';
15
+ export * from './adapters/index.ts';
16
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/index.ts"],"names":[],"mappings":"AAGA,cAAc,kBAAkB,CAAA;AAKhC,cAAc,uBAAuB,CAAA;AAKrC,cAAc,uBAAuB,CAAA;AAKrC,cAAc,oBAAoB,CAAA;AAKlC,cAAc,kBAAkB,CAAA;AAKhC,cAAc,oBAAoB,CAAA;AAKlC,cAAc,mBAAmB,CAAA;AAKjC,cAAc,sBAAsB,CAAA;AAKpC,cAAc,sBAAsB,CAAA;AAKpC,cAAc,qBAAqB,CAAA;AAKnC,cAAc,mBAAmB,CAAA;AAKjC,cAAc,kBAAkB,CAAA;AAKhC,cAAc,qBAAqB,CAAA;AAKnC,cAAc,mBAAmB,CAAA;AAKjC,cAAc,qBAAqB,CAAA"}
@@ -0,0 +1,2 @@
1
+ export * from './isomorphic-logger.ts';
2
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/index.ts"],"names":[],"mappings":"AAAA,cAAc,wBAAwB,CAAA"}
@@ -0,0 +1,9 @@
1
+ import type { LoggerInstance } from '@navios/core';
2
+ import type { ScreenLoggerInstance } from '../services/logger.ts';
3
+ type PublicLoggerMethods = Pick<LoggerInstance, keyof LoggerInstance>;
4
+ type PublicScreenLoggerMethods = Pick<ScreenLoggerInstance, keyof ScreenLoggerInstance>;
5
+ type ScreenOwnMethods = Partial<Omit<PublicScreenLoggerMethods, keyof PublicLoggerMethods>>;
6
+ export interface IsomorphicLoggerInterface extends PublicLoggerMethods, ScreenOwnMethods {
7
+ }
8
+ export {};
9
+ //# sourceMappingURL=isomorphic-logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"isomorphic-logger.d.ts","sourceRoot":"","sources":["../../../../src/interfaces/isomorphic-logger.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAElD,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,uBAAuB,CAAA;AAEjE,KAAK,mBAAmB,GAAG,IAAI,CAAC,cAAc,EAAE,MAAM,cAAc,CAAC,CAAA;AACrE,KAAK,yBAAyB,GAAG,IAAI,CAAC,oBAAoB,EAAE,MAAM,oBAAoB,CAAC,CAAA;AACvF,KAAK,gBAAgB,GAAG,OAAO,CAAC,IAAI,CAAC,yBAAyB,EAAE,MAAM,mBAAmB,CAAC,CAAC,CAAA;AAE3F,MAAM,WAAW,yBAA0B,SAAQ,mBAAmB,EAAE,gBAAgB;CAAG"}
@@ -0,0 +1,26 @@
1
+ import type { ScreenInstance, ScreenManagerInstance } from '../services/index.ts';
2
+ import type { KeyBinding, KeyboardContext, KeyEvent } from '../types/index.ts';
3
+ /**
4
+ * Interface for binding handlers that need manager/screen access.
5
+ */
6
+ export interface BindingHandlers {
7
+ manager: ScreenManagerInstance;
8
+ getActiveScreen: () => ScreenInstance | null;
9
+ toggleHelp: () => void;
10
+ toggleFilter: () => void;
11
+ closeFilter: () => void;
12
+ filterAppendChar: (char: string) => void;
13
+ filterDeleteChar: () => void;
14
+ filterToggleLevel: (index: number) => void;
15
+ filterCycleField: () => void;
16
+ }
17
+ /**
18
+ * Create the default keybindings with access to manager and screens.
19
+ */
20
+ export declare function createDefaultBindings(handlers: BindingHandlers): KeyBinding[];
21
+ /**
22
+ * Handle printable character input for prompts and filter.
23
+ * This should be called for any key not handled by bindings.
24
+ */
25
+ export declare function handlePrintableInput(key: KeyEvent, context: KeyboardContext, handlers: BindingHandlers): boolean;
26
+ //# sourceMappingURL=create_bindings.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"create_bindings.d.ts","sourceRoot":"","sources":["../../../../src/keyboard/create_bindings.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,qBAAqB,EAAE,MAAM,sBAAsB,CAAA;AACjF,OAAO,KAAK,EAAE,UAAU,EAAE,eAAe,EAAE,QAAQ,EAAE,MAAM,mBAAmB,CAAA;AAE9E;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,OAAO,EAAE,qBAAqB,CAAA;IAC9B,eAAe,EAAE,MAAM,cAAc,GAAG,IAAI,CAAA;IAC5C,UAAU,EAAE,MAAM,IAAI,CAAA;IACtB,YAAY,EAAE,MAAM,IAAI,CAAA;IACxB,WAAW,EAAE,MAAM,IAAI,CAAA;IACvB,gBAAgB,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAA;IACxC,gBAAgB,EAAE,MAAM,IAAI,CAAA;IAC5B,iBAAiB,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAA;IAC1C,gBAAgB,EAAE,MAAM,IAAI,CAAA;CAC7B;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,QAAQ,EAAE,eAAe,GAAG,UAAU,EAAE,CA+Y7E;AAED;;;GAGG;AACH,wBAAgB,oBAAoB,CAClC,GAAG,EAAE,QAAQ,EACb,OAAO,EAAE,eAAe,EACxB,QAAQ,EAAE,eAAe,GACxB,OAAO,CA0BT"}
@@ -0,0 +1,3 @@
1
+ export * from './keyboard_manager.ts';
2
+ export * from './create_bindings.ts';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/keyboard/index.ts"],"names":[],"mappings":"AAAA,cAAc,uBAAuB,CAAA;AACrC,cAAc,sBAAsB,CAAA"}
@@ -0,0 +1,63 @@
1
+ import type { KeyBinding, KeyBindingCategory, KeyBindingsConfig, KeyboardContext, KeyEvent } from '../types/index.ts';
2
+ /**
3
+ * Manages keyboard bindings and dispatches key events to handlers.
4
+ */
5
+ export declare class KeyboardManager {
6
+ private bindings;
7
+ private disabled;
8
+ constructor(config?: KeyBindingsConfig);
9
+ /**
10
+ * Add bindings to the manager.
11
+ */
12
+ addBindings(bindings: KeyBinding[]): void;
13
+ /**
14
+ * Remove a binding by key name.
15
+ */
16
+ removeBinding(key: string): void;
17
+ /**
18
+ * Disable a key (prevents it from being matched).
19
+ */
20
+ disableKey(key: string): void;
21
+ /**
22
+ * Enable a previously disabled key.
23
+ */
24
+ enableKey(key: string): void;
25
+ /**
26
+ * Handle a key event, dispatching to the appropriate handler.
27
+ * Returns true if a handler consumed the event.
28
+ */
29
+ handleKey(key: KeyEvent, context: KeyboardContext): boolean;
30
+ /**
31
+ * Get all bindings for display in help overlay.
32
+ */
33
+ getBindingsForHelp(): KeyBinding[];
34
+ /**
35
+ * Get bindings grouped by category.
36
+ */
37
+ getBindingsByCategory(): Record<KeyBindingCategory, KeyBinding[]>;
38
+ /**
39
+ * Find a matching binding for the given key and context.
40
+ */
41
+ private findMatchingBinding;
42
+ /**
43
+ * Check if a key event matches a binding's key specification.
44
+ */
45
+ private keyMatches;
46
+ /**
47
+ * Check if context matches a binding's condition.
48
+ */
49
+ private conditionMatches;
50
+ /**
51
+ * Check if a binding is disabled.
52
+ */
53
+ private isDisabled;
54
+ /**
55
+ * Sort bindings by priority (higher first).
56
+ */
57
+ private sortBindings;
58
+ }
59
+ /**
60
+ * Format a key binding for display.
61
+ */
62
+ export declare function formatKeyBinding(binding: KeyBinding): string;
63
+ //# sourceMappingURL=keyboard_manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"keyboard_manager.d.ts","sourceRoot":"","sources":["../../../../src/keyboard/keyboard_manager.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EACf,QAAQ,EACT,MAAM,mBAAmB,CAAA;AAE1B;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,QAAQ,CAAyB;gBAE7B,MAAM,CAAC,EAAE,iBAAiB;IAatC;;OAEG;IACH,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,GAAG,IAAI;IAKzC;;OAEG;IACH,aAAa,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAOhC;;OAEG;IACH,UAAU,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI7B;;OAEG;IACH,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;IAI5B;;;OAGG;IACH,SAAS,CAAC,GAAG,EAAE,QAAQ,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO;IAS3D;;OAEG;IACH,kBAAkB,IAAI,UAAU,EAAE;IAIlC;;OAEG;IACH,qBAAqB,IAAI,MAAM,CAAC,kBAAkB,EAAE,UAAU,EAAE,CAAC;IAkBjE;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAa3B;;OAEG;IACH,OAAO,CAAC,UAAU;IAgBlB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAoCxB;;OAEG;IACH,OAAO,CAAC,UAAU;IAKlB;;OAEG;IACH,OAAO,CAAC,YAAY;CAGrB;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,OAAO,EAAE,UAAU,GAAG,MAAM,CAsC5D"}
@@ -0,0 +1,3 @@
1
+ import { type ClassTypeWithInstance, type LoggerService } from '@navios/core';
2
+ export declare function overrideConsoleLogger(hidden?: boolean): ClassTypeWithInstance<LoggerService>;
3
+ //# sourceMappingURL=console.logger.override.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"console.logger.override.d.ts","sourceRoot":"","sources":["../../../../src/overrides/console.logger.override.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,qBAAqB,EAE1B,KAAK,aAAa,EAEnB,MAAM,cAAc,CAAA;AAKrB,wBAAgB,qBAAqB,CACnC,MAAM,GAAE,OAAe,GACtB,qBAAqB,CAAC,aAAa,CAAC,CAoDtC"}
@@ -0,0 +1,3 @@
1
+ export * from './console.logger.override.ts';
2
+ export * from './missing-adapter.override.ts';
3
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/overrides/index.ts"],"names":[],"mappings":"AAAA,cAAc,8BAA8B,CAAA;AAC5C,cAAc,+BAA+B,CAAA"}
@@ -0,0 +1,6 @@
1
+ import type { AdapterInterface, AdapterRoot } from '../adapters/index.ts';
2
+ export declare class MissingAdapterOverride implements AdapterInterface {
3
+ createRoot(): AdapterRoot;
4
+ renderToRoot(): void;
5
+ }
6
+ //# sourceMappingURL=missing-adapter.override.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"missing-adapter.override.d.ts","sourceRoot":"","sources":["../../../../src/overrides/missing-adapter.override.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,gBAAgB,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAA;AAEzE,qBACa,sBAAuB,YAAW,gBAAgB;IAC7D,UAAU,IAAI,WAAW;IAMzB,YAAY,IAAI,IAAI;CAKrB"}
@@ -0,0 +1,4 @@
1
+ export * from './screen-options.ts';
2
+ export * from './logger-options.ts';
3
+ export * from './prompt-options.ts';
4
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/schemas/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA;AACnC,cAAc,qBAAqB,CAAA"}
@@ -0,0 +1,21 @@
1
+ import { z } from 'zod/v4';
2
+ export declare const LoggerOptionsSchema: z.ZodObject<{
3
+ screen: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodObject<{
4
+ name: z.ZodString;
5
+ icon: z.ZodOptional<z.ZodString>;
6
+ badgeCount: z.ZodOptional<z.ZodNumber>;
7
+ hidden: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
8
+ static: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
9
+ }, z.core.$strip>, z.ZodString]>>>;
10
+ context: z.ZodOptional<z.ZodString>;
11
+ enabledLevels: z.ZodDefault<z.ZodArray<z.ZodEnum<{
12
+ verbose: "verbose";
13
+ debug: "debug";
14
+ log: "log";
15
+ warn: "warn";
16
+ error: "error";
17
+ fatal: "fatal";
18
+ }>>>;
19
+ }, z.core.$strip>;
20
+ export type LoggerOptions = z.infer<typeof LoggerOptionsSchema>;
21
+ //# sourceMappingURL=logger-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger-options.d.ts","sourceRoot":"","sources":["../../../../src/schemas/logger-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAM1B,eAAO,MAAM,mBAAmB;;;;;;;;;;;;;;;;;iBAI9B,CAAA;AAEF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { z } from 'zod/v4';
2
+ export declare const PromptOptionsSchema: z.ZodObject<{
3
+ screen: z.ZodDefault<z.ZodOptional<z.ZodUnion<[z.ZodObject<{
4
+ name: z.ZodString;
5
+ icon: z.ZodOptional<z.ZodString>;
6
+ badgeCount: z.ZodOptional<z.ZodNumber>;
7
+ hidden: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
8
+ static: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
9
+ }, z.core.$strip>, z.ZodString]>>>;
10
+ }, z.core.$strip>;
11
+ export type PromptOptions = z.infer<typeof PromptOptionsSchema>;
12
+ //# sourceMappingURL=prompt-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt-options.d.ts","sourceRoot":"","sources":["../../../../src/schemas/prompt-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAI1B,eAAO,MAAM,mBAAmB;;;;;;;;iBAE9B,CAAA;AAEF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { z } from 'zod/v4';
2
+ export declare const ScreenOptionsSchema: z.ZodObject<{
3
+ name: z.ZodString;
4
+ icon: z.ZodOptional<z.ZodString>;
5
+ badgeCount: z.ZodOptional<z.ZodNumber>;
6
+ hidden: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
7
+ static: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
8
+ }, z.core.$strip>;
9
+ export type ScreenOptions = z.infer<typeof ScreenOptionsSchema>;
10
+ //# sourceMappingURL=screen-options.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screen-options.d.ts","sourceRoot":"","sources":["../../../../src/schemas/screen-options.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,QAAQ,CAAA;AAE1B,eAAO,MAAM,mBAAmB;;;;;;iBAW9B,CAAA;AAEF,MAAM,MAAM,aAAa,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,mBAAmB,CAAC,CAAA"}
@@ -0,0 +1,5 @@
1
+ export * from './screen_manager.ts';
2
+ export * from './screen.ts';
3
+ export * from './logger.ts';
4
+ export * from './prompt.ts';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/services/index.ts"],"names":[],"mappings":"AAAA,cAAc,qBAAqB,CAAA;AACnC,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA"}
@@ -0,0 +1,52 @@
1
+ import type { LoggerService, LogLevel } from '@navios/core';
2
+ import type { LoggerOptions } from '../schemas/index.ts';
3
+ import type { LoadingHandle, ProgressHandle, PromiseOptions } from '../types/index.ts';
4
+ export declare class ScreenLoggerInstance implements LoggerService {
5
+ private screen;
6
+ private context?;
7
+ private enabledLevels;
8
+ constructor(options: LoggerOptions);
9
+ private isLevelEnabled;
10
+ verbose(msg: string | object, label?: string): this;
11
+ setLogLevels(levels: LogLevel[]): this;
12
+ trace(msg: string | object, label?: string): this;
13
+ debug(msg: string | object, label?: string): this;
14
+ log(msg: string | object, label?: string): this;
15
+ success(msg: string | object, label?: string): this;
16
+ warn(msg: string | object, label?: string): this;
17
+ error(msg: string | object, label?: string): this;
18
+ fatal(msg: string | object, label?: string): this;
19
+ private write;
20
+ file(path: string, content: string): this;
21
+ diff(path: string, diffContent: string, view?: 'unified' | 'split'): this;
22
+ fileError(path: string, content: string, errorLines: number[], startLine?: number): this;
23
+ /**
24
+ * Sonner-like promise handling
25
+ */
26
+ promise<T>(promise: Promise<T>, options: PromiseOptions<T>): Promise<T>;
27
+ /**
28
+ * Create a loading message with manual resolution
29
+ */
30
+ loading(message: string): LoadingHandle;
31
+ /**
32
+ * Create a progress bar with manual updates
33
+ */
34
+ progress(label: string, options: {
35
+ total: number;
36
+ }): ProgressHandle;
37
+ /**
38
+ * Start a collapsible log group
39
+ */
40
+ group(label: string): this;
41
+ /**
42
+ * End the current log group
43
+ */
44
+ groupEnd(): this;
45
+ /**
46
+ * Display tabular data
47
+ */
48
+ table(data: Record<string, unknown>[], options?: {
49
+ title?: string;
50
+ }): this;
51
+ }
52
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../src/services/logger.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,aAAa,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAK3D,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,KAAK,EAKV,aAAa,EAIb,cAAc,EAEd,cAAc,EAEf,MAAM,mBAAmB,CAAA;AAS1B,qBAGa,oBAAqB,YAAW,aAAa;IACxD,OAAO,CAAC,MAAM,CAAgB;IAC9B,OAAO,CAAC,OAAO,CAAC,CAAQ;IACxB,OAAO,CAAC,aAAa,CAAe;gBAExB,OAAO,EAAE,aAAa;IAclC,OAAO,CAAC,cAAc;IAQtB,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAInD,YAAY,CAAC,MAAM,EAAE,QAAQ,EAAE;IAK/B,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAKjD,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAIjD,GAAG,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAI/C,OAAO,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAInD,IAAI,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAIhD,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAIjD,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI;IAIjD,OAAO,CAAC,KAAK;IA8Bb,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,IAAI;IAgBzC,IAAI,CAAC,IAAI,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,GAAG,IAAI;IAiBzE,SAAS,CAAC,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,EAAE,EAAE,SAAS,GAAE,MAAU,GAAG,IAAI;IAsB3F;;OAEG;IACG,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC,GAAG,OAAO,CAAC,CAAC,CAAC;IAyC7E;;OAEG;IACH,OAAO,CAAC,OAAO,EAAE,MAAM,GAAG,aAAa;IAgCvC;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,EAAE;QAAE,KAAK,EAAE,MAAM,CAAA;KAAE,GAAG,cAAc;IAyCnE;;OAEG;IACH,KAAK,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAa1B;;OAEG;IACH,QAAQ,IAAI,IAAI;IAiBhB;;OAEG;IACH,KAAK,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,EAAE,OAAO,CAAC,EAAE;QAAE,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,IAAI;CAuB3E"}