@hopper-agent/tui 0.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.
- package/LICENSE +179 -0
- package/dist/src/agents-tab.d.ts +15 -0
- package/dist/src/agents-tab.d.ts.map +1 -0
- package/dist/src/agents-tab.js +32 -0
- package/dist/src/agents-tab.js.map +1 -0
- package/dist/src/approval-picker.d.ts +11 -0
- package/dist/src/approval-picker.d.ts.map +1 -0
- package/dist/src/approval-picker.js +14 -0
- package/dist/src/approval-picker.js.map +1 -0
- package/dist/src/channels-tab.d.ts +19 -0
- package/dist/src/channels-tab.d.ts.map +1 -0
- package/dist/src/channels-tab.js +37 -0
- package/dist/src/channels-tab.js.map +1 -0
- package/dist/src/chat-surface.d.ts +58 -0
- package/dist/src/chat-surface.d.ts.map +1 -0
- package/dist/src/chat-surface.js +493 -0
- package/dist/src/chat-surface.js.map +1 -0
- package/dist/src/effort-picker.d.ts +10 -0
- package/dist/src/effort-picker.d.ts.map +1 -0
- package/dist/src/effort-picker.js +30 -0
- package/dist/src/effort-picker.js.map +1 -0
- package/dist/src/footer.d.ts +11 -0
- package/dist/src/footer.d.ts.map +1 -0
- package/dist/src/footer.js +11 -0
- package/dist/src/footer.js.map +1 -0
- package/dist/src/header.d.ts +11 -0
- package/dist/src/header.d.ts.map +1 -0
- package/dist/src/header.js +15 -0
- package/dist/src/header.js.map +1 -0
- package/dist/src/index.d.ts +25 -0
- package/dist/src/index.d.ts.map +1 -0
- package/dist/src/index.js +17 -0
- package/dist/src/index.js.map +1 -0
- package/dist/src/init-wizard.d.ts +37 -0
- package/dist/src/init-wizard.d.ts.map +1 -0
- package/dist/src/init-wizard.js +500 -0
- package/dist/src/init-wizard.js.map +1 -0
- package/dist/src/mascot.d.ts +2 -0
- package/dist/src/mascot.d.ts.map +1 -0
- package/dist/src/mascot.js +6 -0
- package/dist/src/mascot.js.map +1 -0
- package/dist/src/mode-picker.d.ts +10 -0
- package/dist/src/mode-picker.d.ts.map +1 -0
- package/dist/src/mode-picker.js +29 -0
- package/dist/src/mode-picker.js.map +1 -0
- package/dist/src/projects-tab.d.ts +16 -0
- package/dist/src/projects-tab.d.ts.map +1 -0
- package/dist/src/projects-tab.js +76 -0
- package/dist/src/projects-tab.js.map +1 -0
- package/dist/src/slash-commands.d.ts +87 -0
- package/dist/src/slash-commands.d.ts.map +1 -0
- package/dist/src/slash-commands.js +814 -0
- package/dist/src/slash-commands.js.map +1 -0
- package/dist/src/stats-data.d.ts +15 -0
- package/dist/src/stats-data.d.ts.map +1 -0
- package/dist/src/stats-data.js +76 -0
- package/dist/src/stats-data.js.map +1 -0
- package/dist/src/stats-tab.d.ts +16 -0
- package/dist/src/stats-tab.d.ts.map +1 -0
- package/dist/src/stats-tab.js +103 -0
- package/dist/src/stats-tab.js.map +1 -0
- package/dist/src/status-line.d.ts +13 -0
- package/dist/src/status-line.d.ts.map +1 -0
- package/dist/src/status-line.js +31 -0
- package/dist/src/status-line.js.map +1 -0
- package/dist/src/tab-bar.d.ts +14 -0
- package/dist/src/tab-bar.d.ts.map +1 -0
- package/dist/src/tab-bar.js +22 -0
- package/dist/src/tab-bar.js.map +1 -0
- package/dist/src/waiting-dot.d.ts +8 -0
- package/dist/src/waiting-dot.d.ts.map +1 -0
- package/dist/src/waiting-dot.js +19 -0
- package/dist/src/waiting-dot.js.map +1 -0
- package/dist/tsconfig.tsbuildinfo +1 -0
- package/package.json +38 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"slash-commands.js","sourceRoot":"","sources":["../../src/slash-commands.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface StatsData {
|
|
2
|
+
tokensPerDay: Array<{
|
|
3
|
+
date: string;
|
|
4
|
+
input: number;
|
|
5
|
+
output: number;
|
|
6
|
+
}>;
|
|
7
|
+
modelUsage: Array<{
|
|
8
|
+
model: string;
|
|
9
|
+
turns: number;
|
|
10
|
+
tokens: number;
|
|
11
|
+
}>;
|
|
12
|
+
totalSessions: number;
|
|
13
|
+
}
|
|
14
|
+
export declare function loadStatsData(): StatsData;
|
|
15
|
+
//# sourceMappingURL=stats-data.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stats-data.d.ts","sourceRoot":"","sources":["../../src/stats-data.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,SAAS;IACxB,YAAY,EAAE,KAAK,CAAC;QAAE,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACrE,UAAU,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpE,aAAa,EAAE,MAAM,CAAC;CACvB;AAQD,wBAAgB,aAAa,IAAI,SAAS,CA6DzC"}
|
|
@@ -0,0 +1,76 @@
|
|
|
1
|
+
import { SessionStore } from '@hopper-agent/core';
|
|
2
|
+
const DAYS = 14;
|
|
3
|
+
function toDateKey(ts) {
|
|
4
|
+
return new Date(ts).toISOString().slice(0, 10);
|
|
5
|
+
}
|
|
6
|
+
export function loadStatsData() {
|
|
7
|
+
const store = new SessionStore();
|
|
8
|
+
const perDay = new Map();
|
|
9
|
+
const perModel = new Map();
|
|
10
|
+
let totalSessions = 0;
|
|
11
|
+
let sessions = [];
|
|
12
|
+
try {
|
|
13
|
+
sessions = store.list();
|
|
14
|
+
totalSessions = sessions.length;
|
|
15
|
+
}
|
|
16
|
+
catch {
|
|
17
|
+
return { tokensPerDay: buildEmptyWindow(), modelUsage: [], totalSessions: 0 };
|
|
18
|
+
}
|
|
19
|
+
for (const s of sessions) {
|
|
20
|
+
if (s.model) {
|
|
21
|
+
const entry = perModel.get(s.model) ?? { turns: 0, tokens: 0 };
|
|
22
|
+
entry.turns++;
|
|
23
|
+
perModel.set(s.model, entry);
|
|
24
|
+
}
|
|
25
|
+
let sessionTokens = 0;
|
|
26
|
+
let events = [];
|
|
27
|
+
try {
|
|
28
|
+
events = store.loadEvents(s.id);
|
|
29
|
+
}
|
|
30
|
+
catch {
|
|
31
|
+
continue;
|
|
32
|
+
}
|
|
33
|
+
for (const e of events) {
|
|
34
|
+
if (e.type !== 'usage')
|
|
35
|
+
continue;
|
|
36
|
+
const key = toDateKey(e.timestamp);
|
|
37
|
+
const bucket = perDay.get(key) ?? { input: 0, output: 0 };
|
|
38
|
+
bucket.input += e.inputTokens;
|
|
39
|
+
bucket.output += e.outputTokens;
|
|
40
|
+
perDay.set(key, bucket);
|
|
41
|
+
sessionTokens += e.inputTokens + e.outputTokens;
|
|
42
|
+
}
|
|
43
|
+
// Attach session tokens to model
|
|
44
|
+
if (s.model && sessionTokens > 0) {
|
|
45
|
+
const entry = perModel.get(s.model);
|
|
46
|
+
if (entry) {
|
|
47
|
+
entry.tokens += sessionTokens;
|
|
48
|
+
perModel.set(s.model, entry);
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
// Build 14-day sliding window ending today, zero-filled.
|
|
53
|
+
const window = buildEmptyWindow();
|
|
54
|
+
for (const slot of window) {
|
|
55
|
+
const hit = perDay.get(slot.date);
|
|
56
|
+
if (hit) {
|
|
57
|
+
slot.input = hit.input;
|
|
58
|
+
slot.output = hit.output;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
61
|
+
const modelUsage = Array.from(perModel.entries())
|
|
62
|
+
.map(([model, { turns, tokens }]) => ({ model, turns, tokens }))
|
|
63
|
+
.sort((a, b) => b.turns - a.turns);
|
|
64
|
+
return { tokensPerDay: window, modelUsage, totalSessions };
|
|
65
|
+
}
|
|
66
|
+
function buildEmptyWindow() {
|
|
67
|
+
const out = [];
|
|
68
|
+
const today = new Date();
|
|
69
|
+
today.setHours(0, 0, 0, 0);
|
|
70
|
+
for (let i = DAYS - 1; i >= 0; i--) {
|
|
71
|
+
const d = new Date(today.getTime() - i * 86400000);
|
|
72
|
+
out.push({ date: d.toISOString().slice(0, 10), input: 0, output: 0 });
|
|
73
|
+
}
|
|
74
|
+
return out;
|
|
75
|
+
}
|
|
76
|
+
//# sourceMappingURL=stats-data.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stats-data.js","sourceRoot":"","sources":["../../src/stats-data.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { ThemeColors } from '../../render/src/themes.js';
|
|
2
|
+
interface StatsTabProps {
|
|
3
|
+
theme?: ThemeColors;
|
|
4
|
+
isActive: boolean;
|
|
5
|
+
/** Current model name. */
|
|
6
|
+
model?: string;
|
|
7
|
+
/** Total input tokens (system prompt + history + tools). */
|
|
8
|
+
inputTokens?: number;
|
|
9
|
+
/** Total output tokens (model response). */
|
|
10
|
+
outputTokens?: number;
|
|
11
|
+
/** Model's context window size in tokens (default 200k). */
|
|
12
|
+
contextWindowSize?: number;
|
|
13
|
+
}
|
|
14
|
+
export declare function StatsTab({ theme, isActive, model, inputTokens, outputTokens, contextWindowSize }: StatsTabProps): import("react/jsx-runtime").JSX.Element;
|
|
15
|
+
export {};
|
|
16
|
+
//# sourceMappingURL=stats-tab.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stats-tab.d.ts","sourceRoot":"","sources":["../../src/stats-tab.tsx"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,UAAU,aAAa;IACrB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,QAAQ,EAAE,OAAO,CAAC;IAClB,0BAA0B;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,4DAA4D;IAC5D,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,4CAA4C;IAC5C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,4DAA4D;IAC5D,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAwBD,wBAAgB,QAAQ,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,KAAK,EAAE,WAAW,EAAE,YAAY,EAAE,iBAAiB,EAAE,EAAE,aAAa,2CA8K/G"}
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useState } from 'react';
|
|
3
|
+
import { Box, Text, useStdout } from 'ink';
|
|
4
|
+
import { loadStatsData } from './stats-data.js';
|
|
5
|
+
const CHART_ROWS = 6;
|
|
6
|
+
const BAR_WIDTH = 25;
|
|
7
|
+
const MODEL_NAME_WIDTH = 22;
|
|
8
|
+
const PARTIAL_BLOCKS = ['', '▁', '▂', '▃', '▄', '▅', '▆', '▇', '█'];
|
|
9
|
+
function formatK(n) {
|
|
10
|
+
if (n === 0)
|
|
11
|
+
return '0';
|
|
12
|
+
if (n >= 1_000_000)
|
|
13
|
+
return `${(n / 1_000_000).toFixed(1)}m`;
|
|
14
|
+
if (n >= 1_000)
|
|
15
|
+
return `${Math.round(n / 1_000)}k`;
|
|
16
|
+
return String(n);
|
|
17
|
+
}
|
|
18
|
+
function padRight(s, n) {
|
|
19
|
+
if (s.length >= n)
|
|
20
|
+
return s.slice(0, n);
|
|
21
|
+
return s + ' '.repeat(n - s.length);
|
|
22
|
+
}
|
|
23
|
+
function padLeft(s, n) {
|
|
24
|
+
if (s.length >= n)
|
|
25
|
+
return s;
|
|
26
|
+
return ' '.repeat(n - s.length) + s;
|
|
27
|
+
}
|
|
28
|
+
export function StatsTab({ theme, isActive, model, inputTokens, outputTokens, contextWindowSize }) {
|
|
29
|
+
const primary = theme?.primary || '#7aa2f7';
|
|
30
|
+
const muted = theme?.muted || '#565f89';
|
|
31
|
+
const fg = theme?.foreground || '#a9b1d6';
|
|
32
|
+
const { stdout } = useStdout();
|
|
33
|
+
const cols = stdout?.columns ?? 100;
|
|
34
|
+
const [data, setData] = useState(null);
|
|
35
|
+
useEffect(() => {
|
|
36
|
+
if (isActive)
|
|
37
|
+
setData(loadStatsData());
|
|
38
|
+
}, [isActive]);
|
|
39
|
+
if (!data) {
|
|
40
|
+
return (_jsx(Box, { paddingX: 1, paddingY: 1, children: _jsx(Text, { color: muted, children: "Loading stats\u2026" }) }));
|
|
41
|
+
}
|
|
42
|
+
if (data.totalSessions === 0) {
|
|
43
|
+
return (_jsx(Box, { paddingX: 1, paddingY: 1, children: _jsx(Text, { color: muted, children: "No session history yet. Start a conversation to populate the stats." }) }));
|
|
44
|
+
}
|
|
45
|
+
const totals = data.tokensPerDay.map(d => d.input + d.output);
|
|
46
|
+
const maxTokens = Math.max(1, ...totals);
|
|
47
|
+
const yAxisLabels = [];
|
|
48
|
+
for (let r = CHART_ROWS; r >= 0; r--) {
|
|
49
|
+
yAxisLabels.push(padLeft(formatK(Math.round((maxTokens * r) / CHART_ROWS)), 5));
|
|
50
|
+
}
|
|
51
|
+
const yLabelWidth = 5;
|
|
52
|
+
const renderBarCell = (value, row) => {
|
|
53
|
+
// row is 0..CHART_ROWS-1, counted from bottom.
|
|
54
|
+
const rowsFilled = (value / maxTokens) * CHART_ROWS;
|
|
55
|
+
const fullRows = Math.floor(rowsFilled);
|
|
56
|
+
if (row < fullRows)
|
|
57
|
+
return '█';
|
|
58
|
+
if (row === fullRows) {
|
|
59
|
+
const frac = rowsFilled - fullRows;
|
|
60
|
+
const step = Math.round(frac * 8);
|
|
61
|
+
return PARTIAL_BLOCKS[step] ?? '';
|
|
62
|
+
}
|
|
63
|
+
return ' ';
|
|
64
|
+
};
|
|
65
|
+
const xFirst = data.tokensPerDay[0]?.date ?? '';
|
|
66
|
+
const xLast = data.tokensPerDay[data.tokensPerDay.length - 1]?.date ?? '';
|
|
67
|
+
const chartInnerWidth = data.tokensPerDay.length * 2 - 1; // bar + space
|
|
68
|
+
const maxModelCount = Math.max(1, ...data.modelUsage.map(m => m.turns));
|
|
69
|
+
// Context window inline data
|
|
70
|
+
const windowSize = contextWindowSize ?? 200_000;
|
|
71
|
+
const ctxInput = inputTokens ?? 0;
|
|
72
|
+
const ctxOutput = outputTokens ?? 0;
|
|
73
|
+
const ctxPct = ctxInput > 0 ? Math.min(100, Math.round((ctxInput / windowSize) * 100)) : 0;
|
|
74
|
+
const ctxFilled = Math.round((ctxPct / 100) * 24);
|
|
75
|
+
const ctxBar = '█'.repeat(ctxFilled) + '░'.repeat(24 - ctxFilled);
|
|
76
|
+
const ctxFmt = (n) => {
|
|
77
|
+
if (n >= 1_000_000)
|
|
78
|
+
return `${(n / 1_000_000).toFixed(1)}m`;
|
|
79
|
+
if (n >= 1_000)
|
|
80
|
+
return `${Math.round(n / 1_000)}k`;
|
|
81
|
+
return String(n);
|
|
82
|
+
};
|
|
83
|
+
const ctxModel = model || 'unknown';
|
|
84
|
+
const ctxLabel = ' ' + padLeft(`${ctxPct}%`, 12) + `(${ctxFmt(ctxInput)}/${ctxFmt(windowSize)})`;
|
|
85
|
+
return (_jsxs(Box, { flexDirection: "column", paddingX: 1, paddingY: 1, children: [_jsx(Box, { marginBottom: 1, children: _jsx(Text, { color: primary, bold: true, children: "Context Window" }) }), _jsxs(Box, { flexDirection: "column", paddingX: 1, children: [_jsxs(Box, { children: [_jsx(Text, { color: fg, children: padRight(ctxModel, 24) }), _jsx(Text, { color: primary, children: ctxBar }), _jsx(Text, { color: muted, children: ctxLabel })] }), ctxInput > 0 && ctxOutput > 0 && (_jsx(Box, { children: _jsxs(Text, { color: muted, children: [" \u2514\u2500 ", ctxFmt(ctxInput), " in / ", ctxFmt(ctxOutput), " out"] }) })), ctxInput === 0 && (_jsx(Box, { children: _jsx(Text, { color: muted, children: "No context data yet. Start a conversation to see fill level." }) }))] }), _jsx(Box, { marginTop: 1, marginBottom: 1, children: _jsx(Text, { color: primary, bold: true, children: "Tokens per day (last 14 days)" }) }), Array.from({ length: CHART_ROWS }, (_, i) => {
|
|
86
|
+
const row = CHART_ROWS - 1 - i;
|
|
87
|
+
const label = padLeft(formatK(Math.round((maxTokens * (row + 1)) / CHART_ROWS)), yLabelWidth);
|
|
88
|
+
return (_jsxs(Box, { children: [_jsx(Text, { color: muted, children: label + ' │ ' }), _jsx(Text, { color: primary, children: data.tokensPerDay.map(d => renderBarCell(d.input + d.output, row)).join(' ') })] }, `r${row}`));
|
|
89
|
+
}), _jsx(Box, { children: _jsx(Text, { color: muted, children: padLeft('0', yLabelWidth) + ' └' + '─'.repeat(Math.max(2, chartInnerWidth + 1)) }) }), _jsx(Box, { children: _jsxs(Text, { color: muted, children: [' '.repeat(yLabelWidth + 3), padRight(xFirst, Math.max(10, chartInnerWidth - xLast.length)), xLast] }) }), _jsx(Box, { marginTop: 1, marginBottom: 1, children: _jsx(Text, { color: primary, bold: true, children: "Model usage (most \u2192 least)" }) }), data.modelUsage.length === 0 ? (_jsx(Text, { color: muted, children: "No model data." })) : (data.modelUsage.map(m => {
|
|
90
|
+
const filled = Math.max(1, Math.round((m.turns / maxModelCount) * BAR_WIDTH));
|
|
91
|
+
const bar = '█'.repeat(filled) + '░'.repeat(BAR_WIDTH - filled);
|
|
92
|
+
return (_jsxs(Box, { children: [_jsx(Text, { color: fg, children: padRight(m.model, MODEL_NAME_WIDTH) + ' ' }), _jsx(Text, { color: primary, children: bar }), _jsx(Text, { color: muted, children: ' ' + padLeft(String(m.turns), 4) })] }, m.model));
|
|
93
|
+
})), data.modelUsage.some(m => m.tokens > 0) && (_jsxs(_Fragment, { children: [_jsx(Box, { marginTop: 1, marginBottom: 1, children: _jsx(Text, { color: primary, bold: true, children: "Model tokens (total)" }) }), data.modelUsage
|
|
94
|
+
.filter(m => m.tokens > 0)
|
|
95
|
+
.map(m => {
|
|
96
|
+
const totalTokens = data.modelUsage.reduce((sum, x) => sum + x.tokens, 0);
|
|
97
|
+
const pct = totalTokens > 0 ? Math.round((m.tokens / totalTokens) * 100) : 0;
|
|
98
|
+
const filled = Math.max(1, Math.round((m.tokens / Math.max(1, ...data.modelUsage.map(x => x.tokens))) * BAR_WIDTH));
|
|
99
|
+
const bar = '█'.repeat(filled) + '░'.repeat(BAR_WIDTH - filled);
|
|
100
|
+
return (_jsxs(Box, { children: [_jsx(Text, { color: fg, children: padRight(m.model, MODEL_NAME_WIDTH) + ' ' }), _jsx(Text, { color: primary, children: bar }), _jsx(Text, { color: muted, children: ' ' + padLeft(`${pct}%`, 4) + ' ' + padLeft(formatK(m.tokens), 8) })] }, `tok-${m.model}`));
|
|
101
|
+
})] })), cols < 70 && (_jsx(Box, { marginTop: 1, children: _jsx(Text, { color: muted, children: "(widen terminal for better chart layout)" }) }))] }));
|
|
102
|
+
}
|
|
103
|
+
//# sourceMappingURL=stats-tab.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"stats-tab.js","sourceRoot":"","sources":["../../src/stats-tab.tsx"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
import type { ThemeColors } from '../../render/src/themes.js';
|
|
2
|
+
interface StatusLineProps {
|
|
3
|
+
model: string;
|
|
4
|
+
provider: string;
|
|
5
|
+
approvalMode: string;
|
|
6
|
+
effort?: string;
|
|
7
|
+
inputTokens?: number;
|
|
8
|
+
outputTokens?: number;
|
|
9
|
+
theme?: ThemeColors;
|
|
10
|
+
}
|
|
11
|
+
export declare function StatusLine({ model, approvalMode, effort, inputTokens, outputTokens, theme, }: StatusLineProps): import("react/jsx-runtime").JSX.Element;
|
|
12
|
+
export {};
|
|
13
|
+
//# sourceMappingURL=status-line.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status-line.d.ts","sourceRoot":"","sources":["../../src/status-line.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,UAAU,eAAe;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAeD,wBAAgB,UAAU,CAAC,EACzB,KAAK,EACL,YAAY,EACZ,MAAM,EACN,WAAW,EACX,YAAY,EACZ,KAAK,GACN,EAAE,eAAe,2CAgCjB"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import React from 'react';
|
|
3
|
+
import { Box, Text } from 'ink';
|
|
4
|
+
function formatTokens(input, output) {
|
|
5
|
+
if (input !== undefined && output !== undefined) {
|
|
6
|
+
return `${formatCount(input)} / ${formatCount(output)} tokens`;
|
|
7
|
+
}
|
|
8
|
+
return '';
|
|
9
|
+
}
|
|
10
|
+
function formatCount(n) {
|
|
11
|
+
if (n >= 1_000_000)
|
|
12
|
+
return `${(n / 1_000_000).toFixed(0)}m`;
|
|
13
|
+
if (n >= 1_000)
|
|
14
|
+
return `${(n / 1_000).toFixed(0)}k`;
|
|
15
|
+
return String(n);
|
|
16
|
+
}
|
|
17
|
+
export function StatusLine({ model, approvalMode, effort, inputTokens, outputTokens, theme, }) {
|
|
18
|
+
const parts = [
|
|
19
|
+
{ label: model, color: theme?.primary || '#7aa2f7' },
|
|
20
|
+
];
|
|
21
|
+
if (effort) {
|
|
22
|
+
parts.push({ label: effort, color: theme?.secondary || '#2ac3de' });
|
|
23
|
+
}
|
|
24
|
+
parts.push({ label: approvalMode, color: theme?.title || '#7aa2f7' });
|
|
25
|
+
const tokens = formatTokens(inputTokens, outputTokens);
|
|
26
|
+
if (tokens) {
|
|
27
|
+
parts.push({ label: tokens, color: theme?.foreground || '#a9b1d6' });
|
|
28
|
+
}
|
|
29
|
+
return (_jsx(Box, { children: parts.map((part, i) => (_jsxs(React.Fragment, { children: [i > 0 && (_jsxs(_Fragment, { children: [_jsx(Text, { children: " " }), _jsx(Text, { color: theme?.muted || '#565f89', children: "\u00B7" }), _jsx(Text, { children: " " })] })), _jsx(Text, { color: part.color, children: part.label })] }, part.label))) }));
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=status-line.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status-line.js","sourceRoot":"","sources":["../../src/status-line.tsx"],"names":[],"mappings":";AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAahC,SAAS,YAAY,CAAC,KAAc,EAAE,MAAe;IACnD,IAAI,KAAK,KAAK,SAAS,IAAI,MAAM,KAAK,SAAS,EAAE,CAAC;QAChD,OAAO,GAAG,WAAW,CAAC,KAAK,CAAC,MAAM,WAAW,CAAC,MAAM,CAAC,SAAS,CAAC;IACjE,CAAC;IACD,OAAO,EAAE,CAAC;AACZ,CAAC;AAED,SAAS,WAAW,CAAC,CAAS;IAC5B,IAAI,CAAC,IAAI,SAAS;QAAE,OAAO,GAAG,CAAC,CAAC,GAAG,SAAS,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IAC5D,IAAI,CAAC,IAAI,KAAK;QAAE,OAAO,GAAG,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC;IACpD,OAAO,MAAM,CAAC,CAAC,CAAC,CAAC;AACnB,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,EACzB,KAAK,EACL,YAAY,EACZ,MAAM,EACN,WAAW,EACX,YAAY,EACZ,KAAK,GACW;IAChB,MAAM,KAAK,GAA4C;QACrD,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,EAAE,OAAO,IAAI,SAAS,EAAE;KACrD,CAAC;IAEF,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,SAAS,IAAI,SAAS,EAAE,CAAC,CAAC;IACtE,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,YAAY,EAAE,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,SAAS,EAAE,CAAC,CAAC;IAEtE,MAAM,MAAM,GAAG,YAAY,CAAC,WAAW,EAAE,YAAY,CAAC,CAAC;IACvD,IAAI,MAAM,EAAE,CAAC;QACX,KAAK,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,IAAI,SAAS,EAAE,CAAC,CAAC;IACvE,CAAC;IAED,OAAO,CACL,KAAC,GAAG,cACD,KAAK,CAAC,GAAG,CAAC,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CACtB,MAAC,KAAK,CAAC,QAAQ,eACZ,CAAC,GAAG,CAAC,IAAI,CACR,8BACE,KAAC,IAAI,oBAAS,EACd,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,EAAE,KAAK,IAAI,SAAS,uBAAU,EAChD,KAAC,IAAI,oBAAS,IACb,CACJ,EACD,KAAC,IAAI,IAAC,KAAK,EAAE,IAAI,CAAC,KAAK,YAAG,IAAI,CAAC,KAAK,GAAQ,KARzB,IAAI,CAAC,KAAK,CASd,CAClB,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import type { ThemeColors } from '../../render/src/themes.js';
|
|
2
|
+
export type TabId = 'stats' | 'assistant' | 'projects' | 'agents' | 'channels';
|
|
3
|
+
interface TabBarProps {
|
|
4
|
+
active: TabId;
|
|
5
|
+
theme?: ThemeColors;
|
|
6
|
+
}
|
|
7
|
+
export declare const TABS: Array<{
|
|
8
|
+
id: TabId;
|
|
9
|
+
label: string;
|
|
10
|
+
}>;
|
|
11
|
+
export declare const TAB_IDS: TabId[];
|
|
12
|
+
export declare function TabBar({ active, theme }: TabBarProps): import("react/jsx-runtime").JSX.Element;
|
|
13
|
+
export {};
|
|
14
|
+
//# sourceMappingURL=tab-bar.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tab-bar.d.ts","sourceRoot":"","sources":["../../src/tab-bar.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,MAAM,MAAM,KAAK,GAAG,OAAO,GAAG,WAAW,GAAG,UAAU,GAAG,QAAQ,GAAG,UAAU,CAAC;AAE/E,UAAU,WAAW;IACnB,MAAM,EAAE,KAAK,CAAC;IACd,KAAK,CAAC,EAAE,WAAW,CAAC;CACrB;AAED,eAAO,MAAM,IAAI,EAAE,KAAK,CAAC;IAAE,EAAE,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,MAAM,CAAA;CAAE,CAMpD,CAAC;AAEF,eAAO,MAAM,OAAO,EAAE,KAAK,EAAwB,CAAC;AAEpD,wBAAgB,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAE,EAAE,WAAW,2CAyBpD"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { Box, Text } from 'ink';
|
|
3
|
+
export const TABS = [
|
|
4
|
+
{ id: 'assistant', label: 'Assistant' },
|
|
5
|
+
{ id: 'channels', label: 'Channels' },
|
|
6
|
+
{ id: 'stats', label: 'Stats' },
|
|
7
|
+
{ id: 'projects', label: 'Projects' },
|
|
8
|
+
{ id: 'agents', label: 'Agents' },
|
|
9
|
+
];
|
|
10
|
+
export const TAB_IDS = TABS.map(t => t.id);
|
|
11
|
+
export function TabBar({ active, theme }) {
|
|
12
|
+
const primary = theme?.primary || '#7aa2f7';
|
|
13
|
+
const muted = theme?.muted || '#565f89';
|
|
14
|
+
const border = theme?.border || '#414868';
|
|
15
|
+
// Use the border color as an "elevated surface" tint for the active tab.
|
|
16
|
+
const activeBg = border;
|
|
17
|
+
return (_jsx(Box, { width: "100%", borderStyle: "single", borderColor: border, borderTop: false, paddingX: 1, children: TABS.map((tab, i) => {
|
|
18
|
+
const isActive = tab.id === active;
|
|
19
|
+
return (_jsx(Box, { flexGrow: 1, justifyContent: "center", marginRight: i < TABS.length - 1 ? 2 : 0, children: isActive ? (_jsx(Text, { bold: true, color: primary, backgroundColor: activeBg, children: ` ${tab.label} ` })) : (_jsx(Text, { color: muted, children: ` ${tab.label} ` })) }, tab.id));
|
|
20
|
+
}) }));
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=tab-bar.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tab-bar.js","sourceRoot":"","sources":["../../src/tab-bar.tsx"],"names":[],"mappings":";AACA,OAAO,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAUhC,MAAM,CAAC,MAAM,IAAI,GAAwC;IACvD,EAAE,EAAE,EAAE,WAAW,EAAE,KAAK,EAAE,WAAW,EAAE;IACvC,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;IACrC,EAAE,EAAE,EAAE,OAAO,EAAE,KAAK,EAAE,OAAO,EAAE;IAC/B,EAAE,EAAE,EAAE,UAAU,EAAE,KAAK,EAAE,UAAU,EAAE;IACrC,EAAE,EAAE,EAAE,QAAQ,EAAE,KAAK,EAAE,QAAQ,EAAE;CAClC,CAAC;AAEF,MAAM,CAAC,MAAM,OAAO,GAAY,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;AAEpD,MAAM,UAAU,MAAM,CAAC,EAAE,MAAM,EAAE,KAAK,EAAe;IACnD,MAAM,OAAO,GAAG,KAAK,EAAE,OAAO,IAAI,SAAS,CAAC;IAC5C,MAAM,KAAK,GAAG,KAAK,EAAE,KAAK,IAAI,SAAS,CAAC;IACxC,MAAM,MAAM,GAAG,KAAK,EAAE,MAAM,IAAI,SAAS,CAAC;IAC1C,yEAAyE;IACzE,MAAM,QAAQ,GAAG,MAAM,CAAC;IAExB,OAAO,CACL,KAAC,GAAG,IAAC,KAAK,EAAC,MAAM,EAAC,WAAW,EAAC,QAAQ,EAAC,WAAW,EAAE,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,CAAC,YACtF,IAAI,CAAC,GAAG,CAAC,CAAC,GAAG,EAAE,CAAC,EAAE,EAAE;YACnB,MAAM,QAAQ,GAAG,GAAG,CAAC,EAAE,KAAK,MAAM,CAAC;YACnC,OAAO,CACL,KAAC,GAAG,IAAc,QAAQ,EAAE,CAAC,EAAE,cAAc,EAAC,QAAQ,EAAC,WAAW,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,YAC5F,QAAQ,CAAC,CAAC,CAAC,CACV,KAAC,IAAI,IAAC,IAAI,QAAC,KAAK,EAAE,OAAO,EAAE,eAAe,EAAE,QAAQ,YACjD,KAAK,GAAG,CAAC,KAAK,IAAI,GACd,CACR,CAAC,CAAC,CAAC,CACF,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,YAAG,KAAK,GAAG,CAAC,KAAK,IAAI,GAAQ,CAChD,IAPO,GAAG,CAAC,EAAE,CAQV,CACP,CAAC;QACJ,CAAC,CAAC,GACE,CACP,CAAC;AACJ,CAAC"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { ThemeColors } from '../../render/src/themes.js';
|
|
2
|
+
interface WaitingDotProps {
|
|
3
|
+
theme?: ThemeColors;
|
|
4
|
+
intervalMs?: number;
|
|
5
|
+
}
|
|
6
|
+
export declare function WaitingDot({ theme, intervalMs }: WaitingDotProps): import("react/jsx-runtime").JSX.Element;
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=waiting-dot.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"waiting-dot.d.ts","sourceRoot":"","sources":["../../src/waiting-dot.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,4BAA4B,CAAC;AAE9D,UAAU,eAAe;IACvB,KAAK,CAAC,EAAE,WAAW,CAAC;IAEpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAGD,wBAAgB,UAAU,CAAC,EAAE,KAAK,EAAE,UAAgB,EAAE,EAAE,eAAe,2CAetE"}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { useEffect, useState } from 'react';
|
|
3
|
+
import { Text } from 'ink';
|
|
4
|
+
// Cycles: 0 = white, 1 = theme primary, 2 = invisible (space).
|
|
5
|
+
export function WaitingDot({ theme, intervalMs = 400 }) {
|
|
6
|
+
const [phase, setPhase] = useState(0);
|
|
7
|
+
const themeColor = theme?.primary ?? '#7aa2f7';
|
|
8
|
+
useEffect(() => {
|
|
9
|
+
const id = setInterval(() => setPhase(p => (p + 1) % 3), intervalMs);
|
|
10
|
+
return () => clearInterval(id);
|
|
11
|
+
}, [intervalMs]);
|
|
12
|
+
if (phase === 2) {
|
|
13
|
+
// Invisible phase — render a space so the prompt width stays stable.
|
|
14
|
+
return _jsx(Text, { children: " " });
|
|
15
|
+
}
|
|
16
|
+
const color = phase === 0 ? 'white' : themeColor;
|
|
17
|
+
return _jsx(Text, { color: color, children: "\u25CF" });
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=waiting-dot.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"waiting-dot.js","sourceRoot":"","sources":["../../src/waiting-dot.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,SAAS,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,MAAM,KAAK,CAAC;AAS3B,+DAA+D;AAC/D,MAAM,UAAU,UAAU,CAAC,EAAE,KAAK,EAAE,UAAU,GAAG,GAAG,EAAmB;IACrE,MAAM,CAAC,KAAK,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,CAAC,CAAC,CAAC;IACtC,MAAM,UAAU,GAAG,KAAK,EAAE,OAAO,IAAI,SAAS,CAAC;IAE/C,SAAS,CAAC,GAAG,EAAE;QACb,MAAM,EAAE,GAAG,WAAW,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,EAAE,UAAU,CAAC,CAAC;QACrE,OAAO,GAAG,EAAE,CAAC,aAAa,CAAC,EAAE,CAAC,CAAC;IACjC,CAAC,EAAE,CAAC,UAAU,CAAC,CAAC,CAAC;IAEjB,IAAI,KAAK,KAAK,CAAC,EAAE,CAAC;QAChB,qEAAqE;QACrE,OAAO,KAAC,IAAI,oBAAS,CAAC;IACxB,CAAC;IACD,MAAM,KAAK,GAAG,KAAK,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC;IACjD,OAAO,KAAC,IAAI,IAAC,KAAK,EAAE,KAAK,uBAAU,CAAC;AACtC,CAAC"}
|