@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.
- package/dist/benchmark.d.ts +10 -0
- package/dist/bin.d.ts +3 -0
- package/dist/bootstrap.d.ts +8 -0
- package/dist/bridge-adapter-templates.d.ts +4 -0
- package/dist/bridge-test.d.ts +7 -0
- package/dist/dashboard.d.ts +4 -0
- package/dist/doctor.d.ts +6 -0
- package/dist/evolve.d.ts +7 -0
- package/dist/host-init-templates.d.ts +16 -0
- package/dist/hub/__tests__/commands.test.d.ts +2 -0
- package/dist/hub/__tests__/history.test.d.ts +2 -0
- package/dist/hub/__tests__/parser.test.d.ts +2 -0
- package/dist/hub/commands/agents.d.ts +3 -0
- package/dist/hub/commands/index.d.ts +4 -0
- package/dist/hub/commands/logs.d.ts +3 -0
- package/dist/hub/commands/memory.d.ts +3 -0
- package/dist/hub/commands/metrics.d.ts +3 -0
- package/dist/hub/commands/providers.d.ts +3 -0
- package/dist/hub/commands/run.d.ts +3 -0
- package/dist/hub/commands/status.d.ts +3 -0
- package/dist/hub/commands/workflows.d.ts +3 -0
- package/dist/hub/config-loader.d.ts +4 -0
- package/dist/hub/history.d.ts +13 -0
- package/dist/hub/index.d.ts +4 -0
- package/dist/hub/parser.d.ts +4 -0
- package/dist/hub/styles/borders.d.ts +23 -0
- package/dist/hub/styles/colors.d.ts +63 -0
- package/dist/hub/styles/typography.d.ts +34 -0
- package/dist/hub/types.d.ts +27 -0
- package/{src/index.ts → dist/index.d.ts} +1 -0
- package/dist/init-host.d.ts +10 -0
- package/dist/install.d.ts +8 -0
- package/dist/run.d.ts +16 -0
- package/dist/setup/components/ProviderSelector.d.ts.map +1 -1
- package/dist/setup/components/ProviderSelector.js +8 -7
- package/dist/setup/components/ProviderSelector.js.map +1 -1
- package/dist/styles.d.ts +12 -0
- package/dist/tui/App.d.ts.map +1 -1
- package/dist/tui/App.js +7 -2
- package/dist/tui/App.js.map +1 -1
- package/dist/tui/components/ChatPanel.d.ts +1 -0
- package/dist/tui/components/ChatPanel.d.ts.map +1 -1
- package/dist/tui/components/ChatPanel.js +4 -3
- package/dist/tui/components/ChatPanel.js.map +1 -1
- package/dist/tui/components/DAGPanel.d.ts +1 -0
- package/dist/tui/components/DAGPanel.d.ts.map +1 -1
- package/dist/tui/components/DAGPanel.js +4 -3
- package/dist/tui/components/DAGPanel.js.map +1 -1
- package/dist/tui/components/Header.d.ts.map +1 -1
- package/dist/tui/components/Header.js +1 -1
- package/dist/tui/components/Header.js.map +1 -1
- package/dist/tui/components/InputBar.d.ts.map +1 -1
- package/dist/tui/components/InputBar.js +1 -1
- package/dist/tui/components/InputBar.js.map +1 -1
- package/dist/tui/components/LogsPanel.d.ts +1 -0
- package/dist/tui/components/LogsPanel.d.ts.map +1 -1
- package/dist/tui/components/LogsPanel.js +4 -3
- package/dist/tui/components/LogsPanel.js.map +1 -1
- package/dist/tui/components/MemoryPanel.d.ts +1 -0
- package/dist/tui/components/MemoryPanel.d.ts.map +1 -1
- package/dist/tui/components/MemoryPanel.js +2 -2
- package/dist/tui/components/MemoryPanel.js.map +1 -1
- package/dist/tui/components/MetricsPanel.d.ts +1 -0
- package/dist/tui/components/MetricsPanel.d.ts.map +1 -1
- package/dist/tui/components/MetricsPanel.js +2 -2
- package/dist/tui/components/MetricsPanel.js.map +1 -1
- package/dist/tui/components/StatusPanel.d.ts +1 -0
- package/dist/tui/components/StatusPanel.d.ts.map +1 -1
- package/dist/tui/components/StatusPanel.js +4 -3
- package/dist/tui/components/StatusPanel.js.map +1 -1
- package/dist/vendor-manifests.d.ts +22 -0
- package/package.json +5 -1
- package/dashboard/index.html +0 -420
- package/dist/hub/chat/ChatApp.d.ts +0 -2
- package/dist/hub/chat/ChatApp.d.ts.map +0 -1
- package/dist/hub/chat/ChatApp.js +0 -146
- package/dist/hub/chat/ChatApp.js.map +0 -1
- package/dist/hub/chat/components/ChatInput.d.ts +0 -9
- package/dist/hub/chat/components/ChatInput.d.ts.map +0 -1
- package/dist/hub/chat/components/ChatInput.js +0 -19
- package/dist/hub/chat/components/ChatInput.js.map +0 -1
- package/dist/hub/chat/components/MessageList.d.ts +0 -7
- package/dist/hub/chat/components/MessageList.d.ts.map +0 -1
- package/dist/hub/chat/components/MessageList.js +0 -6
- package/dist/hub/chat/components/MessageList.js.map +0 -1
- package/dist/hub/chat/context.d.ts.map +0 -1
- package/dist/hub/chat/context.js +0 -42
- package/dist/hub/chat/context.js.map +0 -1
- package/dist/hub/chat/hooks/useChatHistory.d.ts +0 -7
- package/dist/hub/chat/hooks/useChatHistory.d.ts.map +0 -1
- package/dist/hub/chat/hooks/useChatHistory.js +0 -31
- package/dist/hub/chat/hooks/useChatHistory.js.map +0 -1
- package/dist/hub/chat/index.d.ts.map +0 -1
- package/dist/hub/chat/index.js +0 -7
- package/dist/hub/chat/index.js.map +0 -1
- package/dist/hub/chat/intent-parser.d.ts.map +0 -1
- package/dist/hub/chat/intent-parser.js +0 -48
- package/dist/hub/chat/intent-parser.js.map +0 -1
- package/dist/hub/chat/types.d.ts.map +0 -1
- package/dist/hub/chat/types.js +0 -2
- package/dist/hub/chat/types.js.map +0 -1
- package/dist/hub/tui/App.d.ts +0 -2
- package/dist/hub/tui/App.d.ts.map +0 -1
- package/dist/hub/tui/App.js +0 -53
- package/dist/hub/tui/App.js.map +0 -1
- package/dist/hub/tui/components/AgentQueue.d.ts +0 -6
- package/dist/hub/tui/components/AgentQueue.d.ts.map +0 -1
- package/dist/hub/tui/components/AgentQueue.js +0 -20
- package/dist/hub/tui/components/AgentQueue.js.map +0 -1
- package/dist/hub/tui/components/DAGPanel.d.ts +0 -16
- package/dist/hub/tui/components/DAGPanel.d.ts.map +0 -1
- package/dist/hub/tui/components/DAGPanel.js +0 -51
- package/dist/hub/tui/components/DAGPanel.js.map +0 -1
- package/dist/hub/tui/components/Header.d.ts +0 -7
- package/dist/hub/tui/components/Header.d.ts.map +0 -1
- package/dist/hub/tui/components/Header.js +0 -17
- package/dist/hub/tui/components/Header.js.map +0 -1
- package/dist/hub/tui/components/LogsPanel.d.ts +0 -6
- package/dist/hub/tui/components/LogsPanel.d.ts.map +0 -1
- package/dist/hub/tui/components/LogsPanel.js +0 -26
- package/dist/hub/tui/components/LogsPanel.js.map +0 -1
- package/dist/hub/tui/components/StatusBar.d.ts +0 -8
- package/dist/hub/tui/components/StatusBar.d.ts.map +0 -1
- package/dist/hub/tui/components/StatusBar.js +0 -7
- package/dist/hub/tui/components/StatusBar.js.map +0 -1
- package/dist/hub/tui/hooks/useEvents.d.ts +0 -2
- package/dist/hub/tui/hooks/useEvents.d.ts.map +0 -1
- package/dist/hub/tui/hooks/useEvents.js +0 -13
- package/dist/hub/tui/hooks/useEvents.js.map +0 -1
- package/dist/hub/tui/index.d.ts.map +0 -1
- package/dist/hub/tui/index.js +0 -7
- package/dist/hub/tui/index.js.map +0 -1
- package/dist/hub/tui/types.d.ts.map +0 -1
- package/dist/hub/tui/types.js +0 -2
- package/dist/hub/tui/types.js.map +0 -1
- package/src/benchmark.ts +0 -156
- package/src/bin.ts +0 -156
- package/src/bootstrap.ts +0 -36
- package/src/bridge-adapter-templates.ts +0 -181
- package/src/bridge-test.ts +0 -107
- package/src/dashboard.ts +0 -51
- package/src/doctor.ts +0 -92
- package/src/evolve.ts +0 -74
- package/src/host-init-templates.ts +0 -134
- package/src/hub/__tests__/commands.test.ts +0 -84
- package/src/hub/__tests__/history.test.ts +0 -137
- package/src/hub/__tests__/parser.test.ts +0 -105
- package/src/hub/commands/agents.ts +0 -53
- package/src/hub/commands/index.ts +0 -140
- package/src/hub/commands/logs.ts +0 -70
- package/src/hub/commands/memory.ts +0 -47
- package/src/hub/commands/metrics.ts +0 -49
- package/src/hub/commands/providers.ts +0 -39
- package/src/hub/commands/run.ts +0 -37
- package/src/hub/commands/status.ts +0 -69
- package/src/hub/commands/workflows.ts +0 -64
- package/src/hub/config-loader.ts +0 -37
- package/src/hub/event-listener.ts +0 -17
- package/src/hub/history.ts +0 -66
- package/src/hub/index.ts +0 -132
- package/src/hub/parser.ts +0 -107
- package/src/hub/styles/borders.ts +0 -74
- package/src/hub/styles/colors.ts +0 -129
- package/src/hub/styles/typography.ts +0 -68
- package/src/hub/types.ts +0 -31
- package/src/init-host.ts +0 -285
- package/src/install.ts +0 -118
- package/src/run.ts +0 -317
- package/src/setup/components/ApiKeyInput.tsx +0 -158
- package/src/setup/components/AsciiBanner.tsx +0 -125
- package/src/setup/components/CliDetector.tsx +0 -230
- package/src/setup/components/ModeSelector.tsx +0 -137
- package/src/setup/components/ProviderSelector.tsx +0 -174
- package/src/setup/components/SetupWizard.tsx +0 -368
- package/src/setup/components/StepIndicator.tsx +0 -74
- package/src/setup/components/SuccessScreen.tsx +0 -229
- package/src/setup/index.ts +0 -34
- package/src/setup/utils/cli-detection.ts +0 -99
- package/src/setup/utils/config-writer.ts +0 -249
- package/src/styles.ts +0 -12
- package/src/tui/App.tsx +0 -177
- package/src/tui/components/AgentStateIcon.tsx +0 -84
- package/src/tui/components/AnimatedBranch.tsx +0 -134
- package/src/tui/components/ChatPanel.tsx +0 -125
- package/src/tui/components/DAGPanel.tsx +0 -208
- package/src/tui/components/ExecutionTimeline.tsx +0 -225
- package/src/tui/components/Header.tsx +0 -109
- package/src/tui/components/HelpOverlay.tsx +0 -140
- package/src/tui/components/InputBar.tsx +0 -69
- package/src/tui/components/LogsPanel.tsx +0 -129
- package/src/tui/components/MemoryPanel.tsx +0 -163
- package/src/tui/components/MetricsPanel.tsx +0 -149
- package/src/tui/components/StatusPanel.tsx +0 -137
- package/src/tui/components/TaskTree.tsx +0 -159
- package/src/tui/components/animations/ProgressBar.tsx +0 -160
- package/src/tui/components/animations/Pulse.tsx +0 -73
- package/src/tui/components/animations/Spinner.tsx +0 -54
- package/src/tui/components/animations/StatusAnimator.tsx +0 -153
- package/src/tui/components/animations/TypingEffect.tsx +0 -119
- package/src/tui/components/animations/index.ts +0 -16
- package/src/tui/hooks/useAnimation.ts +0 -290
- package/src/tui/hooks/useAppState.ts +0 -403
- package/src/tui/index.ts +0 -9
- package/src/tui/services/orchestrator.ts +0 -195
- package/src/tui/styles/borders.ts +0 -51
- package/src/tui/styles/colors.ts +0 -19
- package/src/tui/styles/index.ts +0 -20
- package/src/tui/styles/indicators.ts +0 -54
- package/src/tui/styles/layout.ts +0 -44
- package/src/tui/styles/providers.ts +0 -32
- package/src/tui/utils/animation.ts +0 -124
- package/src/vendor-manifests.ts +0 -113
- package/src/ws-relay.ts +0 -156
- package/tsconfig.json +0 -28
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
interface BenchOptions {
|
|
2
|
+
cwd: string;
|
|
3
|
+
prompt: string;
|
|
4
|
+
output?: string;
|
|
5
|
+
providerOverride?: string;
|
|
6
|
+
bridgeCommandOverride?: string;
|
|
7
|
+
}
|
|
8
|
+
export declare function runBenchmark(options: BenchOptions): Promise<number>;
|
|
9
|
+
export {};
|
|
10
|
+
//# sourceMappingURL=benchmark.d.ts.map
|
package/dist/bin.d.ts
ADDED
package/dist/doctor.d.ts
ADDED
package/dist/evolve.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
export type HostTarget = "claude-code" | "codex" | "opencode" | "kilo" | "generic";
|
|
2
|
+
export interface HostTemplate {
|
|
3
|
+
id: HostTarget;
|
|
4
|
+
title: string;
|
|
5
|
+
envHint: string;
|
|
6
|
+
chatHint: string;
|
|
7
|
+
bootstrapPromptBase: string[];
|
|
8
|
+
quickCommands: string[];
|
|
9
|
+
autoInjectMode: "native" | "scripted" | "manual";
|
|
10
|
+
sessionEntryExamples: string[];
|
|
11
|
+
}
|
|
12
|
+
export declare const HOST_TEMPLATES: Record<HostTarget, HostTemplate>;
|
|
13
|
+
export declare function parseHostTarget(value: string | undefined): HostTarget;
|
|
14
|
+
export declare function listHostTargets(): HostTarget[];
|
|
15
|
+
export declare function buildBootstrapPrompt(target: HostTarget, task?: string): string;
|
|
16
|
+
//# sourceMappingURL=host-init-templates.d.ts.map
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export declare class CommandHistory {
|
|
2
|
+
private history;
|
|
3
|
+
private position;
|
|
4
|
+
private readonly historyPath;
|
|
5
|
+
constructor(cwd: string);
|
|
6
|
+
add(command: string): void;
|
|
7
|
+
up(): string | undefined;
|
|
8
|
+
down(): string | undefined;
|
|
9
|
+
save(): Promise<void>;
|
|
10
|
+
load(): Promise<void>;
|
|
11
|
+
getAll(): string[];
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=history.d.ts.map
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export declare const borders: {
|
|
2
|
+
horizontal: string;
|
|
3
|
+
vertical: string;
|
|
4
|
+
topLeft: string;
|
|
5
|
+
topRight: string;
|
|
6
|
+
bottomLeft: string;
|
|
7
|
+
bottomRight: string;
|
|
8
|
+
leftT: string;
|
|
9
|
+
rightT: string;
|
|
10
|
+
topT: string;
|
|
11
|
+
bottomT: string;
|
|
12
|
+
cross: string;
|
|
13
|
+
doubleHorizontal: string;
|
|
14
|
+
doubleVertical: string;
|
|
15
|
+
doubleTopLeft: string;
|
|
16
|
+
doubleTopRight: string;
|
|
17
|
+
doubleBottomLeft: string;
|
|
18
|
+
doubleBottomRight: string;
|
|
19
|
+
};
|
|
20
|
+
export declare function drawBox(content: string[], width: number, title?: string): string;
|
|
21
|
+
export declare function drawSeparator(width: number, title?: string): string;
|
|
22
|
+
export declare function drawProgressBar(percent: number, width?: number): string;
|
|
23
|
+
//# sourceMappingURL=borders.d.ts.map
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
export declare const colors: {
|
|
2
|
+
background: string;
|
|
3
|
+
surface: string;
|
|
4
|
+
surfaceElev: string;
|
|
5
|
+
primary: string;
|
|
6
|
+
primaryGlow: string;
|
|
7
|
+
primaryGlowHover: string;
|
|
8
|
+
textPrimary: string;
|
|
9
|
+
textSecondary: string;
|
|
10
|
+
textTertiary: string;
|
|
11
|
+
textQuaternary: string;
|
|
12
|
+
success: string;
|
|
13
|
+
warning: string;
|
|
14
|
+
error: string;
|
|
15
|
+
border: string;
|
|
16
|
+
mutation: string;
|
|
17
|
+
mutationGlow: string;
|
|
18
|
+
};
|
|
19
|
+
export declare const ansiColors: {
|
|
20
|
+
reset: string;
|
|
21
|
+
bright: string;
|
|
22
|
+
dim: string;
|
|
23
|
+
black: string;
|
|
24
|
+
red: string;
|
|
25
|
+
green: string;
|
|
26
|
+
yellow: string;
|
|
27
|
+
blue: string;
|
|
28
|
+
magenta: string;
|
|
29
|
+
cyan: string;
|
|
30
|
+
white: string;
|
|
31
|
+
gray: string;
|
|
32
|
+
brightRed: string;
|
|
33
|
+
brightGreen: string;
|
|
34
|
+
brightYellow: string;
|
|
35
|
+
brightBlue: string;
|
|
36
|
+
brightMagenta: string;
|
|
37
|
+
brightCyan: string;
|
|
38
|
+
brightWhite: string;
|
|
39
|
+
bgBlack: string;
|
|
40
|
+
bgRed: string;
|
|
41
|
+
bgGreen: string;
|
|
42
|
+
bgYellow: string;
|
|
43
|
+
bgBlue: string;
|
|
44
|
+
bgMagenta: string;
|
|
45
|
+
bgCyan: string;
|
|
46
|
+
bgWhite: string;
|
|
47
|
+
bgGray: string;
|
|
48
|
+
};
|
|
49
|
+
export declare const statusIndicators: {
|
|
50
|
+
online: string;
|
|
51
|
+
offline: string;
|
|
52
|
+
running: string;
|
|
53
|
+
loading: string;
|
|
54
|
+
mutation: string;
|
|
55
|
+
checkpoint: string;
|
|
56
|
+
pending: string;
|
|
57
|
+
done: string;
|
|
58
|
+
};
|
|
59
|
+
export declare const providerIndicators: Record<string, string>;
|
|
60
|
+
export declare function colorize(text: string, color: keyof typeof ansiColors): string;
|
|
61
|
+
export declare function statusColor(status: string): string;
|
|
62
|
+
export declare function formatStatus(status: string): string;
|
|
63
|
+
//# sourceMappingURL=colors.d.ts.map
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
export declare const typography: {
|
|
2
|
+
primary: string;
|
|
3
|
+
monospace: string;
|
|
4
|
+
weights: {
|
|
5
|
+
light: number;
|
|
6
|
+
regular: number;
|
|
7
|
+
medium: number;
|
|
8
|
+
bold: number;
|
|
9
|
+
};
|
|
10
|
+
sizes: {
|
|
11
|
+
hero: number;
|
|
12
|
+
section: number;
|
|
13
|
+
label: number;
|
|
14
|
+
body: number;
|
|
15
|
+
code: number;
|
|
16
|
+
status: number;
|
|
17
|
+
agent: number;
|
|
18
|
+
provider: number;
|
|
19
|
+
};
|
|
20
|
+
tracking: {
|
|
21
|
+
none: string;
|
|
22
|
+
tight: string;
|
|
23
|
+
normal: string;
|
|
24
|
+
wide: string;
|
|
25
|
+
label: string;
|
|
26
|
+
};
|
|
27
|
+
};
|
|
28
|
+
export declare function upperCase(text: string): string;
|
|
29
|
+
export declare function padCenter(text: string, width: number): string;
|
|
30
|
+
export declare function padRight(text: string, width: number): string;
|
|
31
|
+
export declare function padLeft(text: string, width: number): string;
|
|
32
|
+
export declare function truncate(text: string, maxLength: number): string;
|
|
33
|
+
export declare function formatLabel(text: string): string;
|
|
34
|
+
//# sourceMappingURL=typography.d.ts.map
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
export interface HubOptions {
|
|
2
|
+
cwd: string;
|
|
3
|
+
config?: HubConfig;
|
|
4
|
+
}
|
|
5
|
+
export interface HubConfig {
|
|
6
|
+
project?: string;
|
|
7
|
+
providers?: string[];
|
|
8
|
+
theme?: 'industrial' | 'minimal' | 'high-contrast';
|
|
9
|
+
}
|
|
10
|
+
export interface Command {
|
|
11
|
+
name: string;
|
|
12
|
+
args: string[];
|
|
13
|
+
flags: Record<string, string | boolean>;
|
|
14
|
+
}
|
|
15
|
+
export interface HubContext {
|
|
16
|
+
currentWorkflow?: string;
|
|
17
|
+
currentRun?: string;
|
|
18
|
+
config: HubConfig;
|
|
19
|
+
}
|
|
20
|
+
export type CommandHandler = (args: string[], flags: Record<string, string | boolean>, context: HubContext) => Promise<void>;
|
|
21
|
+
export interface CommandDefinition {
|
|
22
|
+
name: string;
|
|
23
|
+
description: string;
|
|
24
|
+
handler: CommandHandler;
|
|
25
|
+
aliases?: string[];
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=types.d.ts.map
|
package/dist/run.d.ts
ADDED
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
interface RunOptions {
|
|
2
|
+
cwd: string;
|
|
3
|
+
prompt: string;
|
|
4
|
+
workflowPath?: string;
|
|
5
|
+
asJson?: boolean;
|
|
6
|
+
stream?: boolean;
|
|
7
|
+
maxParallel?: number;
|
|
8
|
+
noCachePersist?: boolean;
|
|
9
|
+
providerOverride?: string;
|
|
10
|
+
bridgeCommandOverride?: string;
|
|
11
|
+
ui?: boolean;
|
|
12
|
+
yolo?: boolean;
|
|
13
|
+
}
|
|
14
|
+
export declare function runWorkflow(options: RunOptions): Promise<number>;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=run.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProviderSelector.d.ts","sourceRoot":"","sources":["../../../src/setup/components/ProviderSelector.tsx"],"names":[],"mappings":"AAGA,UAAU,QAAQ;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,QAAA,MAAM,SAAS,EAAE,QAAQ,EA2CxB,CAAC;AAEF,UAAU,qBAAqB;IAC7B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,iBAAiB,EACjB,QAAQ,EACR,UAAU,EACV,MAAM,GACP,EAAE,qBAAqB,
|
|
1
|
+
{"version":3,"file":"ProviderSelector.d.ts","sourceRoot":"","sources":["../../../src/setup/components/ProviderSelector.tsx"],"names":[],"mappings":"AAGA,UAAU,QAAQ;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,cAAc,EAAE,OAAO,CAAC;CACzB;AAED,QAAA,MAAM,SAAS,EAAE,QAAQ,EA2CxB,CAAC;AAEF,UAAU,qBAAqB;IAC7B,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,KAAK,IAAI,CAAC;IACvC,UAAU,EAAE,MAAM,IAAI,CAAC;IACvB,MAAM,EAAE,MAAM,IAAI,CAAC;CACpB;AAED,wBAAgB,gBAAgB,CAAC,EAC/B,iBAAiB,EACjB,QAAQ,EACR,UAAU,EACV,MAAM,GACP,EAAE,qBAAqB,2CAuGvB;AAED,OAAO,EAAE,SAAS,EAAE,CAAC;AACrB,YAAY,EAAE,QAAQ,EAAE,CAAC"}
|
|
@@ -56,15 +56,16 @@ export function ProviderSelector({ selectedProviders, onToggle, onContinue, onBa
|
|
|
56
56
|
setFocusedIndex((prev) => (prev === PROVIDERS.length - 1 ? 0 : prev + 1));
|
|
57
57
|
}
|
|
58
58
|
else if (key.return) {
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
onContinue();
|
|
62
|
-
}
|
|
63
|
-
}
|
|
64
|
-
else if (focusedIndex === PROVIDERS.length + 1) {
|
|
59
|
+
// If BACK is focused, go back
|
|
60
|
+
if (focusedIndex === PROVIDERS.length + 1) {
|
|
65
61
|
onBack();
|
|
66
62
|
}
|
|
67
|
-
else {
|
|
63
|
+
else if (selectedProviders.length > 0) {
|
|
64
|
+
// If at least one provider is selected, ENTER should continue
|
|
65
|
+
onContinue();
|
|
66
|
+
}
|
|
67
|
+
else if (focusedIndex < PROVIDERS.length) {
|
|
68
|
+
// No providers selected yet: toggle the focused provider
|
|
68
69
|
onToggle(PROVIDERS[focusedIndex].id);
|
|
69
70
|
}
|
|
70
71
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProviderSelector.js","sourceRoot":"","sources":["../../../src/setup/components/ProviderSelector.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;AAU1C,MAAM,SAAS,GAAe;IAC5B;QACE,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,aAAa;QACnB,WAAW,EAAE,uDAAuD;QACpE,GAAG,EAAE,GAAG;QACR,cAAc,EAAE,KAAK;KACtB;IACD;QACE,EAAE,EAAE,WAAW;QACf,IAAI,EAAE,eAAe;QACrB,WAAW,EAAE,0BAA0B;QACvC,GAAG,EAAE,GAAG;QACR,cAAc,EAAE,IAAI;KACrB;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,+BAA+B;QAC5C,GAAG,EAAE,GAAG;QACR,cAAc,EAAE,IAAI;KACrB;IACD;QACE,EAAE,EAAE,QAAQ;QACZ,IAAI,EAAE,QAAQ;QACd,WAAW,EAAE,wBAAwB;QACrC,GAAG,EAAE,GAAG;QACR,cAAc,EAAE,IAAI;KACrB;IACD;QACE,EAAE,EAAE,SAAS;QACb,IAAI,EAAE,SAAS;QACf,WAAW,EAAE,mBAAmB;QAChC,GAAG,EAAE,GAAG;QACR,cAAc,EAAE,IAAI;KACrB;IACD;QACE,EAAE,EAAE,MAAM;QACV,IAAI,EAAE,MAAM;QACZ,WAAW,EAAE,0BAA0B;QACvC,GAAG,EAAE,GAAG;QACR,cAAc,EAAE,IAAI;KACrB;CACF,CAAC;AASF,MAAM,UAAU,gBAAgB,CAAC,EAC/B,iBAAiB,EACjB,QAAQ,EACR,UAAU,EACV,MAAM,GACgB;IACtB,MAAM,CAAC,YAAY,EAAE,eAAe,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACpD,MAAM,OAAO,GAAG,SAAS,CAAC;IAE1B,QAAQ,CAAC,CAAC,KAAK,EAAE,GAAG,EAAE,EAAE;QACtB,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;YAChB,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5E,CAAC;aAAM,IAAI,GAAG,CAAC,SAAS,EAAE,CAAC;YACzB,eAAe,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,IAAI,GAAG,CAAC,CAAC,CAAC,CAAC;QAC5E,CAAC;aAAM,IAAI,GAAG,CAAC,MAAM,EAAE,CAAC;YACtB,IAAI,YAAY,KAAK,SAAS,CAAC,MAAM,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"ProviderSelector.js","sourceRoot":"","sources":["../../../src/setup/components/ProviderSelector.tsx"],"names":[],"mappings":"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"}
|
package/dist/styles.d.ts
ADDED
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
export declare const c: {
|
|
2
|
+
blue: (s: string) => string;
|
|
3
|
+
green: (s: string) => string;
|
|
4
|
+
yellow: (s: string) => string;
|
|
5
|
+
red: (s: string) => string;
|
|
6
|
+
magenta: (s: string) => string;
|
|
7
|
+
cyan: (s: string) => string;
|
|
8
|
+
white: (s: string) => string;
|
|
9
|
+
gray: (s: string) => string;
|
|
10
|
+
bold: (s: string) => string;
|
|
11
|
+
};
|
|
12
|
+
//# sourceMappingURL=styles.d.ts.map
|
package/dist/tui/App.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/tui/App.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAkBjF,eAAO,MAAM,GAAG,
|
|
1
|
+
{"version":3,"file":"App.d.ts","sourceRoot":"","sources":["../../src/tui/App.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA4D,MAAM,OAAO,CAAC;AAkBjF,eAAO,MAAM,GAAG,oCAoKd,CAAC"}
|
package/dist/tui/App.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
2
|
import React, { useState, useEffect, useRef, useMemo, useCallback } from "react";
|
|
3
|
-
import { Box, useApp, useInput } from "ink";
|
|
3
|
+
import { Box, useApp, useInput, useStdout } from "ink";
|
|
4
4
|
import { Header } from "./components/Header.js";
|
|
5
5
|
import { ChatPanel } from "./components/ChatPanel.js";
|
|
6
6
|
import { StatusPanel } from "./components/StatusPanel.js";
|
|
@@ -15,12 +15,17 @@ const PANEL_ORDER = ["chat", "dag", "status", "logs", "metrics", "memory"];
|
|
|
15
15
|
const TICK_INTERVAL = 200;
|
|
16
16
|
export const App = React.memo(function App() {
|
|
17
17
|
const { exit } = useApp();
|
|
18
|
+
const { stdout } = useStdout();
|
|
18
19
|
const { state, processCommand } = useAppState();
|
|
19
20
|
const [activePanel, setActivePanel] = useState("chat");
|
|
20
21
|
const [showHelp, setShowHelp] = useState(false);
|
|
21
22
|
const [tick, setTick] = useState(0);
|
|
22
23
|
const [viewMode, setViewMode] = useState("full");
|
|
23
24
|
const intervalRef = useRef(null);
|
|
25
|
+
const terminalHeight = stdout?.rows || 24;
|
|
26
|
+
const headerHeight = 5;
|
|
27
|
+
const inputBarHeight = 4;
|
|
28
|
+
const availableHeight = Math.max(8, terminalHeight - headerHeight - inputBarHeight);
|
|
24
29
|
useEffect(() => {
|
|
25
30
|
intervalRef.current = setInterval(() => {
|
|
26
31
|
setTick((t) => t + 1);
|
|
@@ -126,6 +131,6 @@ export const App = React.memo(function App() {
|
|
|
126
131
|
isProcessing: state.isProcessing,
|
|
127
132
|
projectName: state.projectName,
|
|
128
133
|
}), [handleSubmit, state.suggestions, state.isProcessing, state.projectName]);
|
|
129
|
-
return (_jsxs(Box, { flexDirection: "column", height:
|
|
134
|
+
return (_jsxs(Box, { flexDirection: "column", height: terminalHeight, width: "100%", children: [_jsx(Header, { ...headerProps }), showHelp ? (_jsx(HelpOverlay, { onDismiss: handleDismissHelp })) : (_jsxs(_Fragment, { children: [_jsxs(Box, { flexDirection: "row", width: "100%", height: availableHeight, children: [_jsx(ChatPanel, { ...chatPanelProps, maxHeight: availableHeight }), _jsx(DAGPanel, { ...dagPanelProps, maxHeight: availableHeight }), viewMode === "full" && (_jsxs(_Fragment, { children: [_jsx(LogsPanel, { ...logsPanelProps, maxHeight: availableHeight }), _jsxs(Box, { flexDirection: "column", children: [_jsx(MetricsPanel, { ...metricsPanelProps, maxHeight: Math.floor(availableHeight / 2) }), _jsx(MemoryPanel, { ...memoryPanelProps, maxHeight: Math.floor(availableHeight / 2) })] })] })), viewMode === "compact" && (_jsx(StatusPanel, { ...statusPanelProps, maxHeight: availableHeight }))] }), _jsx(InputBar, { ...inputBarProps })] }))] }));
|
|
130
135
|
});
|
|
131
136
|
//# sourceMappingURL=App.js.map
|
package/dist/tui/App.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/tui/App.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AACjF,OAAO,EAAE,GAAG,EAAQ,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,CAAC;
|
|
1
|
+
{"version":3,"file":"App.js","sourceRoot":"","sources":["../../src/tui/App.tsx"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatPanel.d.ts","sourceRoot":"","sources":["../../../src/tui/components/ChatPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0D,MAAM,OAAO,CAAC;AAK/E,UAAU,OAAO;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,cAAc;IACtB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"ChatPanel.d.ts","sourceRoot":"","sources":["../../../src/tui/components/ChatPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAA0D,MAAM,OAAO,CAAC;AAK/E,UAAU,OAAO;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,QAAQ,GAAG,OAAO,GAAG,OAAO,GAAG,SAAS,CAAC;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,IAAI,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED,UAAU,cAAc;IACtB,QAAQ,EAAE,OAAO,EAAE,CAAC;IACpB,YAAY,EAAE,OAAO,CAAC;IACtB,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAgDD,eAAO,MAAM,SAAS,4CA6DpB,CAAC"}
|
|
@@ -22,11 +22,12 @@ const MessageItem = memo(function MessageItem({ message, animate = false }) {
|
|
|
22
22
|
const formattedTime = useMemo(() => formatTimestamp(message.timestamp), [message.timestamp]);
|
|
23
23
|
return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Box, { flexDirection: "row", children: [_jsxs(Text, { color: tuiColors.textTertiary, children: ["[", formattedTime, "]"] }), _jsx(Text, { color: config.color, bold: true, children: tag.padEnd(12) }), providerInfo && (_jsx(Text, { color: tuiColors.textTertiary, children: providerInfo.code }))] }), animate ? (_jsx(TypingEffect, { text: message.content, speed: TYPING_SPEED_PER_CHAR, showCursor: false })) : (_jsxs(Text, { color: tuiColors.textPrimary, children: [" ", message.content] }))] }));
|
|
24
24
|
});
|
|
25
|
-
export const ChatPanel = memo(function ChatPanel({ messages, isProcessing, isActive }) {
|
|
25
|
+
export const ChatPanel = memo(function ChatPanel({ messages, isProcessing, isActive, maxHeight }) {
|
|
26
26
|
const borderColor = isActive ? tuiColors.primary : tuiColors.border;
|
|
27
27
|
const [animatingMessageId, setAnimatingMessageId] = useState(null);
|
|
28
28
|
const timeoutRef = React.useRef(null);
|
|
29
|
-
const
|
|
29
|
+
const maxMsgs = maxHeight ? Math.max(3, maxHeight - 4) : MAX_DISPLAYED_MESSAGES;
|
|
30
|
+
const displayMessages = useMemo(() => messages.slice(-maxMsgs), [messages, maxMsgs]);
|
|
30
31
|
useEffect(() => {
|
|
31
32
|
if (messages.length === 0)
|
|
32
33
|
return;
|
|
@@ -45,6 +46,6 @@ export const ChatPanel = memo(function ChatPanel({ messages, isProcessing, isAct
|
|
|
45
46
|
};
|
|
46
47
|
}, [messages]);
|
|
47
48
|
const messageElements = useMemo(() => displayMessages.map((msg) => (_jsx(MessageItem, { message: msg, animate: msg.id === animatingMessageId }, msg.id))), [displayMessages, animatingMessageId]);
|
|
48
|
-
return (_jsxs(Box, { flexDirection: "column", flexGrow: 2, borderStyle: "single", borderColor: borderColor, paddingX: 1, children: [_jsxs(Box, { marginBottom: 1, children: [_jsx(Text, { color: tuiColors.primary, bold: true, children: "\u250C\u2500" }), _jsx(Text, { color: tuiColors.primary, bold: true, children: " CHAT " }), _jsx(Text, { color: tuiColors.textTertiary, children: "\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" })] }), _jsxs(Box, { flexDirection: "column", flexGrow: 1, overflow: "hidden", children: [messageElements, isProcessing && _jsx(ProcessingIndicator, { text: "Processing" })] })] }));
|
|
49
|
+
return (_jsxs(Box, { flexDirection: "column", flexGrow: 2, height: maxHeight, borderStyle: "single", borderColor: borderColor, paddingX: 1, children: [_jsxs(Box, { marginBottom: 1, flexShrink: 0, children: [_jsx(Text, { color: tuiColors.primary, bold: true, children: "\u250C\u2500" }), _jsx(Text, { color: tuiColors.primary, bold: true, children: " CHAT " }), _jsx(Text, { color: tuiColors.textTertiary, children: "\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" })] }), _jsxs(Box, { flexDirection: "column", flexGrow: 1, overflow: "hidden", children: [messageElements, isProcessing && _jsx(ProcessingIndicator, { text: "Processing" })] })] }));
|
|
49
50
|
});
|
|
50
51
|
//# sourceMappingURL=ChatPanel.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatPanel.js","sourceRoot":"","sources":["../../../src/tui/components/ChatPanel.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,OAAO,EAAE,IAAI,EAAe,MAAM,OAAO,CAAC;AAC/E,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAChC,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AAChF,OAAO,EAAE,YAAY,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;
|
|
1
|
+
{"version":3,"file":"ChatPanel.js","sourceRoot":"","sources":["../../../src/tui/components/ChatPanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -30,6 +30,7 @@ interface DAGPanelProps {
|
|
|
30
30
|
workflowState: WorkflowState;
|
|
31
31
|
tick: number;
|
|
32
32
|
isActive: boolean;
|
|
33
|
+
maxHeight?: number;
|
|
33
34
|
}
|
|
34
35
|
export declare const DAGPanel: React.NamedExoticComponent<DAGPanelProps>;
|
|
35
36
|
export type { DAGNode, DAGLevel, WorkflowState, DAGSubtask };
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DAGPanel.d.ts","sourceRoot":"","sources":["../../../src/tui/components/DAGPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAI7C,OAAO,EAAkB,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjE,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,UAAU,CAAC;CACnB;AAED,UAAU,OAAO;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;CACzB;AAED,UAAU,QAAQ;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;CACzC;AAED,UAAU,aAAa;IACrB,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAgHD,UAAU,aAAa;IACrB,aAAa,EAAE,aAAa,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"DAGPanel.d.ts","sourceRoot":"","sources":["../../../src/tui/components/DAGPanel.tsx"],"names":[],"mappings":"AAAA,OAAO,KAAwB,MAAM,OAAO,CAAC;AAI7C,OAAO,EAAkB,UAAU,EAAE,MAAM,qBAAqB,CAAC;AAEjE,UAAU,UAAU;IAClB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,UAAU,CAAC;CACnB;AAED,UAAU,OAAO;IACf,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,MAAM,GAAG,OAAO,CAAC;IACjD,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,KAAK,CAAC,EAAE,UAAU,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,UAAU,EAAE,CAAC;CACzB;AAED,UAAU,QAAQ;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,EAAE,OAAO,EAAE,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,SAAS,CAAC;CACzC;AAED,UAAU,aAAa;IACrB,MAAM,EAAE,QAAQ,EAAE,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;CACvB;AAgHD,UAAU,aAAa;IACrB,aAAa,EAAE,aAAa,CAAC;IAC7B,IAAI,EAAE,MAAM,CAAC;IACb,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,QAAQ,2CAwDnB,CAAC;AAEH,YAAY,EAAE,OAAO,EAAE,QAAQ,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC"}
|
|
@@ -42,10 +42,11 @@ const DAGLevelView = memo(function DAGLevelView({ level, tick, isActive }) {
|
|
|
42
42
|
: tuiColors.textTertiary;
|
|
43
43
|
return (_jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsxs(Box, { flexDirection: "row", children: [_jsx(Text, { color: levelColor, bold: true, children: level.name.padEnd(12) }), _jsx(AnimatedProgressBar, { progress: level.progress, width: 16, tick: tick, animated: isActive, showMarker: isActive, glowEffect: isActive })] }), _jsx(Box, { flexDirection: "row", children: _jsx(Text, { color: isActive ? tuiColors.primary : tuiColors.textTertiary, children: isActive ? "┃" : "│" }) }), level.nodes.map((node, idx) => (_jsx(DAGNodeItem, { node: node, tick: tick, isLast: idx === level.nodes.length - 1 }, node.id)))] }));
|
|
44
44
|
});
|
|
45
|
-
export const DAGPanel = memo(function DAGPanel({ workflowState, tick, isActive }) {
|
|
45
|
+
export const DAGPanel = memo(function DAGPanel({ workflowState, tick, isActive, maxHeight }) {
|
|
46
46
|
const borderColor = isActive ? tuiColors.primary : tuiColors.border;
|
|
47
|
-
const
|
|
47
|
+
const visibleLevels = maxHeight ? Math.max(2, Math.floor((maxHeight - 6) / 4)) : workflowState.levels.length;
|
|
48
|
+
const levelViews = useMemo(() => workflowState.levels.slice(0, visibleLevels).map((level, index) => (_jsx(DAGLevelView, { level: level, tick: tick, isActive: index === workflowState.currentLevel }, level.name))), [workflowState.levels, workflowState.currentLevel, tick, visibleLevels]);
|
|
48
49
|
const isAnimating = useMemo(() => workflowState.totalProgress > 0 && workflowState.totalProgress < 100, [workflowState.totalProgress]);
|
|
49
|
-
return (_jsxs(Box, { flexDirection: "column", width: 46, borderStyle: "single", borderColor: borderColor, paddingX: 1, children: [_jsxs(Box, { marginBottom: 1, children: [_jsx(Text, { color: tuiColors.primary, bold: true, children: "\u250C\u2500" }), _jsx(Text, { color: tuiColors.primary, bold: true, children: " DAG_EXECUTION " }), _jsx(Text, { color: tuiColors.textTertiary, children: "\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: "column", flexGrow: 1, children: levelViews }), _jsx(Box, { marginTop: 1, children: _jsx(Text, { color: tuiColors.textTertiary, children: "\u251C\u2500 TOTAL \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" }) }), _jsxs(Box, { flexDirection: "row", children: [_jsx(Text, { color: tuiColors.textSecondary, children: "Progress: " }), _jsx(AnimatedProgressBar, { progress: workflowState.totalProgress, width: 16, tick: tick, animated: isAnimating, showMarker: true })] })] }));
|
|
50
|
+
return (_jsxs(Box, { flexDirection: "column", width: 46, height: maxHeight, borderStyle: "single", borderColor: borderColor, paddingX: 1, children: [_jsxs(Box, { marginBottom: 1, flexShrink: 0, children: [_jsx(Text, { color: tuiColors.primary, bold: true, children: "\u250C\u2500" }), _jsx(Text, { color: tuiColors.primary, bold: true, children: " DAG_EXECUTION " }), _jsx(Text, { color: tuiColors.textTertiary, children: "\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: "column", flexGrow: 1, overflow: "hidden", children: levelViews }), _jsx(Box, { marginTop: 1, flexShrink: 0, children: _jsx(Text, { color: tuiColors.textTertiary, children: "\u251C\u2500 TOTAL \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" }) }), _jsxs(Box, { flexDirection: "row", flexShrink: 0, children: [_jsx(Text, { color: tuiColors.textSecondary, children: "Progress: " }), _jsx(AnimatedProgressBar, { progress: workflowState.totalProgress, width: 16, tick: tick, animated: isAnimating, showMarker: true })] })] }));
|
|
50
51
|
});
|
|
51
52
|
//# sourceMappingURL=DAGPanel.js.map
|