@ranker/raxflow 0.2.1 → 0.2.3

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 (214) hide show
  1. package/dist/benchmark.d.ts +10 -0
  2. package/dist/bin.d.ts +3 -0
  3. package/dist/bootstrap.d.ts +8 -0
  4. package/dist/bridge-adapter-templates.d.ts +4 -0
  5. package/dist/bridge-test.d.ts +7 -0
  6. package/dist/dashboard.d.ts +4 -0
  7. package/dist/doctor.d.ts +6 -0
  8. package/dist/evolve.d.ts +7 -0
  9. package/dist/host-init-templates.d.ts +16 -0
  10. package/dist/hub/__tests__/commands.test.d.ts +2 -0
  11. package/dist/hub/__tests__/history.test.d.ts +2 -0
  12. package/dist/hub/__tests__/parser.test.d.ts +2 -0
  13. package/dist/hub/commands/agents.d.ts +3 -0
  14. package/dist/hub/commands/index.d.ts +4 -0
  15. package/dist/hub/commands/logs.d.ts +3 -0
  16. package/dist/hub/commands/memory.d.ts +3 -0
  17. package/dist/hub/commands/metrics.d.ts +3 -0
  18. package/dist/hub/commands/providers.d.ts +3 -0
  19. package/dist/hub/commands/run.d.ts +3 -0
  20. package/dist/hub/commands/status.d.ts +3 -0
  21. package/dist/hub/commands/workflows.d.ts +3 -0
  22. package/dist/hub/config-loader.d.ts +4 -0
  23. package/dist/hub/history.d.ts +13 -0
  24. package/dist/hub/index.d.ts +4 -0
  25. package/dist/hub/parser.d.ts +4 -0
  26. package/dist/hub/styles/borders.d.ts +23 -0
  27. package/dist/hub/styles/colors.d.ts +63 -0
  28. package/dist/hub/styles/typography.d.ts +34 -0
  29. package/dist/hub/types.d.ts +27 -0
  30. package/{src/index.ts → dist/index.d.ts} +1 -0
  31. package/dist/init-host.d.ts +10 -0
  32. package/dist/install.d.ts +8 -0
  33. package/dist/run.d.ts +16 -0
  34. package/dist/setup/components/ProviderSelector.d.ts.map +1 -1
  35. package/dist/setup/components/ProviderSelector.js +8 -7
  36. package/dist/setup/components/ProviderSelector.js.map +1 -1
  37. package/dist/styles.d.ts +12 -0
  38. package/dist/tui/App.d.ts.map +1 -1
  39. package/dist/tui/App.js +7 -2
  40. package/dist/tui/App.js.map +1 -1
  41. package/dist/tui/components/ChatPanel.d.ts +1 -0
  42. package/dist/tui/components/ChatPanel.d.ts.map +1 -1
  43. package/dist/tui/components/ChatPanel.js +4 -3
  44. package/dist/tui/components/ChatPanel.js.map +1 -1
  45. package/dist/tui/components/DAGPanel.d.ts +1 -0
  46. package/dist/tui/components/DAGPanel.d.ts.map +1 -1
  47. package/dist/tui/components/DAGPanel.js +4 -3
  48. package/dist/tui/components/DAGPanel.js.map +1 -1
  49. package/dist/tui/components/Header.d.ts.map +1 -1
  50. package/dist/tui/components/Header.js +1 -1
  51. package/dist/tui/components/Header.js.map +1 -1
  52. package/dist/tui/components/InputBar.d.ts.map +1 -1
  53. package/dist/tui/components/InputBar.js +1 -1
  54. package/dist/tui/components/InputBar.js.map +1 -1
  55. package/dist/tui/components/LogsPanel.d.ts +1 -0
  56. package/dist/tui/components/LogsPanel.d.ts.map +1 -1
  57. package/dist/tui/components/LogsPanel.js +4 -3
  58. package/dist/tui/components/LogsPanel.js.map +1 -1
  59. package/dist/tui/components/MemoryPanel.d.ts +1 -0
  60. package/dist/tui/components/MemoryPanel.d.ts.map +1 -1
  61. package/dist/tui/components/MemoryPanel.js +2 -2
  62. package/dist/tui/components/MemoryPanel.js.map +1 -1
  63. package/dist/tui/components/MetricsPanel.d.ts +1 -0
  64. package/dist/tui/components/MetricsPanel.d.ts.map +1 -1
  65. package/dist/tui/components/MetricsPanel.js +2 -2
  66. package/dist/tui/components/MetricsPanel.js.map +1 -1
  67. package/dist/tui/components/StatusPanel.d.ts +1 -0
  68. package/dist/tui/components/StatusPanel.d.ts.map +1 -1
  69. package/dist/tui/components/StatusPanel.js +4 -3
  70. package/dist/tui/components/StatusPanel.js.map +1 -1
  71. package/dist/vendor-manifests.d.ts +22 -0
  72. package/package.json +5 -1
  73. package/dashboard/index.html +0 -420
  74. package/dist/hub/chat/ChatApp.d.ts +0 -2
  75. package/dist/hub/chat/ChatApp.d.ts.map +0 -1
  76. package/dist/hub/chat/ChatApp.js +0 -146
  77. package/dist/hub/chat/ChatApp.js.map +0 -1
  78. package/dist/hub/chat/components/ChatInput.d.ts +0 -9
  79. package/dist/hub/chat/components/ChatInput.d.ts.map +0 -1
  80. package/dist/hub/chat/components/ChatInput.js +0 -19
  81. package/dist/hub/chat/components/ChatInput.js.map +0 -1
  82. package/dist/hub/chat/components/MessageList.d.ts +0 -7
  83. package/dist/hub/chat/components/MessageList.d.ts.map +0 -1
  84. package/dist/hub/chat/components/MessageList.js +0 -6
  85. package/dist/hub/chat/components/MessageList.js.map +0 -1
  86. package/dist/hub/chat/context.d.ts.map +0 -1
  87. package/dist/hub/chat/context.js +0 -42
  88. package/dist/hub/chat/context.js.map +0 -1
  89. package/dist/hub/chat/hooks/useChatHistory.d.ts +0 -7
  90. package/dist/hub/chat/hooks/useChatHistory.d.ts.map +0 -1
  91. package/dist/hub/chat/hooks/useChatHistory.js +0 -31
  92. package/dist/hub/chat/hooks/useChatHistory.js.map +0 -1
  93. package/dist/hub/chat/index.d.ts.map +0 -1
  94. package/dist/hub/chat/index.js +0 -7
  95. package/dist/hub/chat/index.js.map +0 -1
  96. package/dist/hub/chat/intent-parser.d.ts.map +0 -1
  97. package/dist/hub/chat/intent-parser.js +0 -48
  98. package/dist/hub/chat/intent-parser.js.map +0 -1
  99. package/dist/hub/chat/types.d.ts.map +0 -1
  100. package/dist/hub/chat/types.js +0 -2
  101. package/dist/hub/chat/types.js.map +0 -1
  102. package/dist/hub/tui/App.d.ts +0 -2
  103. package/dist/hub/tui/App.d.ts.map +0 -1
  104. package/dist/hub/tui/App.js +0 -53
  105. package/dist/hub/tui/App.js.map +0 -1
  106. package/dist/hub/tui/components/AgentQueue.d.ts +0 -6
  107. package/dist/hub/tui/components/AgentQueue.d.ts.map +0 -1
  108. package/dist/hub/tui/components/AgentQueue.js +0 -20
  109. package/dist/hub/tui/components/AgentQueue.js.map +0 -1
  110. package/dist/hub/tui/components/DAGPanel.d.ts +0 -16
  111. package/dist/hub/tui/components/DAGPanel.d.ts.map +0 -1
  112. package/dist/hub/tui/components/DAGPanel.js +0 -51
  113. package/dist/hub/tui/components/DAGPanel.js.map +0 -1
  114. package/dist/hub/tui/components/Header.d.ts +0 -7
  115. package/dist/hub/tui/components/Header.d.ts.map +0 -1
  116. package/dist/hub/tui/components/Header.js +0 -17
  117. package/dist/hub/tui/components/Header.js.map +0 -1
  118. package/dist/hub/tui/components/LogsPanel.d.ts +0 -6
  119. package/dist/hub/tui/components/LogsPanel.d.ts.map +0 -1
  120. package/dist/hub/tui/components/LogsPanel.js +0 -26
  121. package/dist/hub/tui/components/LogsPanel.js.map +0 -1
  122. package/dist/hub/tui/components/StatusBar.d.ts +0 -8
  123. package/dist/hub/tui/components/StatusBar.d.ts.map +0 -1
  124. package/dist/hub/tui/components/StatusBar.js +0 -7
  125. package/dist/hub/tui/components/StatusBar.js.map +0 -1
  126. package/dist/hub/tui/hooks/useEvents.d.ts +0 -2
  127. package/dist/hub/tui/hooks/useEvents.d.ts.map +0 -1
  128. package/dist/hub/tui/hooks/useEvents.js +0 -13
  129. package/dist/hub/tui/hooks/useEvents.js.map +0 -1
  130. package/dist/hub/tui/index.d.ts.map +0 -1
  131. package/dist/hub/tui/index.js +0 -7
  132. package/dist/hub/tui/index.js.map +0 -1
  133. package/dist/hub/tui/types.d.ts.map +0 -1
  134. package/dist/hub/tui/types.js +0 -2
  135. package/dist/hub/tui/types.js.map +0 -1
  136. package/src/benchmark.ts +0 -156
  137. package/src/bin.ts +0 -156
  138. package/src/bootstrap.ts +0 -36
  139. package/src/bridge-adapter-templates.ts +0 -181
  140. package/src/bridge-test.ts +0 -107
  141. package/src/dashboard.ts +0 -51
  142. package/src/doctor.ts +0 -92
  143. package/src/evolve.ts +0 -74
  144. package/src/host-init-templates.ts +0 -134
  145. package/src/hub/__tests__/commands.test.ts +0 -84
  146. package/src/hub/__tests__/history.test.ts +0 -137
  147. package/src/hub/__tests__/parser.test.ts +0 -105
  148. package/src/hub/commands/agents.ts +0 -53
  149. package/src/hub/commands/index.ts +0 -140
  150. package/src/hub/commands/logs.ts +0 -70
  151. package/src/hub/commands/memory.ts +0 -47
  152. package/src/hub/commands/metrics.ts +0 -49
  153. package/src/hub/commands/providers.ts +0 -39
  154. package/src/hub/commands/run.ts +0 -37
  155. package/src/hub/commands/status.ts +0 -69
  156. package/src/hub/commands/workflows.ts +0 -64
  157. package/src/hub/config-loader.ts +0 -37
  158. package/src/hub/event-listener.ts +0 -17
  159. package/src/hub/history.ts +0 -66
  160. package/src/hub/index.ts +0 -132
  161. package/src/hub/parser.ts +0 -107
  162. package/src/hub/styles/borders.ts +0 -74
  163. package/src/hub/styles/colors.ts +0 -129
  164. package/src/hub/styles/typography.ts +0 -68
  165. package/src/hub/types.ts +0 -31
  166. package/src/init-host.ts +0 -285
  167. package/src/install.ts +0 -118
  168. package/src/run.ts +0 -317
  169. package/src/setup/components/ApiKeyInput.tsx +0 -158
  170. package/src/setup/components/AsciiBanner.tsx +0 -125
  171. package/src/setup/components/CliDetector.tsx +0 -230
  172. package/src/setup/components/ModeSelector.tsx +0 -137
  173. package/src/setup/components/ProviderSelector.tsx +0 -174
  174. package/src/setup/components/SetupWizard.tsx +0 -368
  175. package/src/setup/components/StepIndicator.tsx +0 -74
  176. package/src/setup/components/SuccessScreen.tsx +0 -229
  177. package/src/setup/index.ts +0 -34
  178. package/src/setup/utils/cli-detection.ts +0 -99
  179. package/src/setup/utils/config-writer.ts +0 -249
  180. package/src/styles.ts +0 -12
  181. package/src/tui/App.tsx +0 -177
  182. package/src/tui/components/AgentStateIcon.tsx +0 -84
  183. package/src/tui/components/AnimatedBranch.tsx +0 -134
  184. package/src/tui/components/ChatPanel.tsx +0 -125
  185. package/src/tui/components/DAGPanel.tsx +0 -208
  186. package/src/tui/components/ExecutionTimeline.tsx +0 -225
  187. package/src/tui/components/Header.tsx +0 -109
  188. package/src/tui/components/HelpOverlay.tsx +0 -140
  189. package/src/tui/components/InputBar.tsx +0 -69
  190. package/src/tui/components/LogsPanel.tsx +0 -129
  191. package/src/tui/components/MemoryPanel.tsx +0 -163
  192. package/src/tui/components/MetricsPanel.tsx +0 -149
  193. package/src/tui/components/StatusPanel.tsx +0 -137
  194. package/src/tui/components/TaskTree.tsx +0 -159
  195. package/src/tui/components/animations/ProgressBar.tsx +0 -160
  196. package/src/tui/components/animations/Pulse.tsx +0 -73
  197. package/src/tui/components/animations/Spinner.tsx +0 -54
  198. package/src/tui/components/animations/StatusAnimator.tsx +0 -153
  199. package/src/tui/components/animations/TypingEffect.tsx +0 -119
  200. package/src/tui/components/animations/index.ts +0 -16
  201. package/src/tui/hooks/useAnimation.ts +0 -290
  202. package/src/tui/hooks/useAppState.ts +0 -403
  203. package/src/tui/index.ts +0 -9
  204. package/src/tui/services/orchestrator.ts +0 -195
  205. package/src/tui/styles/borders.ts +0 -51
  206. package/src/tui/styles/colors.ts +0 -19
  207. package/src/tui/styles/index.ts +0 -20
  208. package/src/tui/styles/indicators.ts +0 -54
  209. package/src/tui/styles/layout.ts +0 -44
  210. package/src/tui/styles/providers.ts +0 -32
  211. package/src/tui/utils/animation.ts +0 -124
  212. package/src/vendor-manifests.ts +0 -113
  213. package/src/ws-relay.ts +0 -156
  214. package/tsconfig.json +0 -28
