@ranker/raxflow 2.0.5 → 2.1.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 (152) hide show
  1. package/dist/hub/components/ChatInput.d.ts +14 -0
  2. package/dist/hub/components/ChatInput.d.ts.map +1 -0
  3. package/dist/hub/components/ChatInput.js +14 -0
  4. package/dist/hub/components/ChatInput.js.map +1 -0
  5. package/dist/hub/components/ChatMessage.d.ts +14 -0
  6. package/dist/hub/components/ChatMessage.d.ts.map +1 -0
  7. package/dist/hub/components/ChatMessage.js +23 -0
  8. package/dist/hub/components/ChatMessage.js.map +1 -0
  9. package/dist/hub/components/HubHeader.d.ts +12 -0
  10. package/dist/hub/components/HubHeader.d.ts.map +1 -0
  11. package/dist/hub/components/HubHeader.js +12 -0
  12. package/dist/hub/components/HubHeader.js.map +1 -0
  13. package/dist/hub/components/index.d.ts +7 -0
  14. package/dist/hub/components/index.d.ts.map +1 -0
  15. package/dist/hub/components/index.js +7 -0
  16. package/dist/hub/components/index.js.map +1 -0
  17. package/dist/tui/App.d.ts.map +1 -1
  18. package/dist/tui/App.js +5 -5
  19. package/dist/tui/App.js.map +1 -1
  20. package/dist/tui/components/ChatPanel.d.ts +1 -1
  21. package/dist/tui/components/ChatPanel.d.ts.map +1 -1
  22. package/dist/tui/components/ChatPanel.js +37 -26
  23. package/dist/tui/components/ChatPanel.js.map +1 -1
  24. package/dist/tui/components/DAGPanel.d.ts +3 -4
  25. package/dist/tui/components/DAGPanel.d.ts.map +1 -1
  26. package/dist/tui/components/DAGPanel.js +44 -36
  27. package/dist/tui/components/DAGPanel.js.map +1 -1
  28. package/dist/tui/components/Header.d.ts.map +1 -1
  29. package/dist/tui/components/Header.js +54 -36
  30. package/dist/tui/components/Header.js.map +1 -1
  31. package/dist/tui/components/HelpOverlay.d.ts.map +1 -1
  32. package/dist/tui/components/HelpOverlay.js +7 -5
  33. package/dist/tui/components/HelpOverlay.js.map +1 -1
  34. package/dist/tui/components/InputBar.d.ts.map +1 -1
  35. package/dist/tui/components/InputBar.js +25 -13
  36. package/dist/tui/components/InputBar.js.map +1 -1
  37. package/dist/tui/components/LogsPanel.d.ts.map +1 -1
  38. package/dist/tui/components/LogsPanel.js +23 -17
  39. package/dist/tui/components/LogsPanel.js.map +1 -1
  40. package/dist/tui/components/MemoryPanel.d.ts +1 -1
  41. package/dist/tui/components/MemoryPanel.d.ts.map +1 -1
  42. package/dist/tui/components/MemoryPanel.js +24 -31
  43. package/dist/tui/components/MemoryPanel.js.map +1 -1
  44. package/dist/tui/components/MetricsPanel.d.ts +1 -1
  45. package/dist/tui/components/MetricsPanel.d.ts.map +1 -1
  46. package/dist/tui/components/MetricsPanel.js +10 -13
  47. package/dist/tui/components/MetricsPanel.js.map +1 -1
  48. package/dist/tui/components/SelectMenu.d.ts +20 -0
  49. package/dist/tui/components/SelectMenu.d.ts.map +1 -0
  50. package/dist/tui/components/SelectMenu.js +19 -0
  51. package/dist/tui/components/SelectMenu.js.map +1 -0
  52. package/dist/tui/components/StatusPanel.d.ts +1 -1
  53. package/dist/tui/components/StatusPanel.d.ts.map +1 -1
  54. package/dist/tui/components/StatusPanel.js +26 -18
  55. package/dist/tui/components/StatusPanel.js.map +1 -1
  56. package/dist/tui/components/animations/ProgressBar.d.ts +8 -1
  57. package/dist/tui/components/animations/ProgressBar.d.ts.map +1 -1
  58. package/dist/tui/components/animations/ProgressBar.js +52 -26
  59. package/dist/tui/components/animations/ProgressBar.js.map +1 -1
  60. package/dist/tui/components/animations/Pulse.d.ts +11 -3
  61. package/dist/tui/components/animations/Pulse.d.ts.map +1 -1
  62. package/dist/tui/components/animations/Pulse.js +23 -14
  63. package/dist/tui/components/animations/Pulse.js.map +1 -1
  64. package/dist/tui/components/animations/Spinner.d.ts +2 -1
  65. package/dist/tui/components/animations/Spinner.d.ts.map +1 -1
  66. package/dist/tui/components/animations/Spinner.js +31 -16
  67. package/dist/tui/components/animations/Spinner.js.map +1 -1
  68. package/dist/tui/components/animations/StatusAnimator.d.ts +3 -0
  69. package/dist/tui/components/animations/StatusAnimator.d.ts.map +1 -1
  70. package/dist/tui/components/animations/StatusAnimator.js +43 -28
  71. package/dist/tui/components/animations/StatusAnimator.js.map +1 -1
  72. package/dist/tui/components/animations/TypingEffect.d.ts +1 -0
  73. package/dist/tui/components/animations/TypingEffect.d.ts.map +1 -1
  74. package/dist/tui/components/animations/TypingEffect.js +13 -7
  75. package/dist/tui/components/animations/TypingEffect.js.map +1 -1
  76. package/dist/tui/components/animations/index.d.ts +3 -2
  77. package/dist/tui/components/animations/index.d.ts.map +1 -1
  78. package/dist/tui/components/animations/index.js +2 -2
  79. package/dist/tui/components/animations/index.js.map +1 -1
  80. package/dist/tui/components/composed/Button.d.ts +18 -0
  81. package/dist/tui/components/composed/Button.d.ts.map +1 -0
  82. package/dist/tui/components/composed/Button.js +22 -0
  83. package/dist/tui/components/composed/Button.js.map +1 -0
  84. package/dist/tui/components/composed/Divider.d.ts +13 -0
  85. package/dist/tui/components/composed/Divider.d.ts.map +1 -0
  86. package/dist/tui/components/composed/Divider.js +18 -0
  87. package/dist/tui/components/composed/Divider.js.map +1 -0
  88. package/dist/tui/components/composed/StatusBadge.d.ts +14 -0
  89. package/dist/tui/components/composed/StatusBadge.d.ts.map +1 -0
  90. package/dist/tui/components/composed/StatusBadge.js +28 -0
  91. package/dist/tui/components/composed/StatusBadge.js.map +1 -0
  92. package/dist/tui/components/composed/index.d.ts +7 -0
  93. package/dist/tui/components/composed/index.d.ts.map +1 -0
  94. package/dist/tui/components/composed/index.js +7 -0
  95. package/dist/tui/components/composed/index.js.map +1 -0
  96. package/dist/tui/components/layouts/Container.d.ts +14 -0
  97. package/dist/tui/components/layouts/Container.d.ts.map +1 -0
  98. package/dist/tui/components/layouts/Container.js +10 -0
  99. package/dist/tui/components/layouts/Container.js.map +1 -0
  100. package/dist/tui/components/layouts/Grid.d.ts +14 -0
  101. package/dist/tui/components/layouts/Grid.d.ts.map +1 -0
  102. package/dist/tui/components/layouts/Grid.js +13 -0
  103. package/dist/tui/components/layouts/Grid.js.map +1 -0
  104. package/dist/tui/components/layouts/Stack.d.ts +32 -0
  105. package/dist/tui/components/layouts/Stack.d.ts.map +1 -0
  106. package/dist/tui/components/layouts/Stack.js +17 -0
  107. package/dist/tui/components/layouts/Stack.js.map +1 -0
  108. package/dist/tui/components/layouts/index.d.ts +7 -0
  109. package/dist/tui/components/layouts/index.d.ts.map +1 -0
  110. package/dist/tui/components/layouts/index.js +7 -0
  111. package/dist/tui/components/layouts/index.js.map +1 -0
  112. package/dist/tui/components/primitives/Box.d.ts +28 -0
  113. package/dist/tui/components/primitives/Box.d.ts.map +1 -0
  114. package/dist/tui/components/primitives/Box.js +38 -0
  115. package/dist/tui/components/primitives/Box.js.map +1 -0
  116. package/dist/tui/components/primitives/Panel.d.ts +17 -0
  117. package/dist/tui/components/primitives/Panel.d.ts.map +1 -0
  118. package/dist/tui/components/primitives/Panel.js +12 -0
  119. package/dist/tui/components/primitives/Panel.js.map +1 -0
  120. package/dist/tui/components/primitives/Text.d.ts +18 -0
  121. package/dist/tui/components/primitives/Text.d.ts.map +1 -0
  122. package/dist/tui/components/primitives/Text.js +21 -0
  123. package/dist/tui/components/primitives/Text.js.map +1 -0
  124. package/dist/tui/components/primitives/index.d.ts +7 -0
  125. package/dist/tui/components/primitives/index.d.ts.map +1 -0
  126. package/dist/tui/components/primitives/index.js +7 -0
  127. package/dist/tui/components/primitives/index.js.map +1 -0
  128. package/dist/tui/hooks/useTerminalSize.d.ts +3 -0
  129. package/dist/tui/hooks/useTerminalSize.d.ts.map +1 -1
  130. package/dist/tui/hooks/useTerminalSize.js +36 -10
  131. package/dist/tui/hooks/useTerminalSize.js.map +1 -1
  132. package/dist/tui/styles/colors.d.ts +4 -0
  133. package/dist/tui/styles/colors.d.ts.map +1 -1
  134. package/dist/tui/styles/colors.js +54 -14
  135. package/dist/tui/styles/colors.js.map +1 -1
  136. package/dist/tui/styles/design-system.d.ts +107 -0
  137. package/dist/tui/styles/design-system.d.ts.map +1 -0
  138. package/dist/tui/styles/design-system.js +140 -0
  139. package/dist/tui/styles/design-system.js.map +1 -0
  140. package/dist/tui/styles/index.d.ts +4 -2
  141. package/dist/tui/styles/index.d.ts.map +1 -1
  142. package/dist/tui/styles/index.js +3 -2
  143. package/dist/tui/styles/index.js.map +1 -1
  144. package/dist/tui/styles/themes.d.ts +10 -0
  145. package/dist/tui/styles/themes.d.ts.map +1 -1
  146. package/dist/tui/styles/themes.js +137 -47
  147. package/dist/tui/styles/themes.js.map +1 -1
  148. package/dist/tui/styles/tokens.d.ts +262 -0
  149. package/dist/tui/styles/tokens.d.ts.map +1 -0
  150. package/dist/tui/styles/tokens.js +230 -0
  151. package/dist/tui/styles/tokens.js.map +1 -0
  152. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../src/tui/components/Header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAI7C,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAY,MAAM,qBAAqB,CAAC;AAE1D,UAAU,WAAW;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,SAAS,CAAC;CAClB;AAcD,eAAO,MAAM,MAAM,yCAiHjB,CAAC"}
