@ranker/raxflow 0.2.2 → 0.2.4

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 (378) hide show
  1. package/dist/benchmark.d.ts +10 -0
  2. package/dist/benchmark.d.ts.map +1 -0
  3. package/dist/benchmark.js +123 -0
  4. package/dist/benchmark.js.map +1 -0
  5. package/dist/bin.d.ts +3 -0
  6. package/dist/bin.d.ts.map +1 -0
  7. package/dist/bin.js +141 -0
  8. package/dist/bin.js.map +1 -0
  9. package/dist/bootstrap.d.ts +8 -0
  10. package/dist/bootstrap.d.ts.map +1 -0
  11. package/dist/bootstrap.js +22 -0
  12. package/dist/bootstrap.js.map +1 -0
  13. package/dist/bridge-adapter-templates.d.ts +4 -0
  14. package/dist/bridge-adapter-templates.d.ts.map +1 -0
  15. package/dist/bridge-adapter-templates.js +185 -0
  16. package/dist/bridge-adapter-templates.js.map +1 -0
  17. package/dist/bridge-test.d.ts +7 -0
  18. package/dist/bridge-test.d.ts.map +1 -0
  19. package/dist/bridge-test.js +89 -0
  20. package/dist/bridge-test.js.map +1 -0
  21. package/dist/dashboard.d.ts +4 -0
  22. package/dist/dashboard.d.ts.map +1 -0
  23. package/{src/dashboard.ts → dist/dashboard.js} +8 -10
  24. package/dist/dashboard.js.map +1 -0
  25. package/dist/doctor.d.ts +6 -0
  26. package/dist/doctor.d.ts.map +1 -0
  27. package/dist/doctor.js +70 -0
  28. package/dist/doctor.js.map +1 -0
  29. package/dist/evolve.d.ts +7 -0
  30. package/dist/evolve.d.ts.map +1 -0
  31. package/{src/evolve.ts → dist/evolve.js} +7 -33
  32. package/dist/evolve.js.map +1 -0
  33. package/dist/host-init-templates.d.ts +16 -0
  34. package/dist/host-init-templates.d.ts.map +1 -0
  35. package/dist/host-init-templates.js +119 -0
  36. package/dist/host-init-templates.js.map +1 -0
  37. package/dist/hub/__tests__/commands.test.d.ts +2 -0
  38. package/dist/hub/__tests__/commands.test.d.ts.map +1 -0
  39. package/dist/hub/__tests__/commands.test.js +72 -0
  40. package/dist/hub/__tests__/commands.test.js.map +1 -0
  41. package/dist/hub/__tests__/history.test.d.ts +2 -0
  42. package/dist/hub/__tests__/history.test.d.ts.map +1 -0
  43. package/dist/hub/__tests__/history.test.js +119 -0
  44. package/dist/hub/__tests__/history.test.js.map +1 -0
  45. package/dist/hub/__tests__/parser.test.d.ts +2 -0
  46. package/dist/hub/__tests__/parser.test.d.ts.map +1 -0
  47. package/dist/hub/__tests__/parser.test.js +92 -0
  48. package/dist/hub/__tests__/parser.test.js.map +1 -0
  49. package/dist/hub/commands/agents.d.ts +3 -0
  50. package/dist/hub/commands/agents.d.ts.map +1 -0
  51. package/dist/hub/commands/agents.js +36 -0
  52. package/dist/hub/commands/agents.js.map +1 -0
  53. package/dist/hub/commands/index.d.ts +4 -0
  54. package/dist/hub/commands/index.d.ts.map +1 -0
  55. package/dist/hub/commands/index.js +123 -0
  56. package/dist/hub/commands/index.js.map +1 -0
  57. package/dist/hub/commands/logs.d.ts +3 -0
  58. package/dist/hub/commands/logs.d.ts.map +1 -0
  59. package/dist/hub/commands/logs.js +53 -0
  60. package/dist/hub/commands/logs.js.map +1 -0
  61. package/dist/hub/commands/memory.d.ts +3 -0
  62. package/dist/hub/commands/memory.d.ts.map +1 -0
  63. package/dist/hub/commands/memory.js +40 -0
  64. package/dist/hub/commands/memory.js.map +1 -0
  65. package/dist/hub/commands/metrics.d.ts +3 -0
  66. package/dist/hub/commands/metrics.d.ts.map +1 -0
  67. package/dist/hub/commands/metrics.js +35 -0
  68. package/dist/hub/commands/metrics.js.map +1 -0
  69. package/dist/hub/commands/providers.d.ts +3 -0
  70. package/dist/hub/commands/providers.d.ts.map +1 -0
  71. package/dist/hub/commands/providers.js +26 -0
  72. package/dist/hub/commands/providers.js.map +1 -0
  73. package/dist/hub/commands/run.d.ts +3 -0
  74. package/dist/hub/commands/run.d.ts.map +1 -0
  75. package/dist/hub/commands/run.js +31 -0
  76. package/dist/hub/commands/run.js.map +1 -0
  77. package/dist/hub/commands/status.d.ts +3 -0
  78. package/dist/hub/commands/status.d.ts.map +1 -0
  79. package/dist/hub/commands/status.js +61 -0
  80. package/dist/hub/commands/status.js.map +1 -0
  81. package/dist/hub/commands/workflows.d.ts +3 -0
  82. package/dist/hub/commands/workflows.d.ts.map +1 -0
  83. package/dist/hub/commands/workflows.js +45 -0
  84. package/dist/hub/commands/workflows.js.map +1 -0
  85. package/dist/hub/config-loader.d.ts +4 -0
  86. package/dist/hub/config-loader.d.ts.map +1 -0
  87. package/dist/hub/config-loader.js +27 -0
  88. package/dist/hub/config-loader.js.map +1 -0
  89. package/dist/hub/event-listener.d.ts +6 -0
  90. package/dist/hub/event-listener.d.ts.map +1 -0
  91. package/dist/hub/event-listener.js +12 -0
  92. package/dist/hub/event-listener.js.map +1 -0
  93. package/dist/hub/history.d.ts +13 -0
  94. package/dist/hub/history.d.ts.map +1 -0
  95. package/dist/hub/history.js +59 -0
  96. package/dist/hub/history.js.map +1 -0
  97. package/dist/hub/index.d.ts +4 -0
  98. package/dist/hub/index.d.ts.map +1 -0
  99. package/dist/hub/index.js +114 -0
  100. package/dist/hub/index.js.map +1 -0
  101. package/dist/hub/parser.d.ts +4 -0
  102. package/dist/hub/parser.d.ts.map +1 -0
  103. package/dist/hub/parser.js +98 -0
  104. package/dist/hub/parser.js.map +1 -0
  105. package/dist/hub/styles/borders.d.ts +23 -0
  106. package/dist/hub/styles/borders.d.ts.map +1 -0
  107. package/dist/hub/styles/borders.js +64 -0
  108. package/dist/hub/styles/borders.js.map +1 -0
  109. package/dist/hub/styles/colors.d.ts +63 -0
  110. package/dist/hub/styles/colors.d.ts.map +1 -0
  111. package/dist/hub/styles/colors.js +115 -0
  112. package/dist/hub/styles/colors.js.map +1 -0
  113. package/dist/hub/styles/typography.d.ts +34 -0
  114. package/dist/hub/styles/typography.d.ts.map +1 -0
  115. package/dist/hub/styles/typography.js +60 -0
  116. package/dist/hub/styles/typography.js.map +1 -0
  117. package/dist/hub/types.d.ts +27 -0
  118. package/dist/hub/types.d.ts.map +1 -0
  119. package/dist/hub/types.js +2 -0
  120. package/dist/hub/types.js.map +1 -0
  121. package/dist/index.d.ts +11 -0
  122. package/dist/index.d.ts.map +1 -0
  123. package/{src/index.ts → dist/index.js} +1 -0
  124. package/dist/index.js.map +1 -0
  125. package/dist/init-host.d.ts +10 -0
  126. package/dist/init-host.d.ts.map +1 -0
  127. package/dist/init-host.js +232 -0
  128. package/dist/init-host.js.map +1 -0
  129. package/dist/install.d.ts +8 -0
  130. package/dist/install.d.ts.map +1 -0
  131. package/dist/install.js +99 -0
  132. package/dist/install.js.map +1 -0
  133. package/dist/run.d.ts +16 -0
  134. package/dist/run.d.ts.map +1 -0
  135. package/dist/run.js +238 -0
  136. package/dist/run.js.map +1 -0
  137. package/dist/setup/components/ApiKeyInput.d.ts +25 -0
  138. package/dist/setup/components/ApiKeyInput.d.ts.map +1 -0
  139. package/dist/setup/components/ApiKeyInput.js +54 -0
  140. package/dist/setup/components/ApiKeyInput.js.map +1 -0
  141. package/dist/setup/components/AsciiBanner.d.ts +22 -0
  142. package/dist/setup/components/AsciiBanner.d.ts.map +1 -0
  143. package/{src/setup/components/AsciiBanner.tsx → dist/setup/components/AsciiBanner.js} +24 -94
  144. package/dist/setup/components/AsciiBanner.js.map +1 -0
  145. package/dist/setup/components/CliDetector.d.ts +17 -0
  146. package/dist/setup/components/CliDetector.d.ts.map +1 -0
  147. package/dist/setup/components/CliDetector.js +81 -0
  148. package/dist/setup/components/CliDetector.js.map +1 -0
  149. package/dist/setup/components/ModeSelector.d.ts +8 -0
  150. package/dist/setup/components/ModeSelector.d.ts.map +1 -0
  151. package/dist/setup/components/ModeSelector.js +76 -0
  152. package/dist/setup/components/ModeSelector.js.map +1 -0
  153. package/dist/setup/components/ProviderSelector.d.ts +18 -0
  154. package/dist/setup/components/ProviderSelector.d.ts.map +1 -0
  155. package/dist/setup/components/ProviderSelector.js +98 -0
  156. package/dist/setup/components/ProviderSelector.js.map +1 -0
  157. package/dist/setup/components/SetupWizard.d.ts +2 -0
  158. package/dist/setup/components/SetupWizard.d.ts.map +1 -0
  159. package/dist/setup/components/SetupWizard.js +212 -0
  160. package/dist/setup/components/SetupWizard.js.map +1 -0
  161. package/dist/setup/components/StepIndicator.d.ts +13 -0
  162. package/dist/setup/components/StepIndicator.d.ts.map +1 -0
  163. package/dist/setup/components/StepIndicator.js +18 -0
  164. package/dist/setup/components/StepIndicator.js.map +1 -0
  165. package/dist/setup/components/SuccessScreen.d.ts +18 -0
  166. package/dist/setup/components/SuccessScreen.d.ts.map +1 -0
  167. package/dist/setup/components/SuccessScreen.js +38 -0
  168. package/dist/setup/components/SuccessScreen.js.map +1 -0
  169. package/dist/setup/index.d.ts +12 -0
  170. package/dist/setup/index.d.ts.map +1 -0
  171. package/{src/setup/index.ts → dist/setup/index.js} +14 -19
  172. package/dist/setup/index.js.map +1 -0
  173. package/dist/setup/utils/cli-detection.d.ts +12 -0
  174. package/dist/setup/utils/cli-detection.d.ts.map +1 -0
  175. package/dist/setup/utils/cli-detection.js +83 -0
  176. package/dist/setup/utils/cli-detection.js.map +1 -0
  177. package/dist/setup/utils/config-writer.d.ts +43 -0
  178. package/dist/setup/utils/config-writer.d.ts.map +1 -0
  179. package/dist/setup/utils/config-writer.js +180 -0
  180. package/dist/setup/utils/config-writer.js.map +1 -0
  181. package/dist/styles.d.ts +12 -0
  182. package/dist/styles.d.ts.map +1 -0
  183. package/dist/styles.js +12 -0
  184. package/dist/styles.js.map +1 -0
  185. package/dist/tui/App.d.ts +3 -0
  186. package/dist/tui/App.d.ts.map +1 -0
  187. package/dist/tui/App.js +136 -0
  188. package/dist/tui/App.js.map +1 -0
  189. package/dist/tui/components/AgentStateIcon.d.ts +18 -0
  190. package/dist/tui/components/AgentStateIcon.d.ts.map +1 -0
  191. package/dist/tui/components/AgentStateIcon.js +57 -0
  192. package/dist/tui/components/AgentStateIcon.js.map +1 -0
  193. package/dist/tui/components/AnimatedBranch.d.ts +39 -0
  194. package/dist/tui/components/AnimatedBranch.d.ts.map +1 -0
  195. package/dist/tui/components/AnimatedBranch.js +64 -0
  196. package/dist/tui/components/AnimatedBranch.js.map +1 -0
  197. package/dist/tui/components/ChatPanel.d.ts +17 -0
  198. package/dist/tui/components/ChatPanel.d.ts.map +1 -0
  199. package/dist/tui/components/ChatPanel.js +51 -0
  200. package/dist/tui/components/ChatPanel.js.map +1 -0
  201. package/dist/tui/components/DAGPanel.d.ts +37 -0
  202. package/dist/tui/components/DAGPanel.d.ts.map +1 -0
  203. package/dist/tui/components/DAGPanel.js +52 -0
  204. package/dist/tui/components/DAGPanel.js.map +1 -0
  205. package/dist/tui/components/ExecutionTimeline.d.ts +34 -0
  206. package/dist/tui/components/ExecutionTimeline.d.ts.map +1 -0
  207. package/dist/tui/components/ExecutionTimeline.js +67 -0
  208. package/dist/tui/components/ExecutionTimeline.js.map +1 -0
  209. package/dist/tui/components/Header.d.ts +12 -0
  210. package/dist/tui/components/Header.d.ts.map +1 -0
  211. package/dist/tui/components/Header.js +32 -0
  212. package/dist/tui/components/Header.js.map +1 -0
  213. package/dist/tui/components/HelpOverlay.d.ts +7 -0
  214. package/dist/tui/components/HelpOverlay.d.ts.map +1 -0
  215. package/dist/tui/components/HelpOverlay.js +60 -0
  216. package/dist/tui/components/HelpOverlay.js.map +1 -0
  217. package/dist/tui/components/InputBar.d.ts +10 -0
  218. package/dist/tui/components/InputBar.d.ts.map +1 -0
  219. package/dist/tui/components/InputBar.js +21 -0
  220. package/dist/tui/components/InputBar.js.map +1 -0
  221. package/dist/tui/components/LogsPanel.d.ts +10 -0
  222. package/dist/tui/components/MemoryPanel.d.ts +22 -0
  223. package/dist/tui/components/MetricsPanel.d.ts +19 -0
  224. package/dist/tui/components/StatusPanel.d.ts +24 -0
  225. package/dist/tui/components/TaskTree.d.ts +28 -0
  226. package/dist/tui/components/TaskTree.d.ts.map +1 -0
  227. package/dist/tui/components/TaskTree.js +29 -0
  228. package/dist/tui/components/TaskTree.js.map +1 -0
  229. package/dist/tui/components/animations/ProgressBar.d.ts +39 -0
  230. package/dist/tui/components/animations/ProgressBar.d.ts.map +1 -0
  231. package/dist/tui/components/animations/ProgressBar.js +39 -0
  232. package/dist/tui/components/animations/ProgressBar.js.map +1 -0
  233. package/dist/tui/components/animations/Pulse.d.ts +17 -0
  234. package/dist/tui/components/animations/Pulse.d.ts.map +1 -0
  235. package/dist/tui/components/animations/Pulse.js +47 -0
  236. package/dist/tui/components/animations/Pulse.js.map +1 -0
  237. package/dist/tui/components/animations/Spinner.d.ts +13 -0
  238. package/dist/tui/components/animations/Spinner.d.ts.map +1 -0
  239. package/dist/tui/components/animations/Spinner.js +36 -0
  240. package/dist/tui/components/animations/Spinner.js.map +1 -0
  241. package/dist/tui/components/animations/StatusAnimator.d.ts +27 -0
  242. package/dist/tui/components/animations/StatusAnimator.d.ts.map +1 -0
  243. package/dist/tui/components/animations/StatusAnimator.js +85 -0
  244. package/dist/tui/components/animations/StatusAnimator.js.map +1 -0
  245. package/dist/tui/components/animations/TypingEffect.d.ts +26 -0
  246. package/dist/tui/components/animations/TypingEffect.d.ts.map +1 -0
  247. package/dist/tui/components/animations/TypingEffect.js +59 -0
  248. package/dist/tui/components/animations/TypingEffect.js.map +1 -0
  249. package/{src/tui/components/animations/index.ts → dist/tui/components/animations/index.d.ts} +2 -10
  250. package/dist/tui/components/animations/index.d.ts.map +1 -0
  251. package/dist/tui/components/animations/index.js +6 -0
  252. package/dist/tui/components/animations/index.js.map +1 -0
  253. package/dist/tui/hooks/useAnimation.d.ts +42 -0
  254. package/dist/tui/hooks/useAnimation.d.ts.map +1 -0
  255. package/dist/tui/hooks/useAnimation.js +212 -0
  256. package/dist/tui/hooks/useAnimation.js.map +1 -0
  257. package/dist/tui/hooks/useAppState.d.ts +65 -0
  258. package/dist/tui/hooks/useAppState.d.ts.map +1 -0
  259. package/dist/tui/hooks/useAppState.js +293 -0
  260. package/dist/tui/hooks/useAppState.js.map +1 -0
  261. package/dist/tui/index.d.ts +3 -0
  262. package/dist/tui/index.d.ts.map +1 -0
  263. package/{src/tui/index.ts → dist/tui/index.js} +2 -3
  264. package/dist/tui/index.js.map +1 -0
  265. package/dist/tui/services/orchestrator.d.ts +16 -0
  266. package/dist/tui/services/orchestrator.d.ts.map +1 -0
  267. package/dist/tui/services/orchestrator.js +152 -0
  268. package/dist/tui/services/orchestrator.js.map +1 -0
  269. package/dist/tui/styles/borders.d.ts +31 -0
  270. package/dist/tui/styles/borders.d.ts.map +1 -0
  271. package/dist/tui/styles/borders.js +47 -0
  272. package/dist/tui/styles/borders.js.map +1 -0
  273. package/dist/tui/styles/colors.d.ts +18 -0
  274. package/dist/tui/styles/colors.d.ts.map +1 -0
  275. package/dist/tui/styles/colors.js +18 -0
  276. package/dist/tui/styles/colors.js.map +1 -0
  277. package/dist/tui/styles/index.d.ts +6 -0
  278. package/dist/tui/styles/index.d.ts.map +1 -0
  279. package/dist/tui/styles/index.js +6 -0
  280. package/dist/tui/styles/index.js.map +1 -0
  281. package/dist/tui/styles/indicators.d.ts +67 -0
  282. package/dist/tui/styles/indicators.d.ts.map +1 -0
  283. package/dist/tui/styles/indicators.js +42 -0
  284. package/dist/tui/styles/indicators.js.map +1 -0
  285. package/dist/tui/styles/layout.d.ts +21 -0
  286. package/dist/tui/styles/layout.d.ts.map +1 -0
  287. package/dist/tui/styles/layout.js +42 -0
  288. package/dist/tui/styles/layout.js.map +1 -0
  289. package/dist/tui/styles/providers.d.ts +77 -0
  290. package/dist/tui/styles/providers.d.ts.map +1 -0
  291. package/dist/tui/styles/providers.js +31 -0
  292. package/dist/tui/styles/providers.js.map +1 -0
  293. package/dist/tui/utils/animation.d.ts +44 -0
  294. package/dist/tui/utils/animation.d.ts.map +1 -0
  295. package/dist/tui/utils/animation.js +107 -0
  296. package/dist/tui/utils/animation.js.map +1 -0
  297. package/dist/vendor-manifests.d.ts +22 -0
  298. package/dist/vendor-manifests.d.ts.map +1 -0
  299. package/dist/vendor-manifests.js +94 -0
  300. package/dist/vendor-manifests.js.map +1 -0
  301. package/dist/ws-relay.d.ts +12 -0
  302. package/dist/ws-relay.d.ts.map +1 -0
  303. package/{src/ws-relay.ts → dist/ws-relay.js} +39 -47
  304. package/dist/ws-relay.js.map +1 -0
  305. package/package.json +5 -1
  306. package/dashboard/index.html +0 -420
  307. package/src/benchmark.ts +0 -156
  308. package/src/bin.ts +0 -156
  309. package/src/bootstrap.ts +0 -36
  310. package/src/bridge-adapter-templates.ts +0 -181
  311. package/src/bridge-test.ts +0 -107
  312. package/src/doctor.ts +0 -92
  313. package/src/host-init-templates.ts +0 -134
  314. package/src/hub/__tests__/commands.test.ts +0 -84
  315. package/src/hub/__tests__/history.test.ts +0 -137
  316. package/src/hub/__tests__/parser.test.ts +0 -105
  317. package/src/hub/commands/agents.ts +0 -53
  318. package/src/hub/commands/index.ts +0 -140
  319. package/src/hub/commands/logs.ts +0 -70
  320. package/src/hub/commands/memory.ts +0 -47
  321. package/src/hub/commands/metrics.ts +0 -49
  322. package/src/hub/commands/providers.ts +0 -39
  323. package/src/hub/commands/run.ts +0 -37
  324. package/src/hub/commands/status.ts +0 -69
  325. package/src/hub/commands/workflows.ts +0 -64
  326. package/src/hub/config-loader.ts +0 -37
  327. package/src/hub/event-listener.ts +0 -17
  328. package/src/hub/history.ts +0 -66
  329. package/src/hub/index.ts +0 -132
  330. package/src/hub/parser.ts +0 -107
  331. package/src/hub/styles/borders.ts +0 -74
  332. package/src/hub/styles/colors.ts +0 -129
  333. package/src/hub/styles/typography.ts +0 -68
  334. package/src/hub/types.ts +0 -31
  335. package/src/init-host.ts +0 -285
  336. package/src/install.ts +0 -118
  337. package/src/run.ts +0 -317
  338. package/src/setup/components/ApiKeyInput.tsx +0 -158
  339. package/src/setup/components/CliDetector.tsx +0 -230
  340. package/src/setup/components/ModeSelector.tsx +0 -137
  341. package/src/setup/components/ProviderSelector.tsx +0 -175
  342. package/src/setup/components/SetupWizard.tsx +0 -368
  343. package/src/setup/components/StepIndicator.tsx +0 -74
  344. package/src/setup/components/SuccessScreen.tsx +0 -229
  345. package/src/setup/utils/cli-detection.ts +0 -99
  346. package/src/setup/utils/config-writer.ts +0 -249
  347. package/src/styles.ts +0 -12
  348. package/src/tui/App.tsx +0 -183
  349. package/src/tui/components/AgentStateIcon.tsx +0 -84
  350. package/src/tui/components/AnimatedBranch.tsx +0 -134
  351. package/src/tui/components/ChatPanel.tsx +0 -128
  352. package/src/tui/components/DAGPanel.tsx +0 -212
  353. package/src/tui/components/ExecutionTimeline.tsx +0 -225
  354. package/src/tui/components/Header.tsx +0 -109
  355. package/src/tui/components/HelpOverlay.tsx +0 -140
  356. package/src/tui/components/InputBar.tsx +0 -69
  357. package/src/tui/components/LogsPanel.tsx +0 -132
  358. package/src/tui/components/MemoryPanel.tsx +0 -166
  359. package/src/tui/components/MetricsPanel.tsx +0 -152
  360. package/src/tui/components/StatusPanel.tsx +0 -140
  361. package/src/tui/components/TaskTree.tsx +0 -159
  362. package/src/tui/components/animations/ProgressBar.tsx +0 -160
  363. package/src/tui/components/animations/Pulse.tsx +0 -73
  364. package/src/tui/components/animations/Spinner.tsx +0 -54
  365. package/src/tui/components/animations/StatusAnimator.tsx +0 -153
  366. package/src/tui/components/animations/TypingEffect.tsx +0 -119
  367. package/src/tui/hooks/useAnimation.ts +0 -290
  368. package/src/tui/hooks/useAppState.ts +0 -403
  369. package/src/tui/services/orchestrator.ts +0 -195
  370. package/src/tui/styles/borders.ts +0 -51
  371. package/src/tui/styles/colors.ts +0 -19
  372. package/src/tui/styles/index.ts +0 -20
  373. package/src/tui/styles/indicators.ts +0 -54
  374. package/src/tui/styles/layout.ts +0 -44
  375. package/src/tui/styles/providers.ts +0 -32
  376. package/src/tui/utils/animation.ts +0 -124
  377. package/src/vendor-manifests.ts +0 -113
  378. package/tsconfig.json +0 -28
