claude-yes 1.132.3 → 1.133.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/{SUPPORTED_CLIS-DJIeGTrd.js → SUPPORTED_CLIS-DrXi-ZoG.js} +2 -2
- package/dist/SUPPORTED_CLIS-K_KExe0m.js +8 -0
- package/dist/cli.js +3 -3
- package/dist/index.js +2 -2
- package/dist/{schedule-2AzxpmdT.js → schedule-CxWiM9Gh.js} +4 -4
- package/dist/{serve-CpnMdp-S.js → serve-BVd4fj_7.js} +5 -5
- package/dist/{setup-DTZa-BBu.js → setup-C8qDU1KQ.js} +2 -2
- package/dist/{subcommands-DmFzMcFj.js → subcommands-BF417PZx.js} +1 -1
- package/dist/{subcommands-BCmO8UR5.js → subcommands-DkjG64ez.js} +4 -4
- package/dist/{ts-BahiMWiN.js → ts-Bl0IyBFA.js} +2 -2
- package/dist/{versionChecker-C7OufNFx.js → versionChecker-NEubo1N6.js} +2 -2
- package/lab/ui/index.html +138 -2
- package/package.json +1 -1
- package/dist/SUPPORTED_CLIS-Di3BddWL.js +0 -8
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { t as CLIS_CONFIG } from "./ts-
|
|
1
|
+
import { t as CLIS_CONFIG } from "./ts-Bl0IyBFA.js";
|
|
2
2
|
|
|
3
3
|
//#region ts/SUPPORTED_CLIS.ts
|
|
4
4
|
const SUPPORTED_CLIS = Object.keys(CLIS_CONFIG);
|
|
5
5
|
|
|
6
6
|
//#endregion
|
|
7
7
|
export { SUPPORTED_CLIS as t };
|
|
8
|
-
//# sourceMappingURL=SUPPORTED_CLIS-
|
|
8
|
+
//# sourceMappingURL=SUPPORTED_CLIS-DrXi-ZoG.js.map
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import "./ts-Bl0IyBFA.js";
|
|
2
|
+
import "./logger-CDIsZ-Pp.js";
|
|
3
|
+
import "./versionChecker-NEubo1N6.js";
|
|
4
|
+
import "./pidStore-fqXqTKkh.js";
|
|
5
|
+
import "./globalPidIndex-DlmmJlO8.js";
|
|
6
|
+
import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-DrXi-ZoG.js";
|
|
7
|
+
|
|
8
|
+
export { SUPPORTED_CLIS };
|
package/dist/cli.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
2
|
import { t as invokedCliName } from "./invokedCli-zdFbz1ST.js";
|
|
3
3
|
import { n as logger } from "./logger-CDIsZ-Pp.js";
|
|
4
|
-
import { i as versionString, n as displayVersion, r as getInstalledPackage, t as checkAndAutoUpdate } from "./versionChecker-
|
|
4
|
+
import { i as versionString, n as displayVersion, r as getInstalledPackage, t as checkAndAutoUpdate } from "./versionChecker-NEubo1N6.js";
|
|
5
5
|
import { argv } from "process";
|
|
6
6
|
import { execFileSync, spawn } from "child_process";
|
|
7
7
|
import ms from "ms";
|
|
@@ -480,7 +480,7 @@ function buildRustArgs(argv, cliFromScript, supportedClis) {
|
|
|
480
480
|
const rawArg = process.argv[2];
|
|
481
481
|
const managerCommands = !invokedCliName(process.argv);
|
|
482
482
|
const isHelpFlag = rawArg === "-h" || rawArg === "--help";
|
|
483
|
-
const { isSubcommand, runSubcommand, cmdHelp } = await import("./subcommands-
|
|
483
|
+
const { isSubcommand, runSubcommand, cmdHelp } = await import("./subcommands-BF417PZx.js");
|
|
484
484
|
if (isHelpFlag && process.argv.length === 3) {
|
|
485
485
|
cmdHelp(managerCommands);
|
|
486
486
|
process.exit(0);
|
|
@@ -513,7 +513,7 @@ if (config.useRust) {
|
|
|
513
513
|
}
|
|
514
514
|
}
|
|
515
515
|
if (rustBinary) {
|
|
516
|
-
const { SUPPORTED_CLIS } = await import("./SUPPORTED_CLIS-
|
|
516
|
+
const { SUPPORTED_CLIS } = await import("./SUPPORTED_CLIS-K_KExe0m.js");
|
|
517
517
|
const rustArgs = buildRustArgs(process.argv, config.cli, SUPPORTED_CLIS);
|
|
518
518
|
if (config.verbose) {
|
|
519
519
|
console.log(`[rust] Using binary: ${rustBinary}`);
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { a as removeControlCharacters, i as AgentContext, n as agentYes, r as config, t as CLIS_CONFIG } from "./ts-
|
|
1
|
+
import { a as removeControlCharacters, i as AgentContext, n as agentYes, r as config, t as CLIS_CONFIG } from "./ts-Bl0IyBFA.js";
|
|
2
2
|
import "./logger-CDIsZ-Pp.js";
|
|
3
|
-
import "./versionChecker-
|
|
3
|
+
import "./versionChecker-NEubo1N6.js";
|
|
4
4
|
import "./pidStore-fqXqTKkh.js";
|
|
5
5
|
import "./globalPidIndex-DlmmJlO8.js";
|
|
6
6
|
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import "./ts-
|
|
1
|
+
import "./ts-Bl0IyBFA.js";
|
|
2
2
|
import "./logger-CDIsZ-Pp.js";
|
|
3
|
-
import "./versionChecker-
|
|
3
|
+
import "./versionChecker-NEubo1N6.js";
|
|
4
4
|
import "./pidStore-fqXqTKkh.js";
|
|
5
5
|
import "./globalPidIndex-DlmmJlO8.js";
|
|
6
|
-
import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-
|
|
6
|
+
import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-DrXi-ZoG.js";
|
|
7
7
|
import { n as resolveSpawnCwd } from "./workspaceConfig-BCOqRBEW.js";
|
|
8
8
|
import { createHash } from "node:crypto";
|
|
9
9
|
|
|
@@ -141,4 +141,4 @@ async function cmdSchedule(rest) {
|
|
|
141
141
|
|
|
142
142
|
//#endregion
|
|
143
143
|
export { cmdSchedule };
|
|
144
|
-
//# sourceMappingURL=schedule-
|
|
144
|
+
//# sourceMappingURL=schedule-CxWiM9Gh.js.map
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import "./ts-
|
|
1
|
+
import "./ts-Bl0IyBFA.js";
|
|
2
2
|
import "./logger-CDIsZ-Pp.js";
|
|
3
|
-
import { r as getInstalledPackage } from "./versionChecker-
|
|
3
|
+
import { r as getInstalledPackage } from "./versionChecker-NEubo1N6.js";
|
|
4
4
|
import "./pidStore-fqXqTKkh.js";
|
|
5
5
|
import { a as updateGlobalPidStatus } from "./globalPidIndex-DlmmJlO8.js";
|
|
6
6
|
import { t as pgidForWrapper } from "./reaper-C-eWAxIj.js";
|
|
7
7
|
import "./configShared-C1C04bbq.js";
|
|
8
|
-
import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-
|
|
8
|
+
import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-DrXi-ZoG.js";
|
|
9
9
|
import "./remotes-PKKjfTI1.js";
|
|
10
|
-
import { d as listRecords, g as resolveOne, i as controlCodeFromName, m as renderRawLog, p as readNotes, s as extractTaskCounts, x as writeToIpc, y as snapshotStatus } from "./subcommands-
|
|
10
|
+
import { d as listRecords, g as resolveOne, i as controlCodeFromName, m as renderRawLog, p as readNotes, s as extractTaskCounts, x as writeToIpc, y as snapshotStatus } from "./subcommands-DkjG64ez.js";
|
|
11
11
|
import yargs from "yargs";
|
|
12
12
|
import { mkdir, open, readFile, stat, writeFile } from "fs/promises";
|
|
13
13
|
import { homedir, hostname, userInfo } from "os";
|
|
@@ -1142,4 +1142,4 @@ Options:
|
|
|
1142
1142
|
|
|
1143
1143
|
//#endregion
|
|
1144
1144
|
export { cmdServe };
|
|
1145
|
-
//# sourceMappingURL=serve-
|
|
1145
|
+
//# sourceMappingURL=serve-BVd4fj_7.js.map
|
|
@@ -32,7 +32,7 @@ async function cmdSetup(rest) {
|
|
|
32
32
|
if (!existsSync(abs)) process.stderr.write(` note: that directory doesn't exist yet — create it, or agents spawned there will fail\n`);
|
|
33
33
|
if (noShare) return 0;
|
|
34
34
|
process.stdout.write(`\nsharing this machine to agent-yes.com…\n`);
|
|
35
|
-
const { cmdServe } = await import("./serve-
|
|
35
|
+
const { cmdServe } = await import("./serve-BVd4fj_7.js");
|
|
36
36
|
return cmdServe([
|
|
37
37
|
"install",
|
|
38
38
|
"--share",
|
|
@@ -42,4 +42,4 @@ async function cmdSetup(rest) {
|
|
|
42
42
|
|
|
43
43
|
//#endregion
|
|
44
44
|
export { cmdSetup };
|
|
45
|
-
//# sourceMappingURL=setup-
|
|
45
|
+
//# sourceMappingURL=setup-C8qDU1KQ.js.map
|
|
@@ -2,6 +2,6 @@ import "./logger-CDIsZ-Pp.js";
|
|
|
2
2
|
import "./globalPidIndex-DlmmJlO8.js";
|
|
3
3
|
import "./configShared-C1C04bbq.js";
|
|
4
4
|
import "./remotes-PKKjfTI1.js";
|
|
5
|
-
import { _ as resolveReadWindow, a as cursorAbs, b as stopTipForCli, c as finalizedLines, d as listRecords, f as matchKeyword, g as resolveOne, h as renderRawLogLines, i as controlCodeFromName, l as isPidAlive, m as renderRawLog, n as READ_PAGE_DEFAULT, o as extractNeedsInput, p as readNotes, r as cmdHelp, s as extractTaskCounts, t as GRACEFUL_EXIT_COMMANDS, u as isSubcommand, v as runSubcommand, x as writeToIpc, y as snapshotStatus } from "./subcommands-
|
|
5
|
+
import { _ as resolveReadWindow, a as cursorAbs, b as stopTipForCli, c as finalizedLines, d as listRecords, f as matchKeyword, g as resolveOne, h as renderRawLogLines, i as controlCodeFromName, l as isPidAlive, m as renderRawLog, n as READ_PAGE_DEFAULT, o as extractNeedsInput, p as readNotes, r as cmdHelp, s as extractTaskCounts, t as GRACEFUL_EXIT_COMMANDS, u as isSubcommand, v as runSubcommand, x as writeToIpc, y as snapshotStatus } from "./subcommands-DkjG64ez.js";
|
|
6
6
|
|
|
7
7
|
export { cmdHelp, isSubcommand, runSubcommand };
|
|
@@ -533,15 +533,15 @@ async function runSubcommand(argv) {
|
|
|
533
533
|
case "restart": return await cmdRestart(rest);
|
|
534
534
|
case "note": return await cmdNote(rest);
|
|
535
535
|
case "serve": {
|
|
536
|
-
const { cmdServe } = await import("./serve-
|
|
536
|
+
const { cmdServe } = await import("./serve-BVd4fj_7.js");
|
|
537
537
|
return cmdServe(rest);
|
|
538
538
|
}
|
|
539
539
|
case "setup": {
|
|
540
|
-
const { cmdSetup } = await import("./setup-
|
|
540
|
+
const { cmdSetup } = await import("./setup-C8qDU1KQ.js");
|
|
541
541
|
return cmdSetup(rest);
|
|
542
542
|
}
|
|
543
543
|
case "schedule": {
|
|
544
|
-
const { cmdSchedule } = await import("./schedule-
|
|
544
|
+
const { cmdSchedule } = await import("./schedule-CxWiM9Gh.js");
|
|
545
545
|
return cmdSchedule(rest);
|
|
546
546
|
}
|
|
547
547
|
case "remote": {
|
|
@@ -2428,4 +2428,4 @@ async function cmdResultSet(rest) {
|
|
|
2428
2428
|
|
|
2429
2429
|
//#endregion
|
|
2430
2430
|
export { resolveReadWindow as _, cursorAbs as a, stopTipForCli as b, finalizedLines as c, listRecords as d, matchKeyword as f, resolveOne as g, renderRawLogLines as h, controlCodeFromName as i, isPidAlive as l, renderRawLog as m, READ_PAGE_DEFAULT as n, extractNeedsInput as o, readNotes as p, cmdHelp as r, extractTaskCounts as s, GRACEFUL_EXIT_COMMANDS as t, isSubcommand as u, runSubcommand as v, writeToIpc as x, snapshotStatus as y };
|
|
2431
|
-
//# sourceMappingURL=subcommands-
|
|
2431
|
+
//# sourceMappingURL=subcommands-DkjG64ez.js.map
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { n as logger, t as addTransport } from "./logger-CDIsZ-Pp.js";
|
|
2
|
-
import { r as getInstalledPackage } from "./versionChecker-
|
|
2
|
+
import { r as getInstalledPackage } from "./versionChecker-NEubo1N6.js";
|
|
3
3
|
import { t as agentYesHome } from "./agentYesHome-_eJa3DaX.js";
|
|
4
4
|
import { i as shouldUseLock, r as releaseLock, t as acquireLock } from "./runningLock-V4qvXgAw.js";
|
|
5
5
|
import { t as PidStore } from "./pidStore-fqXqTKkh.js";
|
|
@@ -1788,4 +1788,4 @@ function sleep(ms) {
|
|
|
1788
1788
|
|
|
1789
1789
|
//#endregion
|
|
1790
1790
|
export { removeControlCharacters as a, AgentContext as i, agentYes as n, config as r, CLIS_CONFIG as t };
|
|
1791
|
-
//# sourceMappingURL=ts-
|
|
1791
|
+
//# sourceMappingURL=ts-Bl0IyBFA.js.map
|
|
@@ -7,7 +7,7 @@ import { fileURLToPath } from "url";
|
|
|
7
7
|
|
|
8
8
|
//#region package.json
|
|
9
9
|
var name = "claude-yes";
|
|
10
|
-
var version = "1.
|
|
10
|
+
var version = "1.133.0";
|
|
11
11
|
|
|
12
12
|
//#endregion
|
|
13
13
|
//#region ts/versionChecker.ts
|
|
@@ -215,4 +215,4 @@ async function displayVersion() {
|
|
|
215
215
|
|
|
216
216
|
//#endregion
|
|
217
217
|
export { versionString as i, displayVersion as n, getInstalledPackage as r, checkAndAutoUpdate as t };
|
|
218
|
-
//# sourceMappingURL=versionChecker-
|
|
218
|
+
//# sourceMappingURL=versionChecker-NEubo1N6.js.map
|
package/lab/ui/index.html
CHANGED
|
@@ -212,10 +212,29 @@
|
|
|
212
212
|
width: 56px;
|
|
213
213
|
color: var(--muted);
|
|
214
214
|
}
|
|
215
|
+
/* Diagnostics sections appended to the conn pill tooltip (viewport / terminal
|
|
216
|
+
caps / I/O sparkline). Each section is divided from the one above. */
|
|
217
|
+
.ctip-sec {
|
|
218
|
+
margin-top: 6px;
|
|
219
|
+
padding-top: 6px;
|
|
220
|
+
border-top: 1px solid var(--line);
|
|
221
|
+
}
|
|
222
|
+
.ctip-traf {
|
|
223
|
+
display: flex;
|
|
224
|
+
align-items: center;
|
|
225
|
+
gap: 6px;
|
|
226
|
+
}
|
|
227
|
+
.ctip-spark {
|
|
228
|
+
vertical-align: middle;
|
|
229
|
+
opacity: 0.95;
|
|
230
|
+
}
|
|
215
231
|
/* ⋯ overflow menu in the terminal header + its dropdown. */
|
|
216
232
|
.rmenu {
|
|
217
233
|
position: relative;
|
|
218
|
-
margin-left:
|
|
234
|
+
/* No margin-left:auto here: `.rhead .live` already carries the single
|
|
235
|
+
auto-margin that pushes the live/ctype/⋯ cluster right. A second
|
|
236
|
+
auto-margin would split the free space and strand the live+ctype
|
|
237
|
+
badge in the center of the header. */
|
|
219
238
|
}
|
|
220
239
|
.rmenubtn {
|
|
221
240
|
background: none;
|
|
@@ -2174,7 +2193,7 @@
|
|
|
2174
2193
|
const body = rows
|
|
2175
2194
|
.map(([k, v]) => `<div><span class="ctip-k">${k}</span>${esc(String(v))}</div>`)
|
|
2176
2195
|
.join("");
|
|
2177
|
-
return `<span class="ctip">${head}${body || '<div class="ctip-k">probing…</div>'}</span>`;
|
|
2196
|
+
return `<span class="ctip">${head}${body || '<div class="ctip-k">probing…</div>'}${diagTipHtml()}</span>`;
|
|
2178
2197
|
}
|
|
2179
2198
|
// Candidate pairs aren't known the instant a peer connects (ICE keeps probing)
|
|
2180
2199
|
// and can change (relay fallback); a light poll keeps every pill honest.
|
|
@@ -2201,6 +2220,9 @@
|
|
|
2201
2220
|
// typing into an otherwise-quiet agent — the real UX number for a TUI.
|
|
2202
2221
|
let pendingKeyTs = 0;
|
|
2203
2222
|
function perfNote(kind, n) {
|
|
2223
|
+
// Always-on header-badge traffic ring (independent of the opt-in HUD below).
|
|
2224
|
+
if (kind === "in") traf.cin += n || 0;
|
|
2225
|
+
else if (kind === "out") traf.cout += n || 0;
|
|
2204
2226
|
if (!perfOn) return;
|
|
2205
2227
|
if (kind === "in") {
|
|
2206
2228
|
perf.inEvents++;
|
|
@@ -2271,6 +2293,115 @@
|
|
|
2271
2293
|
if (el) el.textContent = "measuring…";
|
|
2272
2294
|
}
|
|
2273
2295
|
}
|
|
2296
|
+
// ---- header badge diagnostics: per-second I/O sparkline + terminal caps +
|
|
2297
|
+
// viewport sizes, surfaced in the connection pill's hover tooltip. The traffic
|
|
2298
|
+
// ring is ALWAYS-ON (decoupled from the opt-in perf HUD above): cin/cout
|
|
2299
|
+
// accumulate the current second, the 1s tick samples them (cap TRAF_N), and an
|
|
2300
|
+
// agent switch clears history so one agent's bytes never bleed into another.
|
|
2301
|
+
const TRAF_N = 60;
|
|
2302
|
+
const traf = { cin: 0, cout: 0, hist: [] };
|
|
2303
|
+
function trafReset() {
|
|
2304
|
+
traf.cin = traf.cout = 0;
|
|
2305
|
+
traf.hist = [];
|
|
2306
|
+
}
|
|
2307
|
+
// The last winsize the agent's PTY reported (from /api/size), so the tooltip
|
|
2308
|
+
// can show OUR viewport vs the agent's render size. Reset on agent switch.
|
|
2309
|
+
let agentSize = null;
|
|
2310
|
+
|
|
2311
|
+
function isDarkColor(c) {
|
|
2312
|
+
try {
|
|
2313
|
+
let h = String(c).trim().replace(/^#/, "");
|
|
2314
|
+
if (h.length === 3)
|
|
2315
|
+
h = h
|
|
2316
|
+
.split("")
|
|
2317
|
+
.map((x) => x + x)
|
|
2318
|
+
.join("");
|
|
2319
|
+
const r = parseInt(h.slice(0, 2), 16),
|
|
2320
|
+
g = parseInt(h.slice(2, 4), 16),
|
|
2321
|
+
b = parseInt(h.slice(4, 6), 16);
|
|
2322
|
+
return (0.2126 * r + 0.7152 * g + 0.0722 * b) / 255 < 0.5;
|
|
2323
|
+
} catch {
|
|
2324
|
+
return true;
|
|
2325
|
+
}
|
|
2326
|
+
}
|
|
2327
|
+
// What the live xterm reports about the agent's TUI: mouse-tracking mode
|
|
2328
|
+
// (DECSET), alt-screen, theme (→ light/dark), cursor style, and OUR size.
|
|
2329
|
+
function termCaps() {
|
|
2330
|
+
if (!term) return null;
|
|
2331
|
+
const m = term.modes || {};
|
|
2332
|
+
const mouse =
|
|
2333
|
+
m.mouseTrackingMode && m.mouseTrackingMode !== "none" ? m.mouseTrackingMode : null;
|
|
2334
|
+
let alt = false;
|
|
2335
|
+
try {
|
|
2336
|
+
alt = term.buffer.active.type === "alternate";
|
|
2337
|
+
} catch {}
|
|
2338
|
+
const th = (term.options && term.options.theme) || {};
|
|
2339
|
+
const bg = th.background || null;
|
|
2340
|
+
return {
|
|
2341
|
+
mouse,
|
|
2342
|
+
alt,
|
|
2343
|
+
bg,
|
|
2344
|
+
dark: bg ? isDarkColor(bg) : null,
|
|
2345
|
+
cursor: (term.options && term.options.cursorStyle) || null,
|
|
2346
|
+
cols: term.cols,
|
|
2347
|
+
rows: term.rows,
|
|
2348
|
+
};
|
|
2349
|
+
}
|
|
2350
|
+
// Two overlaid polylines (output green, input accent) normalised to the window
|
|
2351
|
+
// max, so a tiny sparkline shows the I/O shape at a glance.
|
|
2352
|
+
function sparkSvg(hist, w, h) {
|
|
2353
|
+
const n = hist.length;
|
|
2354
|
+
if (!n) return "";
|
|
2355
|
+
const max = Math.max(1, ...hist.map((s) => Math.max(s.i, s.o)));
|
|
2356
|
+
const xs = (i) => (n === 1 ? w - 1 : (i / (n - 1)) * (w - 1));
|
|
2357
|
+
const ys = (v) => h - 1 - (v / max) * (h - 2);
|
|
2358
|
+
const poly = (k, color) =>
|
|
2359
|
+
`<polyline fill="none" stroke="${color}" stroke-width="1" points="${hist
|
|
2360
|
+
.map((s, i) => xs(i).toFixed(1) + "," + ys(s[k]).toFixed(1))
|
|
2361
|
+
.join(" ")}"/>`;
|
|
2362
|
+
return `<svg class="ctip-spark" width="${w}" height="${h}" viewBox="0 0 ${w} ${h}" preserveAspectRatio="none">${poly("o", "var(--green)")}${poly("i", "var(--accent)")}</svg>`;
|
|
2363
|
+
}
|
|
2364
|
+
// The diagnostics block appended to the connection-pill hover tooltip: viewport
|
|
2365
|
+
// (deduped when OUR size matches the agent's), terminal caps, and the live I/O
|
|
2366
|
+
// sparkline with current rates (↓ output from the agent, ↑ input to it).
|
|
2367
|
+
function diagTipHtml() {
|
|
2368
|
+
const caps = termCaps();
|
|
2369
|
+
if (!caps) return "";
|
|
2370
|
+
const you = caps.cols + "×" + caps.rows;
|
|
2371
|
+
const ag = agentSize ? agentSize.cols + "×" + agentSize.rows : null;
|
|
2372
|
+
const vp =
|
|
2373
|
+
!ag || ag === you
|
|
2374
|
+
? `<div><span class="ctip-k">viewport</span>${you}</div>`
|
|
2375
|
+
: `<div><span class="ctip-k">you</span>${you}</div><div><span class="ctip-k">agent</span>${ag}</div>`;
|
|
2376
|
+
const caprows = [
|
|
2377
|
+
["mouse", caps.mouse ? "on (" + caps.mouse + ")" : "off"],
|
|
2378
|
+
["screen", caps.alt ? "alt" : "normal"],
|
|
2379
|
+
];
|
|
2380
|
+
if (caps.dark != null)
|
|
2381
|
+
caprows.push(["theme", (caps.dark ? "dark" : "light") + (caps.bg ? " " + caps.bg : "")]);
|
|
2382
|
+
if (caps.cursor) caprows.push(["cursor", caps.cursor]);
|
|
2383
|
+
const capHtml = caprows
|
|
2384
|
+
.map(([k, v]) => `<div><span class="ctip-k">${k}</span>${esc(String(v))}</div>`)
|
|
2385
|
+
.join("");
|
|
2386
|
+
const last = traf.hist[traf.hist.length - 1] || { i: 0, o: 0 };
|
|
2387
|
+
const traffic =
|
|
2388
|
+
`<div class="ctip-traf"><span class="ctip-k">i/o</span>${sparkSvg(traf.hist, 96, 22) || "—"}</div>` +
|
|
2389
|
+
`<div><span class="ctip-k"></span>↓ ${fmtBytes(last.o)}/s ↑ ${fmtBytes(last.i)}/s</div>`;
|
|
2390
|
+
return (
|
|
2391
|
+
`<div class="ctip-sec">${vp}</div>` +
|
|
2392
|
+
`<div class="ctip-sec">${capHtml}</div>` +
|
|
2393
|
+
`<div class="ctip-sec">${traffic}</div>`
|
|
2394
|
+
);
|
|
2395
|
+
}
|
|
2396
|
+
// Always-on: sample the I/O ring every second and, while an agent is open,
|
|
2397
|
+
// repaint the badge so its hover tooltip (sparkline + caps + sizes) stays live.
|
|
2398
|
+
setInterval(() => {
|
|
2399
|
+
traf.hist.push({ i: traf.cin, o: traf.cout });
|
|
2400
|
+
if (traf.hist.length > TRAF_N) traf.hist.shift();
|
|
2401
|
+
traf.cin = traf.cout = 0;
|
|
2402
|
+
if (sel) paintHeaderBadge();
|
|
2403
|
+
}, 1000);
|
|
2404
|
+
|
|
2274
2405
|
// Wire the ⋯ overflow menu and restore the saved HUD preference.
|
|
2275
2406
|
// Recovery actions for the SELECTED agent, both confirmed first (destructive):
|
|
2276
2407
|
// Stop — graceful: send the CLI's exit command (claude/codex /exit, gemini
|
|
@@ -2821,6 +2952,10 @@
|
|
|
2821
2952
|
return;
|
|
2822
2953
|
}
|
|
2823
2954
|
sel = e._key;
|
|
2955
|
+
// Fresh diagnostics for the newly-opened agent: clear the I/O sparkline ring
|
|
2956
|
+
// and the remembered agent winsize so the badge tooltip doesn't show stale data.
|
|
2957
|
+
trafReset();
|
|
2958
|
+
agentSize = null;
|
|
2824
2959
|
paintHeaderBadge();
|
|
2825
2960
|
// Remember the selection so a refresh re-opens this agent (see boot/autoPid).
|
|
2826
2961
|
try {
|
|
@@ -2948,6 +3083,7 @@
|
|
|
2948
3083
|
const selKey = e._key;
|
|
2949
3084
|
const fitAndSync = (sz) => {
|
|
2950
3085
|
if (sel !== selKey || !term) return;
|
|
3086
|
+
if (sz && sz.cols && sz.rows) agentSize = sz; // remember for the badge tooltip
|
|
2951
3087
|
try {
|
|
2952
3088
|
fit.fit();
|
|
2953
3089
|
} catch {}
|
package/package.json
CHANGED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
import "./ts-BahiMWiN.js";
|
|
2
|
-
import "./logger-CDIsZ-Pp.js";
|
|
3
|
-
import "./versionChecker-C7OufNFx.js";
|
|
4
|
-
import "./pidStore-fqXqTKkh.js";
|
|
5
|
-
import "./globalPidIndex-DlmmJlO8.js";
|
|
6
|
-
import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-DJIeGTrd.js";
|
|
7
|
-
|
|
8
|
-
export { SUPPORTED_CLIS };
|