1
+ {"version":3,"file":"Header.d.ts","sourceRoot":"","sources":["../../../src/tui/components/Header.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAG7C,OAAO,EAAE,UAAU,EAAE,MAAM,6BAA6B,CAAC;AACzD,OAAO,EAAE,SAAS,EAAY,MAAM,qBAAqB,CAAC;AAG1D,UAAU,WAAW;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,OAAO,GAAG,SAAS,GAAG,OAAO,CAAC;IACtC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,UAAU,CAAC;IACvB,KAAK,EAAE,SAAS,CAAC;CAClB;AAeD,eAAO,MAAM,MAAM,yCA8IjB,CAAC"}
@@ -1,46 +1,64 @@
1
- import { jsxs as _jsxs, jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
1
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { memo, useMemo } from "react";
3
3
  import { Box, Text } from "ink";
4
- import { getStatusIndicator, getProviderTag } from "../styles/index.js";
5
4
  import { StatusPulse } from "./animations/index.js";
6
5
  import { getTheme } from "../styles/colors.js";
7
- const PANEL_NAMES = {
8
- chat: "CHAT",
9
- dag: "DAG",
10
- status: "STATUS",
11
- logs: "LOGS",
12
- metrics: "METRICS",
13
- memory: "MEMORY",
6
+ const PANEL_CONFIG = {
7
+ chat: { label: "CHAT", key: "1" },
8
+ dag: { label: "DAG", key: "2" },
9
+ status: { label: "STATUS", key: "3" },
10
+ logs: { label: "LOGS", key: "4" },
11
+ metrics: { label: "METRICS", key: "5" },
12
+ memory: { label: "MEMORY", key: "6" },
14
13
  };
15
- const PANELS = ["chat", "dag", "logs", "metrics", "memory"];
14
+ const FULL_PANELS = ["chat", "dag", "logs", "metrics", "memory"];
16
15
  const COMPACT_PANELS = ["chat", "dag", "status"];
17
- export const Header = memo(function Header({ projectName, agentCount, provider, model, status, tick, activePanel, layoutMode, theme }) {
18
- const fullTheme = getTheme(theme);
19
- const isDark = theme === "default";
20
- const statusInfo = useMemo(() => getStatusIndicator(status), [status]);
21
- const providerInfo = useMemo(() => getProviderTag(provider), [provider]);
22
- const statusText = status === "ready" ? "ONLINE" : status === "running" ? "RUNNING" : "ERROR";
23
- const statusColor = status === "ready"
24
- ? fullTheme.colors.success
25
- : status === "running"
26
- ? fullTheme.colors.warning
27
- : fullTheme.colors.error;
28
- const pulseStatus = status === "ready"
29
- ? "online"
30
- : status === "running"
31
- ? "running"
32
- : "error";
33
- const displayPanels = layoutMode === "minimal" ? COMPACT_PANELS :
34
- layoutMode === "compact" ? COMPACT_PANELS : PANELS;
35
- const panelElements = useMemo(() => displayPanels.map((panel) => (_jsx(Box, { marginRight: 1, children: _jsxs(Text, { color: activePanel === panel ? fullTheme.colors.primary : fullTheme.colors.textTertiary, bold: activePanel === panel, children: ["[", PANEL_NAMES[panel], "]"] }) }, panel))), [activePanel, displayPanels, fullTheme]);
36
- const primaryColor = fullTheme.colors.primary;
37
- const textPrimary = fullTheme.colors.textPrimary;
38
- const textSecondary = fullTheme.colors.textSecondary;
39
- const textTertiary = fullTheme.colors.textTertiary;
40
- const borderColor = fullTheme.colors.border;
16
+ const MINIMAL_PANELS = ["chat", "dag"];
17
+ export const Header = memo(function Header({ projectName, agentCount, provider, model, status, tick, activePanel, layoutMode, theme: themeName, }) {
18
+ const theme = getTheme(themeName);
19
+ const statusConfig = useMemo(() => {
20
+ switch (status) {
21
+ case "ready":
22
+ return { label: "READY", color: theme.colors.success, pulse: "online" };
23
+ case "running":
24
+ return { label: "RUNNING", color: theme.colors.warning, pulse: "running" };
25
+ case "error":
26
+ return { label: "ERROR", color: theme.colors.error, pulse: "error" };
27
+ default:
28
+ return { label: "IDLE", color: theme.colors.textTertiary, pulse: "offline" };
29
+ }
30
+ }, [status, theme]);
31
+ const panels = useMemo(() => {
32
+ switch (layoutMode) {
33
+ case "full":
34
+ return FULL_PANELS;
35
+ case "compact":
36
+ return COMPACT_PANELS;
37
+ case "minimal":
38
+ return MINIMAL_PANELS;
39
+ default:
40
+ return COMPACT_PANELS;
41
+ }
42
+ }, [layoutMode]);
43
+ const modelDisplay = useMemo(() => {
44
+ const maxLength = layoutMode === "minimal" ? 8 : 14;
45
+ return model.length > maxLength ? model.slice(0, maxLength) + "…" : model;
46
+ }, [model, layoutMode]);
47
+ const projectDisplay = useMemo(() => {
48
+ const maxLength = layoutMode === "minimal" ? 8 : 16;
49
+ return projectName.length > maxLength ? projectName.slice(0, maxLength) + "…" : projectName;
50
+ }, [projectName, layoutMode]);
41
51
  if (layoutMode === "minimal") {
42
- return (_jsxs(Box, { flexDirection: "row", width: "100%", justifyContent: "space-between", paddingX: 1, children: [_jsxs(Box, { flexDirection: "row", alignItems: "center", children: [_jsx(Text, { color: primaryColor, bold: true, children: "\u25A0" }), _jsx(Text, { color: textPrimary, bold: true, children: " RAXFLOW" }), _jsx(Text, { color: statusColor, children: " " }), _jsx(StatusPulse, { status: pulseStatus, tick: tick })] }), _jsx(Box, { flexDirection: "row", children: panelElements })] }));
52
+ return (_jsxs(Box, { flexDirection: "row", width: "100%", justifyContent: "space-between", paddingX: 1, borderStyle: "single", borderColor: theme.colors.border, children: [_jsxs(Box, { flexDirection: "row", alignItems: "center", gap: 1, children: [_jsx(Text, { color: theme.colors.primary, bold: true, children: "\u25C6" }), _jsx(Text, { color: theme.colors.textPrimary, bold: true, children: "RAX" }), _jsx(Text, { color: theme.colors.textTertiary, children: "\u2502" }), _jsx(StatusPulse, { status: statusConfig.pulse, tick: tick }), _jsx(Text, { color: statusConfig.color, children: statusConfig.label })] }), _jsx(Box, { flexDirection: "row", alignItems: "center", gap: 1, children: panels.map((panel) => {
53
+ const config = PANEL_CONFIG[panel];
54
+ const isActive = activePanel === panel;
55
+ return (_jsx(Text, { color: isActive ? theme.colors.primary : theme.colors.textTertiary, bold: isActive, children: isActive ? `[${config.label}]` : config.label }, panel));
56
+ }) })] }));
43
57
  }
44
- return (_jsxs(Box, { flexDirection: "column", width: "100%", flexShrink: 0, children: [_jsxs(Box, { flexDirection: "row", justifyContent: "space-between", alignItems: "center", paddingX: 1, borderStyle: "single", borderColor: borderColor, children: [_jsxs(Box, { flexDirection: "row", alignItems: "center", children: [_jsx(Text, { color: primaryColor, bold: true, children: "\u25A0" }), _jsx(Text, { color: textPrimary, bold: true, children: " RAXFLOW" }), _jsx(Text, { color: textSecondary, children: " HUB" })] }), _jsxs(Box, { flexDirection: "row", alignItems: "center", gap: 1, children: [_jsx(Text, { color: textTertiary, children: "Project:" }), _jsxs(Text, { color: textPrimary, children: [" ", projectName] }), _jsx(Text, { color: fullTheme.colors.textQuaternary, children: " \u2502" }), _jsx(Text, { color: textTertiary, children: " Model:" }), _jsxs(Text, { color: primaryColor, children: [" ", model] }), layoutMode === "full" && (_jsxs(_Fragment, { children: [_jsx(Text, { color: fullTheme.colors.textQuaternary, children: " \u2502" }), _jsx(Text, { color: textSecondary, children: providerInfo.code })] })), _jsx(Text, { color: statusColor, children: " " }), _jsx(StatusPulse, { status: pulseStatus, tick: tick }), _jsxs(Text, { color: statusColor, children: [" ", statusText] })] })] }), _jsxs(Box, { flexDirection: "row", paddingX: 1, justifyContent: "space-between", children: [_jsx(Box, { flexDirection: "row", children: panelElements }), _jsx(Box, { flexDirection: "row", children: _jsx(Text, { color: fullTheme.colors.textQuaternary, children: "Tab:Switch \u2502 toggle:Mode \u2502 ?:Help \u2502 Ctrl+C:Quit" }) })] })] }));
58
+ return (_jsxs(Box, { flexDirection: "column", width: "100%", flexShrink: 0, children: [_jsxs(Box, { flexDirection: "row", justifyContent: "space-between", alignItems: "center", paddingX: 1, borderStyle: "single", borderColor: theme.colors.border, children: [_jsxs(Box, { flexDirection: "row", alignItems: "center", gap: 1, children: [_jsx(Text, { color: theme.colors.primary, bold: true, children: "\u25C6" }), _jsx(Text, { color: theme.colors.textPrimary, bold: true, children: "RAXFLOW" }), _jsx(Text, { color: theme.colors.textTertiary, children: "\u2502" }), _jsx(Text, { color: theme.colors.textSecondary, children: projectDisplay })] }), _jsxs(Box, { flexDirection: "row", alignItems: "center", gap: 1, children: [_jsx(Text, { color: theme.colors.textTertiary, children: "model:" }), _jsx(Text, { color: theme.colors.primary, children: modelDisplay }), _jsx(Text, { color: theme.colors.textQuaternary, children: "\u2502" }), _jsx(StatusPulse, { status: statusConfig.pulse, tick: tick }), _jsx(Text, { color: statusConfig.color, bold: true, children: statusConfig.label })] })] }), _jsxs(Box, { flexDirection: "row", justifyContent: "space-between", alignItems: "center", paddingX: 1, children: [_jsx(Box, { flexDirection: "row", alignItems: "center", gap: 2, children: panels.map((panel) => {
59
+ const config = PANEL_CONFIG[panel];
60
+ const isActive = activePanel === panel;
61
+ return (_jsx(Box, { flexDirection: "row", children: _jsx(Text, { color: isActive ? theme.colors.primary : theme.colors.textTertiary, bold: isActive, children: isActive ? `[${config.label}]` : ` ${config.label} ` }) }, panel));
62
+ }) }), _jsx(Box, { flexDirection: "row", alignItems: "center", children: _jsx(Text, { color: theme.colors.textQuaternary, children: "Tab\u2192Switch \u2502 ?:Help \u2502 Ctrl+C:Quit" }) })] })] }));
45
63
  });
46
64
  //# sourceMappingURL=Header.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/tui/components/Header.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Header.js","sourceRoot":"","sources":["../../../src/tui/components/Header.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"HelpOverlay.d.ts","sourceRoot":"","sources":["../../../src/tui/components/HelpOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAI7C,UAAU,gBAAgB;IACxB,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAsDD,eAAO,MAAM,WAAW,8CA+EtB,CAAC"}
1
+ {"version":3,"file":"HelpOverlay.d.ts","sourceRoot":"","sources":["../../../src/tui/components/HelpOverlay.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAK7C,UAAU,gBAAgB;IACxB,SAAS,EAAE,MAAM,IAAI,CAAC;CACvB;AAsDD,eAAO,MAAM,WAAW,8CAqFtB,CAAC"}
@@ -1,7 +1,8 @@
1
1
  import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
2
2
  import { memo, useMemo } from "react";
3
3
  import { Box, Text } from "ink";
4
- import { tuiColors } from "../styles/index.js";
4
+ import { getCurrentTheme } from "../styles/colors.js";
5
+ import { indicators } from "../styles/tokens.js";
5
6
  const COMMAND_SECTIONS = [
6
7
  {
7
8
  title: "EXECUTION",
@@ -52,9 +53,10 @@ const FUNCTION_KEYS = [
52
53
  { key: "F8", label: "Dashboard" },
53
54
  ];
54
55
  export const HelpOverlay = memo(function HelpOverlay({ onDismiss }) {
55
- const functionKeyElements = useMemo(() => FUNCTION_KEYS.map((fn) => (_jsxs(Box, { marginRight: 2, children: [_jsxs(Text, { color: tuiColors.primary, children: ["[", fn.key, "]"] }), _jsxs(Text, { color: tuiColors.textSecondary, children: [" ", fn.label] })] }, fn.key))), []);
56
- const sectionElements = useMemo(() => COMMAND_SECTIONS.map((section) => (_jsxs(Box, { flexDirection: "column", width: 28, marginRight: 2, children: [_jsxs(Text, { color: tuiColors.primary, bold: true, children: ["\u250C\u2500 ", section.title, " \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500"] }), _jsx(Box, { flexDirection: "column", marginTop: 1, children: section.items.map(([cmd, desc]) => (_jsxs(Box, { flexDirection: "row", marginBottom: 1, children: [_jsx(Text, { color: tuiColors.textPrimary, children: cmd.padEnd(14) }), _jsx(Text, { color: tuiColors.textTertiary, children: desc })] }, cmd))) })] }, section.title))), []);
57
- const shortcutElements = useMemo(() => KEYBOARD_SHORTCUTS.map(([key, action]) => (_jsxs(Box, { marginRight: 3, children: [_jsxs(Text, { color: tuiColors.textPrimary, children: ["[", key.padEnd(6), "]"] }), _jsxs(Text, { color: tuiColors.textTertiary, children: [" ", action] })] }, key))), []);
58
- return (_jsxs(Box, { flexDirection: "column", flexGrow: 1, borderStyle: "single", borderColor: tuiColors.primary, paddingX: 2, children: [_jsxs(Box, { marginBottom: 1, children: [_jsx(Text, { color: tuiColors.primary, bold: true, children: "\u25A0 RAXFLOW HELP" }), _jsx(Text, { color: tuiColors.textTertiary, children: " \u2500\u2500 Press [Esc] or [q] to close" })] }), _jsx(Box, { borderStyle: "single", borderColor: tuiColors.border, marginBottom: 1, children: _jsx(Text, { color: tuiColors.textTertiary, children: "Orchestrator that Evolves with Your Host Tools" }) }), _jsx(Box, { flexDirection: "row", marginBottom: 1, children: functionKeyElements }), _jsx(Box, { flexDirection: "row", flexGrow: 1, children: sectionElements }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: tuiColors.primary, bold: true, children: "\u250C\u2500 KEYBOARD \u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500\u2500" }) }), _jsx(Box, { flexDirection: "row", children: shortcutElements }), _jsx(Box, { borderStyle: "single", borderColor: tuiColors.border, marginTop: 1, children: _jsx(Text, { color: tuiColors.textTertiary, children: "Type your prompt to execute a workflow, or use /run \"...\" for explicit execution" }) })] }));
56
+ const theme = getCurrentTheme();
57
+ const functionKeyElements = useMemo(() => FUNCTION_KEYS.map((fn) => (_jsxs(Box, { marginRight: 2, children: [_jsxs(Text, { color: theme.colors.primary, bold: true, children: ["[", fn.key, "]"] }), _jsxs(Text, { color: theme.colors.textSecondary, children: [" ", fn.label] })] }, fn.key))), [theme]);
58
+ const sectionElements = useMemo(() => COMMAND_SECTIONS.map((section) => (_jsxs(Box, { flexDirection: "column", width: 26, marginRight: 2, children: [_jsxs(Text, { color: theme.colors.primary, bold: true, children: [indicators.square, " ", section.title] }), _jsx(Box, { flexDirection: "column", marginTop: 1, children: section.items.map(([cmd, desc]) => (_jsxs(Box, { flexDirection: "row", marginBottom: 0, children: [_jsx(Text, { color: theme.colors.textPrimary, children: cmd.padEnd(14) }), _jsx(Text, { color: theme.colors.textTertiary, children: desc })] }, cmd))) })] }, section.title))), [theme]);
59
+ const shortcutElements = useMemo(() => KEYBOARD_SHORTCUTS.map(([key, action]) => (_jsxs(Box, { marginRight: 3, children: [_jsxs(Text, { color: theme.colors.textPrimary, children: ["[", key.padEnd(6), "]"] }), _jsxs(Text, { color: theme.colors.textTertiary, children: [" ", action] })] }, key))), [theme]);
60
+ return (_jsxs(Box, { flexDirection: "column", flexGrow: 1, borderStyle: "single", borderColor: theme.colors.borderActive, paddingX: 2, children: [_jsxs(Box, { marginBottom: 1, children: [_jsx(Text, { color: theme.colors.primary, bold: true, children: indicators.square }), _jsx(Text, { color: theme.colors.textPrimary, bold: true, children: " RAXFLOW HELP" }), _jsx(Text, { color: theme.colors.textTertiary, children: " \u2500\u2500 Press [Esc] to close" })] }), _jsx(Box, { borderStyle: "single", borderColor: theme.colors.border, marginBottom: 1, children: _jsx(Text, { color: theme.colors.textTertiary, children: "Multi-Agent Orchestration Framework" }) }), _jsx(Box, { flexDirection: "row", marginBottom: 1, children: functionKeyElements }), _jsx(Box, { flexDirection: "row", flexGrow: 1, children: sectionElements }), _jsx(Box, { marginTop: 1, children: _jsxs(Text, { color: theme.colors.primary, bold: true, children: [indicators.square, " KEYBOARD"] }) }), _jsx(Box, { flexDirection: "row", children: shortcutElements }), _jsx(Box, { borderStyle: "single", borderColor: theme.colors.border, marginTop: 1, children: _jsx(Text, { color: theme.colors.textTertiary, children: "Type your prompt to execute a workflow, or use /command for specific actions" }) })] }));
59
61
  });
60
62
  //# sourceMappingURL=HelpOverlay.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"HelpOverlay.js","sourceRoot":"","sources":["../../../src/tui/components/HelpOverlay.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"HelpOverlay.js","sourceRoot":"","sources":["../../../src/tui/components/HelpOverlay.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"InputBar.d.ts","sourceRoot":"","sources":["../../../src/tui/components/InputBar.tsx"],"names":[],"mappings":"AAKA,UAAU,aAAa;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,QAAQ,qDAiGnB,CAAC"}
1
+ {"version":3,"file":"InputBar.d.ts","sourceRoot":"","sources":["../../../src/tui/components/InputBar.tsx"],"names":[],"mappings":"AAMA,UAAU,aAAa;IACrB,QAAQ,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;IAClC,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,YAAY,EAAE,OAAO,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,eAAO,MAAM,QAAQ,qDAkInB,CAAC"}
@@ -3,11 +3,13 @@ import { useState, memo, useMemo, useCallback } from "react";
3
3
  import { Box, Text, useInput } from "ink";
4
4
  import TextInput from "ink-text-input";
5
5
  import { getCurrentTheme } from "../styles/colors.js";
6
- export const InputBar = memo(function InputBar({ onSubmit, suggestions, isProcessing, projectName, width = 100, model }) {
6
+ import { indicators } from "../styles/tokens.js";
7
+ export const InputBar = memo(function InputBar({ onSubmit, suggestions, isProcessing, projectName, width = 100, model, }) {
7
8
  const [input, setInput] = useState("");
8
9
  const [selectedIndex, setSelectedIndex] = useState(0);
9
10
  const theme = getCurrentTheme();
10
- const isDark = theme.name === "default";
11
+ const isCompact = width < 80;
12
+ const isMinimal = width < 60;
11
13
  const handleSubmit = useCallback((value) => {
12
14
  if (value.trim()) {
13
15
  onSubmit(value);
@@ -19,21 +21,24 @@ export const InputBar = memo(function InputBar({ onSubmit, suggestions, isProces
19
21
  setInput(value);
20
22
  setSelectedIndex(0);
21
23
  }, []);
22
- const compact = width < 60;
23
24
  const isCommandMode = input.startsWith("/");
24
25
  const commandInput = isCommandMode ? input.slice(1) : "";
25
- const showSuggestions = isCommandMode && width > 60;
26
+ const showSuggestions = isCommandMode && !isMinimal;
26
27
  const filteredSuggestions = useMemo(() => {
27
- return suggestions.filter((s) => s.toLowerCase().startsWith(commandInput.toLowerCase())).slice(0, compact ? 3 : 6);
28
- }, [suggestions, commandInput, compact]);
28
+ if (!showSuggestions)
29
+ return [];
30
+ return suggestions
31
+ .filter((s) => s.toLowerCase().startsWith(commandInput.toLowerCase()))
32
+ .slice(0, isCompact ? 4 : 6);
33
+ }, [suggestions, commandInput, showSuggestions, isCompact]);
29
34
  useInput((_input, key) => {
30
35
  if (!showSuggestions || filteredSuggestions.length === 0)
31
36
  return;
32
37
  if (key.upArrow) {
33
- setSelectedIndex((prev) => (prev > 0 ? prev - 1 : filteredSuggestions.length - 1));
38
+ setSelectedIndex((prev) => prev > 0 ? prev - 1 : filteredSuggestions.length - 1);
34
39
  }
35
40
  else if (key.downArrow) {
36
- setSelectedIndex((prev) => (prev < filteredSuggestions.length - 1 ? prev + 1 : 0));
41
+ setSelectedIndex((prev) => prev < filteredSuggestions.length - 1 ? prev + 1 : 0);
37
42
  }
38
43
  else if (key.tab) {
39
44
  const selected = filteredSuggestions[selectedIndex];
@@ -50,10 +55,17 @@ export const InputBar = memo(function InputBar({ onSubmit, suggestions, isProces
50
55
  }
51
56
  }
52
57
  });
53
- const borderColor = theme.colors.border;
54
- const primaryColor = theme.colors.primary;
55
- const textPrimary = theme.colors.textPrimary;
56
- const textSecondary = theme.colors.textSecondary;
57
- return (_jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: borderColor, paddingX: 1, flexShrink: 0, children: [showSuggestions && filteredSuggestions.length > 0 && (_jsx(Box, { flexDirection: "row", marginBottom: 1, flexWrap: "wrap", children: filteredSuggestions.map((s, idx) => (_jsx(Box, { marginRight: 2, marginBottom: 0, children: _jsxs(Text, { color: idx === selectedIndex ? primaryColor : textSecondary, bold: idx === selectedIndex, children: [idx === selectedIndex ? "▶ " : " ", s] }) }, s))) })), showSuggestions && filteredSuggestions.length > 0 && (_jsx(Text, { color: textSecondary, italic: true, children: "\u2191\u2193 s\u00E9lectionner \u2022 Tab compl\u00E9ter \u2022 Entr\u00E9e ex\u00E9cuter" })), _jsxs(Box, { flexDirection: "row", alignItems: "center", children: [_jsx(Text, { color: primaryColor, bold: true, children: compact ? ">" : `raxflow://${projectName}` }), !compact && model && (_jsxs(Text, { color: theme.colors.textQuaternary, children: [" [", model.slice(0, 12), "]"] })), _jsx(Text, { color: textPrimary, children: " " }), _jsx(Box, { flexGrow: 1, children: _jsx(TextInput, { value: input, onChange: handleChange, onSubmit: handleSubmit, placeholder: compact ? "prompt..." : "prompt or /command...", showCursor: true }) }), isProcessing && _jsx(Text, { color: theme.colors.warning, children: " \u25CF" })] })] }));
58
+ const promptSymbol = isMinimal ? ">" : indicators.arrow;
59
+ const promptLabel = isMinimal
60
+ ? "cmd"
61
+ : isCompact
62
+ ? projectName.slice(0, 10)
63
+ : `rax://${projectName}`;
64
+ const placeholderText = isMinimal
65
+ ? "prompt..."
66
+ : isCompact
67
+ ? "/command or prompt..."
68
+ : "enter prompt or /command...";
69
+ return (_jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: theme.colors.border, paddingX: 1, flexShrink: 0, children: [showSuggestions && filteredSuggestions.length > 0 && (_jsx(Box, { flexDirection: "row", marginBottom: 0, flexWrap: "wrap", children: filteredSuggestions.map((s, idx) => (_jsx(Box, { marginRight: 2, children: _jsxs(Text, { color: idx === selectedIndex ? theme.colors.primary : theme.colors.textTertiary, bold: idx === selectedIndex, children: [idx === selectedIndex ? `${indicators.selected} ` : " ", s] }) }, s))) })), _jsxs(Box, { flexDirection: "row", alignItems: "center", children: [_jsx(Text, { color: theme.colors.primary, bold: true, children: promptSymbol }), _jsxs(Text, { color: theme.colors.textSecondary, children: [" ", promptLabel] }), !isMinimal && model && (_jsxs(Text, { color: theme.colors.textQuaternary, children: [" [", model.slice(0, 10), "]"] })), _jsx(Text, { color: theme.colors.textPrimary, children: " " }), _jsx(Box, { flexGrow: 1, children: _jsx(TextInput, { value: input, onChange: handleChange, onSubmit: handleSubmit, placeholder: placeholderText, showCursor: true }) }), isProcessing && (_jsxs(Text, { color: theme.colors.warning, children: [" ", indicators.running] }))] }), showSuggestions && filteredSuggestions.length > 0 && (_jsx(Text, { color: theme.colors.textTertiary, italic: true, dimColor: true, children: "\u2191\u2193 navigate \u2502 Tab complete \u2502 Enter execute" }))] }));
58
70
  });
59
71
  //# sourceMappingURL=InputBar.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"InputBar.js","sourceRoot":"","sources":["../../../src/tui/components/InputBar.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"InputBar.js","sourceRoot":"","sources":["../../../src/tui/components/InputBar.tsx"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"LogsPanel.d.ts","sourceRoot":"","sources":["../../../src/tui/components/LogsPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqD,MAAM,OAAO,CAAC;AAM1E,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA2DD,eAAO,MAAM,SAAS,4CAuEpB,CAAC"}
1
+ {"version":3,"file":"LogsPanel.d.ts","sourceRoot":"","sources":["../../../src/tui/components/LogsPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAqD,MAAM,OAAO,CAAC;AAM1E,UAAU,cAAc;IACtB,IAAI,EAAE,MAAM,EAAE,CAAC;IACf,QAAQ,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA0ED,eAAO,MAAM,SAAS,4CAsFpB,CAAC"}
@@ -1,10 +1,18 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { useState, useEffect, memo, useRef, useMemo } from "react";
3
3
  import { Box, Text } from "ink";
4
- import { logStatusTags } from "../styles/index.js";
5
4
  import { Spinner } from "./animations/index.js";
6
5
  import { getCurrentTheme } from "../styles/colors.js";
7
- const HIGHLIGHT_DURATION = 2000;
6
+ import { indicators } from "../styles/tokens.js";
7
+ const HIGHLIGHT_DURATION = 1500;
8
+ const LOG_LEVEL_COLORS = {
9
+ INFO: "#3b82f6",
10
+ WARN: "#f59e0b",
11
+ ERROR: "#ef4444",
12
+ DEBUG: "#6b7280",
13
+ TRACE: "#9ca3af",
14
+ SYSTEM: "#8b5cf6",
15
+ };
8
16
  function parseLogLine(log) {
9
17
  const timeMatch = log.match(/\[(\d{2}:\d{2}:\d{2}(?:\.\d+)?)\]/);
10
18
  const tagMatch = log.match(/\[(\w+)\]/g);
@@ -13,29 +21,28 @@ function parseLogLine(log) {
13
21
  }
14
22
  const time = timeMatch[1];
15
23
  const tag = tagMatch[1].replace(/[\[\]]/g, "").toUpperCase();
16
- const tagConfig = Object.values(logStatusTags).find(t => t.tag.toUpperCase().includes(tag));
17
- const color = tagConfig?.color || "#606060";
24
+ const color = LOG_LEVEL_COLORS[tag] || "#6b7280";
18
25
  const messageStart = log.indexOf(tagMatch[1]) + tagMatch[1].length;
19
26
  const message = log.slice(messageStart).trim();
20
27
  return { time, tag, message, color };
21
28
  }
22
29
  const LogLine = memo(function LogLine({ log, isNew, compact }) {
23
30
  const theme = getCurrentTheme();
24
- const isDark = theme.name === "default";
25
31
  const parsed = useMemo(() => parseLogLine(log), [log]);
26
32
  if (!parsed) {
27
- return _jsx(Text, { color: isDark ? "#ffffff" : "#1e293b", children: log.slice(0, compact ? 30 : 80) });
33
+ return (_jsx(Text, { color: theme.colors.textPrimary, children: log.slice(0, compact ? 25 : 60) }));
28
34
  }
29
- const paddedTag = useMemo(() => parsed.tag.slice(0, compact ? 4 : 7).padEnd(compact ? 4 : 7), [parsed.tag, compact]);
30
- const truncatedMessage = compact ? parsed.message.slice(0, 20) : parsed.message;
31
- return (_jsxs(Box, { flexDirection: "row", children: [!compact && _jsxs(Text, { color: isDark ? "#606060" : "#94a3b8", children: ["[", parsed.time, "]"] }), _jsxs(Text, { color: parsed.color, bold: true, children: [" [", paddedTag, "]"] }), _jsxs(Text, { color: isNew ? (isDark ? "#ffffff" : "#1e293b") : (isDark ? "#a0a0a0" : "#475569"), children: [" ", truncatedMessage] })] }));
35
+ const paddedTag = parsed.tag.slice(0, compact ? 4 : 6).padEnd(compact ? 4 : 6);
36
+ const truncatedMessage = compact
37
+ ? parsed.message.slice(0, 18)
38
+ : parsed.message.slice(0, 50);
39
+ return (_jsxs(Box, { flexDirection: "row", children: [!compact && (_jsxs(Text, { color: theme.colors.textQuaternary, children: ["[", parsed.time, "]"] })), _jsxs(Text, { color: parsed.color, bold: true, children: [" [", paddedTag, "]"] }), _jsxs(Text, { color: isNew ? theme.colors.textPrimary : theme.colors.textSecondary, children: [" ", truncatedMessage] })] }));
32
40
  });
33
- export const LogsPanel = memo(function LogsPanel({ logs, isActive, isStreaming = false, maxHeight = 20, width = 40 }) {
41
+ export const LogsPanel = memo(function LogsPanel({ logs, isActive, isStreaming = false, maxHeight = 20, width = 40, }) {
34
42
  const theme = getCurrentTheme();
35
- const isDark = theme.name === "default";
36
43
  const borderColor = isActive
37
- ? (theme.colors.primary)
38
- : (isDark ? "#333333" : "#e2e8f0");
44
+ ? theme.colors.borderActive
45
+ : theme.colors.border;
39
46
  const [highlightedIndex, setHighlightedIndex] = useState(null);
40
47
  const timeoutRef = useRef(null);
41
48
  const compact = width < 35 || maxHeight < 12;
@@ -58,10 +65,9 @@ export const LogsPanel = memo(function LogsPanel({ logs, isActive, isStreaming =
58
65
  const logElements = useMemo(() => displayLogs.map((log, index) => {
59
66
  const logIndex = logs.length - maxLogs + index;
60
67
  const isNew = logIndex === highlightedIndex;
61
- return _jsx(LogLine, { log: log, isNew: isNew, compact: compact }, `${logIndex}-${index}`);
68
+ return (_jsx(LogLine, { log: log, isNew: isNew, compact: compact }, `${logIndex}-${index}`));
62
69
  }), [displayLogs, logs.length, highlightedIndex, compact]);
63
- const title = compact ? " LOGS " : " LOGS_STREAM ";
64
- const primaryColor = theme.colors.primary;
65
- return (_jsxs(Box, { flexDirection: "column", flexGrow: 1, width: width, height: maxHeight, borderStyle: "single", borderColor: borderColor, paddingX: 1, children: [_jsxs(Box, { marginBottom: 1, flexShrink: 0, children: [_jsx(Text, { color: primaryColor, bold: true, children: "\u250C\u2500" }), _jsx(Text, { color: primaryColor, bold: true, children: title }), _jsx(Text, { color: isDark ? "#606060" : "#94a3b8", children: "─".repeat(Math.max(5, width - (compact ? 10 : 16))) }), isStreaming && !compact && (_jsxs(Box, { flexDirection: "row", children: [_jsx(Text, { color: isDark ? "#f59e0b" : "#f59e0b", children: " " }), _jsx(Spinner, { type: "dots", color: isDark ? "#f59e0b" : "#f59e0b" })] }))] }), _jsxs(Box, { flexDirection: "column", flexGrow: 1, overflow: "hidden", children: [logElements, logs.length === 0 && (_jsx(Text, { color: isDark ? "#606060" : "#94a3b8", children: compact ? "No logs" : "No logs. Start a workflow." }))] })] }));
70
+ const title = compact ? "LOGS" : "LOGS";
71
+ return (_jsxs(Box, { flexDirection: "column", flexGrow: 1, width: width, height: maxHeight, borderStyle: "single", borderColor: borderColor, paddingX: 1, children: [_jsxs(Box, { marginBottom: 1, flexShrink: 0, children: [_jsx(Text, { color: theme.colors.primary, bold: true, children: indicators.square }), _jsxs(Text, { color: theme.colors.textPrimary, bold: true, children: [" ", title] }), isStreaming && !compact && (_jsxs(Box, { flexDirection: "row", children: [_jsx(Text, { color: theme.colors.warning, children: " " }), _jsx(Spinner, { type: "dots", color: theme.colors.warning })] }))] }), _jsx(Box, { flexDirection: "column", flexGrow: 1, overflow: "hidden", children: logs.length === 0 ? (_jsx(Text, { color: theme.colors.textTertiary, children: compact ? "No logs" : "No logs. Start a workflow…" })) : (logElements) })] }));
66
72
  });
67
73
  //# sourceMappingURL=LogsPanel.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"LogsPanel.js","sourceRoot":"","sources":["../../../src/tui/components/LogsPanel.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"LogsPanel.js","sourceRoot":"","sources":["../../../src/tui/components/LogsPanel.tsx"],"names":[],"mappings":"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"}
@@ -19,5 +19,5 @@ interface MemoryPanelProps {
19
19
  width?: number;
20
20
  }
21
21
  export declare const MemoryPanel: React.NamedExoticComponent<MemoryPanelProps>;
22
- export {};
22
+ export type { MemoryNode, MemoryEdge };
23
23
  //# sourceMappingURL=MemoryPanel.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"MemoryPanel.d.ts","sourceRoot":"","sources":["../../../src/tui/components/MemoryPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAM7C,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,UAAU,gBAAgB;IACxB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAoDD,eAAO,MAAM,WAAW,8CAwHtB,CAAC"}
1
+ {"version":3,"file":"MemoryPanel.d.ts","sourceRoot":"","sources":["../../../src/tui/components/MemoryPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAM7C,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,MAAM,CAAC;CACf;AAED,UAAU,UAAU;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,UAAU,gBAAgB;IACxB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,KAAK,CAAC,EAAE,UAAU,EAAE,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AA6CD,eAAO,MAAM,WAAW,8CA4HtB,CAAC;AAEH,YAAY,EAAE,UAAU,EAAE,UAAU,EAAE,CAAC"}
@@ -1,9 +1,9 @@
1
1
  import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
2
2
  import { memo, useMemo } from "react";
3
3
  import { Box, Text } from "ink";
4
- import { treeChars } from "../styles/index.js";
5
4
  import { Pulse } from "./animations/index.js";
6
5
  import { getCurrentTheme } from "../styles/colors.js";
6
+ import { indicators } from "../styles/tokens.js";
7
7
  const DEFAULT_NODES = [
8
8
  { id: "1", type: "action", label: "code_gen" },
9
9
  { id: "2", type: "file", label: "auth.ts" },
@@ -18,53 +18,46 @@ const DEFAULT_EDGES = [
18
18
  { from: "4", to: "5" },
19
19
  { from: "2", to: "5" },
20
20
  ];
21
- const NODE_TYPE_COLORS_DARK = {
22
- action: "#10b981",
23
- file: "#22c55e",
24
- task: "#f59e0b",
25
- test: "#a0a0a0",
26
- fix: "#ef4444",
21
+ const NODE_TYPE_COLORS = {
22
+ action: "primary",
23
+ file: "success",
24
+ task: "warning",
25
+ test: "textTertiary",
26
+ fix: "error",
27
27
  };
28
- const NODE_TYPE_COLORS_LIGHT = {
29
- action: "#0ea5e9",
30
- file: "#10b981",
31
- task: "#f59e0b",
32
- test: "#475569",
33
- fix: "#ef4444",
34
- };
35
- const NodeTypeBadge = memo(function NodeTypeBadge({ type, isActive, compact, isDark }) {
36
- const colors = isDark ? NODE_TYPE_COLORS_DARK : NODE_TYPE_COLORS_LIGHT;
37
- const color = colors[type] || (isDark ? "#606060" : "#94a3b8");
28
+ const NodeTypeBadge = memo(function NodeTypeBadge({ type, isActive, compact }) {
29
+ const theme = getCurrentTheme();
30
+ const colorKey = NODE_TYPE_COLORS[type] || "textTertiary";
31
+ const color = theme.colors[colorKey] || theme.colors.textTertiary;
38
32
  return (_jsxs(Box, { flexDirection: "row", children: [isActive && !compact && _jsx(Pulse, { interval: 400, color: color, type: "pulse" }), _jsxs(Text, { color: color, children: ["[", compact ? type.slice(0, 4) : type, "]"] })] }));
39
33
  });
40
- export const MemoryPanel = memo(function MemoryPanel({ nodes, edges, nodeCount = 0, cacheHitRate = 0, isActive = false, tick = 0, maxHeight = 15, width = 30 }) {
34
+ export const MemoryPanel = memo(function MemoryPanel({ nodes, edges, nodeCount = 0, cacheHitRate = 0, isActive = false, tick = 0, maxHeight = 15, width = 30, }) {
41
35
  const theme = getCurrentTheme();
42
- const isDark = theme.name === "default";
43
36
  const borderColor = isActive
44
- ? theme.colors.primary
37
+ ? theme.colors.borderActive
45
38
  : theme.colors.border;
46
39
  const compact = width < 25 || maxHeight < 12;
47
- const displayNodes = (nodes && nodes.length > 0) ? nodes : DEFAULT_NODES;
48
- const displayEdges = (edges && edges.length > 0) ? edges : DEFAULT_EDGES;
40
+ const displayNodes = nodes && nodes.length > 0 ? nodes : DEFAULT_NODES;
41
+ const displayEdges = edges && edges.length > 0 ? edges : DEFAULT_EDGES;
49
42
  const displayNodeCount = nodeCount > 0 ? nodeCount : 247;
50
43
  const displayCacheHitRate = cacheHitRate > 0 ? cacheHitRate : 94;
51
44
  const activeNodeIndex = isActive ? tick % 4 : -1;
52
45
  const maxVisibleNodes = compact ? 3 : 4;
53
46
  const maxVisibleEdges = compact ? 2 : 3;
54
47
  const nodeElements = useMemo(() => displayNodes.slice(0, maxVisibleNodes).map((node, idx) => {
55
- const isLast = idx === Math.min(maxVisibleNodes - 1, displayNodes.length - 1);
56
48
  const isNodeActive = idx === activeNodeIndex;
57
- return (_jsxs(Box, { flexDirection: "row", children: [_jsxs(Text, { color: isDark ? "#606060" : "#94a3b8", children: [compact ? " " : treeChars.vertical, " "] }), _jsx(NodeTypeBadge, { type: node.type, isActive: isNodeActive, compact: compact, isDark: isDark }), _jsxs(Text, { color: isDark ? "#ffffff" : "#1e293b", children: [" ", compact ? node.label.slice(0, 8) : node.label] }), !isLast && !compact && (_jsx(Text, { color: theme.colors.primary, children: " \u2500\u2500\u25B6" }))] }, node.id));
58
- }), [displayNodes, activeNodeIndex, compact, maxVisibleNodes, isDark]);
49
+ const label = compact ? node.label.slice(0, 8) : node.label;
50
+ return (_jsxs(Box, { flexDirection: "row", children: [_jsxs(Text, { color: theme.colors.textQuaternary, children: [compact ? " " : "│", " "] }), _jsx(NodeTypeBadge, { type: node.type, isActive: isNodeActive, compact: compact }), _jsxs(Text, { color: theme.colors.textPrimary, children: [" ", label] })] }, node.id));
51
+ }), [displayNodes, activeNodeIndex, compact, maxVisibleNodes, theme]);
59
52
  const edgeElements = useMemo(() => displayEdges.slice(0, maxVisibleEdges).map((edge, i) => {
60
53
  const fromNode = displayNodes.find((n) => n.id === edge.from);
61
54
  const toNode = displayNodes.find((n) => n.id === edge.to);
62
- return (_jsxs(Box, { flexDirection: "row", children: [_jsx(Text, { color: isDark ? "#a0a0a0" : "#475569", children: treeChars.branch }), _jsxs(Text, { color: isDark ? "#ffffff" : "#1e293b", children: [" ", compact ? (fromNode?.label || "?").slice(0, 6) : fromNode?.label || "?"] }), _jsx(Text, { color: theme.colors.primary, children: " \u2192 " }), _jsx(Text, { color: isDark ? "#ffffff" : "#1e293b", children: compact ? (toNode?.label || "?").slice(0, 6) : toNode?.label || "?" })] }, i));
63
- }), [displayEdges, displayNodes, compact, maxVisibleEdges, isDark]);
55
+ const fromLabel = compact ? (fromNode?.label || "?").slice(0, 6) : fromNode?.label || "?";
56
+ const toLabel = compact ? (toNode?.label || "?").slice(0, 6) : toNode?.label || "?";
57
+ return (_jsxs(Box, { flexDirection: "row", children: [_jsx(Text, { color: theme.colors.textQuaternary, children: "\u251C\u2500" }), _jsxs(Text, { color: theme.colors.textPrimary, children: [" ", fromLabel] }), _jsxs(Text, { color: theme.colors.primary, children: [" ", indicators.arrow, " "] }), _jsx(Text, { color: theme.colors.textPrimary, children: toLabel })] }, i));
58
+ }), [displayEdges, displayNodes, compact, maxVisibleEdges, theme]);
64
59
  const mutationCount = useMemo(() => Math.floor(Math.random() * 4) + 1, [tick]);
65
- const title = " QSGM ";
66
- const primaryColor = theme.colors.primary;
67
- const successColor = isDark ? "#22c55e" : "#10b981";
68
- return (_jsxs(Box, { flexDirection: "column", flexGrow: 1, width: width, height: maxHeight, borderStyle: "single", borderColor: borderColor, paddingX: 1, children: [_jsxs(Box, { marginBottom: 1, flexShrink: 0, children: [_jsx(Text, { color: primaryColor, bold: true, children: "\u250C\u2500" }), _jsx(Text, { color: primaryColor, bold: true, children: title }), _jsxs(Text, { color: isDark ? "#606060" : "#94a3b8", children: [" n:", displayNodeCount, " "] }), isActive && !compact && _jsx(Pulse, { interval: 500, color: primaryColor, type: "pulse" })] }), !compact && (_jsx(Box, { flexDirection: "column", flexShrink: 0, children: _jsx(Text, { color: isDark ? "#606060" : "#94a3b8", bold: true, children: "QUANTUM_GRAPH" }) })), _jsxs(Box, { flexDirection: "column", marginTop: compact ? 0 : 1, overflow: "hidden", children: [_jsx(Text, { color: isDark ? "#606060" : "#94a3b8", bold: true, children: compact ? "GRAPH" : "VISUALIZATION" }), _jsx(Box, { flexDirection: "column", marginTop: 1, children: nodeElements })] }), !compact && maxHeight > 12 && (_jsxs(Box, { flexDirection: "column", marginTop: 1, overflow: "hidden", children: [_jsx(Text, { color: isDark ? "#606060" : "#94a3b8", bold: true, children: "LINKS" }), _jsx(Box, { flexDirection: "column", marginTop: 1, children: edgeElements })] })), _jsx(Box, { marginTop: 1, flexShrink: 0, children: _jsx(Text, { color: isDark ? "#606060" : "#94a3b8", children: "\u251C\u2500" }) }), _jsxs(Box, { flexDirection: "row", flexShrink: 0, children: [_jsx(Text, { color: isDark ? "#a0a0a0" : "#475569", children: "Cache:" }), _jsx(Text, { color: successColor, children: " " }), !compact && _jsx(Pulse, { interval: 800, color: successColor, type: "breath" }), _jsxs(Text, { color: successColor, children: [" ", displayCacheHitRate, "%"] }), !compact && _jsxs(Text, { color: isDark ? "#606060" : "#94a3b8", children: [" \u2502 +", mutationCount] })] })] }));
60
+ const title = compact ? "QSGM" : "QSGM";
61
+ return (_jsxs(Box, { flexDirection: "column", flexGrow: 1, width: width, height: maxHeight, borderStyle: "single", borderColor: borderColor, paddingX: 1, children: [_jsxs(Box, { marginBottom: 1, flexShrink: 0, children: [_jsx(Text, { color: theme.colors.primary, bold: true, children: indicators.square }), _jsxs(Text, { color: theme.colors.textPrimary, bold: true, children: [" ", title] }), _jsxs(Text, { color: theme.colors.textQuaternary, children: [" n:", displayNodeCount] }), isActive && !compact && (_jsx(Pulse, { interval: 500, color: theme.colors.primary, type: "pulse" }))] }), !compact && (_jsx(Box, { flexDirection: "column", flexShrink: 0, children: _jsx(Text, { color: theme.colors.textQuaternary, bold: true, children: "QUANTUM_GRAPH" }) })), _jsxs(Box, { flexDirection: "column", marginTop: compact ? 0 : 1, overflow: "hidden", children: [_jsx(Text, { color: theme.colors.textQuaternary, bold: true, children: compact ? "GRAPH" : "VISUALIZATION" }), _jsx(Box, { flexDirection: "column", marginTop: 1, children: nodeElements })] }), !compact && maxHeight > 12 && (_jsxs(Box, { flexDirection: "column", marginTop: 1, overflow: "hidden", children: [_jsx(Text, { color: theme.colors.textQuaternary, bold: true, children: "LINKS" }), _jsx(Box, { flexDirection: "column", marginTop: 1, children: edgeElements })] })), _jsx(Box, { marginTop: 1, flexShrink: 0, children: _jsx(Text, { color: theme.colors.textQuaternary, children: "\u251C\u2500" }) }), _jsxs(Box, { flexDirection: "row", flexShrink: 0, children: [_jsx(Text, { color: theme.colors.textSecondary, children: "Cache:" }), _jsx(Text, { color: theme.colors.success, children: " " }), !compact && _jsx(Pulse, { interval: 800, color: theme.colors.success, type: "breath" }), _jsxs(Text, { color: theme.colors.success, children: [" ", displayCacheHitRate, "%"] }), !compact && (_jsxs(Text, { color: theme.colors.textQuaternary, children: [" \u2502 +", mutationCount] }))] })] }));
69
62
  });
70
63
  //# sourceMappingURL=MemoryPanel.js.map