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 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;AA2ND,wBAAsB,MAAM,CAAC,GAAG,EAAE,cAAc,EAAE,IAAI,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC,CA8BjF"}
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"}
@@ -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, persistSuggestions } from "../../engines/rule-engine.js";
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
- /** Lines written in the previous render — used to erase leftover lines. */
35
- let _prevLineCount = 0;
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
- * Flicker-free render: move to top-left, overwrite each line with \x1b[K (clear to EOL),
38
- * then blank any leftover lines from the previous (taller) render.
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
- function flushLines(lines) {
41
- // Move to top-left without clearing
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 { /* ignore */ }
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
- persistSuggestions(db, agent, suggestions);
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 pad = Math.max(0, W - titlePlain.length - ts.length);
97
- lines.push(chalk.bold("clawprobe top") +
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(pad) +
117
+ " ".repeat(titlePad) +
100
118
  chalk.dim(ts));
101
- lines.push(hr);
102
- // Agent + daemon
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
- lines.push(` Agent: ${chalk.bold(agent)} ${daemonBadge}`);
125
+ writeLine(3, ` Agent: ${chalk.bold(agent)} ${daemonBadge}`);
107
126
  if (!sessionEntry) {
108
- lines.push("");
109
- lines.push(severity.muted(" No active session. Start OpenClaw and run a turn."));
110
- lines.push("");
111
- flushLines(lines);
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 > 52
118
- ? sessionEntry.sessionKey.slice(0, 49) + "…"
137
+ const keyShort = sessionEntry.sessionKey.length > W - 22
138
+ ? sessionEntry.sessionKey.slice(0, W - 25) + "…"
119
139
  : sessionEntry.sessionKey;
120
- lines.push(` Session: ${chalk.dim(keyShort)} ${statusBadge}`);
121
- if (model)
122
- lines.push(` Model: ${model}`);
123
- if (lastActiveAt)
124
- lines.push(` Active: ${fmtDate(lastActiveAt)} Compacts: ${compactionCount}`);
125
- // Context bar
126
- lines.push("");
127
- lines.push(hr);
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
- lines.push(` Context ${bar} ${ctxColor(`${pct}%`)} ${fmtTokens(sessionTokens)} / ${fmtTokens(resolvedWindowSize)} tokens`);
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(remaining)} tokens remaining (${remPct}%)`;
136
- lines.push(remPct < 10 ? severity.critical(remStr) : remPct < 25 ? severity.warning(remStr) : chalk.dim(remStr));
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
- lines.push(severity.muted(" Context n/a (run a turn first)"));
160
+ writeLine(8, severity.muted(" Context n/a (run a turn first)"));
161
+ writeLine(9, "");
140
162
  }
141
- // Cost summary
142
- lines.push("");
143
- lines.push(hr);
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
- lines.push(` Session cost ${fmtUsd(sessCost).padEnd(12)}` +
170
+ writeLine(11, ` Session cost ${fmtUsd(sessCost).padEnd(12)}` +
150
171
  ` Input ${fmtTokens(inputTok)} tok`.padEnd(22) +
151
172
  ` Output ${fmtTokens(outputTok)} tok`);
152
- lines.push(` Today total ${fmtUsd(todayCost).padEnd(12)}` +
173
+ writeLine(12, ` Today total ${fmtUsd(todaySummary.totalUsd).padEnd(12)}` +
153
174
  (cacheRead > 0 ? ` Cache read ${fmtTokens(cacheRead)} tok` : ""));
154
- // Recent turns show as many as the terminal height allows
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
- if (turnList.length > 0) {
157
- lines.push("");
158
- lines.push(hr);
159
- lines.push(chalk.bold(" Recent turns"));
160
- lines.push(chalk.dim(" " + ["Turn", "Time", "ΔInput", "ΔOutput", "Cost", "Note"].map((h, i) => h.padEnd([6, 10, 9, 9, 12, 0][i])).join("")));
161
- // Reserve lines for: header block (~10) + separator + heading + col-header + footer (~3)
162
- // Fill the remaining terminal rows with turn rows (min 4, max all turns)
163
- const termH = process.stdout.rows || 30;
164
- const reservedLines = lines.length + 3; // footer lines below turns
165
- const maxTurnRows = Math.max(4, termH - reservedLines - 2);
166
- const recentTurns = turnList.slice(-maxTurnRows).reverse();
167
- recentTurns.forEach((turn, idx) => {
168
- const isLatest = idx === 0;
169
- const timeStr = turn.timestamp > 0
170
- ? new Intl.DateTimeFormat("en-US", { timeZone: LOCAL_TZ, hour: "2-digit", minute: "2-digit", hour12: false }).format(new Date(turn.timestamp * 1000))
171
- : "--:--";
172
- const note = turn.compactOccurred ? chalk.cyan("◆ compact") : isLatest ? chalk.dim("← latest") : "";
173
- // Use plain-text width for cost column to avoid ANSI code padding issues
174
- const costPlain = `$${turn.estimatedUsd > 0 ? turn.estimatedUsd.toFixed(turn.estimatedUsd < 0.01 ? 4 : 2) : "0.00"}`;
175
- const line = " " + [
176
- String(turn.turnIndex).padEnd(6),
177
- timeStr.padEnd(10),
178
- fmtTokens(turn.inputTokensDelta).padEnd(9),
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
- // Alerts
187
- if (suggestions.length > 0) {
188
- lines.push("");
189
- lines.push(hr);
190
- for (const s of suggestions.slice(0, 3)) {
191
- const icon = s.severity === "critical" ? "🔴" : s.severity === "warning" ? "🟡" : "🔵";
192
- lines.push(` ${icon} ${s.title}`);
193
- if (s.action)
194
- lines.push(chalk.dim(` → ${s.action}`));
195
- }
196
- if (suggestions.length > 3) {
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
- lines.push("");
201
- lines.push(chalk.dim(" Costs are estimates based on public pricing."));
202
- flushLines(lines);
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
- // Disable stdin line buffering so 'q' can be detected immediately
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" /* Ctrl+C */) {
214
- // Restore cursor and exit cleanly
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
- // Clear screen once on startup, then use flicker-free overwrite on each refresh
221
- process.stdout.write("\x1b[2J\x1b[H");
222
- // Hide cursor for cleaner rendering
223
- process.stdout.write("\x1b[?25l");
224
- // Restore cursor on unhandled exit
225
- process.on("exit", () => process.stdout.write("\x1b[?25h"));
226
- process.on("SIGINT", () => { process.stdout.write("\x1b[?25h"); process.exit(0); });
227
- // Initial render immediately, then on interval
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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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clawprobe",
3
- "version": "0.6.7",
3
+ "version": "0.6.9",
4
4
  "description": "The missing observability layer for OpenClaw agents",
5
5
  "keywords": [
6
6
  "openclaw",