@navios/commander-tui 1.2.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 (362) hide show
  1. package/CHANGELOG.md +27 -0
  2. package/README.md +42 -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 +1424 -1125
  255. package/lib/index.cjs.map +1 -1
  256. package/lib/index.d.cts +263 -1152
  257. package/lib/index.d.mts +263 -1152
  258. package/lib/index.mjs +1378 -1070
  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/__snapshots__/filter_bar.spec.tsx.snap +0 -2556
  265. package/src/__tests__/components/__snapshots__/loading_message.spec.tsx.snap +0 -1589
  266. package/src/__tests__/components/__snapshots__/log_message.spec.tsx.snap +0 -3681
  267. package/src/__tests__/components/__snapshots__/progress_message.spec.tsx.snap +0 -2002
  268. package/src/__tests__/components/__snapshots__/prompt_renderer.spec.tsx.snap +0 -3584
  269. package/src/__tests__/components/__snapshots__/sidebar.spec.tsx.snap +0 -3186
  270. package/src/__tests__/components/filter_bar.spec.tsx +1 -1
  271. package/src/__tests__/components/loading_message.spec.tsx +1 -1
  272. package/src/__tests__/components/log_message.spec.tsx +1 -1
  273. package/src/__tests__/components/progress_message.spec.tsx +1 -1
  274. package/src/__tests__/components/prompt_renderer.spec.tsx +1 -1
  275. package/src/__tests__/components/sidebar.spec.tsx +1 -1
  276. package/src/__tests__/utils/render-utils.tsx +1 -1
  277. package/src/adapters/index.ts +2 -0
  278. package/src/adapters/interface.ts +50 -0
  279. package/src/{components → adapters/react/components}/file/file_log.tsx +2 -2
  280. package/src/{components → adapters/react/components}/filter/filter_bar.tsx +2 -2
  281. package/src/{components → adapters/react/components}/help/help_overlay.tsx +2 -2
  282. package/src/{components → adapters/react/components}/log/log_message.tsx +2 -2
  283. package/src/{components → adapters/react/components}/prompt/prompt_renderer.tsx +1 -1
  284. package/src/{components → adapters/react/components}/screen/group_renderer.tsx +1 -1
  285. package/src/{components → adapters/react/components}/screen/loading_message.tsx +2 -3
  286. package/src/{components → adapters/react/components}/screen/message_renderer.tsx +1 -1
  287. package/src/{components → adapters/react/components}/screen/progress_message.tsx +1 -1
  288. package/src/{components → adapters/react/components}/screen/screen_bridge.tsx +2 -2
  289. package/src/{components → adapters/react/components}/screen/table_message.tsx +2 -2
  290. package/src/{components → adapters/react/components}/screen_manager_bridge.tsx +5 -5
  291. package/src/{components → adapters/react/components}/sidebar/sidebar.tsx +1 -1
  292. package/src/{components → adapters/react/components}/sidebar/sidebar_item.tsx +1 -1
  293. package/src/adapters/react/context/index.ts +1 -0
  294. package/src/{context → adapters/react/context}/logger_context.tsx +2 -2
  295. package/src/adapters/react/hooks/index.ts +1 -0
  296. package/src/{hooks → adapters/react/hooks}/use_theme.ts +1 -1
  297. package/src/adapters/react/index.ts +39 -0
  298. package/src/adapters/solid/components/file/file_log.tsx +221 -0
  299. package/src/adapters/solid/components/file/index.ts +1 -0
  300. package/src/adapters/solid/components/filter/filter_bar.tsx +84 -0
  301. package/src/adapters/solid/components/filter/index.ts +1 -0
  302. package/src/adapters/solid/components/help/help_overlay.tsx +106 -0
  303. package/src/adapters/solid/components/help/index.ts +1 -0
  304. package/src/adapters/solid/components/log/index.ts +1 -0
  305. package/src/adapters/solid/components/log/log_message.tsx +92 -0
  306. package/src/adapters/solid/components/prompt/index.ts +2 -0
  307. package/src/adapters/solid/components/prompt/prompt_renderer.tsx +350 -0
  308. package/src/adapters/solid/components/screen/group_renderer.tsx +61 -0
  309. package/src/adapters/solid/components/screen/index.ts +6 -0
  310. package/src/adapters/solid/components/screen/loading_message.tsx +39 -0
  311. package/src/adapters/solid/components/screen/message_renderer.tsx +122 -0
  312. package/src/adapters/solid/components/screen/progress_message.tsx +61 -0
  313. package/src/adapters/solid/components/screen/screen_bridge.tsx +155 -0
  314. package/src/adapters/solid/components/screen/table_message.tsx +58 -0
  315. package/src/adapters/solid/components/screen_manager_bridge.tsx +243 -0
  316. package/src/adapters/solid/components/sidebar/index.ts +3 -0
  317. package/src/adapters/solid/components/sidebar/sidebar.tsx +108 -0
  318. package/src/adapters/solid/components/sidebar/sidebar_item.tsx +55 -0
  319. package/src/adapters/solid/components/sidebar/sidebar_separator.tsx +13 -0
  320. package/src/adapters/solid/context/index.ts +2 -0
  321. package/src/adapters/solid/context/logger_context.tsx +95 -0
  322. package/src/adapters/solid/hooks/index.ts +1 -0
  323. package/src/adapters/solid/hooks/use_theme.ts +12 -0
  324. package/src/adapters/solid/index.tsx +43 -0
  325. package/src/adapters/solid/jsx.d.ts +98 -0
  326. package/src/components/index.ts +3 -15
  327. package/src/context/index.ts +3 -1
  328. package/src/factories/isomorphic-logger.factory.ts +1 -2
  329. package/src/factories/screen.factory.ts +2 -2
  330. package/src/hooks/index.ts +3 -1
  331. package/src/index.ts +5 -0
  332. package/src/keyboard/create_bindings.ts +2 -2
  333. package/src/overrides/index.ts +1 -0
  334. package/src/overrides/missing-adapter.override.ts +20 -0
  335. package/src/services/index.ts +1 -1
  336. package/src/services/screen.ts +3 -3
  337. package/src/services/{screen_manager.tsx → screen_manager.ts} +21 -10
  338. package/src/tokens/adapter.ts +10 -0
  339. package/src/tokens/index.ts +2 -0
  340. package/src/tokens/screen-manager.ts +9 -0
  341. package/tsconfig.base.json +31 -0
  342. package/tsconfig.json +6 -12
  343. package/tsconfig.react.json +16 -0
  344. package/tsconfig.solid.json +16 -0
  345. package/tsdown.config.mts +69 -16
  346. package/vitest.config.mts +20 -0
  347. package/lib/index.d.cts.map +0 -1
  348. package/lib/index.d.mts.map +0 -1
  349. package/lib/screen_manager_bridge-Bk1i53h5.mjs +0 -3
  350. package/lib/screen_manager_bridge-BwPVr0bX.mjs +0 -3048
  351. package/lib/screen_manager_bridge-BwPVr0bX.mjs.map +0 -1
  352. package/lib/screen_manager_bridge-CWxLO0CK.cjs +0 -3371
  353. package/lib/screen_manager_bridge-CWxLO0CK.cjs.map +0 -1
  354. package/lib/screen_manager_bridge-DXc57iXW.cjs +0 -3
  355. /package/src/{components → adapters/react/components}/file/index.ts +0 -0
  356. /package/src/{components → adapters/react/components}/filter/index.ts +0 -0
  357. /package/src/{components → adapters/react/components}/help/index.ts +0 -0
  358. /package/src/{components → adapters/react/components}/log/index.ts +0 -0
  359. /package/src/{components → adapters/react/components}/prompt/index.ts +0 -0
  360. /package/src/{components → adapters/react/components}/screen/index.ts +0 -0
  361. /package/src/{components → adapters/react/components}/sidebar/index.ts +0 -0
  362. /package/src/{components → adapters/react/components}/sidebar/sidebar_separator.tsx +0 -0
