@navios/commander-tui 1.1.0 → 1.3.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (364) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/README.md +69 -1
  3. package/dist/base/src/adapters/index.d.ts +2 -0
  4. package/dist/base/src/adapters/index.d.ts.map +1 -0
  5. package/dist/base/src/adapters/interface.d.ts +45 -0
  6. package/dist/base/src/adapters/interface.d.ts.map +1 -0
  7. package/dist/base/src/components/index.d.ts +2 -0
  8. package/dist/base/src/components/index.d.ts.map +1 -0
  9. package/dist/base/src/context/index.d.ts +2 -0
  10. package/dist/base/src/context/index.d.ts.map +1 -0
  11. package/dist/base/src/factories/index.d.ts +3 -0
  12. package/dist/base/src/factories/index.d.ts.map +1 -0
  13. package/dist/base/src/factories/isomorphic-logger.factory.d.ts +8 -0
  14. package/dist/base/src/factories/isomorphic-logger.factory.d.ts.map +1 -0
  15. package/dist/base/src/factories/screen.factory.d.ts +8 -0
  16. package/dist/base/src/factories/screen.factory.d.ts.map +1 -0
  17. package/dist/base/src/filter/filter_engine.d.ts +19 -0
  18. package/dist/base/src/filter/filter_engine.d.ts.map +1 -0
  19. package/dist/base/src/filter/index.d.ts +2 -0
  20. package/dist/base/src/filter/index.d.ts.map +1 -0
  21. package/dist/base/src/hooks/index.d.ts +2 -0
  22. package/dist/base/src/hooks/index.d.ts.map +1 -0
  23. package/dist/base/src/index.d.ts +16 -0
  24. package/dist/base/src/index.d.ts.map +1 -0
  25. package/dist/base/src/interfaces/index.d.ts +2 -0
  26. package/dist/base/src/interfaces/index.d.ts.map +1 -0
  27. package/dist/base/src/interfaces/isomorphic-logger.d.ts +9 -0
  28. package/dist/base/src/interfaces/isomorphic-logger.d.ts.map +1 -0
  29. package/dist/base/src/keyboard/create_bindings.d.ts +26 -0
  30. package/dist/base/src/keyboard/create_bindings.d.ts.map +1 -0
  31. package/dist/base/src/keyboard/index.d.ts +3 -0
  32. package/dist/base/src/keyboard/index.d.ts.map +1 -0
  33. package/dist/base/src/keyboard/keyboard_manager.d.ts +63 -0
  34. package/dist/base/src/keyboard/keyboard_manager.d.ts.map +1 -0
  35. package/dist/base/src/overrides/console.logger.override.d.ts +3 -0
  36. package/dist/base/src/overrides/console.logger.override.d.ts.map +1 -0
  37. package/dist/base/src/overrides/index.d.ts +3 -0
  38. package/dist/base/src/overrides/index.d.ts.map +1 -0
  39. package/dist/base/src/overrides/missing-adapter.override.d.ts +6 -0
  40. package/dist/base/src/overrides/missing-adapter.override.d.ts.map +1 -0
  41. package/dist/base/src/schemas/index.d.ts +4 -0
  42. package/dist/base/src/schemas/index.d.ts.map +1 -0
  43. package/dist/base/src/schemas/logger-options.d.ts +21 -0
  44. package/dist/base/src/schemas/logger-options.d.ts.map +1 -0
  45. package/dist/base/src/schemas/prompt-options.d.ts +12 -0
  46. package/dist/base/src/schemas/prompt-options.d.ts.map +1 -0
  47. package/dist/base/src/schemas/screen-options.d.ts +10 -0
  48. package/dist/base/src/schemas/screen-options.d.ts.map +1 -0
  49. package/dist/base/src/services/index.d.ts +5 -0
  50. package/dist/base/src/services/index.d.ts.map +1 -0
  51. package/dist/base/src/services/logger.d.ts +52 -0
  52. package/dist/base/src/services/logger.d.ts.map +1 -0
  53. package/dist/base/src/services/prompt.d.ts +31 -0
  54. package/dist/base/src/services/prompt.d.ts.map +1 -0
  55. package/dist/base/src/services/screen.d.ts +161 -0
  56. package/dist/base/src/services/screen.d.ts.map +1 -0
  57. package/dist/base/src/services/screen_manager.d.ts +130 -0
  58. package/dist/base/src/services/screen_manager.d.ts.map +1 -0
  59. package/dist/base/src/themes/dark.d.ts +7 -0
  60. package/dist/base/src/themes/dark.d.ts.map +1 -0
  61. package/dist/base/src/themes/high-contrast.d.ts +7 -0
  62. package/dist/base/src/themes/high-contrast.d.ts.map +1 -0
  63. package/dist/base/src/themes/index.d.ts +5 -0
  64. package/dist/base/src/themes/index.d.ts.map +1 -0
  65. package/dist/base/src/themes/light.d.ts +6 -0
  66. package/dist/base/src/themes/light.d.ts.map +1 -0
  67. package/dist/base/src/themes/utils.d.ts +22 -0
  68. package/dist/base/src/themes/utils.d.ts.map +1 -0
  69. package/dist/base/src/tokens/adapter.d.ts +9 -0
  70. package/dist/base/src/tokens/adapter.d.ts.map +1 -0
  71. package/dist/base/src/tokens/index.d.ts +6 -0
  72. package/dist/base/src/tokens/index.d.ts.map +1 -0
  73. package/dist/base/src/tokens/logger.d.ts +44 -0
  74. package/dist/base/src/tokens/logger.d.ts.map +1 -0
  75. package/dist/base/src/tokens/prompt.d.ts +12 -0
  76. package/dist/base/src/tokens/prompt.d.ts.map +1 -0
  77. package/dist/base/src/tokens/screen-manager.d.ts +8 -0
  78. package/dist/base/src/tokens/screen-manager.d.ts.map +1 -0
  79. package/dist/base/src/tokens/screen.d.ts +10 -0
  80. package/dist/base/src/tokens/screen.d.ts.map +1 -0
  81. package/dist/base/src/types/file.types.d.ts +40 -0
  82. package/dist/base/src/types/file.types.d.ts.map +1 -0
  83. package/dist/base/src/types/filter.types.d.ts +31 -0
  84. package/dist/base/src/types/filter.types.d.ts.map +1 -0
  85. package/dist/base/src/types/index.d.ts +9 -0
  86. package/dist/base/src/types/index.d.ts.map +1 -0
  87. package/dist/base/src/types/keyboard.types.d.ts +83 -0
  88. package/dist/base/src/types/keyboard.types.d.ts.map +1 -0
  89. package/dist/base/src/types/log.types.d.ts +39 -0
  90. package/dist/base/src/types/log.types.d.ts.map +1 -0
  91. package/dist/base/src/types/message.types.d.ts +82 -0
  92. package/dist/base/src/types/message.types.d.ts.map +1 -0
  93. package/dist/base/src/types/prompt.types.d.ts +85 -0
  94. package/dist/base/src/types/prompt.types.d.ts.map +1 -0
  95. package/dist/base/src/types/screen.types.d.ts +79 -0
  96. package/dist/base/src/types/screen.types.d.ts.map +1 -0
  97. package/dist/base/src/types/theme.types.d.ts +217 -0
  98. package/dist/base/src/types/theme.types.d.ts.map +1 -0
  99. package/dist/base/src/utils/colors/file-colors.d.ts +10 -0
  100. package/dist/base/src/utils/colors/file-colors.d.ts.map +1 -0
  101. package/dist/base/src/utils/colors/helpers.d.ts +26 -0
  102. package/dist/base/src/utils/colors/helpers.d.ts.map +1 -0
  103. package/dist/base/src/utils/colors/index.d.ts +8 -0
  104. package/dist/base/src/utils/colors/index.d.ts.map +1 -0
  105. package/dist/base/src/utils/colors/log-colors.d.ts +19 -0
  106. package/dist/base/src/utils/colors/log-colors.d.ts.map +1 -0
  107. package/dist/base/src/utils/colors/progress-colors.d.ts +25 -0
  108. package/dist/base/src/utils/colors/progress-colors.d.ts.map +1 -0
  109. package/dist/base/src/utils/colors/prompt-colors.d.ts +22 -0
  110. package/dist/base/src/utils/colors/prompt-colors.d.ts.map +1 -0
  111. package/dist/base/src/utils/colors/sidebar-colors.d.ts +50 -0
  112. package/dist/base/src/utils/colors/sidebar-colors.d.ts.map +1 -0
  113. package/dist/base/src/utils/colors/table-colors.d.ts +12 -0
  114. package/dist/base/src/utils/colors/table-colors.d.ts.map +1 -0
  115. package/dist/base/src/utils/filetype.d.ts +19 -0
  116. package/dist/base/src/utils/filetype.d.ts.map +1 -0
  117. package/dist/base/src/utils/format.d.ts +9 -0
  118. package/dist/base/src/utils/format.d.ts.map +1 -0
  119. package/dist/base/src/utils/index.d.ts +5 -0
  120. package/dist/base/src/utils/index.d.ts.map +1 -0
  121. package/dist/base/src/utils/stdout-printer.d.ts +6 -0
  122. package/dist/base/src/utils/stdout-printer.d.ts.map +1 -0
  123. package/dist/base/tsconfig.base.tsbuildinfo +1 -0
  124. package/dist/react/src/adapters/react/components/file/file_log.d.ts +35 -0
  125. package/dist/react/src/adapters/react/components/file/file_log.d.ts.map +1 -0
  126. package/dist/react/src/adapters/react/components/file/index.d.ts +2 -0
  127. package/dist/react/src/adapters/react/components/file/index.d.ts.map +1 -0
  128. package/dist/react/src/adapters/react/components/filter/filter_bar.d.ts +7 -0
  129. package/dist/react/src/adapters/react/components/filter/filter_bar.d.ts.map +1 -0
  130. package/dist/react/src/adapters/react/components/filter/index.d.ts +2 -0
  131. package/dist/react/src/adapters/react/components/filter/index.d.ts.map +1 -0
  132. package/dist/react/src/adapters/react/components/help/help_overlay.d.ts +6 -0
  133. package/dist/react/src/adapters/react/components/help/help_overlay.d.ts.map +1 -0
  134. package/dist/react/src/adapters/react/components/help/index.d.ts +2 -0
  135. package/dist/react/src/adapters/react/components/help/index.d.ts.map +1 -0
  136. package/dist/react/src/adapters/react/components/log/index.d.ts +2 -0
  137. package/dist/react/src/adapters/react/components/log/index.d.ts.map +1 -0
  138. package/dist/react/src/adapters/react/components/log/log_message.d.ts +28 -0
  139. package/dist/react/src/adapters/react/components/log/log_message.d.ts.map +1 -0
  140. package/dist/react/src/adapters/react/components/prompt/index.d.ts +3 -0
  141. package/dist/react/src/adapters/react/components/prompt/index.d.ts.map +1 -0
  142. package/dist/react/src/adapters/react/components/prompt/prompt_renderer.d.ts +6 -0
  143. package/dist/react/src/adapters/react/components/prompt/prompt_renderer.d.ts.map +1 -0
  144. package/dist/react/src/adapters/react/components/screen/group_renderer.d.ts +14 -0
  145. package/dist/react/src/adapters/react/components/screen/group_renderer.d.ts.map +1 -0
  146. package/dist/react/src/adapters/react/components/screen/index.d.ts +7 -0
  147. package/dist/react/src/adapters/react/components/screen/index.d.ts.map +1 -0
  148. package/dist/react/src/adapters/react/components/screen/loading_message.d.ts +6 -0
  149. package/dist/react/src/adapters/react/components/screen/loading_message.d.ts.map +1 -0
  150. package/dist/react/src/adapters/react/components/screen/message_renderer.d.ts +6 -0
  151. package/dist/react/src/adapters/react/components/screen/message_renderer.d.ts.map +1 -0
  152. package/dist/react/src/adapters/react/components/screen/progress_message.d.ts +6 -0
  153. package/dist/react/src/adapters/react/components/screen/progress_message.d.ts.map +1 -0
  154. package/dist/react/src/adapters/react/components/screen/screen_bridge.d.ts +14 -0
  155. package/dist/react/src/adapters/react/components/screen/screen_bridge.d.ts.map +1 -0
  156. package/dist/react/src/adapters/react/components/screen/table_message.d.ts +6 -0
  157. package/dist/react/src/adapters/react/components/screen/table_message.d.ts.map +1 -0
  158. package/dist/react/src/adapters/react/components/screen_manager_bridge.d.ts +8 -0
  159. package/dist/react/src/adapters/react/components/screen_manager_bridge.d.ts.map +1 -0
  160. package/dist/react/src/adapters/react/components/sidebar/index.d.ts +4 -0
  161. package/dist/react/src/adapters/react/components/sidebar/index.d.ts.map +1 -0
  162. package/dist/react/src/adapters/react/components/sidebar/sidebar.d.ts +11 -0
  163. package/dist/react/src/adapters/react/components/sidebar/sidebar.d.ts.map +1 -0
  164. package/dist/react/src/adapters/react/components/sidebar/sidebar_item.d.ts +9 -0
  165. package/dist/react/src/adapters/react/components/sidebar/sidebar_item.d.ts.map +1 -0
  166. package/dist/react/src/adapters/react/components/sidebar/sidebar_separator.d.ts +2 -0
  167. package/dist/react/src/adapters/react/components/sidebar/sidebar_separator.d.ts.map +1 -0
  168. package/dist/react/src/adapters/react/context/index.d.ts +2 -0
  169. package/dist/react/src/adapters/react/context/index.d.ts.map +1 -0
  170. package/dist/react/src/adapters/react/context/logger_context.d.ts +53 -0
  171. package/dist/react/src/adapters/react/context/logger_context.d.ts.map +1 -0
  172. package/dist/react/src/adapters/react/hooks/index.d.ts +2 -0
  173. package/dist/react/src/adapters/react/hooks/index.d.ts.map +1 -0
  174. package/dist/react/src/adapters/react/hooks/use_theme.d.ts +7 -0
  175. package/dist/react/src/adapters/react/hooks/use_theme.d.ts.map +1 -0
  176. package/dist/react/src/adapters/react/index.d.ts +13 -0
  177. package/dist/react/src/adapters/react/index.d.ts.map +1 -0
  178. package/dist/react/tsconfig.react.tsbuildinfo +1 -0
  179. package/dist/solid/src/adapters/solid/components/file/file_log.d.ts +35 -0
  180. package/dist/solid/src/adapters/solid/components/file/file_log.d.ts.map +1 -0
  181. package/dist/solid/src/adapters/solid/components/file/index.d.ts +2 -0
  182. package/dist/solid/src/adapters/solid/components/file/index.d.ts.map +1 -0
  183. package/dist/solid/src/adapters/solid/components/filter/filter_bar.d.ts +7 -0
  184. package/dist/solid/src/adapters/solid/components/filter/filter_bar.d.ts.map +1 -0
  185. package/dist/solid/src/adapters/solid/components/filter/index.d.ts +2 -0
  186. package/dist/solid/src/adapters/solid/components/filter/index.d.ts.map +1 -0
  187. package/dist/solid/src/adapters/solid/components/help/help_overlay.d.ts +6 -0
  188. package/dist/solid/src/adapters/solid/components/help/help_overlay.d.ts.map +1 -0
  189. package/dist/solid/src/adapters/solid/components/help/index.d.ts +2 -0
  190. package/dist/solid/src/adapters/solid/components/help/index.d.ts.map +1 -0
  191. package/dist/solid/src/adapters/solid/components/log/index.d.ts +2 -0
  192. package/dist/solid/src/adapters/solid/components/log/index.d.ts.map +1 -0
  193. package/dist/solid/src/adapters/solid/components/log/log_message.d.ts +31 -0
  194. package/dist/solid/src/adapters/solid/components/log/log_message.d.ts.map +1 -0
  195. package/dist/solid/src/adapters/solid/components/prompt/index.d.ts +3 -0
  196. package/dist/solid/src/adapters/solid/components/prompt/index.d.ts.map +1 -0
  197. package/dist/solid/src/adapters/solid/components/prompt/prompt_renderer.d.ts +6 -0
  198. package/dist/solid/src/adapters/solid/components/prompt/prompt_renderer.d.ts.map +1 -0
  199. package/dist/solid/src/adapters/solid/components/screen/group_renderer.d.ts +14 -0
  200. package/dist/solid/src/adapters/solid/components/screen/group_renderer.d.ts.map +1 -0
  201. package/dist/solid/src/adapters/solid/components/screen/index.d.ts +7 -0
  202. package/dist/solid/src/adapters/solid/components/screen/index.d.ts.map +1 -0
  203. package/dist/solid/src/adapters/solid/components/screen/loading_message.d.ts +6 -0
  204. package/dist/solid/src/adapters/solid/components/screen/loading_message.d.ts.map +1 -0
  205. package/dist/solid/src/adapters/solid/components/screen/message_renderer.d.ts +6 -0
  206. package/dist/solid/src/adapters/solid/components/screen/message_renderer.d.ts.map +1 -0
  207. package/dist/solid/src/adapters/solid/components/screen/progress_message.d.ts +6 -0
  208. package/dist/solid/src/adapters/solid/components/screen/progress_message.d.ts.map +1 -0
  209. package/dist/solid/src/adapters/solid/components/screen/screen_bridge.d.ts +14 -0
  210. package/dist/solid/src/adapters/solid/components/screen/screen_bridge.d.ts.map +1 -0
  211. package/dist/solid/src/adapters/solid/components/screen/table_message.d.ts +6 -0
  212. package/dist/solid/src/adapters/solid/components/screen/table_message.d.ts.map +1 -0
  213. package/dist/solid/src/adapters/solid/components/screen_manager_bridge.d.ts +8 -0
  214. package/dist/solid/src/adapters/solid/components/screen_manager_bridge.d.ts.map +1 -0
  215. package/dist/solid/src/adapters/solid/components/sidebar/index.d.ts +4 -0
  216. package/dist/solid/src/adapters/solid/components/sidebar/index.d.ts.map +1 -0
  217. package/dist/solid/src/adapters/solid/components/sidebar/sidebar.d.ts +11 -0
  218. package/dist/solid/src/adapters/solid/components/sidebar/sidebar.d.ts.map +1 -0
  219. package/dist/solid/src/adapters/solid/components/sidebar/sidebar_item.d.ts +9 -0
  220. package/dist/solid/src/adapters/solid/components/sidebar/sidebar_item.d.ts.map +1 -0
  221. package/dist/solid/src/adapters/solid/components/sidebar/sidebar_separator.d.ts +2 -0
  222. package/dist/solid/src/adapters/solid/components/sidebar/sidebar_separator.d.ts.map +1 -0
  223. package/dist/solid/src/adapters/solid/context/index.d.ts +3 -0
  224. package/dist/solid/src/adapters/solid/context/index.d.ts.map +1 -0
  225. package/dist/solid/src/adapters/solid/context/logger_context.d.ts +52 -0
  226. package/dist/solid/src/adapters/solid/context/logger_context.d.ts.map +1 -0
  227. package/dist/solid/src/adapters/solid/hooks/index.d.ts +2 -0
  228. package/dist/solid/src/adapters/solid/hooks/index.d.ts.map +1 -0
  229. package/dist/solid/src/adapters/solid/hooks/use_theme.d.ts +7 -0
  230. package/dist/solid/src/adapters/solid/hooks/use_theme.d.ts.map +1 -0
  231. package/dist/solid/src/adapters/solid/index.d.ts +13 -0
  232. package/dist/solid/src/adapters/solid/index.d.ts.map +1 -0
  233. package/dist/solid/tsconfig.solid.tsbuildinfo +1 -0
  234. package/dist/tsconfig.base.tsbuildinfo +1 -0
  235. package/dist/tsconfig.react.tsbuildinfo +1 -0
  236. package/dist/tsconfig.solid.tsbuildinfo +1 -0
  237. package/dist/tsconfig.tsbuildinfo +1 -1
  238. package/lib/adapters/react/index.cjs +1768 -0
  239. package/lib/adapters/react/index.cjs.map +1 -0
  240. package/lib/adapters/react/index.d.cts +80 -0
  241. package/lib/adapters/react/index.d.mts +80 -0
  242. package/lib/adapters/react/index.mjs +1760 -0
  243. package/lib/adapters/react/index.mjs.map +1 -0
  244. package/lib/adapters/solid/index.cjs +3855 -0
  245. package/lib/adapters/solid/index.cjs.map +1 -0
  246. package/lib/adapters/solid/index.d.cts +74 -0
  247. package/lib/adapters/solid/index.d.mts +74 -0
  248. package/lib/adapters/solid/index.mjs +3847 -0
  249. package/lib/adapters/solid/index.mjs.map +1 -0
  250. package/lib/filter_engine-DXqu9Vaq.cjs +1836 -0
  251. package/lib/filter_engine-DXqu9Vaq.cjs.map +1 -0
  252. package/lib/filter_engine-DmqhEhpA.mjs +1609 -0
  253. package/lib/filter_engine-DmqhEhpA.mjs.map +1 -0
  254. package/lib/index.cjs +1693 -1087
  255. package/lib/index.cjs.map +1 -1
  256. package/lib/index.d.cts +274 -1129
  257. package/lib/index.d.mts +294 -1149
  258. package/lib/index.mjs +1640 -1032
  259. package/lib/index.mjs.map +1 -1
  260. package/lib/interface-CTHQ08aY.d.mts +699 -0
  261. package/lib/interface-DQEIz9Mb.d.cts +699 -0
  262. package/package.json +25 -1
  263. package/project.json +2 -2
  264. package/src/__tests__/components/filter_bar.spec.tsx +1 -1
  265. package/src/__tests__/components/loading_message.spec.tsx +1 -1
  266. package/src/__tests__/components/log_message.spec.tsx +1 -1
  267. package/src/__tests__/components/progress_message.spec.tsx +1 -1
  268. package/src/__tests__/components/prompt_renderer.spec.tsx +1 -1
  269. package/src/__tests__/components/sidebar.spec.tsx +1 -1
  270. package/src/__tests__/services/logger.spec.ts +5 -3
  271. package/src/__tests__/utils/render-utils.tsx +1 -1
  272. package/src/adapters/index.ts +2 -0
  273. package/src/adapters/interface.ts +50 -0
  274. package/src/{components → adapters/react/components}/file/file_log.tsx +2 -2
  275. package/src/{components → adapters/react/components}/filter/filter_bar.tsx +2 -2
  276. package/src/{components → adapters/react/components}/help/help_overlay.tsx +2 -2
  277. package/src/{components → adapters/react/components}/log/log_message.tsx +2 -2
  278. package/src/{components → adapters/react/components}/prompt/prompt_renderer.tsx +1 -1
  279. package/src/{components → adapters/react/components}/screen/group_renderer.tsx +1 -1
  280. package/src/{components → adapters/react/components}/screen/loading_message.tsx +2 -3
  281. package/src/{components → adapters/react/components}/screen/message_renderer.tsx +1 -1
  282. package/src/{components → adapters/react/components}/screen/progress_message.tsx +1 -1
  283. package/src/{components → adapters/react/components}/screen/screen_bridge.tsx +2 -2
  284. package/src/{components → adapters/react/components}/screen/table_message.tsx +2 -2
  285. package/src/{components → adapters/react/components}/screen_manager_bridge.tsx +5 -5
  286. package/src/{components → adapters/react/components}/sidebar/sidebar.tsx +1 -1
  287. package/src/{components → adapters/react/components}/sidebar/sidebar_item.tsx +1 -1
  288. package/src/adapters/react/context/index.ts +1 -0
  289. package/src/{context → adapters/react/context}/logger_context.tsx +2 -2
  290. package/src/adapters/react/hooks/index.ts +1 -0
  291. package/src/{hooks → adapters/react/hooks}/use_theme.ts +1 -1
  292. package/src/adapters/react/index.ts +39 -0
  293. package/src/adapters/solid/components/file/file_log.tsx +221 -0
  294. package/src/adapters/solid/components/file/index.ts +1 -0
  295. package/src/adapters/solid/components/filter/filter_bar.tsx +84 -0
  296. package/src/adapters/solid/components/filter/index.ts +1 -0
  297. package/src/adapters/solid/components/help/help_overlay.tsx +106 -0
  298. package/src/adapters/solid/components/help/index.ts +1 -0
  299. package/src/adapters/solid/components/log/index.ts +1 -0
  300. package/src/adapters/solid/components/log/log_message.tsx +92 -0
  301. package/src/adapters/solid/components/prompt/index.ts +2 -0
  302. package/src/adapters/solid/components/prompt/prompt_renderer.tsx +350 -0
  303. package/src/adapters/solid/components/screen/group_renderer.tsx +61 -0
  304. package/src/adapters/solid/components/screen/index.ts +6 -0
  305. package/src/adapters/solid/components/screen/loading_message.tsx +39 -0
  306. package/src/adapters/solid/components/screen/message_renderer.tsx +122 -0
  307. package/src/adapters/solid/components/screen/progress_message.tsx +61 -0
  308. package/src/adapters/solid/components/screen/screen_bridge.tsx +155 -0
  309. package/src/adapters/solid/components/screen/table_message.tsx +58 -0
  310. package/src/adapters/solid/components/screen_manager_bridge.tsx +243 -0
  311. package/src/adapters/solid/components/sidebar/index.ts +3 -0
  312. package/src/adapters/solid/components/sidebar/sidebar.tsx +108 -0
  313. package/src/adapters/solid/components/sidebar/sidebar_item.tsx +55 -0
  314. package/src/adapters/solid/components/sidebar/sidebar_separator.tsx +13 -0
  315. package/src/adapters/solid/context/index.ts +2 -0
  316. package/src/adapters/solid/context/logger_context.tsx +95 -0
  317. package/src/adapters/solid/hooks/index.ts +1 -0
  318. package/src/adapters/solid/hooks/use_theme.ts +12 -0
  319. package/src/adapters/solid/index.tsx +43 -0
  320. package/src/adapters/solid/jsx.d.ts +98 -0
  321. package/src/components/index.ts +3 -15
  322. package/src/context/index.ts +3 -1
  323. package/src/factories/index.ts +1 -0
  324. package/src/factories/isomorphic-logger.factory.ts +22 -0
  325. package/src/factories/screen.factory.ts +2 -2
  326. package/src/hooks/index.ts +3 -1
  327. package/src/index.ts +10 -0
  328. package/src/interfaces/index.ts +1 -0
  329. package/src/interfaces/isomorphic-logger.ts +9 -0
  330. package/src/keyboard/create_bindings.ts +2 -2
  331. package/src/overrides/index.ts +1 -0
  332. package/src/overrides/missing-adapter.override.ts +20 -0
  333. package/src/services/index.ts +1 -1
  334. package/src/services/logger.ts +1 -1
  335. package/src/services/screen.ts +3 -3
  336. package/src/services/{screen_manager.tsx → screen_manager.ts} +22 -11
  337. package/src/tokens/adapter.ts +10 -0
  338. package/src/tokens/index.ts +2 -0
  339. package/src/tokens/logger.ts +9 -0
  340. package/src/tokens/screen-manager.ts +9 -0
  341. package/src/types/screen.types.ts +1 -1
  342. package/src/utils/format.ts +3 -2
  343. package/tsconfig.base.json +31 -0
  344. package/tsconfig.json +6 -12
  345. package/tsconfig.react.json +16 -0
  346. package/tsconfig.solid.json +16 -0
  347. package/tsdown.config.mts +69 -16
  348. package/vitest.config.mts +20 -0
  349. package/lib/index.d.cts.map +0 -1
  350. package/lib/index.d.mts.map +0 -1
  351. package/lib/screen_manager_bridge-Cp2p1Ix3.cjs +0 -3
  352. package/lib/screen_manager_bridge-D2BBwKcF.mjs +0 -3046
  353. package/lib/screen_manager_bridge-D2BBwKcF.mjs.map +0 -1
  354. package/lib/screen_manager_bridge-DT-l0rxa.mjs +0 -3
  355. package/lib/screen_manager_bridge-hMUrLiBP.cjs +0 -3369
  356. package/lib/screen_manager_bridge-hMUrLiBP.cjs.map +0 -1
  357. /package/src/{components → adapters/react/components}/file/index.ts +0 -0
  358. /package/src/{components → adapters/react/components}/filter/index.ts +0 -0
  359. /package/src/{components → adapters/react/components}/help/index.ts +0 -0
  360. /package/src/{components → adapters/react/components}/log/index.ts +0 -0
  361. /package/src/{components → adapters/react/components}/prompt/index.ts +0 -0
  362. /package/src/{components → adapters/react/components}/screen/index.ts +0 -0
  363. /package/src/{components → adapters/react/components}/sidebar/index.ts +0 -0
  364. /package/src/{components → adapters/react/components}/sidebar/sidebar_separator.tsx +0 -0