package/src/hub/index.ts DELETED
@@ -1,132 +0,0 @@
1
- import * as readline from "readline";
2
- import { HubOptions, HubContext, Command } from "./types.js";
3
- import { parseCommand, getCompletions } from "./parser.js";
4
- import { CommandHistory } from "./history.js";
5
- import { subscribeToEvents, RuntimeEvent } from "./event-listener.js";
6
- import { getCommandRegistry } from "./commands/index.js";
7
- import { loadConfig } from "./config-loader.js";
8
-
9
- const WELCOME_MESSAGE = `
10
- ┌─────────────────────────────────────────────────────────────┐
11
- │ ■ RAXFLOW HUB [HOST-NATIVE] ● READY │
12
- │ Project: %PROJECT% Agents: 12/12 Online │
13
- ├─────────────────────────────────────────────────────────────┤
14
- │ // BIENVENUE — Tapez 'help' ou '?' pour commencer │
15
- └─────────────────────────────────────────────────────────────┘
16
- `;
17
-
18
- export async function startHub(options: HubOptions): Promise<void> {
19
- const config = options.config || (await loadConfig(options.cwd));
20
- const context: HubContext = {
21
- config,
22
- };
23
-
24
- const history = new CommandHistory(options.cwd);
25
- await history.load();
26
-
27
- const commands = getCommandRegistry();
28
-
29
- console.log(WELCOME_MESSAGE.replace("%PROJECT%", config.project || "default"));
30
-
31
- let isClosing = false;
32
-
33
- const rl = readline.createInterface({
34
- input: process.stdin,
35
- output: process.stdout,
36
- prompt: "raxflow > ",
37
- completer: (line: string) => {
38
- const completions = getCompletions(line, context);
39
- const hits = completions.filter((c) => c.startsWith(line));
40
- return [hits.length ? hits : completions, line];
41
- },
42
- });
43
-
44
- const unsubscribe = subscribeToEvents((event: RuntimeEvent) => {
45
- const timeStr = new Date().toLocaleTimeString("fr-FR", { hour: "2-digit", minute: "2-digit" });
46
- switch (event.type) {
47
- case "run_start":
48
- console.log(`[${timeStr}] ▶ Task started: ${event.taskId}`);
49
- break;
50
- case "run_end":
51
- console.log(`[${timeStr}] ✓ Task completed: ${event.taskId} (confidence: ${event.metrics.confidence.toFixed(2)})`);
52
- break;
53
- case "node_error":
54
- console.log(`[${timeStr}] ⚠ Node error: ${event.agent} - ${event.message}`);
55
- break;
56
- }
57
- });
58
-
59
- rl.on("line", async (input: string) => {
60
- const trimmed = input.trim();
61
- if (!trimmed) {
62
- rl.prompt();
63
- return;
64
- }
65
-
66
- history.add(trimmed);
67
-
68
- const command = parseCommand(trimmed);
69
-
70
- if (command.name === "exit" || command.name === "quit") {
71
- isClosing = true;
72
- console.log("👋 À bientôt !");
73
- unsubscribe();
74
- rl.close();
75
- return;
76
- }
77
-
78
- const cmdDef = commands.get(command.name) || commands.get("help");
79
- if (cmdDef) {
80
- try {
81
- await cmdDef.handler(command.args, command.flags, context);
82
- } catch (error) {
83
- console.error(`❌ Erreur: ${error instanceof Error ? error.message : String(error)}`);
84
- }
85
- } else {
86
- console.log(`Commande inconnue: ${command.name}. Tapez 'help' pour voir les commandes disponibles.`);
87
- }
88
-
89
- if (!isClosing) {
90
- rl.prompt();
91
- }
92
- });
93
-
94
- rl.on("close", async () => {
95
- if (!isClosing) {
96
- await history.save();
97
- console.log("\n👋 À bientôt !");
98
- unsubscribe();
99
- }
100
- process.exit(0);
101
- });
102
-
103
- process.on("SIGINT", () => {
104
- console.log("\n");
105
- rl.prompt();
106
- });
107
-
108
- rl.prompt();
109
- }
110
-
111
- export async function startHubOneShot(command: string, args: string[]): Promise<void> {
112
- const cwd = process.cwd();
113
- const config = await loadConfig(cwd);
114
- const context: HubContext = { config };
115
- const commands = getCommandRegistry();
116
-
117
- const parsed = parseCommand([command, ...args].join(" "));
118
- const cmdDef = commands.get(parsed.name);
119
-
120
- if (!cmdDef) {
121
- console.error(`Commande inconnue: ${parsed.name}`);
122
- process.exit(1);
123
- }
124
-
125
- try {
126
- await cmdDef.handler(parsed.args, parsed.flags, context);
127
- process.exit(0);
128
- } catch (error) {
129
- console.error(`❌ Erreur: ${error instanceof Error ? error.message : String(error)}`);
130
- process.exit(1);
131
- }
132
- }
package/src/hub/parser.ts DELETED
@@ -1,107 +0,0 @@
1
- import { Command } from "./types.js";
2
-
3
- const BOOLEAN_FLAGS = new Set([
4
- "stream",
5
- "json",
6
- "f",
7
- "force",
8
- "verbose",
9
- "quiet",
10
- "dry-run",
11
- "yes",
12
- "help",
13
- ]);
14
-
15
- export function parseCommand(input: string): Command {
16
- const tokens = input.trim().split(/\s+/);
17
- const name = tokens[0] || "";
18
- const args: string[] = [];
19
- const flags: Record<string, string | boolean> = {};
20
-
21
- for (let i = 1; i < tokens.length; i++) {
22
- const token = tokens[i];
23
- if (token.startsWith("--")) {
24
- const flagName = token.slice(2);
25
- const nextToken = tokens[i + 1];
26
- if (nextToken && !nextToken.startsWith("-") && !BOOLEAN_FLAGS.has(flagName)) {
27
- flags[flagName] = nextToken;
28
- i++;
29
- } else {
30
- flags[flagName] = true;
31
- }
32
- } else if (token.startsWith("-")) {
33
- const flagName = token.slice(1);
34
- const nextToken = tokens[i + 1];
35
- if (nextToken && !nextToken.startsWith("-") && !BOOLEAN_FLAGS.has(flagName)) {
36
- flags[flagName] = nextToken;
37
- i++;
38
- } else {
39
- flags[flagName] = true;
40
- }
41
- } else {
42
- args.push(token);
43
- }
44
- }
45
-
46
- return { name, args, flags };
47
- }
48
-
49
- export function getCompletions(partial: string, _context?: unknown): string[] {
50
- const commands = [
51
- "run",
52
- "status",
53
- "agents",
54
- "providers",
55
- "workflows",
56
- "logs",
57
- "metrics",
58
- "memory",
59
- "install",
60
- "config",
61
- "doctor",
62
- "bridge-test",
63
- "benchmark",
64
- "evolve",
65
- "dashboard",
66
- "ui",
67
- "chat",
68
- "help",
69
- "exit",
70
- "quit",
71
- ];
72
-
73
- if (!partial) {
74
- return commands;
75
- }
76
-
77
- const trimmed = partial.trim();
78
- const endsWithSpace = partial.endsWith(" ");
79
- const tokens = trimmed.split(/\s+/);
80
- const currentWord = endsWithSpace ? "" : tokens[tokens.length - 1];
81
-
82
- if (tokens.length === 1 && !endsWithSpace) {
83
- return commands.filter((c) => c.startsWith(currentWord));
84
- }
85
-
86
- const command = tokens[0];
87
- const isKnownCommand = commands.includes(command);
88
-
89
- if (!isKnownCommand) {
90
- return [];
91
- }
92
-
93
- switch (command) {
94
- case "run":
95
- return ["--workflow", "--max-parallel", "--stream", "--json"].filter((c) =>
96
- c.startsWith(currentWord)
97
- );
98
- case "logs":
99
- return ["-f", "--agent", "--level"].filter((c) => c.startsWith(currentWord));
100
- case "agents":
101
- case "providers":
102
- case "workflows":
103
- return [];
104
- default:
105
- return [];
106
- }
107
- }
@@ -1,74 +0,0 @@
1
- // RAXFLOW Design System - Borders and Boxes
2
- // Brutalist style: no border-radius, sharp corners
3
-
4
- export const borders = {
5
- // Border characters for ASCII boxes
6
- horizontal: "─",
7
- vertical: "│",
8
- topLeft: "┌",
9
- topRight: "┐",
10
- bottomLeft: "└",
11
- bottomRight: "┘",
12
- leftT: "├",
13
- rightT: "┤",
14
- topT: "┬",
15
- bottomT: "┴",
16
- cross: "┼",
17
-
18
- // Double line (for emphasis)
19
- doubleHorizontal: "═",
20
- doubleVertical: "║",
21
- doubleTopLeft: "╔",
22
- doubleTopRight: "╗",
23
- doubleBottomLeft: "╚",
24
- doubleBottomRight: "╝",
25
- };
26
-
27
- // Box drawing utilities
28
- export function drawBox(content: string[], width: number, title?: string): string {
29
- const { topLeft, topRight, bottomLeft, bottomRight, horizontal, vertical } = borders;
30
-
31
- const lines: string[] = [];
32
-
33
- // Top border
34
- if (title) {
35
- const titleStr = ` ${title} `;
36
- const sideWidth = Math.floor((width - titleStr.length - 2) / 2);
37
- const leftSide = horizontal.repeat(sideWidth);
38
- const rightSide = horizontal.repeat(width - titleStr.length - 2 - sideWidth);
39
- lines.push(`${topLeft}${leftSide}${titleStr}${rightSide}${topRight}`);
40
- } else {
41
- lines.push(`${topLeft}${horizontal.repeat(width - 2)}${topRight}`);
42
- }
43
-
44
- // Content
45
- for (const line of content) {
46
- const padded = line.padEnd(width - 2, " ").slice(0, width - 2);
47
- lines.push(`${vertical}${padded}${vertical}`);
48
- }
49
-
50
- // Bottom border
51
- lines.push(`${bottomLeft}${horizontal.repeat(width - 2)}${bottomRight}`);
52
-
53
- return lines.join("\n");
54
- }
55
-
56
- export function drawSeparator(width: number, title?: string): string {
57
- const { leftT, rightT, horizontal } = borders;
58
-
59
- if (title) {
60
- const titleStr = ` ${title} `;
61
- const sideWidth = Math.floor((width - titleStr.length - 2) / 2);
62
- const leftSide = horizontal.repeat(sideWidth);
63
- const rightSide = horizontal.repeat(width - titleStr.length - 2 - sideWidth);
64
- return `${leftT}${leftSide}${titleStr}${rightSide}${rightT}`;
65
- }
66
-
67
- return `${leftT}${horizontal.repeat(width - 2)}${rightT}`;
68
- }
69
-
70
- export function drawProgressBar(percent: number, width: number = 20): string {
71
- const filled = Math.floor((percent / 100) * width);
72
- const empty = width - filled;
73
- return "█".repeat(filled) + "░".repeat(empty);
74
- }
@@ -1,129 +0,0 @@
1
- // RAXFLOW Design System - Colors
2
- // Based on cli-design.md specifications
3
-
4
- export const colors = {
5
- // Backgrounds
6
- background: "#050505",
7
- surface: "#0a0a0a",
8
- surfaceElev: "#0d0d0d",
9
-
10
- // Primary
11
- primary: "#f97316", // Orange vif
12
- primaryGlow: "rgba(249, 115, 22, 0.3)",
13
- primaryGlowHover: "rgba(249, 115, 22, 0.5)",
14
-
15
- // Text
16
- textPrimary: "#ffffff",
17
- textSecondary: "#a1a1aa",
18
- textTertiary: "#71717a",
19
- textQuaternary: "#3f3f46",
20
-
21
- // Status
22
- success: "#22c55e",
23
- warning: "#f59e0b",
24
- error: "#ef4444",
25
-
26
- // Borders
27
- border: "#27272a",
28
-
29
- // Mutations
30
- mutation: "#f59e0b",
31
- mutationGlow: "rgba(245, 158, 11, 0.4)",
32
- };
33
-
34
- // ANSI color codes for terminal
35
- export const ansiColors = {
36
- reset: "\x1b[0m",
37
- bright: "\x1b[1m",
38
- dim: "\x1b[2m",
39
-
40
- // Foreground colors
41
- black: "\x1b[30m",
42
- red: "\x1b[31m",
43
- green: "\x1b[32m",
44
- yellow: "\x1b[33m",
45
- blue: "\x1b[34m",
46
- magenta: "\x1b[35m",
47
- cyan: "\x1b[36m",
48
- white: "\x1b[37m",
49
- gray: "\x1b[90m",
50
-
51
- // Bright colors
52
- brightRed: "\x1b[91m",
53
- brightGreen: "\x1b[92m",
54
- brightYellow: "\x1b[93m",
55
- brightBlue: "\x1b[94m",
56
- brightMagenta: "\x1b[95m",
57
- brightCyan: "\x1b[96m",
58
- brightWhite: "\x1b[97m",
59
-
60
- // Background colors
61
- bgBlack: "\x1b[40m",
62
- bgRed: "\x1b[41m",
63
- bgGreen: "\x1b[42m",
64
- bgYellow: "\x1b[43m",
65
- bgBlue: "\x1b[44m",
66
- bgMagenta: "\x1b[45m",
67
- bgCyan: "\x1b[46m",
68
- bgWhite: "\x1b[47m",
69
- bgGray: "\x1b[100m",
70
- };
71
-
72
- // Status indicators
73
- export const statusIndicators = {
74
- online: "●",
75
- offline: "○",
76
- running: "▶",
77
- loading: "◐",
78
- mutation: "◆",
79
- checkpoint: "■",
80
- pending: "○",
81
- done: "✓",
82
- };
83
-
84
- // Provider indicators
85
- export const providerIndicators: Record<string, string> = {
86
- host: "[H]",
87
- claude: "[C]",
88
- opencode: "[O]",
89
- kilo: "[K]",
90
- anthropic: "[A]",
91
- gemini: "[G]",
92
- mistral: "[M]",
93
- groq: "[Q]",
94
- openai: "[O]",
95
- };
96
-
97
- // Utility functions
98
- export function colorize(text: string, color: keyof typeof ansiColors): string {
99
- return `${ansiColors[color]}${text}${ansiColors.reset}`;
100
- }
101
-
102
- export function statusColor(status: string): string {
103
- switch (status.toLowerCase()) {
104
- case "online":
105
- case "ready":
106
- case "active":
107
- case "done":
108
- case "success":
109
- return ansiColors.green;
110
- case "running":
111
- case "busy":
112
- return ansiColors.yellow;
113
- case "error":
114
- case "failed":
115
- return ansiColors.red;
116
- case "queued":
117
- case "pending":
118
- case "idle":
119
- return ansiColors.gray;
120
- default:
121
- return ansiColors.reset;
122
- }
123
- }
124
-
125
- export function formatStatus(status: string): string {
126
- const indicator = statusIndicators[status.toLowerCase() as keyof typeof statusIndicators] || "○";
127
- const color = statusColor(status);
128
- return `${color}${indicator}${ansiColors.reset}`;
129
- }
@@ -1,68 +0,0 @@
1
- // RAXFLOW Design System - Typography
2
- // Space Grotesk for titles, Space Mono for system text
3
-
4
- export const typography = {
5
- // Font families
6
- primary: "Space Grotesk",
7
- monospace: "Space Mono",
8
-
9
- // Font weights
10
- weights: {
11
- light: 300,
12
- regular: 400,
13
- medium: 500,
14
- bold: 700,
15
- },
16
-
17
- // Sizes (in terminal columns roughly)
18
- sizes: {
19
- hero: 4, // text-4xl
20
- section: 2, // text-2xl
21
- label: 0, // text-[10px]
22
- body: 1, // text-sm
23
- code: 0, // text-xs
24
- status: -1, // text-[9px]
25
- agent: 0, // text-xs
26
- provider: -1, // text-[9px]
27
- },
28
-
29
- // Tracking (letter-spacing)
30
- tracking: {
31
- none: "",
32
- tight: "",
33
- normal: "",
34
- wide: " ",
35
- label: " ", // 0.15em equivalent in monospace
36
- },
37
- };
38
-
39
- // Text formatting utilities for terminal
40
- export function upperCase(text: string): string {
41
- return text.toUpperCase();
42
- }
43
-
44
- export function padCenter(text: string, width: number): string {
45
- const padding = Math.max(0, width - text.length);
46
- const leftPad = Math.floor(padding / 2);
47
- const rightPad = padding - leftPad;
48
- return " ".repeat(leftPad) + text + " ".repeat(rightPad);
49
- }
50
-
51
- export function padRight(text: string, width: number): string {
52
- const padding = Math.max(0, width - text.length);
53
- return text + " ".repeat(padding);
54
- }
55
-
56
- export function padLeft(text: string, width: number): string {
57
- const padding = Math.max(0, width - text.length);
58
- return " ".repeat(padding) + text;
59
- }
60
-
61
- export function truncate(text: string, maxLength: number): string {
62
- if (text.length <= maxLength) return text;
63
- return text.slice(0, maxLength - 3) + "...";
64
- }
65
-
66
- export function formatLabel(text: string): string {
67
- return upperCase(text).split("").join(" ");
68
- }
package/src/hub/types.ts DELETED
@@ -1,31 +0,0 @@
1
- export interface HubOptions {
2
- cwd: string;
3
- config?: HubConfig;
4
- }
5
-
6
- export interface HubConfig {
7
- project?: string;
8
- providers?: string[];
9
- theme?: 'industrial' | 'minimal' | 'high-contrast';
10
- }
11
-
12
- export interface Command {
13
- name: string;
14
- args: string[];
15
- flags: Record<string, string | boolean>;
16
- }
17
-
18
- export interface HubContext {
19
- currentWorkflow?: string;
20
- currentRun?: string;
21
- config: HubConfig;
22
- }
23
-
24
- export type CommandHandler = (args: string[], flags: Record<string, string | boolean>, context: HubContext) => Promise<void>;
25
-
26
- export interface CommandDefinition {
27
- name: string;
28
- description: string;
29
- handler: CommandHandler;
30
- aliases?: string[];
31
- }