brainrot-cli 0.1.1 → 0.2.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.
- package/dist/AppNew.d.ts +11 -0
- package/dist/AppNew.d.ts.map +1 -0
- package/dist/AppNew.js +437 -0
- package/dist/AppNew.js.map +1 -0
- package/dist/AttentionOverlay.d.ts +28 -0
- package/dist/AttentionOverlay.d.ts.map +1 -0
- package/dist/AttentionOverlay.js +92 -0
- package/dist/AttentionOverlay.js.map +1 -0
- package/dist/ClaudeChat.d.ts +38 -0
- package/dist/ClaudeChat.d.ts.map +1 -0
- package/dist/ClaudeChat.js +81 -0
- package/dist/ClaudeChat.js.map +1 -0
- package/dist/FeatureInput.d.ts +20 -0
- package/dist/FeatureInput.d.ts.map +1 -0
- package/dist/FeatureInput.js +66 -0
- package/dist/FeatureInput.js.map +1 -0
- package/dist/GameSelectScreen.d.ts +24 -0
- package/dist/GameSelectScreen.d.ts.map +1 -0
- package/dist/GameSelectScreen.js +78 -0
- package/dist/GameSelectScreen.js.map +1 -0
- package/dist/GameSelectorOverlay.d.ts +21 -0
- package/dist/GameSelectorOverlay.d.ts.map +1 -0
- package/dist/GameSelectorOverlay.js +98 -0
- package/dist/GameSelectorOverlay.js.map +1 -0
- package/dist/LoopComplete.d.ts +42 -0
- package/dist/LoopComplete.d.ts.map +1 -0
- package/dist/LoopComplete.js +69 -0
- package/dist/LoopComplete.js.map +1 -0
- package/dist/ResumePrompt.d.ts +32 -0
- package/dist/ResumePrompt.d.ts.map +1 -0
- package/dist/ResumePrompt.js +65 -0
- package/dist/ResumePrompt.js.map +1 -0
- package/dist/SidePanel.d.ts +26 -0
- package/dist/SidePanel.d.ts.map +1 -0
- package/dist/SidePanel.js +90 -0
- package/dist/SidePanel.js.map +1 -0
- package/dist/StatusBarMinimal.d.ts +26 -0
- package/dist/StatusBarMinimal.d.ts.map +1 -0
- package/dist/StatusBarMinimal.js +111 -0
- package/dist/StatusBarMinimal.js.map +1 -0
- package/dist/config.d.ts +11 -0
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +12 -0
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +6 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +10 -449
- package/dist/index.js.map +1 -1
- package/package.json +3 -2
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Resume Prompt Component
|
|
3
|
+
*
|
|
4
|
+
* Shown to returning users who have an unfinished loop.
|
|
5
|
+
* Offers options to resume, start new, or quit.
|
|
6
|
+
*/
|
|
7
|
+
export interface ResumePromptProps {
|
|
8
|
+
/** Feature name from the previous loop */
|
|
9
|
+
featureName: string;
|
|
10
|
+
/** Number of completed tasks */
|
|
11
|
+
completedTasks: number;
|
|
12
|
+
/** Total number of tasks */
|
|
13
|
+
totalTasks: number;
|
|
14
|
+
/** When the loop was last active */
|
|
15
|
+
lastActiveAt?: Date | null;
|
|
16
|
+
/** Callback for resuming the loop */
|
|
17
|
+
onResume: () => void;
|
|
18
|
+
/** Callback for starting a new loop */
|
|
19
|
+
onNewLoop: () => void;
|
|
20
|
+
/** Callback for quitting */
|
|
21
|
+
onQuit: () => void;
|
|
22
|
+
/** Whether the component has focus */
|
|
23
|
+
hasFocus: boolean;
|
|
24
|
+
/** Terminal dimensions */
|
|
25
|
+
dimensions: {
|
|
26
|
+
width: number;
|
|
27
|
+
height: number;
|
|
28
|
+
};
|
|
29
|
+
}
|
|
30
|
+
export declare function ResumePrompt({ featureName, completedTasks, totalTasks, lastActiveAt, onResume, onNewLoop, onQuit, hasFocus, dimensions, }: ResumePromptProps): import("react/jsx-runtime").JSX.Element;
|
|
31
|
+
export default ResumePrompt;
|
|
32
|
+
//# sourceMappingURL=ResumePrompt.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResumePrompt.d.ts","sourceRoot":"","sources":["../src/ResumePrompt.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAUH,MAAM,WAAW,iBAAiB;IAChC,0CAA0C;IAC1C,WAAW,EAAE,MAAM,CAAC;IACpB,gCAAgC;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,4BAA4B;IAC5B,UAAU,EAAE,MAAM,CAAC;IACnB,oCAAoC;IACpC,YAAY,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAC3B,qCAAqC;IACrC,QAAQ,EAAE,MAAM,IAAI,CAAC;IACrB,uCAAuC;IACvC,SAAS,EAAE,MAAM,IAAI,CAAC;IACtB,4BAA4B;IAC5B,MAAM,EAAE,MAAM,IAAI,CAAC;IACnB,sCAAsC;IACtC,QAAQ,EAAE,OAAO,CAAC;IAClB,0BAA0B;IAC1B,UAAU,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;CAC/C;AA6BD,wBAAgB,YAAY,CAAC,EAC3B,WAAW,EACX,cAAc,EACd,UAAU,EACV,YAAY,EACZ,QAAQ,EACR,SAAS,EACT,MAAM,EACN,QAAQ,EACR,UAAU,GACX,EAAE,iBAAiB,2CA0GnB;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Resume Prompt Component
|
|
4
|
+
*
|
|
5
|
+
* Shown to returning users who have an unfinished loop.
|
|
6
|
+
* Offers options to resume, start new, or quit.
|
|
7
|
+
*/
|
|
8
|
+
import { Box, Text, useInput } from "ink";
|
|
9
|
+
import { useMemo } from "react";
|
|
10
|
+
import { useThemeColors } from "./useTheme.js";
|
|
11
|
+
// ============================================================================
|
|
12
|
+
// HELPER FUNCTIONS
|
|
13
|
+
// ============================================================================
|
|
14
|
+
function formatTimeAgo(date) {
|
|
15
|
+
if (!date)
|
|
16
|
+
return "unknown";
|
|
17
|
+
const now = new Date();
|
|
18
|
+
const diffMs = now.getTime() - date.getTime();
|
|
19
|
+
const diffMins = Math.floor(diffMs / 60000);
|
|
20
|
+
if (diffMins < 1)
|
|
21
|
+
return "just now";
|
|
22
|
+
if (diffMins === 1)
|
|
23
|
+
return "1 minute ago";
|
|
24
|
+
if (diffMins < 60)
|
|
25
|
+
return `${diffMins} minutes ago`;
|
|
26
|
+
const diffHours = Math.floor(diffMins / 60);
|
|
27
|
+
if (diffHours === 1)
|
|
28
|
+
return "1 hour ago";
|
|
29
|
+
if (diffHours < 24)
|
|
30
|
+
return `${diffHours} hours ago`;
|
|
31
|
+
const diffDays = Math.floor(diffHours / 24);
|
|
32
|
+
if (diffDays === 1)
|
|
33
|
+
return "1 day ago";
|
|
34
|
+
return `${diffDays} days ago`;
|
|
35
|
+
}
|
|
36
|
+
// ============================================================================
|
|
37
|
+
// MAIN COMPONENT
|
|
38
|
+
// ============================================================================
|
|
39
|
+
export function ResumePrompt({ featureName, completedTasks, totalTasks, lastActiveAt, onResume, onNewLoop, onQuit, hasFocus, dimensions, }) {
|
|
40
|
+
const colors = useThemeColors();
|
|
41
|
+
// Handle keyboard input
|
|
42
|
+
useInput((input) => {
|
|
43
|
+
if (!hasFocus)
|
|
44
|
+
return;
|
|
45
|
+
if (input === "r" || input === "R") {
|
|
46
|
+
onResume();
|
|
47
|
+
}
|
|
48
|
+
else if (input === "n" || input === "N") {
|
|
49
|
+
onNewLoop();
|
|
50
|
+
}
|
|
51
|
+
else if (input === "q" || input === "Q") {
|
|
52
|
+
onQuit();
|
|
53
|
+
}
|
|
54
|
+
}, { isActive: hasFocus });
|
|
55
|
+
const cardWidth = useMemo(() => {
|
|
56
|
+
return Math.min(55, dimensions.width - 8);
|
|
57
|
+
}, [dimensions.width]);
|
|
58
|
+
const progress = totalTasks > 0 ? Math.round((completedTasks / totalTasks) * 100) : 0;
|
|
59
|
+
const timeAgo = formatTimeAgo(lastActiveAt);
|
|
60
|
+
return (_jsxs(Box, { flexDirection: "column", alignItems: "center", justifyContent: "center", width: "100%", height: "100%", children: [_jsx(Box, { marginBottom: 2, children: _jsx(Text, { bold: true, color: colors.primary, children: "BRAINROT" }) }), _jsxs(Box, { flexDirection: "column", borderStyle: "round", borderColor: colors.border, paddingX: 2, paddingY: 1, width: cardWidth, children: [_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: colors.success, children: "Welcome back!" }) }), _jsxs(Box, { flexDirection: "column", marginBottom: 1, children: [_jsx(Text, { children: "You have an unfinished loop:" }), _jsxs(Text, { color: colors.text, bold: true, children: ["\"", featureName.length > cardWidth - 10
|
|
61
|
+
? featureName.slice(0, cardWidth - 13) + "..."
|
|
62
|
+
: featureName, "\""] }), _jsxs(Text, { dimColor: true, children: ["Progress: ", completedTasks, "/", totalTasks, " tasks (", progress, "%)"] }), _jsxs(Text, { dimColor: true, children: ["Last active: ", timeAgo] })] }), _jsx(Box, { marginY: 1, children: _jsx(Text, { dimColor: true, children: "─".repeat(cardWidth - 6) }) }), _jsxs(Box, { flexDirection: "column", children: [_jsxs(Text, { children: [_jsx(Text, { color: colors.primary, children: "[R]" }), " Resume"] }), _jsxs(Text, { children: [_jsx(Text, { color: colors.primary, children: "[N]" }), " New Loop"] }), _jsxs(Text, { children: [_jsx(Text, { color: colors.primary, children: "[Q]" }), " Quit"] })] })] }), _jsx(Box, { position: "absolute", marginTop: dimensions.height - 2, borderStyle: "single", borderColor: colors.border, paddingX: 2, width: dimensions.width - 4, children: _jsxs(Text, { dimColor: true, children: [_jsx(Text, { color: colors.primary, children: "?" }), ": Help |", " ", _jsx(Text, { color: colors.primary, children: "Ctrl+C" }), ": Quit"] }) })] }));
|
|
63
|
+
}
|
|
64
|
+
export default ResumePrompt;
|
|
65
|
+
//# sourceMappingURL=ResumePrompt.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ResumePrompt.js","sourceRoot":"","sources":["../src/ResumePrompt.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Side Panel Component
|
|
3
|
+
*
|
|
4
|
+
* Shows task list and current activity in a side panel.
|
|
5
|
+
* Only visible when terminal is wide enough (user-configurable threshold).
|
|
6
|
+
*/
|
|
7
|
+
export interface Task {
|
|
8
|
+
id: string;
|
|
9
|
+
title: string;
|
|
10
|
+
status: "pending" | "in_progress" | "completed";
|
|
11
|
+
}
|
|
12
|
+
export interface SidePanelProps {
|
|
13
|
+
/** List of tasks */
|
|
14
|
+
tasks: Task[];
|
|
15
|
+
/** Current activity description */
|
|
16
|
+
currentActivity?: string;
|
|
17
|
+
/** When the current task started */
|
|
18
|
+
activityStartedAt?: Date | null;
|
|
19
|
+
/** Panel width */
|
|
20
|
+
width: number;
|
|
21
|
+
/** Panel height */
|
|
22
|
+
height: number;
|
|
23
|
+
}
|
|
24
|
+
export declare function SidePanel({ tasks, currentActivity, activityStartedAt, width, height, }: SidePanelProps): import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
export default SidePanel;
|
|
26
|
+
//# sourceMappingURL=SidePanel.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SidePanel.d.ts","sourceRoot":"","sources":["../src/SidePanel.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,SAAS,GAAG,aAAa,GAAG,WAAW,CAAC;CACjD;AAED,MAAM,WAAW,cAAc;IAC7B,oBAAoB;IACpB,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,mCAAmC;IACnC,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,oCAAoC;IACpC,iBAAiB,CAAC,EAAE,IAAI,GAAG,IAAI,CAAC;IAChC,kBAAkB;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,mBAAmB;IACnB,MAAM,EAAE,MAAM,CAAC;CAChB;AAiED,wBAAgB,SAAS,CAAC,EACxB,KAAK,EACL,eAAe,EACf,iBAAiB,EACjB,KAAK,EACL,MAAM,GACP,EAAE,cAAc,2CAkHhB;AAED,eAAe,SAAS,CAAC"}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
import { jsxs as _jsxs, jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Side Panel Component
|
|
4
|
+
*
|
|
5
|
+
* Shows task list and current activity in a side panel.
|
|
6
|
+
* Only visible when terminal is wide enough (user-configurable threshold).
|
|
7
|
+
*/
|
|
8
|
+
import { Box, Text } from "ink";
|
|
9
|
+
import { useMemo } from "react";
|
|
10
|
+
import { useThemeColors } from "./useTheme.js";
|
|
11
|
+
import { navIcons } from "./theme.js";
|
|
12
|
+
// ============================================================================
|
|
13
|
+
// HELPER FUNCTIONS
|
|
14
|
+
// ============================================================================
|
|
15
|
+
function formatTimeAgo(date) {
|
|
16
|
+
if (!date)
|
|
17
|
+
return "";
|
|
18
|
+
const now = new Date();
|
|
19
|
+
const diffMs = now.getTime() - date.getTime();
|
|
20
|
+
const diffMins = Math.floor(diffMs / 60000);
|
|
21
|
+
if (diffMins < 1)
|
|
22
|
+
return "just now";
|
|
23
|
+
if (diffMins === 1)
|
|
24
|
+
return "1m ago";
|
|
25
|
+
if (diffMins < 60)
|
|
26
|
+
return `${diffMins}m ago`;
|
|
27
|
+
const diffHours = Math.floor(diffMins / 60);
|
|
28
|
+
if (diffHours === 1)
|
|
29
|
+
return "1h ago";
|
|
30
|
+
return `${diffHours}h ago`;
|
|
31
|
+
}
|
|
32
|
+
function getStatusIcon(status) {
|
|
33
|
+
switch (status) {
|
|
34
|
+
case "completed":
|
|
35
|
+
return "\u2713"; // checkmark
|
|
36
|
+
case "in_progress":
|
|
37
|
+
return "\u25CF"; // filled circle
|
|
38
|
+
case "pending":
|
|
39
|
+
default:
|
|
40
|
+
return "\u25CB"; // empty circle
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
function TaskItem({ task, index, colors }) {
|
|
44
|
+
const icon = getStatusIcon(task.status);
|
|
45
|
+
const color = task.status === "completed"
|
|
46
|
+
? colors.success
|
|
47
|
+
: task.status === "in_progress"
|
|
48
|
+
? colors.primary
|
|
49
|
+
: colors.textMuted;
|
|
50
|
+
return (_jsx(Box, { children: _jsxs(Text, { color: color, children: [icon, " ", index + 1, ". ", task.title] }) }));
|
|
51
|
+
}
|
|
52
|
+
// ============================================================================
|
|
53
|
+
// MAIN COMPONENT
|
|
54
|
+
// ============================================================================
|
|
55
|
+
export function SidePanel({ tasks, currentActivity, activityStartedAt, width, height, }) {
|
|
56
|
+
const colors = useThemeColors();
|
|
57
|
+
// Calculate how many tasks we can show
|
|
58
|
+
const maxVisibleTasks = useMemo(() => {
|
|
59
|
+
// Reserve space for: header (2), divider (1), activity section (5), padding
|
|
60
|
+
return Math.max(3, height - 10);
|
|
61
|
+
}, [height]);
|
|
62
|
+
// Get visible tasks (prioritize in_progress and nearby tasks)
|
|
63
|
+
const visibleTasks = useMemo(() => {
|
|
64
|
+
if (tasks.length <= maxVisibleTasks) {
|
|
65
|
+
return tasks;
|
|
66
|
+
}
|
|
67
|
+
// Find the in_progress task index
|
|
68
|
+
const inProgressIdx = tasks.findIndex((t) => t.status === "in_progress");
|
|
69
|
+
if (inProgressIdx < 0) {
|
|
70
|
+
// No in_progress task, show first N tasks
|
|
71
|
+
return tasks.slice(0, maxVisibleTasks);
|
|
72
|
+
}
|
|
73
|
+
// Center around the in_progress task
|
|
74
|
+
const halfWindow = Math.floor(maxVisibleTasks / 2);
|
|
75
|
+
let start = Math.max(0, inProgressIdx - halfWindow);
|
|
76
|
+
const end = Math.min(tasks.length, start + maxVisibleTasks);
|
|
77
|
+
start = Math.max(0, end - maxVisibleTasks);
|
|
78
|
+
return tasks.slice(start, end);
|
|
79
|
+
}, [tasks, maxVisibleTasks]);
|
|
80
|
+
const timeAgo = formatTimeAgo(activityStartedAt);
|
|
81
|
+
return (_jsxs(Box, { flexDirection: "column", borderStyle: "single", borderColor: colors.border, paddingX: 1, width: width, height: height, children: [_jsx(Box, { marginBottom: 1, children: _jsxs(Text, { bold: true, color: colors.text, children: [navIcons.bullet, " TASKS"] }) }), _jsx(Box, { marginBottom: 1, children: _jsx(Text, { dimColor: true, children: "─".repeat(Math.max(0, width - 4)) }) }), _jsxs(Box, { flexDirection: "column", flexGrow: 1, children: [visibleTasks.map((task) => {
|
|
82
|
+
// Find original index in tasks array
|
|
83
|
+
const originalIdx = tasks.findIndex((t) => t.id === task.id);
|
|
84
|
+
return (_jsx(TaskItem, { task: task, index: originalIdx, colors: colors }, task.id));
|
|
85
|
+
}), tasks.length > maxVisibleTasks && (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { dimColor: true, children: ["... and ", tasks.length - maxVisibleTasks, " more"] }) }))] }), _jsx(Box, { marginY: 1, children: _jsx(Text, { dimColor: true, children: "─".repeat(Math.max(0, width - 4)) }) }), _jsxs(Box, { flexDirection: "column", children: [_jsx(Box, { marginBottom: 1, children: _jsxs(Text, { bold: true, color: colors.text, children: ["\u{1F504}", " CURRENT ACTIVITY"] }) }), _jsx(Box, { marginBottom: 1, children: _jsx(Text, { dimColor: true, children: "─".repeat(Math.max(0, width - 4)) }) }), currentActivity ? (_jsxs(Box, { flexDirection: "column", children: [_jsx(Text, { color: colors.text, children: currentActivity.length > width - 4
|
|
86
|
+
? currentActivity.slice(0, width - 7) + "..."
|
|
87
|
+
: currentActivity }), timeAgo && (_jsx(Box, { marginTop: 1, children: _jsxs(Text, { dimColor: true, children: ["Started: ", timeAgo] }) }))] })) : (_jsx(Text, { dimColor: true, children: "Waiting for activity..." }))] })] }));
|
|
88
|
+
}
|
|
89
|
+
export default SidePanel;
|
|
90
|
+
//# sourceMappingURL=SidePanel.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"SidePanel.js","sourceRoot":"","sources":["../src/SidePanel.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Status Bar Minimal
|
|
3
|
+
*
|
|
4
|
+
* Compact status bar showing loop progress and essential hotkeys.
|
|
5
|
+
* Used at the bottom of the screen during the game loop.
|
|
6
|
+
*/
|
|
7
|
+
export type LoopStatus = "idle" | "running" | "paused" | "waiting" | "completed" | "errored";
|
|
8
|
+
export interface StatusBarMinimalProps {
|
|
9
|
+
/** Current loop status */
|
|
10
|
+
status: LoopStatus;
|
|
11
|
+
/** Current task description (e.g., "Creating theme context") */
|
|
12
|
+
currentTask?: string;
|
|
13
|
+
/** Current task number */
|
|
14
|
+
taskNumber?: number;
|
|
15
|
+
/** Total number of tasks */
|
|
16
|
+
totalTasks?: number;
|
|
17
|
+
/** Progress percentage (0-100) */
|
|
18
|
+
progress: number;
|
|
19
|
+
/** Whether attention is needed */
|
|
20
|
+
needsAttention?: boolean;
|
|
21
|
+
/** Terminal width */
|
|
22
|
+
width: number;
|
|
23
|
+
}
|
|
24
|
+
export declare function StatusBarMinimal({ status, currentTask, taskNumber, totalTasks, progress, needsAttention, width, }: StatusBarMinimalProps): import("react/jsx-runtime").JSX.Element;
|
|
25
|
+
export default StatusBarMinimal;
|
|
26
|
+
//# sourceMappingURL=StatusBarMinimal.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatusBarMinimal.d.ts","sourceRoot":"","sources":["../src/StatusBarMinimal.tsx"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH,MAAM,MAAM,UAAU,GAClB,MAAM,GACN,SAAS,GACT,QAAQ,GACR,SAAS,GACT,WAAW,GACX,SAAS,CAAC;AAEd,MAAM,WAAW,qBAAqB;IACpC,0BAA0B;IAC1B,MAAM,EAAE,UAAU,CAAC;IACnB,gEAAgE;IAChE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,0BAA0B;IAC1B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,4BAA4B;IAC5B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,QAAQ,EAAE,MAAM,CAAC;IACjB,kCAAkC;IAClC,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,qBAAqB;IACrB,KAAK,EAAE,MAAM,CAAC;CACf;AAqGD,wBAAgB,gBAAgB,CAAC,EAC/B,MAAM,EACN,WAAW,EACX,UAAU,EACV,UAAU,EACV,QAAQ,EACR,cAAsB,EACtB,KAAK,GACN,EAAE,qBAAqB,2CAsFvB;AAED,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
/**
|
|
3
|
+
* Status Bar Minimal
|
|
4
|
+
*
|
|
5
|
+
* Compact status bar showing loop progress and essential hotkeys.
|
|
6
|
+
* Used at the bottom of the screen during the game loop.
|
|
7
|
+
*/
|
|
8
|
+
import { Box, Text } from "ink";
|
|
9
|
+
import { useMemo } from "react";
|
|
10
|
+
import { useThemeColors } from "./useTheme.js";
|
|
11
|
+
import { statusIcons, alertIcons, progressChars } from "./theme.js";
|
|
12
|
+
// ============================================================================
|
|
13
|
+
// HELPER FUNCTIONS
|
|
14
|
+
// ============================================================================
|
|
15
|
+
function getStatusColor(status, needsAttention, colors) {
|
|
16
|
+
if (needsAttention)
|
|
17
|
+
return colors.warning;
|
|
18
|
+
switch (status) {
|
|
19
|
+
case "running":
|
|
20
|
+
return colors.success;
|
|
21
|
+
case "waiting":
|
|
22
|
+
return colors.warning;
|
|
23
|
+
case "completed":
|
|
24
|
+
return colors.success;
|
|
25
|
+
case "errored":
|
|
26
|
+
return colors.error;
|
|
27
|
+
case "paused":
|
|
28
|
+
return colors.info;
|
|
29
|
+
default:
|
|
30
|
+
return colors.textMuted;
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
function getStatusIcon(status, needsAttention) {
|
|
34
|
+
if (needsAttention)
|
|
35
|
+
return alertIcons.warning || "\u26A0";
|
|
36
|
+
switch (status) {
|
|
37
|
+
case "running":
|
|
38
|
+
return statusIcons.running || "\u25CF";
|
|
39
|
+
case "waiting":
|
|
40
|
+
return statusIcons.waiting_for_input || "\u26A0";
|
|
41
|
+
case "completed":
|
|
42
|
+
return statusIcons.completed || "\u2713";
|
|
43
|
+
case "errored":
|
|
44
|
+
return statusIcons.errored || "\u2717";
|
|
45
|
+
case "paused":
|
|
46
|
+
return statusIcons.paused || "\u275A\u275A";
|
|
47
|
+
default:
|
|
48
|
+
return statusIcons.idle || "\u25CB";
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
function getStatusLabel(status, needsAttention) {
|
|
52
|
+
if (needsAttention)
|
|
53
|
+
return "WAITING";
|
|
54
|
+
switch (status) {
|
|
55
|
+
case "running":
|
|
56
|
+
return "RUNNING";
|
|
57
|
+
case "waiting":
|
|
58
|
+
return "WAITING";
|
|
59
|
+
case "completed":
|
|
60
|
+
return "COMPLETE";
|
|
61
|
+
case "errored":
|
|
62
|
+
return "ERROR";
|
|
63
|
+
case "paused":
|
|
64
|
+
return "PAUSED";
|
|
65
|
+
default:
|
|
66
|
+
return "IDLE";
|
|
67
|
+
}
|
|
68
|
+
}
|
|
69
|
+
function MiniProgressBar({ percentage, width, color, emptyColor, }) {
|
|
70
|
+
const clampedPct = Math.max(0, Math.min(100, percentage));
|
|
71
|
+
const filled = Math.round((clampedPct / 100) * width);
|
|
72
|
+
const empty = width - filled;
|
|
73
|
+
return (_jsxs(Text, { children: [_jsx(Text, { color: color, children: progressChars.filled.repeat(filled) }), _jsx(Text, { color: emptyColor, children: progressChars.empty.repeat(empty) }), _jsxs(Text, { dimColor: true, children: [" ", Math.round(clampedPct), "%"] })] }));
|
|
74
|
+
}
|
|
75
|
+
// ============================================================================
|
|
76
|
+
// MAIN COMPONENT
|
|
77
|
+
// ============================================================================
|
|
78
|
+
export function StatusBarMinimal({ status, currentTask, taskNumber, totalTasks, progress, needsAttention = false, width, }) {
|
|
79
|
+
const colors = useThemeColors();
|
|
80
|
+
const statusColor = useMemo(() => getStatusColor(status, needsAttention, colors), [status, needsAttention, colors]);
|
|
81
|
+
const statusIcon = useMemo(() => getStatusIcon(status, needsAttention), [status, needsAttention]);
|
|
82
|
+
const statusLabel = useMemo(() => getStatusLabel(status, needsAttention), [status, needsAttention]);
|
|
83
|
+
// Calculate progress bar width based on available space
|
|
84
|
+
const progressBarWidth = useMemo(() => {
|
|
85
|
+
// Status (~12) + Task info (~30) + Progress bar + percentage (~8) + hotkeys (~10) + separators (~6)
|
|
86
|
+
const usedWidth = 70;
|
|
87
|
+
return Math.max(10, Math.min(20, width - usedWidth));
|
|
88
|
+
}, [width]);
|
|
89
|
+
// Build task description
|
|
90
|
+
const taskDescription = useMemo(() => {
|
|
91
|
+
if (!currentTask)
|
|
92
|
+
return null;
|
|
93
|
+
if (taskNumber && totalTasks) {
|
|
94
|
+
return `Task ${taskNumber}/${totalTasks}: ${currentTask}`;
|
|
95
|
+
}
|
|
96
|
+
return currentTask;
|
|
97
|
+
}, [currentTask, taskNumber, totalTasks]);
|
|
98
|
+
// Truncate task description if too long
|
|
99
|
+
const truncatedTask = useMemo(() => {
|
|
100
|
+
if (!taskDescription)
|
|
101
|
+
return null;
|
|
102
|
+
const maxLen = Math.max(20, width - 60);
|
|
103
|
+
if (taskDescription.length > maxLen) {
|
|
104
|
+
return taskDescription.slice(0, maxLen - 3) + "...";
|
|
105
|
+
}
|
|
106
|
+
return taskDescription;
|
|
107
|
+
}, [taskDescription, width]);
|
|
108
|
+
return (_jsxs(Box, { borderStyle: "single", borderColor: colors.border, paddingX: 1, width: width, justifyContent: "space-between", children: [_jsxs(Box, { children: [_jsxs(Text, { color: statusColor, bold: true, children: [statusIcon, " ", statusLabel] }), truncatedTask && (_jsxs(Text, { children: [_jsx(Text, { dimColor: true, children: " | " }), _jsx(Text, { children: truncatedTask })] }))] }), _jsxs(Box, { children: [_jsx(MiniProgressBar, { percentage: progress, width: progressBarWidth, color: statusColor, emptyColor: colors.textMuted }), _jsxs(Text, { dimColor: true, children: [" | ", _jsx(Text, { color: colors.primary, children: "L" }), ": Logs"] })] })] }));
|
|
109
|
+
}
|
|
110
|
+
export default StatusBarMinimal;
|
|
111
|
+
//# sourceMappingURL=StatusBarMinimal.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"StatusBarMinimal.js","sourceRoot":"","sources":["../src/StatusBarMinimal.tsx"],"names":[],"mappings":"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"}
|
package/dist/config.d.ts
CHANGED
|
@@ -57,6 +57,10 @@ export interface LayoutPreferences {
|
|
|
57
57
|
showSecondary?: boolean;
|
|
58
58
|
/** Which pane is focused by default (0 = game, 1 = management) */
|
|
59
59
|
defaultFocusedPane?: 0 | 1;
|
|
60
|
+
/** Minimum terminal width to show side panel (columns). Default: 120 */
|
|
61
|
+
sidePanelThreshold?: number;
|
|
62
|
+
/** Width of side panel when shown (columns). Default: 35 */
|
|
63
|
+
sidePanelWidth?: number;
|
|
60
64
|
}
|
|
61
65
|
/**
|
|
62
66
|
* Theme settings for visual customization
|
|
@@ -203,4 +207,11 @@ export declare function getClaudeCodeOptions(config: BrainrotConfig): {
|
|
|
203
207
|
* Get app settings
|
|
204
208
|
*/
|
|
205
209
|
export declare function getAppSettings(config: BrainrotConfig): Required<AppSettings>;
|
|
210
|
+
/**
|
|
211
|
+
* Get side panel layout settings
|
|
212
|
+
*/
|
|
213
|
+
export declare function getSidePanelSettings(config: BrainrotConfig): {
|
|
214
|
+
threshold: number;
|
|
215
|
+
width: number;
|
|
216
|
+
};
|
|
206
217
|
//# sourceMappingURL=config.d.ts.map
|
package/dist/config.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAWH;;GAEG;AACH,MAAM,WAAW,eAAe;IAC9B,mDAAmD;IACnD,iBAAiB,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC/C,0BAA0B;IAC1B,KAAK,CAAC,EAAE;QACN,gDAAgD;QAChD,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,2BAA2B;QAC3B,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,2BAA2B;IAC3B,MAAM,CAAC,EAAE;QACP,4BAA4B;QAC5B,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,iCAAiC;QACjC,cAAc,CAAC,EAAE,OAAO,CAAC;KAC1B,CAAC;IACF,gCAAgC;IAChC,WAAW,CAAC,EAAE;QACZ,yBAAyB;QACzB,iBAAiB,CAAC,EAAE,MAAM,GAAG,QAAQ,GAAG,MAAM,CAAC;QAC/C,iBAAiB;QACjB,SAAS,CAAC,EAAE,OAAO,CAAC;KACrB,CAAC;IACF,yBAAyB;IACzB,IAAI,CAAC,EAAE;QACL,2BAA2B;QAC3B,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,sCAAsC;QACtC,mBAAmB,CAAC,EAAE,MAAM,CAAC;KAC9B,CAAC;CACH;AAED;;GAEG;AACH,MAAM,WAAW,iBAAiB;IAChC,gFAAgF;IAChF,SAAS,CAAC,EAAE,YAAY,GAAG,UAAU,CAAC;IACtC,gEAAgE;IAChE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,kCAAkC;IAClC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,sCAAsC;IACtC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uEAAuE;IACvE,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,kEAAkE;IAClE,kBAAkB,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/config.js
CHANGED
|
@@ -72,6 +72,8 @@ export const DEFAULT_CONFIG = {
|
|
|
72
72
|
resizeStep: 0.05,
|
|
73
73
|
showSecondary: true,
|
|
74
74
|
defaultFocusedPane: 0,
|
|
75
|
+
sidePanelThreshold: 120,
|
|
76
|
+
sidePanelWidth: 35,
|
|
75
77
|
},
|
|
76
78
|
theme: {
|
|
77
79
|
colorScheme: "default",
|
|
@@ -267,4 +269,14 @@ export function getAppSettings(config) {
|
|
|
267
269
|
logLevel: app.logLevel ?? "info",
|
|
268
270
|
};
|
|
269
271
|
}
|
|
272
|
+
/**
|
|
273
|
+
* Get side panel layout settings
|
|
274
|
+
*/
|
|
275
|
+
export function getSidePanelSettings(config) {
|
|
276
|
+
const layout = config.layout ?? DEFAULT_CONFIG.layout;
|
|
277
|
+
return {
|
|
278
|
+
threshold: layout.sidePanelThreshold ?? 120,
|
|
279
|
+
width: layout.sidePanelWidth ?? 35,
|
|
280
|
+
};
|
|
281
|
+
}
|
|
270
282
|
//# sourceMappingURL=config.js.map
|
package/dist/config.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AACjC,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,kBAAkB,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"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"}
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":""}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.tsx"],"names":[],"mappings":";AACA;;;;;GAKG"}
|