@@ -0,0 +1,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"}
@@ -0,0 +1,161 @@
1
+ import type { ScreenOptions } from '../schemas/index.ts';
2
+ import type { LoadingMessageData, MessageData, ProgressMessageData, PromptData, ScreenStatus } from '../types/index.ts';
3
+ import type { ScreenManagerInstance } from './screen_manager.ts';
4
+ export declare class ScreenInstance {
5
+ private id;
6
+ private name;
7
+ private icon?;
8
+ private badgeCount;
9
+ private status;
10
+ private hidden;
11
+ private messages;
12
+ private manager;
13
+ private changeListeners;
14
+ private printFn;
15
+ private hasPrinted;
16
+ private version;
17
+ private promptQueue;
18
+ private activePrompt;
19
+ constructor(id: string, options: ScreenOptions);
20
+ incrementVersion(): void;
21
+ getVersion(): number;
22
+ /**
23
+ * Internal: Set the manager reference
24
+ */
25
+ _setManager(manager: ScreenManagerInstance): void;
26
+ /**
27
+ * Internal: Set the print function for stdout output
28
+ */
29
+ _setPrintFn(fn: (messages: MessageData[], name: string, isError: boolean) => void): void;
30
+ getId(): string;
31
+ getName(): string;
32
+ getIcon(): string | undefined;
33
+ getBadgeCount(): number;
34
+ setBadgeCount(count: number): this;
35
+ isHidden(): boolean;
36
+ setHidden(hidden: boolean): this;
37
+ show(): this;
38
+ hide(): this;
39
+ getStatus(): ScreenStatus;
40
+ /**
41
+ * Set screen status. When success/fail and TUI is not bound, prints to stdout/stderr
42
+ */
43
+ setStatus(status: ScreenStatus): this;
44
+ /**
45
+ * Check if this screen is complete (success or fail)
46
+ */
47
+ isComplete(): boolean;
48
+ /**
49
+ * Check if this screen has been printed to console
50
+ */
51
+ hasPrintedToConsole(): boolean;
52
+ /**
53
+ * Force print to console (called when TUI unbinds)
54
+ */
55
+ _flushToConsole(force?: boolean): void;
56
+ /**
57
+ * Get all messages for rendering
58
+ */
59
+ getMessages(): MessageData[];
60
+ /**
61
+ * Add a message to the screen (internal use by Logger)
62
+ */
63
+ addMessage(message: MessageData): void;
64
+ /**
65
+ * Update a loading message (internal use by Logger)
66
+ */
67
+ updateMessage(id: string, updates: Partial<LoadingMessageData>): void;
68
+ /**
69
+ * Update a progress message (internal use by Logger)
70
+ */
71
+ updateProgressMessage(id: string, updates: Partial<ProgressMessageData>): void;
72
+ /**
73
+ * Clear all messages
74
+ */
75
+ clear(): this;
76
+ /**
77
+ * Add a prompt to the queue (internal use by Prompt class)
78
+ * Returns a promise that resolves when the user responds
79
+ */
80
+ _addPrompt(prompt: PromptData): Promise<string | boolean | string[]>;
81
+ /**
82
+ * Resolve a prompt with its default value
83
+ */
84
+ private resolvePromptWithDefault;
85
+ /**
86
+ * Get the currently active prompt (for rendering)
87
+ */
88
+ getActivePrompt(): PromptData | null;
89
+ /**
90
+ * Check if this screen has an active prompt
91
+ */
92
+ hasActivePrompt(): boolean;
93
+ /**
94
+ * Update prompt selection (for keyboard navigation)
95
+ */
96
+ updatePromptSelection(index: number): void;
97
+ /**
98
+ * Navigate prompt selection up
99
+ */
100
+ promptNavigateUp(): void;
101
+ /**
102
+ * Navigate prompt selection down
103
+ */
104
+ promptNavigateDown(): void;
105
+ /**
106
+ * Toggle left/right for confirm prompts
107
+ */
108
+ promptNavigateLeft(): void;
109
+ promptNavigateRight(): void;
110
+ /**
111
+ * Toggle selection for multiChoice prompts
112
+ */
113
+ promptToggleSelection(): void;
114
+ /**
115
+ * Enter input mode for choice prompts (if current selection allows input)
116
+ * or for input prompts (always)
117
+ */
118
+ promptEnterInputMode(): boolean;
119
+ /**
120
+ * Exit input mode for choice prompts
121
+ */
122
+ promptExitInputMode(): void;
123
+ /**
124
+ * Check if prompt is in input mode
125
+ */
126
+ isPromptInInputMode(): boolean;
127
+ /**
128
+ * Update input value for choice prompts
129
+ */
130
+ promptUpdateInput(value: string): void;
131
+ /**
132
+ * Append character to input
133
+ */
134
+ promptAppendInput(char: string): void;
135
+ /**
136
+ * Delete last character from input
137
+ */
138
+ promptDeleteLastChar(): void;
139
+ /**
140
+ * Check if multiChoice prompt can be submitted (meets minSelect requirement)
141
+ */
142
+ canSubmitPrompt(): boolean;
143
+ /**
144
+ * Submit the current prompt selection
145
+ */
146
+ promptSubmit(): void;
147
+ /**
148
+ * Activate the next prompt in the queue
149
+ */
150
+ private activateNextPrompt;
151
+ /**
152
+ * Register a change listener for re-renders
153
+ */
154
+ onChange(listener: () => void): () => void;
155
+ private notifyChange;
156
+ /**
157
+ * Print all messages to stdout/stderr with ANSI colors
158
+ */
159
+ private printToConsole;
160
+ }
161
+ //# sourceMappingURL=screen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screen.d.ts","sourceRoot":"","sources":["../../../../src/services/screen.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,130 @@
1
+ import { type OnServiceDestroy } from '@navios/core';
2
+ import type { ScreenOptions } from '../schemas/index.ts';
3
+ import type { BindOptions, FocusArea, Theme } from '../types/index.ts';
4
+ import { ScreenInstance } from './screen.ts';
5
+ export declare class ScreenManagerInstance implements OnServiceDestroy {
6
+ private screens;
7
+ private screenOrder;
8
+ private activeScreenId;
9
+ private renderer;
10
+ private root;
11
+ private adapter;
12
+ private isBound;
13
+ private changeListeners;
14
+ private bindOptions;
15
+ private autoCloseTimer;
16
+ private theme;
17
+ focusArea: FocusArea;
18
+ selectedIndex: number;
19
+ /**
20
+ * Create a new screen and return it
21
+ */
22
+ createScreen(options: ScreenOptions): ScreenInstance;
23
+ getScreenByName(name: string): ScreenInstance | undefined;
24
+ /**
25
+ * Remove a screen dynamically
26
+ */
27
+ removeScreen(screen: ScreenInstance): void;
28
+ /**
29
+ * Non-blocking bind - starts TUI rendering in background
30
+ */
31
+ bind(options?: BindOptions): Promise<void>;
32
+ /**
33
+ * Get the configured theme
34
+ */
35
+ getTheme(): Theme | undefined;
36
+ onServiceDestroy(): void;
37
+ /**
38
+ * Stop TUI rendering and cleanup
39
+ * Flushes all completed screens to stdout/stderr
40
+ */
41
+ unbind(): void;
42
+ /**
43
+ * Print all completed screens that haven't been printed yet
44
+ */
45
+ private flushCompletedScreens;
46
+ /**
47
+ * Check if TUI is currently bound
48
+ */
49
+ isTuiBound(): boolean;
50
+ /**
51
+ * Called by Screen when a prompt becomes active
52
+ * Focuses the screen and switches to content area
53
+ */
54
+ onScreenPromptActivated(screen: ScreenInstance): void;
55
+ /**
56
+ * Check if any screen has an active prompt
57
+ */
58
+ hasActivePrompt(): boolean;
59
+ /**
60
+ * Get the screen with an active prompt (if any)
61
+ */
62
+ getScreenWithActivePrompt(): ScreenInstance | null;
63
+ /**
64
+ * Called by Screen when visibility changes
65
+ * Handles switching active screen if needed
66
+ */
67
+ onScreenVisibilityChanged(screen: ScreenInstance): void;
68
+ /**
69
+ * Called by Screen when status becomes success/fail
70
+ * Moves completed screens to end of sidebar list
71
+ */
72
+ onScreenCompleted(screen: ScreenInstance): void;
73
+ /**
74
+ * Check if all screens are successful (or only static) and start auto-close timer if enabled.
75
+ * Static screens are ignored in this calculation.
76
+ * If there are only static screens, the timer will trigger after the delay with no new activity.
77
+ */
78
+ private checkAutoClose;
79
+ /**
80
+ * Get visible screens in display order (excludes hidden screens)
81
+ */
82
+ getScreens(): ScreenInstance[];
83
+ /**
84
+ * Get all screens in display order (includes hidden screens)
85
+ */
86
+ getAllScreens(): ScreenInstance[];
87
+ /**
88
+ * Get the active screen
89
+ */
90
+ getActiveScreen(): ScreenInstance | null;
91
+ /**
92
+ * Set the active screen
93
+ */
94
+ setActiveScreen(screen: ScreenInstance): void;
95
+ /**
96
+ * Get bind options
97
+ */
98
+ getBindOptions(): BindOptions;
99
+ /**
100
+ * Set focus area (sidebar or content)
101
+ */
102
+ setFocusArea(area: FocusArea): void;
103
+ /**
104
+ * Set selected index in sidebar
105
+ */
106
+ setSelectedIndex(index: number): void;
107
+ /**
108
+ * Navigate sidebar up
109
+ */
110
+ navigateUp(): void;
111
+ /**
112
+ * Navigate sidebar down
113
+ */
114
+ navigateDown(): void;
115
+ /**
116
+ * Select the currently highlighted screen
117
+ */
118
+ selectCurrent(): void;
119
+ /**
120
+ * Toggle focus between sidebar and content
121
+ */
122
+ toggleFocus(): void;
123
+ /**
124
+ * Register a change listener for re-renders
125
+ */
126
+ onChange(listener: () => void): () => void;
127
+ private notifyChange;
128
+ private render;
129
+ }
130
+ //# sourceMappingURL=screen_manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screen_manager.d.ts","sourceRoot":"","sources":["../../../../src/services/screen_manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAsB,KAAK,gBAAgB,EAAE,MAAM,cAAc,CAAA;AASxE,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAA;AACxD,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAEtE,OAAO,EAAE,cAAc,EAAE,MAAM,aAAa,CAAA;AAE5C,qBACa,qBAAsB,YAAW,gBAAgB;IAC5D,OAAO,CAAC,OAAO,CAAyC;IACxD,OAAO,CAAC,WAAW,CAAe;IAClC,OAAO,CAAC,cAAc,CAAsB;IAC5C,OAAO,CAAC,QAAQ,CAA2B;IAC3C,OAAO,CAAC,IAAI,CAA2B;IACvC,OAAO,CAAC,OAAO,CAAoC;IACnD,OAAO,CAAC,OAAO,CAAiB;IAChC,OAAO,CAAC,eAAe,CAA6B;IACpD,OAAO,CAAC,WAAW,CAAkB;IACrC,OAAO,CAAC,cAAc,CAA6C;IACnE,OAAO,CAAC,KAAK,CAAmB;IAGzB,SAAS,EAAE,SAAS,CAAY;IAChC,aAAa,EAAE,MAAM,CAAI;IAEhC;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,aAAa,GAAG,cAAc;IAuBpD,eAAe,CAAC,IAAI,EAAE,MAAM,GAAG,cAAc,GAAG,SAAS;IAOzD;;OAEG;IACH,YAAY,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAsB1C;;OAEG;IACG,IAAI,CAAC,OAAO,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC;IAyBhD;;OAEG;IACH,QAAQ,IAAI,KAAK,GAAG,SAAS;IAI7B,gBAAgB,IAAI,IAAI;IAIxB;;;OAGG;IACH,MAAM,IAAI,IAAI;IA2Bd;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAS7B;;OAEG;IACH,UAAU,IAAI,OAAO;IAIrB;;;OAGG;IACH,uBAAuB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAMrD;;OAEG;IACH,eAAe,IAAI,OAAO;IAS1B;;OAEG;IACH,yBAAyB,IAAI,cAAc,GAAG,IAAI;IASlD;;;OAGG;IACH,yBAAyB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAiBvD;;;OAGG;IACH,iBAAiB,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAoB/C;;;;OAIG;IACH,OAAO,CAAC,cAAc;IA0BtB;;OAEG;IACH,UAAU,IAAI,cAAc,EAAE;IAM9B;;OAEG;IACH,aAAa,IAAI,cAAc,EAAE;IAMjC;;OAEG;IACH,eAAe,IAAI,cAAc,GAAG,IAAI;IAIxC;;OAEG;IACH,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAK7C;;OAEG;IACH,cAAc,IAAI,WAAW;IAI7B;;OAEG;IACH,YAAY,CAAC,IAAI,EAAE,SAAS,GAAG,IAAI;IAKnC;;OAEG;IACH,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAMrC;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,YAAY,IAAI,IAAI;IAIpB;;OAEG;IACH,aAAa,IAAI,IAAI;IAQrB;;OAEG;IACH,WAAW,IAAI,IAAI;IAKnB;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG,MAAM,IAAI;IAK1C,OAAO,CAAC,YAAY;IAQpB,OAAO,CAAC,MAAM;CASf"}
@@ -0,0 +1,7 @@
1
+ import type { Theme } from '../types/index.ts';
2
+ /**
3
+ * Default dark theme.
4
+ * Migrated from the scattered color files in utils/colors/.
5
+ */
6
+ export declare const darkTheme: Theme;
7
+ //# sourceMappingURL=dark.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dark.d.ts","sourceRoot":"","sources":["../../../../src/themes/dark.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAE9C;;;GAGG;AACH,eAAO,MAAM,SAAS,EAAE,KA0KvB,CAAA"}
@@ -0,0 +1,7 @@
1
+ import type { Theme } from '../types/index.ts';
2
+ /**
3
+ * High contrast theme for accessibility.
4
+ * Uses pure black/white with saturated colors for maximum visibility.
5
+ */
6
+ export declare const highContrastTheme: Theme;
7
+ //# sourceMappingURL=high-contrast.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"high-contrast.d.ts","sourceRoot":"","sources":["../../../../src/themes/high-contrast.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAE9C;;;GAGG;AACH,eAAO,MAAM,iBAAiB,EAAE,KA+K/B,CAAA"}
@@ -0,0 +1,5 @@
1
+ export * from './dark.ts';
2
+ export * from './light.ts';
3
+ export * from './high-contrast.ts';
4
+ export * from './utils.ts';
5
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/themes/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAA;AACzB,cAAc,YAAY,CAAA;AAC1B,cAAc,oBAAoB,CAAA;AAClC,cAAc,YAAY,CAAA"}
@@ -0,0 +1,6 @@
1
+ import type { Theme } from '../types/index.ts';
2
+ /**
3
+ * Light theme for terminals with light backgrounds.
4
+ */
5
+ export declare const lightTheme: Theme;
6
+ //# sourceMappingURL=light.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"light.d.ts","sourceRoot":"","sources":["../../../../src/themes/light.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,mBAAmB,CAAA;AAE9C;;GAEG;AACH,eAAO,MAAM,UAAU,EAAE,KA0KxB,CAAA"}
@@ -0,0 +1,22 @@
1
+ import type { PartialTheme, Theme, ThemePreset } from '../types/index.ts';
2
+ /**
3
+ * Get a theme by preset name.
4
+ */
5
+ export declare function getThemePreset(preset: ThemePreset): Theme;
6
+ /**
7
+ * Merge a base theme with partial overrides.
8
+ */
9
+ export declare function mergeThemes(base: Theme, overrides: PartialTheme): Theme;
10
+ /**
11
+ * Create a custom theme by extending the dark theme with overrides.
12
+ */
13
+ export declare function createTheme(overrides: PartialTheme): Theme;
14
+ /**
15
+ * Create a custom theme by extending a specific base theme.
16
+ */
17
+ export declare function createThemeFrom(base: Theme | ThemePreset, overrides: PartialTheme): Theme;
18
+ /**
19
+ * Resolve a theme value which can be a Theme object or a preset name.
20
+ */
21
+ export declare function resolveTheme(theme: Theme | ThemePreset): Theme;
22
+ //# sourceMappingURL=utils.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/themes/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAA;AAuCzE;;GAEG;AACH,wBAAgB,cAAc,CAAC,MAAM,EAAE,WAAW,GAAG,KAAK,CAWzD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,IAAI,EAAE,KAAK,EAAE,SAAS,EAAE,YAAY,GAAG,KAAK,CAEvE;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,SAAS,EAAE,YAAY,GAAG,KAAK,CAE1D;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,IAAI,EAAE,KAAK,GAAG,WAAW,EAAE,SAAS,EAAE,YAAY,GAAG,KAAK,CAGzF;AAED;;GAEG;AACH,wBAAgB,YAAY,CAAC,KAAK,EAAE,KAAK,GAAG,WAAW,GAAG,KAAK,CAE9D"}
@@ -0,0 +1,9 @@
1
+ import { InjectionToken } from '@navios/core';
2
+ import type { AdapterInterface } from '../adapters/interface.ts';
3
+ /**
4
+ * Injection token for the TUI rendering adapter.
5
+ * Import the specific adapter (e.g., '@navios/commander-tui/adapters/react')
6
+ * to register an implementation.
7
+ */
8
+ export declare const Adapter: InjectionToken<AdapterInterface, undefined, false>;
9
+ //# sourceMappingURL=adapter.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"adapter.d.ts","sourceRoot":"","sources":["../../../../src/tokens/adapter.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7C,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAA;AAEhE;;;;GAIG;AACH,eAAO,MAAM,OAAO,oDAAqD,CAAA"}
@@ -0,0 +1,6 @@
1
+ export * from './screen.ts';
2
+ export * from './logger.ts';
3
+ export * from './prompt.ts';
4
+ export * from './adapter.ts';
5
+ export * from './screen-manager.ts';
6
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/tokens/index.ts"],"names":[],"mappings":"AAAA,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,aAAa,CAAA;AAC3B,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAA"}
@@ -0,0 +1,44 @@
1
+ import { InjectionToken } from '@navios/core';
2
+ import type { IsomorphicLoggerInterface } from '../interfaces/isomorphic-logger.ts';
3
+ import type { ScreenLoggerInstance } from '../services/index.ts';
4
+ export declare const ScreenLogger: InjectionToken<ScreenLoggerInstance, import("zod/v4").ZodObject<{
5
+ screen: import("zod/v4").ZodDefault<import("zod/v4").ZodOptional<import("zod/v4").ZodUnion<[import("zod/v4").ZodObject<{
6
+ name: import("zod/v4").ZodString;
7
+ icon: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
8
+ badgeCount: import("zod/v4").ZodOptional<import("zod/v4").ZodNumber>;
9
+ hidden: import("zod/v4").ZodDefault<import("zod/v4").ZodOptional<import("zod/v4").ZodBoolean>>;
10
+ static: import("zod/v4").ZodDefault<import("zod/v4").ZodOptional<import("zod/v4").ZodBoolean>>;
11
+ }, import("zod/v4/core").$strip>, import("zod/v4").ZodString]>>>;
12
+ context: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
13
+ enabledLevels: import("zod/v4").ZodDefault<import("zod/v4").ZodArray<import("zod/v4").ZodEnum<{
14
+ log: "log";
15
+ verbose: "verbose";
16
+ debug: "debug";
17
+ warn: "warn";
18
+ error: "error";
19
+ fatal: "fatal";
20
+ }>>>;
21
+ }, import("zod/v4/core").$strip>, true>;
22
+ /**
23
+ * Isomorphic logger token for shared logger between TUI and Server.
24
+ * This token is used to inject the logger instance into the application.
25
+ */
26
+ export declare const IsomorphicLogger: InjectionToken<IsomorphicLoggerInterface, import("zod/v4").ZodObject<{
27
+ screen: import("zod/v4").ZodDefault<import("zod/v4").ZodOptional<import("zod/v4").ZodUnion<[import("zod/v4").ZodObject<{
28
+ name: import("zod/v4").ZodString;
29
+ icon: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
30
+ badgeCount: import("zod/v4").ZodOptional<import("zod/v4").ZodNumber>;
31
+ hidden: import("zod/v4").ZodDefault<import("zod/v4").ZodOptional<import("zod/v4").ZodBoolean>>;
32
+ static: import("zod/v4").ZodDefault<import("zod/v4").ZodOptional<import("zod/v4").ZodBoolean>>;
33
+ }, import("zod/v4/core").$strip>, import("zod/v4").ZodString]>>>;
34
+ context: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
35
+ enabledLevels: import("zod/v4").ZodDefault<import("zod/v4").ZodArray<import("zod/v4").ZodEnum<{
36
+ log: "log";
37
+ verbose: "verbose";
38
+ debug: "debug";
39
+ warn: "warn";
40
+ error: "error";
41
+ fatal: "fatal";
42
+ }>>>;
43
+ }, import("zod/v4/core").$strip>, true>;
44
+ //# sourceMappingURL=logger.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../../../src/tokens/logger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAI7C,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAA;AACnF,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAA;AAEhE,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;uCAGxB,CAAA;AACD;;;GAGG;AACH,eAAO,MAAM,gBAAgB;;;;;;;;;;;;;;;;;uCAGa,CAAA"}
@@ -0,0 +1,12 @@
1
+ import { InjectionToken } from '@navios/core';
2
+ import type { PromptInstance } from '../services/index.ts';
3
+ export declare const Prompt: InjectionToken<PromptInstance, import("zod/v4").ZodObject<{
4
+ screen: import("zod/v4").ZodDefault<import("zod/v4").ZodOptional<import("zod/v4").ZodUnion<[import("zod/v4").ZodObject<{
5
+ name: import("zod/v4").ZodString;
6
+ icon: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
7
+ badgeCount: import("zod/v4").ZodOptional<import("zod/v4").ZodNumber>;
8
+ hidden: import("zod/v4").ZodDefault<import("zod/v4").ZodOptional<import("zod/v4").ZodBoolean>>;
9
+ static: import("zod/v4").ZodDefault<import("zod/v4").ZodOptional<import("zod/v4").ZodBoolean>>;
10
+ }, import("zod/v4/core").$strip>, import("zod/v4").ZodString]>>>;
11
+ }, import("zod/v4/core").$strip>, true>;
12
+ //# sourceMappingURL=prompt.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"prompt.d.ts","sourceRoot":"","sources":["../../../../src/tokens/prompt.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAI7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D,eAAO,MAAM,MAAM;;;;;;;;uCAGlB,CAAA"}
@@ -0,0 +1,8 @@
1
+ import { InjectionToken } from '@navios/core';
2
+ import type { ScreenManagerInstance } from '../services/screen_manager.ts';
3
+ /**
4
+ * Injection token for the ScreenManager singleton.
5
+ * Used for dependency injection without requiring direct import of the class.
6
+ */
7
+ export declare const ScreenManager: InjectionToken<ScreenManagerInstance, undefined, false>;
8
+ //# sourceMappingURL=screen-manager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screen-manager.d.ts","sourceRoot":"","sources":["../../../../src/tokens/screen-manager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAE7C,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,+BAA+B,CAAA;AAE1E;;;GAGG;AACH,eAAO,MAAM,aAAa,yDAAgE,CAAA"}
@@ -0,0 +1,10 @@
1
+ import { InjectionToken } from '@navios/core';
2
+ import type { ScreenInstance } from '../services/index.ts';
3
+ export declare const Screen: InjectionToken<ScreenInstance, import("zod/v4").ZodObject<{
4
+ name: import("zod/v4").ZodString;
5
+ icon: import("zod/v4").ZodOptional<import("zod/v4").ZodString>;
6
+ badgeCount: import("zod/v4").ZodOptional<import("zod/v4").ZodNumber>;
7
+ hidden: import("zod/v4").ZodDefault<import("zod/v4").ZodOptional<import("zod/v4").ZodBoolean>>;
8
+ static: import("zod/v4").ZodDefault<import("zod/v4").ZodOptional<import("zod/v4").ZodBoolean>>;
9
+ }, import("zod/v4/core").$strip>, true>;
10
+ //# sourceMappingURL=screen.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"screen.d.ts","sourceRoot":"","sources":["../../../../src/tokens/screen.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,cAAc,CAAA;AAI7C,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAA;AAE1D,eAAO,MAAM,MAAM;;;;;;uCAGlB,CAAA"}
@@ -0,0 +1,40 @@
1
+ import type { RGBA } from '@opentui/core';
2
+ export type FileLogMode = 'full' | 'diff' | 'partial';
3
+ export interface FileLogBaseProps {
4
+ /** File path or name to display in header */
5
+ filePath: string;
6
+ /** Override auto-detected filetype for syntax highlighting */
7
+ filetype?: string;
8
+ /** Show line numbers */
9
+ showLineNumbers?: boolean;
10
+ /** Show header with file path */
11
+ showHeader?: boolean;
12
+ /** Custom header background color */
13
+ headerBackgroundColor?: string | RGBA;
14
+ }
15
+ export interface FileLogFullProps extends FileLogBaseProps {
16
+ mode: 'full';
17
+ /** The complete file content */
18
+ content: string;
19
+ }
20
+ export interface FileLogDiffProps extends FileLogBaseProps {
21
+ mode: 'diff';
22
+ /** Unified diff string */
23
+ diff: string;
24
+ /** Diff view mode */
25
+ view?: 'unified' | 'split';
26
+ }
27
+ export interface FileLogPartialProps extends FileLogBaseProps {
28
+ mode: 'partial';
29
+ /** File content (full or partial) */
30
+ content: string;
31
+ /** Starting line number of the content (1-indexed) */
32
+ startLine: number;
33
+ /** Lines to highlight as errors */
34
+ errorLines?: number[];
35
+ /** Error highlighting colors */
36
+ errorLineBackground?: string | RGBA;
37
+ errorLineBorderColor?: string | RGBA;
38
+ }
39
+ export type FileLogProps = FileLogFullProps | FileLogDiffProps | FileLogPartialProps;
40
+ //# sourceMappingURL=file.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"file.types.d.ts","sourceRoot":"","sources":["../../../../src/types/file.types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,eAAe,CAAA;AAMzC,MAAM,MAAM,WAAW,GAAG,MAAM,GAAG,MAAM,GAAG,SAAS,CAAA;AAErD,MAAM,WAAW,gBAAgB;IAC/B,6CAA6C;IAC7C,QAAQ,EAAE,MAAM,CAAA;IAEhB,8DAA8D;IAC9D,QAAQ,CAAC,EAAE,MAAM,CAAA;IAEjB,wBAAwB;IACxB,eAAe,CAAC,EAAE,OAAO,CAAA;IAEzB,iCAAiC;IACjC,UAAU,CAAC,EAAE,OAAO,CAAA;IAEpB,qCAAqC;IACrC,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACtC;AAED,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD,IAAI,EAAE,MAAM,CAAA;IAEZ,gCAAgC;IAChC,OAAO,EAAE,MAAM,CAAA;CAChB;AAED,MAAM,WAAW,gBAAiB,SAAQ,gBAAgB;IACxD,IAAI,EAAE,MAAM,CAAA;IAEZ,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAA;IAEZ,qBAAqB;IACrB,IAAI,CAAC,EAAE,SAAS,GAAG,OAAO,CAAA;CAC3B;AAED,MAAM,WAAW,mBAAoB,SAAQ,gBAAgB;IAC3D,IAAI,EAAE,SAAS,CAAA;IAEf,qCAAqC;IACrC,OAAO,EAAE,MAAM,CAAA;IAEf,sDAAsD;IACtD,SAAS,EAAE,MAAM,CAAA;IAEjB,mCAAmC;IACnC,UAAU,CAAC,EAAE,MAAM,EAAE,CAAA;IAErB,gCAAgC;IAChC,mBAAmB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IACnC,oBAAoB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACrC;AAED,MAAM,MAAM,YAAY,GAAG,gBAAgB,GAAG,gBAAgB,GAAG,mBAAmB,CAAA"}
@@ -0,0 +1,31 @@
1
+ import type { LogLevel } from '@navios/core';
2
+ /**
3
+ * Filter state for log filtering.
4
+ */
5
+ export interface FilterState {
6
+ /** Which log levels are enabled (shown) */
7
+ enabledLevels: Set<LogLevel>;
8
+ /** Text search query */
9
+ searchQuery: string;
10
+ /** Whether the filter bar is visible */
11
+ isVisible: boolean;
12
+ /** Which filter field is focused */
13
+ focusedField: 'search' | 'levels';
14
+ }
15
+ /**
16
+ * All log levels in order.
17
+ */
18
+ export declare const ALL_LOG_LEVELS: LogLevel[];
19
+ /**
20
+ * Create a default filter state.
21
+ */
22
+ export declare function createDefaultFilterState(): FilterState;
23
+ /**
24
+ * Check if any filtering is active.
25
+ */
26
+ export declare function hasActiveFilter(filter: FilterState): boolean;
27
+ /**
28
+ * Level counts for display.
29
+ */
30
+ export type LevelCounts = Record<LogLevel, number>;
31
+ //# sourceMappingURL=filter.types.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"filter.types.d.ts","sourceRoot":"","sources":["../../../../src/types/filter.types.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAE5C;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,2CAA2C;IAC3C,aAAa,EAAE,GAAG,CAAC,QAAQ,CAAC,CAAA;IAE5B,wBAAwB;IACxB,WAAW,EAAE,MAAM,CAAA;IAEnB,wCAAwC;IACxC,SAAS,EAAE,OAAO,CAAA;IAElB,oCAAoC;IACpC,YAAY,EAAE,QAAQ,GAAG,QAAQ,CAAA;CAClC;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,EAAE,QAAQ,EAA0D,CAAA;AAE/F;;GAEG;AACH,wBAAgB,wBAAwB,IAAI,WAAW,CAOtD;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAE5D;AAED;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,MAAM,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAA"}
@@ -0,0 +1,9 @@
1
+ export * from './log.types.ts';
2
+ export * from './file.types.ts';
3
+ export * from './screen.types.ts';
4
+ export * from './message.types.ts';
5
+ export * from './prompt.types.ts';
6
+ export * from './theme.types.ts';
7
+ export * from './keyboard.types.ts';
8
+ export * from './filter.types.ts';
9
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/types/index.ts"],"names":[],"mappings":"AAAA,cAAc,gBAAgB,CAAA;AAG9B,cAAc,iBAAiB,CAAA;AAG/B,cAAc,mBAAmB,CAAA;AAGjC,cAAc,oBAAoB,CAAA;AAGlC,cAAc,mBAAmB,CAAA;AAGjC,cAAc,kBAAkB,CAAA;AAGhC,cAAc,qBAAqB,CAAA;AAGnC,cAAc,mBAAmB,CAAA"}