clawprobe 0.6.7 → 0.6.9
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/README.md +48 -0
- package/dist/cli/commands/top.d.ts.map +1 -1
- package/dist/cli/commands/top.js +141 -118
- package/dist/cli/commands/top.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -12,6 +12,7 @@ Token usage. API cost. Context health. Smart alerts. All in one place — withou
|
|
|
12
12
|
[Why clawprobe](#why-clawprobe) •
|
|
13
13
|
[Quick Start](#quick-start) •
|
|
14
14
|
[Commands](#commands) •
|
|
15
|
+
[`top` Live Dashboard](#clawprobe-top--live-dashboard) •
|
|
15
16
|
[Agent Integration](#agent-integration) •
|
|
16
17
|
[Configuration](#configuration) •
|
|
17
18
|
[How It Works](#how-it-works)
|
|
@@ -27,6 +28,7 @@ clawprobe fixes that. It watches OpenClaw's files in the background and gives yo
|
|
|
27
28
|
| Problem | clawprobe |
|
|
28
29
|
|---------|-----------|
|
|
29
30
|
| "Is my agent healthy right now?" | `clawprobe status` — one-glance dashboard |
|
|
31
|
+
| "I want to keep watching it live" | `clawprobe top` — htop-style live dashboard |
|
|
30
32
|
| "Why is context getting compacted so often?" | `clawprobe context` + `clawprobe suggest` |
|
|
31
33
|
| "What did the agent forget after compaction?" | `clawprobe compacts` |
|
|
32
34
|
| "What is this costing me?" | `clawprobe cost --week` with per-model pricing |
|
|
@@ -77,6 +79,52 @@ $ clawprobe status
|
|
|
77
79
|
|
|
78
80
|
---
|
|
79
81
|
|
|
82
|
+
### `clawprobe top` — Live Dashboard
|
|
83
|
+
|
|
84
|
+
An htop-style auto-refreshing view — fixed header, scrollable turn list, pinned alerts footer. Open it in a side terminal while your agent runs a long task.
|
|
85
|
+
|
|
86
|
+
```
|
|
87
|
+
clawprobe top refreshing every 2s (q / Ctrl+C to quit) 03/18/2026 17:42:35
|
|
88
|
+
────────────────────────────────────────────────────────────────────────────────
|
|
89
|
+
Agent: main ● daemon running
|
|
90
|
+
Session: agent:main:workspace:direct:xxx ● active
|
|
91
|
+
Model: moonshot/kimi-k2.5
|
|
92
|
+
Active: Today 17:42 Compacts: 2
|
|
93
|
+
────────────────────────────────────────────────────────────────────────────────
|
|
94
|
+
Context ████████░░░░░░░░░░░░░░░░ 44% 87.3K / 200.0K tokens
|
|
95
|
+
Headroom 112.7K tokens remaining (91%)
|
|
96
|
+
────────────────────────────────────────────────────────────────────────────────
|
|
97
|
+
Session cost $0.52 Input 859.2K tok Output 29.8K tok
|
|
98
|
+
Today total $0.67 Cache read 712.0K tok
|
|
99
|
+
────────────────────────────────────────────────────────────────────────────────
|
|
100
|
+
Recent turns
|
|
101
|
+
Turn Time ΔInput ΔOutput Cost Note
|
|
102
|
+
27 17:42 22.0K 908 $0.0094 ← latest
|
|
103
|
+
26 17:19 990 630 $0.0026
|
|
104
|
+
25 17:19 20.4K 661 $0.0094
|
|
105
|
+
24 15:57 564 39 $0.0014
|
|
106
|
+
23 15:56 18.8K 231 $0.0076 ◆ compact
|
|
107
|
+
… (fills terminal height)
|
|
108
|
+
────────────────────────────────────────────────────────────────────────────────
|
|
109
|
+
🟡 Context window at 44% capacity
|
|
110
|
+
→ Consider starting a fresh session or manually compacting now
|
|
111
|
+
Costs are estimates based on public pricing.
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
- **Fixed header** — agent info, context bar, and cost summary always visible
|
|
115
|
+
- **Scrollable turns** — fills available terminal height, newest turn on top
|
|
116
|
+
- **Pinned footer** — active alerts always visible at the bottom
|
|
117
|
+
- **Alternate screen** — exits cleanly, restores your terminal (like `htop`/`vim`)
|
|
118
|
+
- `q` or `Ctrl+C` to quit
|
|
119
|
+
|
|
120
|
+
```bash
|
|
121
|
+
clawprobe top # default 2s refresh
|
|
122
|
+
clawprobe top --interval 5 # custom refresh rate
|
|
123
|
+
clawprobe top --agent coder # target a specific agent
|
|
124
|
+
```
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
80
128
|
### `clawprobe cost` — API Cost Tracking
|
|
81
129
|
|
|
82
130
|
Per-model pricing for 30+ models built-in. Tracks input, output, and cache tokens separately. Day, week, month, or all-time views.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"top.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/top.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAStD,UAAU,UAAU;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;
|
|
1
|
+
{"version":3,"file":"top.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/top.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAStD,UAAU,UAAU;IAClB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AA+PD,wBAAsB,MAAM,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BjF"}
|
package/dist/cli/commands/top.js
CHANGED
|
@@ -6,8 +6,19 @@ import { getActiveSession, findJsonlPath } from "../../core/session-store.js";
|
|
|
6
6
|
import { getLatestSnapshot } from "../../core/db.js";
|
|
7
7
|
import { parseSessionStats } from "../../core/jsonl-parser.js";
|
|
8
8
|
import { getPeriodCost, getSessionCostFromJsonl } from "../../engines/cost.js";
|
|
9
|
-
import { runRules
|
|
9
|
+
import { runRules } from "../../engines/rule-engine.js";
|
|
10
10
|
import { fmtTokens, fmtUsd, fmtDate, tokenBar, severity, getWindowSize, LOCAL_TZ } from "../format.js";
|
|
11
|
+
// ── ANSI helpers ─────────────────────────────────────────────────────────────
|
|
12
|
+
/** Move cursor to absolute row (1-based), column 1. */
|
|
13
|
+
const gotoRow = (row) => `\x1b[${row};1H`;
|
|
14
|
+
/** Clear from cursor to end of line. */
|
|
15
|
+
const clearEOL = "\x1b[K";
|
|
16
|
+
/** Clear from cursor to end of screen. */
|
|
17
|
+
const clearEOS = "\x1b[J";
|
|
18
|
+
function writeLine(row, text) {
|
|
19
|
+
process.stdout.write(gotoRow(row) + text + clearEOL);
|
|
20
|
+
}
|
|
21
|
+
// ── Utilities ─────────────────────────────────────────────────────────────────
|
|
11
22
|
function isDaemonRunning(probeDir) {
|
|
12
23
|
const pidFile = path.join(probeDir, "daemon.pid");
|
|
13
24
|
if (!fs.existsSync(pidFile))
|
|
@@ -31,27 +42,40 @@ function nowStr() {
|
|
|
31
42
|
hour12: false,
|
|
32
43
|
}).format(new Date()).replace(",", "");
|
|
33
44
|
}
|
|
34
|
-
|
|
35
|
-
|
|
45
|
+
function costPlain(usd) {
|
|
46
|
+
if (usd <= 0)
|
|
47
|
+
return "$0.00";
|
|
48
|
+
return `$${usd.toFixed(usd < 0.01 ? 4 : 2)}`;
|
|
49
|
+
}
|
|
50
|
+
// ── Layout constants ──────────────────────────────────────────────────────────
|
|
36
51
|
/**
|
|
37
|
-
*
|
|
38
|
-
*
|
|
52
|
+
* Fixed layout (row numbers, 1-based):
|
|
53
|
+
*
|
|
54
|
+
* 1 title bar
|
|
55
|
+
* 2 ─── separator
|
|
56
|
+
* 3 agent / daemon
|
|
57
|
+
* 4 session
|
|
58
|
+
* 5 model
|
|
59
|
+
* 6 active / compacts
|
|
60
|
+
* 7 ─── separator
|
|
61
|
+
* 8 context bar
|
|
62
|
+
* 9 headroom
|
|
63
|
+
* 10 ─── separator
|
|
64
|
+
* 11 cost row 1
|
|
65
|
+
* 12 cost row 2
|
|
66
|
+
* 13 ─── separator
|
|
67
|
+
* 14 "Recent turns" heading
|
|
68
|
+
* 15 column header
|
|
69
|
+
* 16… turn rows (fills to termH - footerHeight)
|
|
70
|
+
* -N alerts + disclaimer (footer, pinned to bottom)
|
|
39
71
|
*/
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
process.stdout.write("\x1b[H");
|
|
43
|
-
const out = lines.map((l) => l + "\x1b[K").join("\n") + "\n";
|
|
44
|
-
process.stdout.write(out);
|
|
45
|
-
// Erase lines that were present last render but not this one
|
|
46
|
-
const leftover = _prevLineCount - lines.length;
|
|
47
|
-
if (leftover > 0) {
|
|
48
|
-
for (let i = 0; i < leftover; i++) {
|
|
49
|
-
process.stdout.write("\x1b[K\n");
|
|
50
|
-
}
|
|
51
|
-
}
|
|
52
|
-
_prevLineCount = lines.length;
|
|
53
|
-
}
|
|
72
|
+
const HEADER_END_ROW = 15; // last fixed row before turns
|
|
73
|
+
const FOOTER_HEIGHT = 4; // rows reserved at the bottom (hr + up to 2 alert lines + disclaimer)
|
|
54
74
|
function render(cfg, agent, intervalSec) {
|
|
75
|
+
const W = process.stdout.columns || 80;
|
|
76
|
+
const termH = process.stdout.rows || 30;
|
|
77
|
+
const hr = chalk.dim("─".repeat(W));
|
|
78
|
+
// ── Data ──────────────────────────────────────────────────────────────────
|
|
55
79
|
const db = openDb(cfg.probeDir);
|
|
56
80
|
const daemonRunning = isDaemonRunning(cfg.probeDir);
|
|
57
81
|
const sessionEntry = getActiveSession(cfg.sessionsDir);
|
|
@@ -69,14 +93,12 @@ function render(cfg, agent, intervalSec) {
|
|
|
69
93
|
try {
|
|
70
94
|
lastActiveAt = Math.floor(fs.statSync(transcriptPath).mtimeMs / 1000);
|
|
71
95
|
}
|
|
72
|
-
catch {
|
|
96
|
+
catch { /**/ }
|
|
73
97
|
}
|
|
74
|
-
// Cost
|
|
75
98
|
const todaySummary = getPeriodCost(db, agent, "day", cfg.probe.cost.customPrices);
|
|
76
99
|
const sessionCost = jsonlStats
|
|
77
100
|
? getSessionCostFromJsonl(jsonlStats, sessionEntry?.sessionKey ?? "", cfg.probe.cost.customPrices)
|
|
78
101
|
: null;
|
|
79
|
-
// Suggestions
|
|
80
102
|
const state = {
|
|
81
103
|
db, agent,
|
|
82
104
|
workspaceDir: cfg.workspaceDir,
|
|
@@ -84,147 +106,148 @@ function render(cfg, agent, intervalSec) {
|
|
|
84
106
|
bootstrapMaxChars: cfg.bootstrapMaxChars,
|
|
85
107
|
config: cfg.probe,
|
|
86
108
|
};
|
|
109
|
+
// Read-only: run rules but do NOT persist — top is a pure observer
|
|
87
110
|
const suggestions = runRules(state);
|
|
88
|
-
|
|
89
|
-
// ── Build lines buffer ────────────────────────────────────────────────────
|
|
90
|
-
const lines = [];
|
|
91
|
-
const W = process.stdout.columns || 80;
|
|
92
|
-
const hr = chalk.dim("─".repeat(W));
|
|
93
|
-
// Title row
|
|
94
|
-
const titlePlain = `clawprobe top refreshing every ${intervalSec}s (q / Ctrl+C to quit)`;
|
|
111
|
+
// ── Row 1: title bar ───────────────────────────────────────────────────────
|
|
95
112
|
const ts = nowStr();
|
|
96
|
-
const
|
|
97
|
-
|
|
113
|
+
const titleText = `clawprobe top refreshing every ${intervalSec}s (q / Ctrl+C to quit)`;
|
|
114
|
+
const titlePad = Math.max(0, W - titleText.length - ts.length);
|
|
115
|
+
writeLine(1, chalk.bold("clawprobe top") +
|
|
98
116
|
chalk.dim(` refreshing every ${intervalSec}s (q / Ctrl+C to quit)`) +
|
|
99
|
-
" ".repeat(
|
|
117
|
+
" ".repeat(titlePad) +
|
|
100
118
|
chalk.dim(ts));
|
|
101
|
-
|
|
102
|
-
|
|
119
|
+
// ── Row 2: separator ──────────────────────────────────────────────────────
|
|
120
|
+
writeLine(2, hr);
|
|
121
|
+
// ── Row 3: agent + daemon ─────────────────────────────────────────────────
|
|
103
122
|
const daemonBadge = daemonRunning
|
|
104
123
|
? severity.ok("● daemon running")
|
|
105
124
|
: severity.warning("○ daemon stopped — run: clawprobe start");
|
|
106
|
-
|
|
125
|
+
writeLine(3, ` Agent: ${chalk.bold(agent)} ${daemonBadge}`);
|
|
107
126
|
if (!sessionEntry) {
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
127
|
+
writeLine(4, "");
|
|
128
|
+
writeLine(5, severity.muted(" No active session. Start OpenClaw and run a turn."));
|
|
129
|
+
// Clear everything below
|
|
130
|
+
process.stdout.write(gotoRow(6) + clearEOS);
|
|
112
131
|
return;
|
|
113
132
|
}
|
|
133
|
+
// ── Row 4: session ────────────────────────────────────────────────────────
|
|
114
134
|
const statusBadge = lastActiveAt && (Date.now() / 1000 - lastActiveAt < 120)
|
|
115
135
|
? severity.ok("● active")
|
|
116
136
|
: severity.muted("○ idle");
|
|
117
|
-
const keyShort = sessionEntry.sessionKey.length >
|
|
118
|
-
? sessionEntry.sessionKey.slice(0,
|
|
137
|
+
const keyShort = sessionEntry.sessionKey.length > W - 22
|
|
138
|
+
? sessionEntry.sessionKey.slice(0, W - 25) + "…"
|
|
119
139
|
: sessionEntry.sessionKey;
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
|
|
140
|
+
writeLine(4, ` Session: ${chalk.dim(keyShort)} ${statusBadge}`);
|
|
141
|
+
// ── Row 5: model ──────────────────────────────────────────────────────────
|
|
142
|
+
writeLine(5, model ? ` Model: ${model}` : "");
|
|
143
|
+
// ── Row 6: active / compacts ──────────────────────────────────────────────
|
|
144
|
+
writeLine(6, lastActiveAt
|
|
145
|
+
? ` Active: ${fmtDate(lastActiveAt)} Compacts: ${compactionCount}`
|
|
146
|
+
: "");
|
|
147
|
+
// ── Row 7: separator ──────────────────────────────────────────────────────
|
|
148
|
+
writeLine(7, hr);
|
|
149
|
+
// ── Rows 8–9: context ─────────────────────────────────────────────────────
|
|
128
150
|
if (sessionTokens > 0 && resolvedWindowSize > 0) {
|
|
129
151
|
const pct = Math.round(utilization * 100);
|
|
130
152
|
const bar = tokenBar(sessionTokens, resolvedWindowSize, 24);
|
|
131
153
|
const ctxColor = utilization > 0.9 ? severity.critical : utilization > 0.7 ? severity.warning : (s) => s;
|
|
132
|
-
|
|
133
|
-
const remaining = resolvedWindowSize - sessionTokens;
|
|
154
|
+
writeLine(8, ` Context ${bar} ${ctxColor(`${pct}%`)} ${fmtTokens(sessionTokens)} / ${fmtTokens(resolvedWindowSize)} tokens`);
|
|
134
155
|
const remPct = 100 - pct;
|
|
135
|
-
const remStr = ` Headroom ${fmtTokens(
|
|
136
|
-
|
|
156
|
+
const remStr = ` Headroom ${fmtTokens(resolvedWindowSize - sessionTokens)} tokens remaining (${remPct}%)`;
|
|
157
|
+
writeLine(9, remPct < 10 ? severity.critical(remStr) : remPct < 25 ? severity.warning(remStr) : chalk.dim(remStr));
|
|
137
158
|
}
|
|
138
159
|
else {
|
|
139
|
-
|
|
160
|
+
writeLine(8, severity.muted(" Context n/a (run a turn first)"));
|
|
161
|
+
writeLine(9, "");
|
|
140
162
|
}
|
|
141
|
-
//
|
|
142
|
-
|
|
143
|
-
|
|
163
|
+
// ── Row 10: separator ─────────────────────────────────────────────────────
|
|
164
|
+
writeLine(10, hr);
|
|
165
|
+
// ── Rows 11–12: cost summary ──────────────────────────────────────────────
|
|
144
166
|
const sessCost = sessionCost?.estimatedUsd ?? 0;
|
|
145
|
-
const todayCost = todaySummary.totalUsd;
|
|
146
167
|
const inputTok = sessionEntry.inputTokens;
|
|
147
168
|
const outputTok = sessionEntry.outputTokens;
|
|
148
169
|
const cacheRead = jsonlStats?.totalCacheRead ?? 0;
|
|
149
|
-
|
|
170
|
+
writeLine(11, ` Session cost ${fmtUsd(sessCost).padEnd(12)}` +
|
|
150
171
|
` Input ${fmtTokens(inputTok)} tok`.padEnd(22) +
|
|
151
172
|
` Output ${fmtTokens(outputTok)} tok`);
|
|
152
|
-
|
|
173
|
+
writeLine(12, ` Today total ${fmtUsd(todaySummary.totalUsd).padEnd(12)}` +
|
|
153
174
|
(cacheRead > 0 ? ` Cache read ${fmtTokens(cacheRead)} tok` : ""));
|
|
154
|
-
//
|
|
175
|
+
// ── Row 13: separator ─────────────────────────────────────────────────────
|
|
176
|
+
writeLine(13, hr);
|
|
177
|
+
// ── Rows 14–15: turns heading + column header ─────────────────────────────
|
|
178
|
+
writeLine(14, chalk.bold(" Recent turns"));
|
|
179
|
+
writeLine(15, chalk.dim(" " + ["Turn", "Time", "ΔInput", "ΔOutput", "Cost", "Note"]
|
|
180
|
+
.map((h, i) => h.padEnd([6, 10, 9, 9, 12, 0][i]))
|
|
181
|
+
.join("")));
|
|
182
|
+
// ── Turn rows: fill between row 16 and footer ─────────────────────────────
|
|
183
|
+
const turnAreaStart = HEADER_END_ROW + 1; // 16
|
|
184
|
+
const turnAreaEnd = termH - FOOTER_HEIGHT; // last turn row
|
|
185
|
+
const maxTurnRows = Math.max(1, turnAreaEnd - turnAreaStart + 1);
|
|
155
186
|
const turnList = sessionCost?.turns ?? [];
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
const
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
const
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
fmtTokens(turn.outputTokensDelta).padEnd(9),
|
|
180
|
-
costPlain.padEnd(12),
|
|
181
|
-
note,
|
|
182
|
-
].join("");
|
|
183
|
-
lines.push(isLatest ? chalk.white(line) : chalk.dim(line));
|
|
184
|
-
});
|
|
187
|
+
const recentTurns = turnList.slice(-maxTurnRows).reverse();
|
|
188
|
+
recentTurns.forEach((turn, idx) => {
|
|
189
|
+
const isLatest = idx === 0;
|
|
190
|
+
const timeStr = turn.timestamp > 0
|
|
191
|
+
? new Intl.DateTimeFormat("en-US", { timeZone: LOCAL_TZ, hour: "2-digit", minute: "2-digit", hour12: false })
|
|
192
|
+
.format(new Date(turn.timestamp * 1000))
|
|
193
|
+
: "--:--";
|
|
194
|
+
const note = turn.compactOccurred
|
|
195
|
+
? chalk.cyan("◆ compact")
|
|
196
|
+
: isLatest ? chalk.dim("← latest") : "";
|
|
197
|
+
const line = " " + [
|
|
198
|
+
String(turn.turnIndex).padEnd(6),
|
|
199
|
+
timeStr.padEnd(10),
|
|
200
|
+
fmtTokens(turn.inputTokensDelta).padEnd(9),
|
|
201
|
+
fmtTokens(turn.outputTokensDelta).padEnd(9),
|
|
202
|
+
costPlain(turn.estimatedUsd).padEnd(12),
|
|
203
|
+
note,
|
|
204
|
+
].join("");
|
|
205
|
+
writeLine(turnAreaStart + idx, isLatest ? chalk.white(line) : chalk.dim(line));
|
|
206
|
+
});
|
|
207
|
+
// Clear any leftover turn rows (if this render has fewer turns than last)
|
|
208
|
+
for (let r = turnAreaStart + recentTurns.length; r <= turnAreaEnd; r++) {
|
|
209
|
+
writeLine(r, "");
|
|
185
210
|
}
|
|
186
|
-
//
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
lines.push(chalk.dim(` … +${suggestions.length - 3} more → clawprobe suggest`));
|
|
198
|
-
}
|
|
211
|
+
// ── Footer: pinned to bottom ──────────────────────────────────────────────
|
|
212
|
+
const footerStart = termH - FOOTER_HEIGHT + 1;
|
|
213
|
+
writeLine(footerStart, hr);
|
|
214
|
+
// Alerts (up to 2 lines in footer — one line per alert, no action text)
|
|
215
|
+
const alertLines = [];
|
|
216
|
+
for (const s of suggestions.slice(0, 2)) {
|
|
217
|
+
const icon = s.severity === "critical" ? "🔴" : s.severity === "warning" ? "🟡" : "🔵";
|
|
218
|
+
alertLines.push(` ${icon} ${s.title}`);
|
|
219
|
+
}
|
|
220
|
+
if (suggestions.length > 2) {
|
|
221
|
+
alertLines.push(chalk.dim(` … +${suggestions.length - 2} more → clawprobe suggest`));
|
|
199
222
|
}
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
|
|
223
|
+
writeLine(footerStart + 1, alertLines[0] ?? "");
|
|
224
|
+
writeLine(footerStart + 2, alertLines[1] ?? "");
|
|
225
|
+
writeLine(footerStart + 3, chalk.dim(" Costs are estimates based on public pricing."));
|
|
203
226
|
}
|
|
204
227
|
export async function runTop(cfg, opts) {
|
|
205
228
|
const agent = opts.agent ?? cfg.probe.openclaw.agent;
|
|
206
229
|
const intervalSec = Math.max(1, parseInt(opts.interval ?? "2", 10));
|
|
207
|
-
//
|
|
230
|
+
// Raw mode so 'q' registers immediately without Enter
|
|
208
231
|
if (process.stdin.isTTY) {
|
|
209
232
|
process.stdin.setRawMode(true);
|
|
210
233
|
process.stdin.resume();
|
|
211
234
|
process.stdin.setEncoding("utf8");
|
|
212
235
|
process.stdin.on("data", (key) => {
|
|
213
|
-
if (key === "q" || key === "\u0003"
|
|
214
|
-
//
|
|
215
|
-
process.stdout.write("\x1b[?25h"); // show cursor
|
|
236
|
+
if (key === "q" || key === "\u0003") {
|
|
237
|
+
process.stdout.write("\x1b[?25h\x1b[?1049l"); // restore cursor + alt screen
|
|
216
238
|
process.exit(0);
|
|
217
239
|
}
|
|
218
240
|
});
|
|
219
241
|
}
|
|
220
|
-
//
|
|
221
|
-
process.stdout.write("\x1b[
|
|
222
|
-
//
|
|
223
|
-
process.stdout.write("\x1b[?25l");
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
242
|
+
// Switch to alternate screen buffer (like htop/vim) — leaves original terminal intact on exit
|
|
243
|
+
process.stdout.write("\x1b[?1049h");
|
|
244
|
+
// Clear and hide cursor
|
|
245
|
+
process.stdout.write("\x1b[2J\x1b[?25l");
|
|
246
|
+
const restore = () => {
|
|
247
|
+
process.stdout.write("\x1b[?25h\x1b[?1049l");
|
|
248
|
+
};
|
|
249
|
+
process.on("exit", restore);
|
|
250
|
+
process.on("SIGINT", () => { restore(); process.exit(0); });
|
|
228
251
|
render(cfg, agent, intervalSec);
|
|
229
252
|
setInterval(() => render(cfg, agent, intervalSec), intervalSec * 1000);
|
|
230
253
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"top.js","sourceRoot":"","sources":["../../../src/cli/commands/top.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"top.js","sourceRoot":"","sources":["../../../src/cli/commands/top.ts"],"names":[],"mappings":"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"}
|