package/CHANGELOG.md CHANGED
@@ -5,6 +5,33 @@ 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
+
8
35
  ## [1.2.0] - 2026-01-11
9
36
 
10
37
  ### 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
@@ -297,6 +304,40 @@ Three built-in themes are available:
297
304
  await screenManager.bind({ theme: 'high-contrast' })
298
305
  ```
299
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
+
300
341
  ## License
301
342
 
302
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"}
@@ -0,0 +1,31 @@
1
+ import type { PromptOptions } from '../schemas/index.ts';
2
+ import type { ChoiceOptions, ConfirmOptions, InputOptions, MultiChoiceOptions } from '../types/index.ts';
3
+ /**
4
+ * Prompt class for interactive user input.
5
+ * Similar to Logger, but for prompts that require user interaction.
6
+ */
7
+ export declare class PromptInstance {
8
+ private screen;
9
+ constructor(options: PromptOptions);
10
+ /**
11
+ * Display a choice prompt and wait for user selection.
12
+ * Returns the selected value (or input text if an input option was selected).
13
+ */
14
+ choice(options: ChoiceOptions): Promise<string>;
15
+ /**
16
+ * Display a confirmation prompt and wait for user response.
17
+ * Returns true for confirm, false for cancel.
18
+ */
19
+ confirm(options: ConfirmOptions): Promise<boolean>;
20
+ /**
21
+ * Display a text input prompt and wait for user input.
22
+ * Returns the entered text.
23
+ */
24
+ input(options: InputOptions): Promise<string>;
25
+ /**
26
+ * Display a multi-select choice prompt.
27
+ * Returns an array of selected values.
28
+ */
29
+ multiChoice(options: MultiChoiceOptions): Promise<string[]>;
30
+ }
31
+ //# sourceMappingURL=prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../../../src/services/prompt.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,KAAK,EACV,aAAa,EAEb,cAAc,EAEd,YAAY,EAEZ,kBAAkB,EAEnB,MAAM,mBAAmB,CAAA;AAI1B;;;GAGG;AACH,qBAGa,cAAc;IACzB,OAAO,CAAC,MAAM,CAAgB;gBAElB,OAAO,EAAE,aAAa;IAWlC;;;OAGG;IACG,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,MAAM,CAAC;IA4BrD;;;OAGG;IACG,OAAO,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,OAAO,CAAC;IA0BxD;;;OAGG;IACG,KAAK,CAAC,OAAO,EAAE,YAAY,GAAG,OAAO,CAAC,MAAM,CAAC;IAmBnD;;;OAGG;IACG,WAAW,CAAC,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;CAwClE"}