@@ -1,109 +0,0 @@
1
- import React, { memo, useMemo } from "react";
2
- import { Box, Text } from "ink";
3
- import { tuiColors, getStatusIndicator, getProviderTag } from "../styles/index.js";
4
- import { StatusPulse } from "./animations/index.js";
5
-
6
- interface HeaderProps {
7
- projectName: string;
8
- agentCount: number;
9
- provider: string;
10
- status: "ready" | "running" | "error";
11
- tick: number;
12
- activePanel: string;
13
- }
14
-
15
- const PANEL_NAMES: Record<string, string> = {
16
- chat: "CHAT",
17
- dag: "DAG",
18
- status: "STATUS",
19
- logs: "LOGS",
20
- metrics: "METRICS",
21
- memory: "MEMORY",
22
- };
23
-
24
- const PANELS = ["chat", "dag", "logs", "metrics", "memory"] as const;
25
-
26
- export const Header = memo(function Header({
27
- projectName,
28
- agentCount,
29
- provider,
30
- status,
31
- tick,
32
- activePanel
33
- }: HeaderProps) {
34
- const statusInfo = useMemo(() => getStatusIndicator(status), [status]);
35
- const providerInfo = useMemo(() => getProviderTag(provider), [provider]);
36
-
37
- const statusText = status === "ready" ? "ONLINE" : status === "running" ? "RUNNING" : "ERROR";
38
- const statusColor = status === "ready"
39
- ? tuiColors.success
40
- : status === "running"
41
- ? tuiColors.warning
42
- : tuiColors.error;
43
-
44
- const pulseStatus = status === "ready"
45
- ? "online"
46
- : status === "running"
47
- ? "running"
48
- : "error";
49
-
50
- const panelElements = useMemo(() =>
51
- PANELS.map((panel) => (
52
- <Box key={panel} marginRight={1}>
53
- <Text
54
- color={activePanel === panel ? tuiColors.primary : tuiColors.textTertiary}
55
- bold={activePanel === panel}
56
- >
57
- [{PANEL_NAMES[panel]}]
58
- </Text>
59
- </Box>
60
- )),
61
- [activePanel]
62
- );
63
-
64
- return (
65
- <Box flexDirection="column" width="100%">
66
- <Box
67
- flexDirection="row"
68
- justifyContent="space-between"
69
- alignItems="center"
70
- paddingX={1}
71
- borderStyle="single"
72
- borderColor={tuiColors.border}
73
- >
74
- <Box flexDirection="row" alignItems="center">
75
- <Text color={tuiColors.primary} bold>■</Text>
76
- <Text color={tuiColors.textPrimary} bold> RAXFLOW</Text>
77
- <Text color={tuiColors.textSecondary}> HUB</Text>
78
- </Box>
79
- <Box flexDirection="row" alignItems="center" gap={1}>
80
- <Text color={tuiColors.textTertiary}>Project:</Text>
81
- <Text color={tuiColors.textPrimary}> {projectName}</Text>
82
- <Text color={tuiColors.textQuaternary}> │</Text>
83
- <Text color={tuiColors.textTertiary}> Agents:</Text>
84
- <Text color={tuiColors.success}> {agentCount}/12</Text>
85
- <Text color={tuiColors.textQuaternary}> │</Text>
86
- <Text color={tuiColors.textSecondary}>{providerInfo.code}</Text>
87
- <Text color={statusColor}> </Text>
88
- <StatusPulse status={pulseStatus} tick={tick} />
89
- <Text color={statusColor}> {statusText}</Text>
90
- </Box>
91
- </Box>
92
-
93
- <Box borderStyle="single" borderColor={tuiColors.primary} paddingX={1}>
94
- <Text color={tuiColors.textTertiary} italic>
95
- Orchestrator that Evolves with Your Host Tools
96
- </Text>
97
- </Box>
98
-
99
- <Box flexDirection="row" paddingX={1} justifyContent="space-between">
100
- <Box flexDirection="row">
101
- {panelElements}
102
- </Box>
103
- <Box flexDirection="row">
104
- <Text color={tuiColors.textQuaternary}>Tab:Switch │ ←:View │ ?:Help │ Ctrl+C:Quit</Text>
105
- </Box>
106
- </Box>
107
- </Box>
108
- );
109
- });
@@ -1,140 +0,0 @@
1
- import React, { memo, useMemo } from "react";
2
- import { Box, Text } from "ink";
3
- import { tuiColors } from "../styles/index.js";
4
-
5
- interface HelpOverlayProps {
6
- onDismiss: () => void;
7
- }
8
-
9
- const COMMAND_SECTIONS = [
10
- {
11
- title: "EXECUTION",
12
- items: [
13
- ["run <prompt>", "Execute workflow"],
14
- ["run -w <file>", "With blueprint"],
15
- ["run -p <n>", "Max parallel agents"],
16
- ["retry", "Relaunch last workflow"],
17
- ["stop / pause", "Control execution"],
18
- ],
19
- },
20
- {
21
- title: "NAVIGATION",
22
- items: [
23
- ["status", "System overview"],
24
- ["agents", "Agent list & status"],
25
- ["providers", "Provider status"],
26
- ["workflows", "Available blueprints"],
27
- ["memory", "QSGM graph view"],
28
- ],
29
- },
30
- {
31
- title: "MONITORING",
32
- items: [
33
- ["logs", "Real-time logs"],
34
- ["logs -f", "Follow mode"],
35
- ["metrics", "Performance stats"],
36
- ["evolve", "Evolution history"],
37
- ["doctor", "System diagnostic"],
38
- ],
39
- },
40
- ];
41
-
42
- const KEYBOARD_SHORTCUTS = [
43
- ["Tab", "Cycle panels"],
44
- ["F1-F8", "Jump to panel"],
45
- ["Ctrl+C", "Quit"],
46
- ["Esc", "Close overlay"],
47
- ["?", "Toggle help"],
48
- ];
49
-
50
- const FUNCTION_KEYS = [
51
- { key: "F1", label: "Help" },
52
- { key: "F2", label: "Agents" },
53
- { key: "F3", label: "Providers" },
54
- { key: "F4", label: "Workflows" },
55
- { key: "F5", label: "Logs" },
56
- { key: "F6", label: "Metrics" },
57
- { key: "F7", label: "Memory" },
58
- { key: "F8", label: "Dashboard" },
59
- ];
60
-
61
- export const HelpOverlay = memo(function HelpOverlay({ onDismiss }: HelpOverlayProps) {
62
- const functionKeyElements = useMemo(() =>
63
- FUNCTION_KEYS.map((fn) => (
64
- <Box key={fn.key} marginRight={2}>
65
- <Text color={tuiColors.primary}>[{fn.key}]</Text>
66
- <Text color={tuiColors.textSecondary}> {fn.label}</Text>
67
- </Box>
68
- )),
69
- []
70
- );
71
-
72
- const sectionElements = useMemo(() =>
73
- COMMAND_SECTIONS.map((section) => (
74
- <Box key={section.title} flexDirection="column" width={28} marginRight={2}>
75
- <Text color={tuiColors.primary} bold>┌─ {section.title} ──────────────</Text>
76
- <Box flexDirection="column" marginTop={1}>
77
- {section.items.map(([cmd, desc]) => (
78
- <Box key={cmd} flexDirection="row" marginBottom={1}>
79
- <Text color={tuiColors.textPrimary}>{cmd.padEnd(14)}</Text>
80
- <Text color={tuiColors.textTertiary}>{desc}</Text>
81
- </Box>
82
- ))}
83
- </Box>
84
- </Box>
85
- )),
86
- []
87
- );
88
-
89
- const shortcutElements = useMemo(() =>
90
- KEYBOARD_SHORTCUTS.map(([key, action]) => (
91
- <Box key={key} marginRight={3}>
92
- <Text color={tuiColors.textPrimary}>[{key.padEnd(6)}]</Text>
93
- <Text color={tuiColors.textTertiary}> {action}</Text>
94
- </Box>
95
- )),
96
- []
97
- );
98
-
99
- return (
100
- <Box
101
- flexDirection="column"
102
- flexGrow={1}
103
- borderStyle="single"
104
- borderColor={tuiColors.primary}
105
- paddingX={2}
106
- >
107
- <Box marginBottom={1}>
108
- <Text color={tuiColors.primary} bold>■ RAXFLOW HELP</Text>
109
- <Text color={tuiColors.textTertiary}> ── Press [Esc] or [q] to close</Text>
110
- </Box>
111
-
112
- <Box borderStyle="single" borderColor={tuiColors.border} marginBottom={1}>
113
- <Text color={tuiColors.textTertiary}>
114
- Orchestrator that Evolves with Your Host Tools
115
- </Text>
116
- </Box>
117
-
118
- <Box flexDirection="row" marginBottom={1}>
119
- {functionKeyElements}
120
- </Box>
121
-
122
- <Box flexDirection="row" flexGrow={1}>
123
- {sectionElements}
124
- </Box>
125
-
126
- <Box marginTop={1}>
127
- <Text color={tuiColors.primary} bold>┌─ KEYBOARD ─────────────────────────────────────</Text>
128
- </Box>
129
- <Box flexDirection="row">
130
- {shortcutElements}
131
- </Box>
132
-
133
- <Box borderStyle="single" borderColor={tuiColors.border} marginTop={1}>
134
- <Text color={tuiColors.textTertiary}>
135
- Type your prompt to execute a workflow, or use /run "..." for explicit execution
136
- </Text>
137
- </Box>
138
- </Box>
139
- );
140
- });
@@ -1,69 +0,0 @@
1
- import React, { useState, memo, useMemo, useCallback } from "react";
2
- import { Box, Text } from "ink";
3
- import TextInput from "ink-text-input";
4
- import { tuiColors } from "../styles/index.js";
5
-
6
- interface InputBarProps {
7
- onSubmit: (input: string) => void;
8
- suggestions: string[];
9
- isProcessing: boolean;
10
- projectName: string;
11
- }
12
-
13
- export const InputBar = memo(function InputBar({ onSubmit, suggestions, isProcessing, projectName }: InputBarProps) {
14
- const [input, setInput] = useState("");
15
-
16
- const handleSubmit = useCallback((value: string) => {
17
- if (value.trim()) {
18
- onSubmit(value);
19
- setInput("");
20
- }
21
- }, [onSubmit]);
22
-
23
- const handleChange = useCallback((value: string) => {
24
- setInput(value);
25
- }, []);
26
-
27
- const filteredSuggestions = useMemo(() =>
28
- suggestions.filter((s) =>
29
- s.toLowerCase().startsWith(input.toLowerCase())
30
- ).slice(0, 5),
31
- [suggestions, input]
32
- );
33
-
34
- const showSuggestions = input.startsWith("/") && filteredSuggestions.length > 0;
35
-
36
- return (
37
- <Box flexDirection="column" borderStyle="single" borderColor={tuiColors.border} paddingX={1}>
38
- {showSuggestions && (
39
- <Box flexDirection="row" marginBottom={1}>
40
- {filteredSuggestions.map((s) => (
41
- <Box key={s} marginRight={2}>
42
- <Text color={tuiColors.primary}>{s}</Text>
43
- </Box>
44
- ))}
45
- </Box>
46
- )}
47
- <Box flexDirection="row" alignItems="center">
48
- <Text color={tuiColors.primary} bold>raxflow://</Text>
49
- <Text color={tuiColors.textSecondary}>{projectName}</Text>
50
- <Text color={tuiColors.textPrimary}> &gt; </Text>
51
- <Box flexGrow={1}>
52
- <TextInput
53
- value={input}
54
- onChange={handleChange}
55
- onSubmit={handleSubmit}
56
- placeholder="Enter prompt or /help..."
57
- showCursor={true}
58
- />
59
- </Box>
60
- {isProcessing && <Text color={tuiColors.warning}> ●</Text>}
61
- </Box>
62
- <Box flexDirection="row" marginTop={1}>
63
- <Text color={tuiColors.textQuaternary}>[Ctrl+C] Quit</Text>
64
- <Text color={tuiColors.textQuaternary}> │ [/cmd] Commands</Text>
65
- <Text color={tuiColors.textQuaternary}> │ [?] Help</Text>
66
- </Box>
67
- </Box>
68
- );
69
- });
@@ -1,132 +0,0 @@
1
- import React, { useState, useEffect, memo, useRef, useMemo } from "react";
2
- import { Box, Text } from "ink";
3
- import { tuiColors, logStatusTags } from "../styles/index.js";
4
- import { Spinner } from "./animations/index.js";
5
-
6
- interface LogsPanelProps {
7
- logs: string[];
8
- isActive: boolean;
9
- isStreaming?: boolean;
10
- maxHeight?: number;
11
- }
12
-
13
- const MAX_DISPLAYED_LOGS = 12;
14
- const HIGHLIGHT_DURATION = 2000;
15
-
16
- interface ParsedLog {
17
- time: string;
18
- tag: string;
19
- message: string;
20
- color: string;
21
- }
22
-
23
- function parseLogLine(log: string): ParsedLog | null {
24
- const timeMatch = log.match(/\[(\d{2}:\d{2}:\d{2}(?:\.\d+)?)\]/);
25
- const tagMatch = log.match(/\[(\w+)\]/g);
26
-
27
- if (!timeMatch || !tagMatch || tagMatch.length < 2) {
28
- return null;
29
- }
30
-
31
- const time = timeMatch[1];
32
- const tag = tagMatch[1].replace(/[\[\]]/g, "").toUpperCase();
33
-
34
- const tagConfig = Object.values(logStatusTags).find(t => t.tag.toUpperCase().includes(tag));
35
- const color = tagConfig?.color || tuiColors.textTertiary;
36
-
37
- const messageStart = log.indexOf(tagMatch[1]) + tagMatch[1].length;
38
- const message = log.slice(messageStart).trim();
39
-
40
- return { time, tag, message, color };
41
- }
42
-
43
- interface LogLineProps {
44
- log: string;
45
- isNew?: boolean;
46
- }
47
-
48
- const LogLine = memo(function LogLine({ log, isNew }: LogLineProps) {
49
- const parsed = useMemo(() => parseLogLine(log), [log]);
50
-
51
- if (!parsed) {
52
- return <Text color={tuiColors.textPrimary}>{log}</Text>;
53
- }
54
-
55
- const paddedTag = useMemo(() => parsed.tag.padEnd(7), [parsed.tag]);
56
-
57
- return (
58
- <Box flexDirection="row">
59
- <Text color={tuiColors.textTertiary}>[{parsed.time}]</Text>
60
- <Text color={parsed.color} bold> [{paddedTag}]</Text>
61
- <Text color={isNew ? tuiColors.textPrimary : tuiColors.textSecondary}> {parsed.message}</Text>
62
- </Box>
63
- );
64
- });
65
-
66
- export const LogsPanel = memo(function LogsPanel({ logs, isActive, isStreaming = false, maxHeight }: LogsPanelProps) {
67
- const borderColor = isActive ? tuiColors.primary : tuiColors.border;
68
- const [highlightedIndex, setHighlightedIndex] = useState<number | null>(null);
69
- const timeoutRef = useRef<NodeJS.Timeout | null>(null);
70
-
71
- const maxLogs = maxHeight ? Math.max(3, maxHeight - 4) : MAX_DISPLAYED_LOGS;
72
- const displayLogs = useMemo(() => logs.slice(-maxLogs), [logs, maxLogs]);
73
-
74
- useEffect(() => {
75
- if (logs.length === 0) return;
76
-
77
- if (timeoutRef.current) clearTimeout(timeoutRef.current);
78
-
79
- setHighlightedIndex(logs.length - 1);
80
- timeoutRef.current = setTimeout(() => {
81
- setHighlightedIndex(null);
82
- }, HIGHLIGHT_DURATION);
83
-
84
- return () => {
85
- if (timeoutRef.current) clearTimeout(timeoutRef.current);
86
- };
87
- }, [logs.length]);
88
-
89
- const logElements = useMemo(() =>
90
- displayLogs.map((log, index) => {
91
- const logIndex = logs.length - MAX_DISPLAYED_LOGS + index;
92
- const isNew = logIndex === highlightedIndex;
93
- return <LogLine key={`${logIndex}-${index}`} log={log} isNew={isNew} />;
94
- }),
95
- [displayLogs, logs.length, highlightedIndex]
96
- );
97
-
98
- return (
99
- <Box
100
- flexDirection="column"
101
- flexGrow={1}
102
- height={maxHeight}
103
- borderStyle="single"
104
- borderColor={borderColor}
105
- paddingX={1}
106
- >
107
- <Box marginBottom={1} flexShrink={0}>
108
- <Text color={tuiColors.primary} bold>┌─</Text>
109
- <Text color={tuiColors.primary} bold> LOGS_STREAM </Text>
110
- <Text color={tuiColors.textTertiary}>────────────────────────────</Text>
111
- {isStreaming && (
112
- <Box flexDirection="row">
113
- <Text color={tuiColors.warning}> </Text>
114
- <Spinner type="dots" color={tuiColors.warning} />
115
- </Box>
116
- )}
117
- </Box>
118
- <Box flexDirection="column" flexGrow={1} overflow="hidden">
119
- {logElements}
120
- {logs.length === 0 && (
121
- <Text color={tuiColors.textTertiary}>No logs. Start a workflow to see logs.</Text>
122
- )}
123
- {isStreaming && logs.length === 0 && (
124
- <Box flexDirection="row">
125
- <Spinner type="dots" color={tuiColors.warning} />
126
- <Text color={tuiColors.textTertiary}> Waiting for logs...</Text>
127
- </Box>
128
- )}
129
- </Box>
130
- </Box>
131
- );
132
- });
@@ -1,166 +0,0 @@
1
- import React, { memo, useMemo } from "react";
2
- import { Box, Text } from "ink";
3
- import { tuiColors, treeChars } from "../styles/index.js";
4
- import { Pulse } from "./animations/index.js";
5
-
6
- interface MemoryNode {
7
- id: string;
8
- type: string;
9
- label: string;
10
- }
11
-
12
- interface MemoryEdge {
13
- from: string;
14
- to: string;
15
- }
16
-
17
- interface MemoryPanelProps {
18
- nodes?: MemoryNode[];
19
- edges?: MemoryEdge[];
20
- nodeCount?: number;
21
- cacheHitRate?: number;
22
- isActive?: boolean;
23
- tick?: number;
24
- maxHeight?: number;
25
- }
26
-
27
- const DEFAULT_NODES: MemoryNode[] = [
28
- { id: "1", type: "action", label: "code_gen" },
29
- { id: "2", type: "file", label: "auth.ts" },
30
- { id: "3", type: "task", label: "login" },
31
- { id: "4", type: "test", label: "auth.test" },
32
- { id: "5", type: "fix", label: "patch_001" },
33
- ];
34
-
35
- const DEFAULT_EDGES: MemoryEdge[] = [
36
- { from: "1", to: "2" },
37
- { from: "2", to: "3" },
38
- { from: "3", to: "4" },
39
- { from: "4", to: "5" },
40
- { from: "2", to: "5" },
41
- ];
42
-
43
- const NODE_TYPE_COLORS: Record<string, string> = {
44
- action: tuiColors.primary,
45
- file: tuiColors.success,
46
- task: tuiColors.warning,
47
- test: tuiColors.textSecondary,
48
- fix: tuiColors.error,
49
- };
50
-
51
- interface NodeTypeBadgeProps {
52
- type: string;
53
- isActive?: boolean;
54
- }
55
-
56
- const NodeTypeBadge = memo(function NodeTypeBadge({ type, isActive }: NodeTypeBadgeProps) {
57
- const color = NODE_TYPE_COLORS[type] || tuiColors.textTertiary;
58
- return (
59
- <Box flexDirection="row">
60
- {isActive && <Pulse interval={400} color={color} type="pulse" />}
61
- <Text color={color}>[{type}]</Text>
62
- </Box>
63
- );
64
- });
65
-
66
- export const MemoryPanel = memo(function MemoryPanel({
67
- nodes,
68
- edges,
69
- nodeCount = 0,
70
- cacheHitRate = 0,
71
- isActive = false,
72
- tick = 0,
73
- maxHeight
74
- }: MemoryPanelProps) {
75
- const borderColor = isActive ? tuiColors.primary : tuiColors.border;
76
-
77
- const displayNodes = (nodes && nodes.length > 0) ? nodes : DEFAULT_NODES;
78
- const displayEdges = (edges && edges.length > 0) ? edges : DEFAULT_EDGES;
79
- const displayNodeCount = nodeCount > 0 ? nodeCount : 247;
80
- const displayCacheHitRate = cacheHitRate > 0 ? cacheHitRate : 94;
81
-
82
- const activeNodeIndex = isActive ? tick % 4 : -1;
83
-
84
- const nodeElements = useMemo(() =>
85
- displayNodes.slice(0, 4).map((node, idx) => {
86
- const isLast = idx === Math.min(3, displayNodes.length - 1);
87
- const isNodeActive = idx === activeNodeIndex;
88
- return (
89
- <Box key={node.id} flexDirection="row">
90
- <Text color={tuiColors.textTertiary}>{treeChars.vertical} </Text>
91
- <NodeTypeBadge type={node.type} isActive={isNodeActive} />
92
- <Text color={tuiColors.textPrimary}> {node.label}</Text>
93
- {!isLast && (
94
- <Text color={tuiColors.primary}> ──▶</Text>
95
- )}
96
- </Box>
97
- );
98
- }),
99
- [displayNodes, activeNodeIndex]
100
- );
101
-
102
- const edgeElements = useMemo(() =>
103
- displayEdges.slice(0, 3).map((edge, i) => {
104
- const fromNode = displayNodes.find((n) => n.id === edge.from);
105
- const toNode = displayNodes.find((n) => n.id === edge.to);
106
- return (
107
- <Box key={i} flexDirection="row">
108
- <Text color={tuiColors.textSecondary}>{treeChars.branch}</Text>
109
- <Text color={tuiColors.textPrimary}> {fromNode?.label || "?"}</Text>
110
- <Text color={tuiColors.primary}> ──▶ </Text>
111
- <Text color={tuiColors.textPrimary}>{toNode?.label || "?"}</Text>
112
- </Box>
113
- );
114
- }),
115
- [displayEdges, displayNodes]
116
- );
117
-
118
- const mutationCount = useMemo(() => Math.floor(Math.random() * 4) + 1, [tick]);
119
-
120
- return (
121
- <Box
122
- flexDirection="column"
123
- flexGrow={1}
124
- height={maxHeight}
125
- borderStyle="single"
126
- borderColor={borderColor}
127
- paddingX={1}
128
- >
129
- <Box marginBottom={1} flexShrink={0}>
130
- <Text color={tuiColors.primary} bold>┌─</Text>
131
- <Text color={tuiColors.primary} bold> QSGM </Text>
132
- <Text color={tuiColors.textTertiary}>── nodes: {displayNodeCount} ──</Text>
133
- {isActive && <Pulse interval={500} color={tuiColors.primary} type="pulse" />}
134
- </Box>
135
-
136
- <Box flexDirection="column" flexShrink={0}>
137
- <Text color={tuiColors.textTertiary} bold>QUANTUM_SEMANTIC_GRAPH_MEMORY</Text>
138
- </Box>
139
-
140
- <Box flexDirection="column" marginTop={1} overflow="hidden">
141
- <Text color={tuiColors.textTertiary} bold>GRAPH VISUALIZATION</Text>
142
- <Box flexDirection="column" marginTop={1}>
143
- {nodeElements}
144
- </Box>
145
- </Box>
146
-
147
- <Box flexDirection="column" marginTop={1} overflow="hidden">
148
- <Text color={tuiColors.textTertiary} bold>CONNECTIONS</Text>
149
- <Box flexDirection="column" marginTop={1}>
150
- {edgeElements}
151
- </Box>
152
- </Box>
153
-
154
- <Box marginTop={1} flexShrink={0}>
155
- <Text color={tuiColors.textTertiary}>├─ STATS ───────────────────</Text>
156
- </Box>
157
- <Box flexDirection="row" flexShrink={0}>
158
- <Text color={tuiColors.textSecondary}>Cache Hit:</Text>
159
- <Text color={tuiColors.success}> </Text>
160
- <Pulse interval={800} color={tuiColors.success} type="breath" />
161
- <Text color={tuiColors.success}> {displayCacheHitRate}%</Text>
162
- <Text color={tuiColors.textTertiary}> │ Mutations: +{mutationCount}</Text>
163
- </Box>
164
- </Box>
165
- );
166
- });