agent-yes 1.255.1 → 1.256.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-BwRdGQ4I.js → SUPPORTED_CLIS-DCgfUvkk.js} +2 -2
- package/dist/{SUPPORTED_CLIS-Cuzio132.js → SUPPORTED_CLIS-FQCbUoI-.js} +3 -3
- package/dist/{agentShare-BwDxVzaX.js → agentShare-B-UFJIE3.js} +2 -2
- package/dist/{browser-DV0CLEwt.js → browser-jKmGe4_X.js} +24 -4
- package/dist/{callback-DiQBhFZn.js → callback-DsimZsq6.js} +2 -2
- package/dist/{callback-CLZb8HWd.js → callback-FHEnYbFh.js} +3 -3
- package/dist/cli.js +5 -5
- package/dist/index.js +2 -2
- package/dist/{notifyDaemon-Bebw4D7u.js → notifyDaemon-CnhKvdl7.js} +2 -2
- package/dist/{rustBinary-Cqb_HJrr.js → rustBinary-B7kmq5S0.js} +2 -2
- package/dist/{schedule-DZrXiDPD.js → schedule-D8TWPJuH.js} +4 -4
- package/dist/{serve-DWtw6ok5.js → serve-89Gzlv9n.js} +14 -14
- package/dist/{setup-CXr_Y5vj.js → setup-B-ufpyWj.js} +2 -2
- package/dist/{subcommands-D9W74Jbd.js → subcommands-COp2OWcx.js} +1 -1
- package/dist/{subcommands-Cz7ZYodJ.js → subcommands-Cz_tHj4P.js} +13 -13
- package/dist/{terminal-B8X6SZ4k.js → terminal-83v9Uzt1.js} +2 -2
- package/dist/terminal.js +1 -1
- package/dist/trayApp-00UdHVbe.js +5 -0
- package/dist/{trayApp-i93_GeIf.js → trayApp-ChsZpZyQ.js} +2 -2
- package/dist/{ts-C_4nEOJ9.js → ts-B4LZq-x9.js} +2 -2
- package/dist/{versionChecker-DgDRyB3n.js → versionChecker-CKSvRBvj.js} +2 -2
- package/dist/{widget-pcjAYbkh.js → widget-DcPvYum4.js} +3 -3
- package/dist/widgets.js +1 -1
- package/dist/{ws-BdEmGmYi.js → ws-DXmR5W2s.js} +2 -2
- package/lab/ui/index.html +104 -5
- package/package.json +1 -1
- package/ts/subcommands.spec.ts +3 -1
- package/ts/terminal/browser.ts +28 -3
- package/dist/trayApp-Zta691q9.js +0 -5
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { t as CLIS_CONFIG } from "./ts-
|
|
1
|
+
import { t as CLIS_CONFIG } from "./ts-B4LZq-x9.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-DCgfUvkk.js.map
|
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import "./logger-CDIsZ-Pp.js";
|
|
2
|
-
import "./versionChecker-
|
|
3
|
-
import "./ts-
|
|
2
|
+
import "./versionChecker-CKSvRBvj.js";
|
|
3
|
+
import "./ts-B4LZq-x9.js";
|
|
4
4
|
import "./todoAutomation-BQRW614S.js";
|
|
5
5
|
import "./JsonlStore-CPGIR0Wy.js";
|
|
6
6
|
import "./globalPidIndex-D9DOSd-c.js";
|
|
7
7
|
import "./pidStore-vnX0bgra.js";
|
|
8
8
|
import "./messageLog-C-YIzhRj.js";
|
|
9
|
-
import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-
|
|
9
|
+
import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-DCgfUvkk.js";
|
|
10
10
|
|
|
11
11
|
export { SUPPORTED_CLIS };
|
|
@@ -3,7 +3,7 @@ import "./globalPidIndex-D9DOSd-c.js";
|
|
|
3
3
|
import "./messageLog-C-YIzhRj.js";
|
|
4
4
|
import "./e2e-CEIdJGZ7.js";
|
|
5
5
|
import "./configShared-IBbnn9b8.js";
|
|
6
|
-
import { P as resolveOne } from "./subcommands-
|
|
6
|
+
import { P as resolveOne } from "./subcommands-Cz_tHj4P.js";
|
|
7
7
|
import "./webrtcLink-BMYneHbu.js";
|
|
8
8
|
import "./remotes-a0bGDae9.js";
|
|
9
9
|
import { a as startShare } from "./share-BGl3wutJ.js";
|
|
@@ -229,4 +229,4 @@ function transformEvent(rawEvent, agentId, forwarded) {
|
|
|
229
229
|
|
|
230
230
|
//#endregion
|
|
231
231
|
export { createScopedShare, listShares, revokeAllShares, revokeShare };
|
|
232
|
-
//# sourceMappingURL=agentShare-
|
|
232
|
+
//# sourceMappingURL=agentShare-B-UFJIE3.js.map
|
|
@@ -13379,7 +13379,16 @@ var AyTerminal = class {
|
|
|
13379
13379
|
const rec = await res.json();
|
|
13380
13380
|
const rich = richTitle(rec);
|
|
13381
13381
|
if (rich && titleEl) {
|
|
13382
|
-
titleEl.
|
|
13382
|
+
const nameEl = titleEl.querySelector?.("#titlename") ?? titleEl;
|
|
13383
|
+
const cwdEl = titleEl.querySelector?.("#titlecwd");
|
|
13384
|
+
const cwdLeadEl = titleEl.querySelector?.("#titlecwdlead");
|
|
13385
|
+
const cwdPathEl = titleEl.querySelector?.("#titlecwdpath");
|
|
13386
|
+
nameEl.textContent = rich;
|
|
13387
|
+
const cwd = rec.cwd ?? "";
|
|
13388
|
+
const cwdLead = cwd.startsWith("/") ? "/" : "";
|
|
13389
|
+
if (cwdEl) cwdEl.style.display = cwd ? "flex" : "none";
|
|
13390
|
+
if (cwdLeadEl) cwdLeadEl.textContent = cwdLead;
|
|
13391
|
+
if (cwdPathEl) cwdPathEl.textContent = cwd.slice(cwdLead.length);
|
|
13383
13392
|
titleEl.title = `#${this.pid}${rec.cwd ? " · " + rec.cwd : ""}`;
|
|
13384
13393
|
this.title = rich;
|
|
13385
13394
|
}
|
|
@@ -13458,7 +13467,13 @@ function widgetHtml(o) {
|
|
|
13458
13467
|
<button id="min" data-ctl title="Minimize">_</button>
|
|
13459
13468
|
<button id="max" data-ctl title="Maximize">□</button>
|
|
13460
13469
|
</span>`;
|
|
13461
|
-
const titleSpan = `<
|
|
13470
|
+
const titleSpan = `<div class="title" id="title">
|
|
13471
|
+
<span class="titlename" id="titlename">${esc(o.title)}</span>
|
|
13472
|
+
<span class="titlecwd" id="titlecwd"
|
|
13473
|
+
><span class="titlecwd-lead" id="titlecwdlead"></span
|
|
13474
|
+
><span class="titlecwd-path" id="titlecwdpath"></span
|
|
13475
|
+
></span>
|
|
13476
|
+
</div>`;
|
|
13462
13477
|
const header = !o.inline && o.side === "left" ? `${controls}${titleSpan}${badge}` : `${titleSpan}${badge}${controls}`;
|
|
13463
13478
|
return `
|
|
13464
13479
|
<style>
|
|
@@ -13489,7 +13504,12 @@ function widgetHtml(o) {
|
|
|
13489
13504
|
#titlebar { padding: 6px 10px; background: #161b22; display: flex; align-items: center; gap: 8px;
|
|
13490
13505
|
font: 600 12px ui-monospace, SFMono-Regular, Menlo, monospace; color: #c9d1d9; user-select: none; }
|
|
13491
13506
|
#panel.transparent #titlebar { background: rgba(22,27,34,.7); }
|
|
13492
|
-
.title { flex: 1; min-width: 0;
|
|
13507
|
+
.title { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; justify-content: center; }
|
|
13508
|
+
.titlename { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
13509
|
+
.titlecwd { display: none; min-width: 0; font-size: 10px; opacity: .6; font-weight: 400; } /* JS flips to flex once cwd is known */
|
|
13510
|
+
.titlecwd-lead { flex: none; }
|
|
13511
|
+
.titlecwd-path { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
|
|
13512
|
+
direction: rtl; text-align: left; } /* ellipsize the boring prefix, not the tail */
|
|
13493
13513
|
.ro { font-size: 10px; opacity: .7; background: #30363d; border-radius: 9px; padding: 1px 7px; }
|
|
13494
13514
|
.rw { font-size: 10px; background: #1f6feb; color: #fff; border-radius: 9px; padding: 1px 7px; }
|
|
13495
13515
|
.ctl { display: inline-flex; align-items: center; gap: 6px; flex: none; }
|
|
@@ -13545,4 +13565,4 @@ const XTERM_CSS = `
|
|
|
13545
13565
|
|
|
13546
13566
|
//#endregion
|
|
13547
13567
|
export { AyTerminal as t };
|
|
13548
|
-
//# sourceMappingURL=browser-
|
|
13568
|
+
//# sourceMappingURL=browser-jKmGe4_X.js.map
|
|
@@ -3,10 +3,10 @@ import "./globalPidIndex-D9DOSd-c.js";
|
|
|
3
3
|
import "./messageLog-C-YIzhRj.js";
|
|
4
4
|
import "./e2e-CEIdJGZ7.js";
|
|
5
5
|
import "./configShared-IBbnn9b8.js";
|
|
6
|
-
import "./subcommands-
|
|
6
|
+
import "./subcommands-Cz_tHj4P.js";
|
|
7
7
|
import "./webrtcLink-BMYneHbu.js";
|
|
8
8
|
import "./remotes-a0bGDae9.js";
|
|
9
9
|
import "./callbackCore-Dd28_cBM.js";
|
|
10
|
-
import { i as loadOrCreateCallbackSecret, n as isCallbackRevoked, r as loadCallbackSecretReadOnly, t as cmdCallback } from "./callback-
|
|
10
|
+
import { i as loadOrCreateCallbackSecret, n as isCallbackRevoked, r as loadCallbackSecretReadOnly, t as cmdCallback } from "./callback-FHEnYbFh.js";
|
|
11
11
|
|
|
12
12
|
export { cmdCallback };
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { t as agentYesHome } from "./agentYesHome-CtmsY6I-.js";
|
|
2
|
-
import { P as resolveOne } from "./subcommands-
|
|
2
|
+
import { P as resolveOne } from "./subcommands-Cz_tHj4P.js";
|
|
3
3
|
import { a as mintCapability, o as parseExpires } from "./callbackCore-Dd28_cBM.js";
|
|
4
4
|
import { randomBytes } from "node:crypto";
|
|
5
5
|
import { chmodSync, readFileSync, renameSync, writeFileSync } from "node:fs";
|
|
@@ -72,7 +72,7 @@ async function resolveBase(flag) {
|
|
|
72
72
|
if (flag) return flag;
|
|
73
73
|
if (process.env.AGENT_YES_CALLBACK_BASE) return process.env.AGENT_YES_CALLBACK_BASE;
|
|
74
74
|
try {
|
|
75
|
-
const { resolveLocalServeUrl } = await import("./serve-
|
|
75
|
+
const { resolveLocalServeUrl } = await import("./serve-89Gzlv9n.js");
|
|
76
76
|
const url = await resolveLocalServeUrl();
|
|
77
77
|
if (url) return url;
|
|
78
78
|
} catch {}
|
|
@@ -187,4 +187,4 @@ async function cmdCallback(rest) {
|
|
|
187
187
|
|
|
188
188
|
//#endregion
|
|
189
189
|
export { loadOrCreateCallbackSecret as i, isCallbackRevoked as n, loadCallbackSecretReadOnly as r, cmdCallback as t };
|
|
190
|
-
//# sourceMappingURL=callback-
|
|
190
|
+
//# sourceMappingURL=callback-FHEnYbFh.js.map
|
package/dist/cli.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
#!/usr/bin/env bun
|
|
2
2
|
import { t as invokedCliName } from "./invokedCli-uqM2YYA7.js";
|
|
3
3
|
import { n as logger } from "./logger-CDIsZ-Pp.js";
|
|
4
|
-
import { i as versionString, n as displayVersion, t as checkAndAutoUpdate } from "./versionChecker-
|
|
5
|
-
import { r as getRustBinary } from "./rustBinary-
|
|
4
|
+
import { i as versionString, n as displayVersion, t as checkAndAutoUpdate } from "./versionChecker-CKSvRBvj.js";
|
|
5
|
+
import { r as getRustBinary } from "./rustBinary-B7kmq5S0.js";
|
|
6
6
|
import { argv } from "process";
|
|
7
7
|
import { spawn } from "child_process";
|
|
8
8
|
import ms from "ms";
|
|
@@ -285,7 +285,7 @@ function buildRustArgs(argv, cliFromScript, supportedClis) {
|
|
|
285
285
|
const rawArg = process.argv[2];
|
|
286
286
|
const managerCommands = !invokedCliName(process.argv);
|
|
287
287
|
const isHelpFlag = rawArg === "-h" || rawArg === "--help";
|
|
288
|
-
const { isSubcommand, runSubcommand, cmdHelp, isUnknownManagerToken } = await import("./subcommands-
|
|
288
|
+
const { isSubcommand, runSubcommand, cmdHelp, isUnknownManagerToken } = await import("./subcommands-COp2OWcx.js");
|
|
289
289
|
if (isHelpFlag && process.argv.length === 3) {
|
|
290
290
|
await cmdHelp(managerCommands);
|
|
291
291
|
process.exit(0);
|
|
@@ -295,7 +295,7 @@ function buildRustArgs(argv, cliFromScript, supportedClis) {
|
|
|
295
295
|
process.exit(code ?? 0);
|
|
296
296
|
}
|
|
297
297
|
{
|
|
298
|
-
const { SUPPORTED_CLIS } = await import("./SUPPORTED_CLIS-
|
|
298
|
+
const { SUPPORTED_CLIS } = await import("./SUPPORTED_CLIS-FQCbUoI-.js");
|
|
299
299
|
if (isUnknownManagerToken(rawArg, managerCommands, SUPPORTED_CLIS)) {
|
|
300
300
|
process.stderr.write(`ay: unknown subcommand or CLI '${rawArg}'.\n See 'ay help' for subcommands. To run an agent, name a CLI:\n 'ay <cli> …' (e.g. 'ay claude …') or 'ay --cli <cli> …'.\n`);
|
|
301
301
|
process.exit(1);
|
|
@@ -346,7 +346,7 @@ if (config.useRust) {
|
|
|
346
346
|
}
|
|
347
347
|
}
|
|
348
348
|
if (rustBinary) {
|
|
349
|
-
const { SUPPORTED_CLIS } = await import("./SUPPORTED_CLIS-
|
|
349
|
+
const { SUPPORTED_CLIS } = await import("./SUPPORTED_CLIS-FQCbUoI-.js");
|
|
350
350
|
const rustArgs = buildRustArgs(process.argv, config.cli, SUPPORTED_CLIS);
|
|
351
351
|
if (config.verbose) {
|
|
352
352
|
console.log(`[rust] Using binary: ${rustBinary}`);
|
package/dist/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import "./logger-CDIsZ-Pp.js";
|
|
2
|
-
import "./versionChecker-
|
|
3
|
-
import { a as hasTodoStore, i as answerAsk, l as AgentContext, n as agentYes, o as listAsks, r as config, s as listAsksForProject, t as CLIS_CONFIG } from "./ts-
|
|
2
|
+
import "./versionChecker-CKSvRBvj.js";
|
|
3
|
+
import { a as hasTodoStore, i as answerAsk, l as AgentContext, n as agentYes, o as listAsks, r as config, s as listAsksForProject, t as CLIS_CONFIG } from "./ts-B4LZq-x9.js";
|
|
4
4
|
import { _ as isKnownKind, a as renderTree, b as statesOf, c as monitorHint, d as openStore, f as DONE_STATE, g as initialState, h as canTransition, i as renderDigest, l as CycleError, m as ORPHANED_STATE, o as unblockedTasks, p as LIFECYCLES, r as openBlockers, s as describeBlock, t as reconcileTodos, u as TodoStore, v as nextStates, x as removeControlCharacters, y as requiredGate } from "./todoAutomation-BQRW614S.js";
|
|
5
5
|
import "./JsonlStore-CPGIR0Wy.js";
|
|
6
6
|
import "./globalPidIndex-D9DOSd-c.js";
|
|
@@ -3,7 +3,7 @@ import "./globalPidIndex-D9DOSd-c.js";
|
|
|
3
3
|
import "./messageLog-C-YIzhRj.js";
|
|
4
4
|
import "./e2e-CEIdJGZ7.js";
|
|
5
5
|
import "./configShared-IBbnn9b8.js";
|
|
6
|
-
import { $ as shouldStealLock, C as listRecords, J as hostId, K as appendEvent, Q as readInbox, X as listInboxParents, Z as liveWatchers, _ as isPidAlive, c as deriveLiveState, et as daemonLockDir, j as renderLogTailLines, nt as notifyDir, q as gcInboxes, tt as daemonLockOwnerPath } from "./subcommands-
|
|
6
|
+
import { $ as shouldStealLock, C as listRecords, J as hostId, K as appendEvent, Q as readInbox, X as listInboxParents, Z as liveWatchers, _ as isPidAlive, c as deriveLiveState, et as daemonLockDir, j as renderLogTailLines, nt as notifyDir, q as gcInboxes, tt as daemonLockOwnerPath } from "./subcommands-Cz_tHj4P.js";
|
|
7
7
|
import "./webrtcLink-BMYneHbu.js";
|
|
8
8
|
import "./remotes-a0bGDae9.js";
|
|
9
9
|
import { mkdir, readFile, rename, rm, stat, writeFile } from "fs/promises";
|
|
@@ -836,4 +836,4 @@ async function ensureDaemon() {
|
|
|
836
836
|
|
|
837
837
|
//#endregion
|
|
838
838
|
export { daemonStatus, ensureDaemon, requestDaemonStop, runDaemon };
|
|
839
|
-
//# sourceMappingURL=notifyDaemon-
|
|
839
|
+
//# sourceMappingURL=notifyDaemon-CnhKvdl7.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as getInstalledPackage } from "./versionChecker-
|
|
1
|
+
import { r as getInstalledPackage } from "./versionChecker-CKSvRBvj.js";
|
|
2
2
|
import { execFileSync } from "child_process";
|
|
3
3
|
import { existsSync, mkdirSync, unlinkSync } from "fs";
|
|
4
4
|
import { chmod, copyFile } from "fs/promises";
|
|
@@ -243,4 +243,4 @@ async function getRustBinary(options = {}) {
|
|
|
243
243
|
|
|
244
244
|
//#endregion
|
|
245
245
|
export { findTrayLauncher as n, getRustBinary as r, findSpawnHiddenLauncher as t };
|
|
246
|
-
//# sourceMappingURL=rustBinary-
|
|
246
|
+
//# sourceMappingURL=rustBinary-B7kmq5S0.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import "./logger-CDIsZ-Pp.js";
|
|
2
|
-
import "./versionChecker-
|
|
3
|
-
import "./ts-
|
|
2
|
+
import "./versionChecker-CKSvRBvj.js";
|
|
3
|
+
import "./ts-B4LZq-x9.js";
|
|
4
4
|
import "./todoAutomation-BQRW614S.js";
|
|
5
5
|
import "./JsonlStore-CPGIR0Wy.js";
|
|
6
6
|
import "./globalPidIndex-D9DOSd-c.js";
|
|
7
7
|
import "./pidStore-vnX0bgra.js";
|
|
8
8
|
import "./messageLog-C-YIzhRj.js";
|
|
9
|
-
import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-
|
|
9
|
+
import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-DCgfUvkk.js";
|
|
10
10
|
import { f as resolveSpawnCwd } from "./workspaceConfig-CpilQzMY.js";
|
|
11
11
|
import { n as liveEnv, t as ensureNodeRuntime } from "./nodeRuntime-BtL6Oo1o.js";
|
|
12
12
|
import { createHash } from "node:crypto";
|
|
@@ -153,4 +153,4 @@ async function cmdSchedule(rest) {
|
|
|
153
153
|
|
|
154
154
|
//#endregion
|
|
155
155
|
export { cmdSchedule };
|
|
156
|
-
//# sourceMappingURL=schedule-
|
|
156
|
+
//# sourceMappingURL=schedule-D8TWPJuH.js.map
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import "./logger-CDIsZ-Pp.js";
|
|
2
|
-
import { r as getInstalledPackage } from "./versionChecker-
|
|
3
|
-
import { t as findSpawnHiddenLauncher } from "./rustBinary-
|
|
4
|
-
import { c as permissionBadge, i as answerAsk, o as listAsks, u as CLAUDE_SESSION_PIN_ENV } from "./ts-
|
|
2
|
+
import { r as getInstalledPackage } from "./versionChecker-CKSvRBvj.js";
|
|
3
|
+
import { t as findSpawnHiddenLauncher } from "./rustBinary-B7kmq5S0.js";
|
|
4
|
+
import { c as permissionBadge, i as answerAsk, o as listAsks, u as CLAUDE_SESSION_PIN_ENV } from "./ts-B4LZq-x9.js";
|
|
5
5
|
import { t as agentYesHome$1 } from "./agentYesHome-CtmsY6I-.js";
|
|
6
6
|
import { x as removeControlCharacters } from "./todoAutomation-BQRW614S.js";
|
|
7
7
|
import "./JsonlStore-CPGIR0Wy.js";
|
|
@@ -11,16 +11,16 @@ import { r as recordInbox } from "./messageLog-C-YIzhRj.js";
|
|
|
11
11
|
import { t as pgidForWrapper } from "./reaper-DP49VCKx.js";
|
|
12
12
|
import "./e2e-CEIdJGZ7.js";
|
|
13
13
|
import "./configShared-IBbnn9b8.js";
|
|
14
|
-
import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-
|
|
15
|
-
import { A as recentReadEdges, C as listRecords, D as readNotes, G as writeToIpc, M as renderRawLog, N as renderRawLogLines, O as readPtysize, P as resolveOne, Y as isTransientLockMkdirError, f as extractNeedsInput, j as renderLogTailLines, k as recentMessageEdges, l as deriveLiveStatus, o as controlCodeFromName, p as extractTaskCounts, rt as TYPING_BADGE, u as extractBadges, x as isUserTyping, z as snapshotStatus } from "./subcommands-
|
|
14
|
+
import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-DCgfUvkk.js";
|
|
15
|
+
import { A as recentReadEdges, C as listRecords, D as readNotes, G as writeToIpc, M as renderRawLog, N as renderRawLogLines, O as readPtysize, P as resolveOne, Y as isTransientLockMkdirError, f as extractNeedsInput, j as renderLogTailLines, k as recentMessageEdges, l as deriveLiveStatus, o as controlCodeFromName, p as extractTaskCounts, rt as TYPING_BADGE, u as extractBadges, x as isUserTyping, z as snapshotStatus } from "./subcommands-Cz_tHj4P.js";
|
|
16
16
|
import "./webrtcLink-BMYneHbu.js";
|
|
17
17
|
import "./remotes-a0bGDae9.js";
|
|
18
18
|
import { i as frameVisitorMessage, s as verifyCapability, t as MAX_CALLBACK_MSG_BYTES } from "./callbackCore-Dd28_cBM.js";
|
|
19
|
-
import { n as isCallbackRevoked, r as loadCallbackSecretReadOnly } from "./callback-
|
|
19
|
+
import { n as isCallbackRevoked, r as loadCallbackSecretReadOnly } from "./callback-FHEnYbFh.js";
|
|
20
20
|
import { a as getProvisionRoot, d as isProvisionAllowed, f as resolveSpawnCwd, i as getProvisionHook, l as hasProvisionHook, o as getSpawnHook, t as allowsSkipPermissions, u as hasSpawnHook } from "./workspaceConfig-CpilQzMY.js";
|
|
21
21
|
import { n as liveEnv, t as ensureNodeRuntime } from "./nodeRuntime-BtL6Oo1o.js";
|
|
22
22
|
import { r as spawnRejectionReason } from "./spawnGate-BFJPdHCQ.js";
|
|
23
|
-
import { i as launchTray } from "./trayApp-
|
|
23
|
+
import { i as launchTray } from "./trayApp-ChsZpZyQ.js";
|
|
24
24
|
import yargs from "yargs";
|
|
25
25
|
import { appendFile, mkdir, open, readFile, readdir, rename, rm, stat, unlink, writeFile } from "fs/promises";
|
|
26
26
|
import { arch, cpus, freemem, homedir, hostname, loadavg, platform, totalmem, uptime, userInfo } from "os";
|
|
@@ -2367,7 +2367,7 @@ Options:
|
|
|
2367
2367
|
}
|
|
2368
2368
|
});
|
|
2369
2369
|
if (req.method === "GET" && p === "/api/ws") {
|
|
2370
|
-
const ws = await import("./ws-
|
|
2370
|
+
const ws = await import("./ws-DXmR5W2s.js");
|
|
2371
2371
|
try {
|
|
2372
2372
|
await ws.loadProvision();
|
|
2373
2373
|
} catch (e) {
|
|
@@ -2387,7 +2387,7 @@ Options:
|
|
|
2387
2387
|
if (req.method === "GET" && p === "/api/ws/status") {
|
|
2388
2388
|
const dirRaw = url.searchParams.get("path");
|
|
2389
2389
|
if (!dirRaw) return new Response("missing ?path=<workspace dir>", { status: 400 });
|
|
2390
|
-
const ws = await import("./ws-
|
|
2390
|
+
const ws = await import("./ws-DXmR5W2s.js");
|
|
2391
2391
|
let prov;
|
|
2392
2392
|
try {
|
|
2393
2393
|
prov = await ws.loadProvision();
|
|
@@ -3144,7 +3144,7 @@ Options:
|
|
|
3144
3144
|
const perm = body.perm ?? "r";
|
|
3145
3145
|
if (perm !== "r" && perm !== "rw") return new Response(`invalid perm ${perm} (want r or rw)`, { status: 400 });
|
|
3146
3146
|
try {
|
|
3147
|
-
const { createScopedShare } = await import("./agentShare-
|
|
3147
|
+
const { createScopedShare } = await import("./agentShare-B-UFJIE3.js");
|
|
3148
3148
|
const share = await createScopedShare({
|
|
3149
3149
|
agent: body.agent,
|
|
3150
3150
|
perm,
|
|
@@ -3159,12 +3159,12 @@ Options:
|
|
|
3159
3159
|
}
|
|
3160
3160
|
}
|
|
3161
3161
|
if (req.method === "GET" && p === "/api/shares") {
|
|
3162
|
-
const { listShares } = await import("./agentShare-
|
|
3162
|
+
const { listShares } = await import("./agentShare-B-UFJIE3.js");
|
|
3163
3163
|
return Response.json(listShares());
|
|
3164
3164
|
}
|
|
3165
3165
|
const revokeM = /^\/api\/share\/([^/]+)$/.exec(p);
|
|
3166
3166
|
if (req.method === "DELETE" && revokeM) {
|
|
3167
|
-
const { revokeShare } = await import("./agentShare-
|
|
3167
|
+
const { revokeShare } = await import("./agentShare-B-UFJIE3.js");
|
|
3168
3168
|
const ok = revokeShare(decodeURIComponent(revokeM[1]));
|
|
3169
3169
|
return new Response(ok ? "revoked" : "no such share", { status: ok ? 200 : 404 });
|
|
3170
3170
|
}
|
|
@@ -3466,7 +3466,7 @@ Options:
|
|
|
3466
3466
|
const shutdown = (resolve) => {
|
|
3467
3467
|
if (heartbeat) clearInterval(heartbeat);
|
|
3468
3468
|
closeShare?.();
|
|
3469
|
-
import("./agentShare-
|
|
3469
|
+
import("./agentShare-B-UFJIE3.js").then((m) => m.revokeAllShares()).catch(() => {});
|
|
3470
3470
|
server?.stop();
|
|
3471
3471
|
Promise.resolve(releaseHostLock?.()).catch(() => {}).then(resolve);
|
|
3472
3472
|
};
|
|
@@ -3479,4 +3479,4 @@ Options:
|
|
|
3479
3479
|
|
|
3480
3480
|
//#endregion
|
|
3481
3481
|
export { cmdServe, loadTokenReadOnly, mintScopedTermToken, resolveDaemonHttpBase, resolveLocalServeUrl };
|
|
3482
|
-
//# sourceMappingURL=serve-
|
|
3482
|
+
//# sourceMappingURL=serve-89Gzlv9n.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-89Gzlv9n.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-B-ufpyWj.js.map
|
|
@@ -3,7 +3,7 @@ import "./globalPidIndex-D9DOSd-c.js";
|
|
|
3
3
|
import "./messageLog-C-YIzhRj.js";
|
|
4
4
|
import "./e2e-CEIdJGZ7.js";
|
|
5
5
|
import "./configShared-IBbnn9b8.js";
|
|
6
|
-
import { A as recentReadEdges, B as stdinActivityPath, C as listRecords, D as readNotes, E as readAgentPtysize, F as resolveReadWindow, G as writeToIpc, H as submitAndConfirm, I as resolveResumeArgs, L as restartHintLines, M as renderRawLog, N as renderRawLogLines, O as readPtysize, P as resolveOne, R as runSubcommand, S as lastStdinAt, T as menuSelectKeys, U as waitForLogQuiet, V as stopTipForCli, W as writeKeysPaced, _ as isPidAlive, a as cmdHelp, b as isUnknownManagerToken, c as deriveLiveState, d as extractMenu, f as extractNeedsInput, g as isExitRequest, h as isAgentStuck, i as backoffWhileTyping, j as renderLogTailLines, k as recentMessageEdges, l as deriveLiveStatus, m as finalizedLines, n as READ_PAGE_DEFAULT, o as controlCodeFromName, p as extractTaskCounts, r as TYPING_WINDOW_MS, s as cursorAbs, t as GRACEFUL_EXIT_COMMANDS, u as extractBadges, v as isSlashCommand, w as matchKeyword, x as isUserTyping, y as isSubcommand, z as snapshotStatus } from "./subcommands-
|
|
6
|
+
import { A as recentReadEdges, B as stdinActivityPath, C as listRecords, D as readNotes, E as readAgentPtysize, F as resolveReadWindow, G as writeToIpc, H as submitAndConfirm, I as resolveResumeArgs, L as restartHintLines, M as renderRawLog, N as renderRawLogLines, O as readPtysize, P as resolveOne, R as runSubcommand, S as lastStdinAt, T as menuSelectKeys, U as waitForLogQuiet, V as stopTipForCli, W as writeKeysPaced, _ as isPidAlive, a as cmdHelp, b as isUnknownManagerToken, c as deriveLiveState, d as extractMenu, f as extractNeedsInput, g as isExitRequest, h as isAgentStuck, i as backoffWhileTyping, j as renderLogTailLines, k as recentMessageEdges, l as deriveLiveStatus, m as finalizedLines, n as READ_PAGE_DEFAULT, o as controlCodeFromName, p as extractTaskCounts, r as TYPING_WINDOW_MS, s as cursorAbs, t as GRACEFUL_EXIT_COMMANDS, u as extractBadges, v as isSlashCommand, w as matchKeyword, x as isUserTyping, y as isSubcommand, z as snapshotStatus } from "./subcommands-Cz_tHj4P.js";
|
|
7
7
|
import "./webrtcLink-BMYneHbu.js";
|
|
8
8
|
import "./remotes-a0bGDae9.js";
|
|
9
9
|
|
|
@@ -1394,35 +1394,35 @@ async function runSubcommand(argv) {
|
|
|
1394
1394
|
return cmdCh(rest);
|
|
1395
1395
|
}
|
|
1396
1396
|
case "term": {
|
|
1397
|
-
const { cmdTerm } = await import("./terminal-
|
|
1397
|
+
const { cmdTerm } = await import("./terminal-83v9Uzt1.js");
|
|
1398
1398
|
return cmdTerm(rest);
|
|
1399
1399
|
}
|
|
1400
1400
|
case "widget": {
|
|
1401
|
-
const { cmdWidget } = await import("./widget-
|
|
1401
|
+
const { cmdWidget } = await import("./widget-DcPvYum4.js");
|
|
1402
1402
|
return cmdWidget(rest);
|
|
1403
1403
|
}
|
|
1404
1404
|
case "mint": {
|
|
1405
|
-
const { cmdMint } = await import("./widget-
|
|
1405
|
+
const { cmdMint } = await import("./widget-DcPvYum4.js");
|
|
1406
1406
|
return cmdMint(rest);
|
|
1407
1407
|
}
|
|
1408
1408
|
case "serve": {
|
|
1409
|
-
const { cmdServe } = await import("./serve-
|
|
1409
|
+
const { cmdServe } = await import("./serve-89Gzlv9n.js");
|
|
1410
1410
|
return cmdServe(rest);
|
|
1411
1411
|
}
|
|
1412
1412
|
case "tray": {
|
|
1413
|
-
const { cmdTray } = await import("./trayApp-
|
|
1413
|
+
const { cmdTray } = await import("./trayApp-00UdHVbe.js");
|
|
1414
1414
|
return cmdTray(rest);
|
|
1415
1415
|
}
|
|
1416
1416
|
case "setup": {
|
|
1417
|
-
const { cmdSetup } = await import("./setup-
|
|
1417
|
+
const { cmdSetup } = await import("./setup-B-ufpyWj.js");
|
|
1418
1418
|
return cmdSetup(rest);
|
|
1419
1419
|
}
|
|
1420
1420
|
case "ws": {
|
|
1421
|
-
const { cmdWs } = await import("./ws-
|
|
1421
|
+
const { cmdWs } = await import("./ws-DXmR5W2s.js");
|
|
1422
1422
|
return cmdWs(rest);
|
|
1423
1423
|
}
|
|
1424
1424
|
case "schedule": {
|
|
1425
|
-
const { cmdSchedule } = await import("./schedule-
|
|
1425
|
+
const { cmdSchedule } = await import("./schedule-D8TWPJuH.js");
|
|
1426
1426
|
return cmdSchedule(rest);
|
|
1427
1427
|
}
|
|
1428
1428
|
case "remote": {
|
|
@@ -1434,7 +1434,7 @@ async function runSubcommand(argv) {
|
|
|
1434
1434
|
return cmdExpose(rest);
|
|
1435
1435
|
}
|
|
1436
1436
|
case "callback": {
|
|
1437
|
-
const { cmdCallback } = await import("./callback-
|
|
1437
|
+
const { cmdCallback } = await import("./callback-DsimZsq6.js");
|
|
1438
1438
|
return cmdCallback(rest);
|
|
1439
1439
|
}
|
|
1440
1440
|
case "reap":
|
|
@@ -3844,7 +3844,7 @@ async function cmdAttach(rest) {
|
|
|
3844
3844
|
const winsizeDir = path.join(ayHome, "winsize");
|
|
3845
3845
|
await mkdir(winsizeDir, { recursive: true });
|
|
3846
3846
|
const winsizePath = path.join(winsizeDir, String(record.pid));
|
|
3847
|
-
const { resolveDaemonHttpBase, loadTokenReadOnly } = await import("./serve-
|
|
3847
|
+
const { resolveDaemonHttpBase, loadTokenReadOnly } = await import("./serve-89Gzlv9n.js");
|
|
3848
3848
|
const daemonBase = await resolveDaemonHttpBase().catch(() => null);
|
|
3849
3849
|
const daemonToken = daemonBase ? await loadTokenReadOnly().catch(() => null) ?? "" : "";
|
|
3850
3850
|
const capViewer = `attach:${process.pid}`;
|
|
@@ -4554,7 +4554,7 @@ async function cmdNotify(rest) {
|
|
|
4554
4554
|
}
|
|
4555
4555
|
const ensure = async () => {
|
|
4556
4556
|
if (!argv["ensure-daemon"]) return;
|
|
4557
|
-
const { ensureDaemon } = await import("./notifyDaemon-
|
|
4557
|
+
const { ensureDaemon } = await import("./notifyDaemon-CnhKvdl7.js");
|
|
4558
4558
|
await ensureDaemon().catch(() => null);
|
|
4559
4559
|
};
|
|
4560
4560
|
await heartbeatWatcher(parent, selfStartedAt);
|
|
@@ -4628,7 +4628,7 @@ async function cmdNotifyCursor(args) {
|
|
|
4628
4628
|
}
|
|
4629
4629
|
async function cmdNotifyd(rest) {
|
|
4630
4630
|
const sub = rest[0] ?? "status";
|
|
4631
|
-
const daemon = await import("./notifyDaemon-
|
|
4631
|
+
const daemon = await import("./notifyDaemon-CnhKvdl7.js");
|
|
4632
4632
|
switch (sub) {
|
|
4633
4633
|
case "run": return daemon.runDaemon();
|
|
4634
4634
|
case "once": return daemon.runDaemon({ once: true });
|
|
@@ -4655,4 +4655,4 @@ async function cmdNotifyd(rest) {
|
|
|
4655
4655
|
|
|
4656
4656
|
//#endregion
|
|
4657
4657
|
export { shouldStealLock as $, recentReadEdges as A, stdinActivityPath as B, listRecords as C, readNotes as D, readAgentPtysize as E, resolveReadWindow as F, writeToIpc as G, submitAndConfirm as H, resolveResumeArgs as I, hostId as J, appendEvent as K, restartHintLines as L, renderRawLog as M, renderRawLogLines as N, readPtysize as O, resolveOne as P, readInbox as Q, runSubcommand as R, lastStdinAt as S, menuSelectKeys as T, waitForLogQuiet as U, stopTipForCli as V, writeKeysPaced as W, listInboxParents as X, isTransientLockMkdirError as Y, liveWatchers as Z, isPidAlive as _, cmdHelp as a, isUnknownManagerToken as b, deriveLiveState as c, extractMenu as d, daemonLockDir as et, extractNeedsInput as f, isExitRequest as g, isAgentStuck as h, backoffWhileTyping as i, renderLogTailLines as j, recentMessageEdges as k, deriveLiveStatus as l, finalizedLines as m, READ_PAGE_DEFAULT as n, notifyDir as nt, controlCodeFromName as o, extractTaskCounts as p, gcInboxes as q, TYPING_WINDOW_MS as r, TYPING_BADGE as rt, cursorAbs as s, GRACEFUL_EXIT_COMMANDS as t, daemonLockOwnerPath as tt, extractBadges as u, isSlashCommand as v, matchKeyword as w, isUserTyping as x, isSubcommand as y, snapshotStatus as z };
|
|
4658
|
-
//# sourceMappingURL=subcommands-
|
|
4658
|
+
//# sourceMappingURL=subcommands-Cz_tHj4P.js.map
|
|
@@ -98,7 +98,7 @@ async function cmdTermMint(args) {
|
|
|
98
98
|
if (flags.ro && flags.interactive) throw new Error("--ro and --interactive are mutually exclusive");
|
|
99
99
|
const ttlSec = parseTtlSec(typeof flags.ttl === "string" ? flags.ttl : "15m");
|
|
100
100
|
const canSend = flags.interactive === true;
|
|
101
|
-
const { mintScopedTermToken } = await import("./serve-
|
|
101
|
+
const { mintScopedTermToken } = await import("./serve-89Gzlv9n.js");
|
|
102
102
|
const r = await mintScopedTermToken(pid, {
|
|
103
103
|
ttlSec,
|
|
104
104
|
canSend
|
|
@@ -135,4 +135,4 @@ async function cmdTerm(args) {
|
|
|
135
135
|
|
|
136
136
|
//#endregion
|
|
137
137
|
export { cmdTerm };
|
|
138
|
-
//# sourceMappingURL=terminal-
|
|
138
|
+
//# sourceMappingURL=terminal-83v9Uzt1.js.map
|
package/dist/terminal.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { n as findTrayLauncher } from "./rustBinary-
|
|
1
|
+
import { n as findTrayLauncher } from "./rustBinary-B7kmq5S0.js";
|
|
2
2
|
import { t as agentYesHome } from "./agentYesHome-CtmsY6I-.js";
|
|
3
3
|
import { existsSync } from "node:fs";
|
|
4
4
|
import path from "node:path";
|
|
@@ -97,4 +97,4 @@ async function cmdTray(args) {
|
|
|
97
97
|
|
|
98
98
|
//#endregion
|
|
99
99
|
export { trayHiddenMarker as a, launchTray as i, hasDesktop as n, isTrayHidden as r, cmdTray as t };
|
|
100
|
-
//# sourceMappingURL=trayApp-
|
|
100
|
+
//# sourceMappingURL=trayApp-ChsZpZyQ.js.map
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import { n as __esmMin, r as __exportAll } from "./chunk-cZBX9HZv.js";
|
|
2
2
|
import { n as logger, t as addTransport } from "./logger-CDIsZ-Pp.js";
|
|
3
|
-
import { r as getInstalledPackage } from "./versionChecker-
|
|
3
|
+
import { r as getInstalledPackage } from "./versionChecker-CKSvRBvj.js";
|
|
4
4
|
import { t as agentYesHome } from "./agentYesHome-CtmsY6I-.js";
|
|
5
5
|
import { d as openStore, p as LIFECYCLES, x as removeControlCharacters } from "./todoAutomation-BQRW614S.js";
|
|
6
6
|
import { i as shouldUseLock, r as releaseLock, t as acquireLock } from "./runningLock-DBoONoM-.js";
|
|
@@ -2155,4 +2155,4 @@ function sleep(ms) {
|
|
|
2155
2155
|
|
|
2156
2156
|
//#endregion
|
|
2157
2157
|
export { hasTodoStore as a, permissionBadge as c, answerAsk as i, AgentContext as l, agentYes as n, listAsks as o, config as r, listAsksForProject as s, CLIS_CONFIG as t, CLAUDE_SESSION_PIN_ENV as u };
|
|
2158
|
-
//# sourceMappingURL=ts-
|
|
2158
|
+
//# sourceMappingURL=ts-B4LZq-x9.js.map
|
|
@@ -7,7 +7,7 @@ import { fileURLToPath } from "url";
|
|
|
7
7
|
|
|
8
8
|
//#region package.json
|
|
9
9
|
var name = "agent-yes";
|
|
10
|
-
var version = "1.
|
|
10
|
+
var version = "1.256.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-CKSvRBvj.js.map
|
|
@@ -28,7 +28,7 @@ function parseFlags(args, known) {
|
|
|
28
28
|
}
|
|
29
29
|
/** Resolve the local daemon base URL + token (flags override discovery). */
|
|
30
30
|
async function daemonTarget(flags) {
|
|
31
|
-
const { resolveDaemonHttpBase, loadTokenReadOnly } = await import("./serve-
|
|
31
|
+
const { resolveDaemonHttpBase, loadTokenReadOnly } = await import("./serve-89Gzlv9n.js");
|
|
32
32
|
const base = typeof flags.base === "string" ? flags.base : await resolveDaemonHttpBase();
|
|
33
33
|
if (!base) throw new Error("no running ay serve daemon found — start `ay serve` or pass --base <url> (e.g. http://127.0.0.1:PORT)");
|
|
34
34
|
const token = typeof flags.token === "string" ? flags.token : await loadTokenReadOnly() ?? "";
|
|
@@ -186,7 +186,7 @@ async function cmdMint(args) {
|
|
|
186
186
|
const bad = caps.filter((c) => !KNOWN_CAPS.has(c));
|
|
187
187
|
if (bad.length) throw new Error(`unknown cap(s): ${bad.join(", ")} (valid: ${[...KNOWN_CAPS].join(", ")})`);
|
|
188
188
|
const ttlSec = parseTtlSec(typeof flags.ttl === "string" ? flags.ttl : "15m");
|
|
189
|
-
const { mintScopedTermToken } = await import("./serve-
|
|
189
|
+
const { mintScopedTermToken } = await import("./serve-89Gzlv9n.js");
|
|
190
190
|
const r = await mintScopedTermToken(target, {
|
|
191
191
|
ttlSec,
|
|
192
192
|
caps
|
|
@@ -202,4 +202,4 @@ async function cmdMint(args) {
|
|
|
202
202
|
|
|
203
203
|
//#endregion
|
|
204
204
|
export { cmdMint, cmdWidget };
|
|
205
|
-
//# sourceMappingURL=widget-
|
|
205
|
+
//# sourceMappingURL=widget-DcPvYum4.js.map
|
package/dist/widgets.js
CHANGED
|
@@ -2,7 +2,7 @@ import "./e2e-CEIdJGZ7.js";
|
|
|
2
2
|
import "./channels-BiGUYTuz.js";
|
|
3
3
|
import "./peer-B5JKF4BP.js";
|
|
4
4
|
import { t as AyChannel } from "./browser-B3dOptjL.js";
|
|
5
|
-
import { t as AyTerminal } from "./browser-
|
|
5
|
+
import { t as AyTerminal } from "./browser-jKmGe4_X.js";
|
|
6
6
|
import { AyWidget } from "./widget.js";
|
|
7
7
|
|
|
8
8
|
export { AyChannel, AyTerminal, AyWidget };
|
|
@@ -3,7 +3,7 @@ import "./globalPidIndex-D9DOSd-c.js";
|
|
|
3
3
|
import "./messageLog-C-YIzhRj.js";
|
|
4
4
|
import "./e2e-CEIdJGZ7.js";
|
|
5
5
|
import "./configShared-IBbnn9b8.js";
|
|
6
|
-
import { C as listRecords } from "./subcommands-
|
|
6
|
+
import { C as listRecords } from "./subcommands-Cz_tHj4P.js";
|
|
7
7
|
import "./webrtcLink-BMYneHbu.js";
|
|
8
8
|
import "./remotes-a0bGDae9.js";
|
|
9
9
|
import { a as getProvisionRoot } from "./workspaceConfig-CpilQzMY.js";
|
|
@@ -419,4 +419,4 @@ async function cmdWs(args) {
|
|
|
419
419
|
|
|
420
420
|
//#endregion
|
|
421
421
|
export { WS_JSON_SCHEMA, cmdWs, collectWorkspaces, isPathInside, loadProvision, workspaceStatus };
|
|
422
|
-
//# sourceMappingURL=ws-
|
|
422
|
+
//# sourceMappingURL=ws-DXmR5W2s.js.map
|
package/lab/ui/index.html
CHANGED
|
@@ -1365,6 +1365,35 @@
|
|
|
1365
1365
|
text-overflow: ellipsis;
|
|
1366
1366
|
white-space: nowrap;
|
|
1367
1367
|
}
|
|
1368
|
+
.rowcwd {
|
|
1369
|
+
display: flex;
|
|
1370
|
+
font-family: var(--mono);
|
|
1371
|
+
color: var(--muted);
|
|
1372
|
+
font-size: 11px;
|
|
1373
|
+
min-width: 0;
|
|
1374
|
+
}
|
|
1375
|
+
.rowcwd .tbranch {
|
|
1376
|
+
/* Invisible spacer matching the row's own tree-rail prefix, so the cwd
|
|
1377
|
+
line indents under the name column at any nesting depth instead of
|
|
1378
|
+
a magic constant that only lines up at depth 0. */
|
|
1379
|
+
visibility: hidden;
|
|
1380
|
+
}
|
|
1381
|
+
.rowcwd .rowcwd-lead {
|
|
1382
|
+
flex: none;
|
|
1383
|
+
}
|
|
1384
|
+
.rowcwd .rowcwd-path {
|
|
1385
|
+
flex: 1;
|
|
1386
|
+
min-width: 0;
|
|
1387
|
+
overflow: hidden;
|
|
1388
|
+
text-overflow: ellipsis;
|
|
1389
|
+
white-space: nowrap;
|
|
1390
|
+
/* Absolute paths share a long, boring prefix (/Users/x/ws/…) — the
|
|
1391
|
+
informative part is the tail, so ellipsize from the left/start
|
|
1392
|
+
instead of the (default) end. Characters stay in reading order
|
|
1393
|
+
(this only flips which end gets clipped, via the bidi algorithm). */
|
|
1394
|
+
direction: rtl;
|
|
1395
|
+
text-align: left;
|
|
1396
|
+
}
|
|
1368
1397
|
.rowtitle {
|
|
1369
1398
|
color: var(--fg);
|
|
1370
1399
|
font-size: 12.5px;
|
|
@@ -1381,12 +1410,19 @@
|
|
|
1381
1410
|
text-overflow: ellipsis;
|
|
1382
1411
|
white-space: nowrap;
|
|
1383
1412
|
}
|
|
1384
|
-
/* compact view:
|
|
1413
|
+
/* compact view: dot + cli + live title (or prompt), age — plus the agent's
|
|
1414
|
+
cwd as a 2nd line (.rowcwd) underneath. */
|
|
1385
1415
|
.row.crow {
|
|
1416
|
+
display: flex;
|
|
1417
|
+
flex-direction: column;
|
|
1418
|
+
gap: 2px;
|
|
1419
|
+
padding: 6px 18px;
|
|
1420
|
+
}
|
|
1421
|
+
.crow1 {
|
|
1386
1422
|
display: flex;
|
|
1387
1423
|
align-items: center;
|
|
1388
1424
|
gap: 8px;
|
|
1389
|
-
|
|
1425
|
+
min-width: 0;
|
|
1390
1426
|
}
|
|
1391
1427
|
/* Tree branch prefix for nested (sub)agents — monospace so the box-drawing
|
|
1392
1428
|
glyphs line up into continuous │ ├ └ rails across rows. */
|
|
@@ -1499,6 +1535,19 @@
|
|
|
1499
1535
|
align-items: center;
|
|
1500
1536
|
gap: 10px;
|
|
1501
1537
|
}
|
|
1538
|
+
.rnamewrap {
|
|
1539
|
+
display: flex;
|
|
1540
|
+
flex-direction: column;
|
|
1541
|
+
flex: 0 1 auto;
|
|
1542
|
+
min-width: 0;
|
|
1543
|
+
gap: 2px;
|
|
1544
|
+
}
|
|
1545
|
+
.rnameline {
|
|
1546
|
+
display: flex;
|
|
1547
|
+
align-items: center;
|
|
1548
|
+
gap: 10px;
|
|
1549
|
+
min-width: 0;
|
|
1550
|
+
}
|
|
1502
1551
|
.rhead .name {
|
|
1503
1552
|
font-size: 15px;
|
|
1504
1553
|
/* shrink + ellipsis so a long agent title can't shove the live/⋯
|
|
@@ -1509,6 +1558,27 @@
|
|
|
1509
1558
|
text-overflow: ellipsis;
|
|
1510
1559
|
white-space: nowrap;
|
|
1511
1560
|
}
|
|
1561
|
+
.rcwd {
|
|
1562
|
+
display: flex;
|
|
1563
|
+
font-family: var(--mono);
|
|
1564
|
+
font-size: 11px;
|
|
1565
|
+
color: var(--muted);
|
|
1566
|
+
min-width: 0;
|
|
1567
|
+
}
|
|
1568
|
+
.rcwd-lead {
|
|
1569
|
+
flex: none;
|
|
1570
|
+
}
|
|
1571
|
+
.rcwd-path {
|
|
1572
|
+
flex: 1;
|
|
1573
|
+
min-width: 0;
|
|
1574
|
+
overflow: hidden;
|
|
1575
|
+
text-overflow: ellipsis;
|
|
1576
|
+
white-space: nowrap;
|
|
1577
|
+
/* Ellipsize the boring home/ws prefix, not the informative tail — see
|
|
1578
|
+
the matching comment on .rowcwd-path. */
|
|
1579
|
+
direction: rtl;
|
|
1580
|
+
text-align: left;
|
|
1581
|
+
}
|
|
1512
1582
|
/* back-to-list affordance — only surfaces in the single-column mobile view */
|
|
1513
1583
|
.rback {
|
|
1514
1584
|
display: none;
|
|
@@ -1982,8 +2052,16 @@
|
|
|
1982
2052
|
<div class="right">
|
|
1983
2053
|
<div class="rhead" id="rhead" style="display: none">
|
|
1984
2054
|
<button class="rback" id="rback" title="back to list" aria-label="back to list">‹</button>
|
|
1985
|
-
<
|
|
1986
|
-
|
|
2055
|
+
<div class="rnamewrap">
|
|
2056
|
+
<div class="rnameline">
|
|
2057
|
+
<span class="dot" id="rdot"></span>
|
|
2058
|
+
<span class="name" id="rname"></span>
|
|
2059
|
+
</div>
|
|
2060
|
+
<div class="rcwd" id="rcwd">
|
|
2061
|
+
<span class="rcwd-lead" id="rcwdlead"></span
|
|
2062
|
+
><span class="rcwd-path" id="rcwdpath"></span>
|
|
2063
|
+
</div>
|
|
2064
|
+
</div>
|
|
1987
2065
|
<span class="badge" id="rpid"></span>
|
|
1988
2066
|
<span class="robadge" title="view-only share — you can watch but not steer this agent"
|
|
1989
2067
|
>👁 read-only</span
|
|
@@ -5632,6 +5710,7 @@ my.translate = async (text, lang) => {
|
|
|
5632
5710
|
const id = compactIdent(e, ctx, 3, r.parentEntry);
|
|
5633
5711
|
const cli = cliLabel(e);
|
|
5634
5712
|
return `<div class="row crow ${e._key === sel ? "sel" : ""}${rowFlags(e)}" data-key="${esc(e._key)}">
|
|
5713
|
+
<div class="crow1">
|
|
5635
5714
|
${r.branch ? `<span class="tbranch">${esc(r.branch)}</span>` : ""}
|
|
5636
5715
|
${pinMarkHtml(e)}
|
|
5637
5716
|
<span class="dot ${esc(e.status)}"></span>
|
|
@@ -5643,7 +5722,19 @@ my.translate = async (text, lang) => {
|
|
|
5643
5722
|
${badgeChipsHtml(e)}
|
|
5644
5723
|
${gitChipHtml(e)}
|
|
5645
5724
|
${peerChipHtml(e)}
|
|
5646
|
-
<span class="age">${age(e)}</span></div
|
|
5725
|
+
<span class="age">${age(e)}</span></div>
|
|
5726
|
+
${
|
|
5727
|
+
e.cwd
|
|
5728
|
+
? // The leading "/" sits right at the bidi paragraph edge of the
|
|
5729
|
+
// rtl-ellipsis trick below and gets reordered to the far end —
|
|
5730
|
+
// pin it outside that span so only the actual path direction-flips.
|
|
5731
|
+
(() => {
|
|
5732
|
+
const lead = e.cwd.startsWith("/") ? "/" : "";
|
|
5733
|
+
const rest = e.cwd.slice(lead.length);
|
|
5734
|
+
return `<div class="rowcwd" title="${esc(e.cwd)}">${r.branch ? `<span class="tbranch">${esc(r.branch)}</span>` : ""}<span class="rowcwd-lead">${esc(lead)}</span><span class="rowcwd-path">${esc(rest)}</span></div>`;
|
|
5735
|
+
})()
|
|
5736
|
+
: ""
|
|
5737
|
+
}</div>`;
|
|
5647
5738
|
})
|
|
5648
5739
|
.join("") || `<div class="empty">no match</div>`;
|
|
5649
5740
|
renderSendWires(); // rows were replaced — re-draw the overlay (see below)
|
|
@@ -5870,6 +5961,14 @@ my.translate = async (text, lang) => {
|
|
|
5870
5961
|
$("rname").textContent = rname;
|
|
5871
5962
|
refreshDocTitle(); // tab title follows the selected agent (name + status)
|
|
5872
5963
|
$("rpid").textContent = "pid " + e.pid;
|
|
5964
|
+
// Split off the leading "/" before the rtl-ellipsis path span (see the
|
|
5965
|
+
// matching .rowcwd-lead comment) — it sits at the bidi paragraph edge
|
|
5966
|
+
// and would otherwise get reordered to the far end of the line.
|
|
5967
|
+
const cwd = e.cwd || "";
|
|
5968
|
+
const cwdLead = cwd.startsWith("/") ? "/" : "";
|
|
5969
|
+
$("rcwdlead").textContent = cwdLead;
|
|
5970
|
+
$("rcwdpath").textContent = cwd.slice(cwdLead.length);
|
|
5971
|
+
$("rcwd").title = cwd;
|
|
5873
5972
|
|
|
5874
5973
|
// Render the agent's native TUI with xterm.js by feeding it the raw PTY
|
|
5875
5974
|
// stream (ANSI/cursor control intact) — see /api/tail?raw=1.
|
package/package.json
CHANGED
package/ts/subcommands.spec.ts
CHANGED
|
@@ -2643,7 +2643,9 @@ describe("subcommands.cmdWhoami", () => {
|
|
|
2643
2643
|
const text = stdout2.join("");
|
|
2644
2644
|
expect(text).toMatch(/agent {5}claude #\d+ {2}\(agent_id aaaa0000bbbb\)/);
|
|
2645
2645
|
expect(text).toMatch(/reply {5}ay send aaaa0000bbbb/);
|
|
2646
|
-
expect(text).toMatch(
|
|
2646
|
+
expect(text).toMatch(
|
|
2647
|
+
/<ay-msg from claude #\d+ @ \/repo\/alpha — reply: ay send aaaa0000bbbb "\.\.\.">/,
|
|
2648
|
+
);
|
|
2647
2649
|
});
|
|
2648
2650
|
});
|
|
2649
2651
|
|
package/ts/terminal/browser.ts
CHANGED
|
@@ -517,7 +517,19 @@ export class AyTerminal {
|
|
|
517
517
|
const rec = (await res.json()) as { cwd?: string; cli?: string };
|
|
518
518
|
const rich = richTitle(rec);
|
|
519
519
|
if (rich && titleEl) {
|
|
520
|
-
titleEl.
|
|
520
|
+
const nameEl = titleEl.querySelector?.("#titlename") ?? titleEl;
|
|
521
|
+
const cwdEl = titleEl.querySelector?.("#titlecwd");
|
|
522
|
+
const cwdLeadEl = titleEl.querySelector?.("#titlecwdlead");
|
|
523
|
+
const cwdPathEl = titleEl.querySelector?.("#titlecwdpath");
|
|
524
|
+
nameEl.textContent = rich;
|
|
525
|
+
// Split off the leading "/" — it sits at the bidi paragraph edge of the
|
|
526
|
+
// rtl-ellipsis .titlecwd-path trick below and gets reordered to the far
|
|
527
|
+
// end of the line if left inside it.
|
|
528
|
+
const cwd = rec.cwd ?? "";
|
|
529
|
+
const cwdLead = cwd.startsWith("/") ? "/" : "";
|
|
530
|
+
if (cwdEl) cwdEl.style.display = cwd ? "flex" : "none";
|
|
531
|
+
if (cwdLeadEl) cwdLeadEl.textContent = cwdLead;
|
|
532
|
+
if (cwdPathEl) cwdPathEl.textContent = cwd.slice(cwdLead.length);
|
|
521
533
|
titleEl.title = `#${this.pid}${rec.cwd ? " · " + rec.cwd : ""}`; // pid + full cwd tooltip
|
|
522
534
|
this.title = rich;
|
|
523
535
|
}
|
|
@@ -619,7 +631,15 @@ function widgetHtml(o: {
|
|
|
619
631
|
<button id="min" data-ctl title="Minimize">_</button>
|
|
620
632
|
<button id="max" data-ctl title="Maximize">□</button>
|
|
621
633
|
</span>`;
|
|
622
|
-
|
|
634
|
+
// .title is a 2-line block: the rich name/summary on top, the agent's cwd
|
|
635
|
+
// underneath once applyRichTitle() learns it from /api/size.
|
|
636
|
+
const titleSpan = `<div class="title" id="title">
|
|
637
|
+
<span class="titlename" id="titlename">${esc(o.title)}</span>
|
|
638
|
+
<span class="titlecwd" id="titlecwd"
|
|
639
|
+
><span class="titlecwd-lead" id="titlecwdlead"></span
|
|
640
|
+
><span class="titlecwd-path" id="titlecwdpath"></span
|
|
641
|
+
></span>
|
|
642
|
+
</div>`;
|
|
623
643
|
const header =
|
|
624
644
|
!o.inline && o.side === "left"
|
|
625
645
|
? `${controls}${titleSpan}${badge}`
|
|
@@ -656,7 +676,12 @@ function widgetHtml(o: {
|
|
|
656
676
|
#titlebar { padding: 6px 10px; background: #161b22; display: flex; align-items: center; gap: 8px;
|
|
657
677
|
font: 600 12px ui-monospace, SFMono-Regular, Menlo, monospace; color: #c9d1d9; user-select: none; }
|
|
658
678
|
#panel.transparent #titlebar { background: rgba(22,27,34,.7); }
|
|
659
|
-
.title { flex: 1; min-width: 0;
|
|
679
|
+
.title { flex: 1; min-width: 0; display: flex; flex-direction: column; gap: 1px; justify-content: center; }
|
|
680
|
+
.titlename { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
|
|
681
|
+
.titlecwd { display: none; min-width: 0; font-size: 10px; opacity: .6; font-weight: 400; } /* JS flips to flex once cwd is known */
|
|
682
|
+
.titlecwd-lead { flex: none; }
|
|
683
|
+
.titlecwd-path { flex: 1; min-width: 0; overflow: hidden; text-overflow: ellipsis; white-space: nowrap;
|
|
684
|
+
direction: rtl; text-align: left; } /* ellipsize the boring prefix, not the tail */
|
|
660
685
|
.ro { font-size: 10px; opacity: .7; background: #30363d; border-radius: 9px; padding: 1px 7px; }
|
|
661
686
|
.rw { font-size: 10px; background: #1f6feb; color: #fff; border-radius: 9px; padding: 1px 7px; }
|
|
662
687
|
.ctl { display: inline-flex; align-items: center; gap: 6px; flex: none; }
|
package/dist/trayApp-Zta691q9.js
DELETED