agent-yes 1.211.4 → 1.211.5-beta.529.1
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-CFbgq7Xl.js +9 -0
- package/dist/{SUPPORTED_CLIS-CBJSgQdN.js → SUPPORTED_CLIS-DhxUwJPf.js} +2 -2
- package/dist/{agentShare-BA5f2UFD.js → agentShare-0gVPIrR1.js} +2 -2
- package/dist/cli.js +4 -4
- package/dist/index.js +2 -2
- package/dist/{notifyDaemon-C81MWvD1.js → notifyDaemon-MNS8NTtj.js} +2 -2
- package/dist/{rustBinary-DDnRX0Gi.js → rustBinary-C4ZcN7eC.js} +2 -2
- package/dist/{schedule-CelELc3T.js → schedule-Ds8FPtP2.js} +4 -4
- package/dist/{serve-CTOTQkWm.js → serve-DbEHBfga.js} +12 -12
- package/dist/{setup-DfkP6R_C.js → setup-CFVx7meC.js} +2 -2
- package/dist/{subcommands-IyabNq1f.js → subcommands-BoCAPbno.js} +1 -1
- package/dist/{subcommands-BRFPWyBG.js → subcommands-CM3bDveb.js} +7 -7
- package/dist/{ts-Civl956u.js → ts-BzyOLVV_.js} +2 -2
- package/dist/{versionChecker-D8f_81GL.js → versionChecker-DSwM0NGZ.js} +2 -2
- package/dist/{ws-DtmIaHaL.js → ws-CiXyQa_v.js} +2 -2
- package/lab/ui/index.html +149 -10
- package/package.json +1 -1
- package/dist/SUPPORTED_CLIS-BxcTiJ61.js +0 -9
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import "./ts-BzyOLVV_.js";
|
|
2
|
+
import "./logger-CDIsZ-Pp.js";
|
|
3
|
+
import "./versionChecker-DSwM0NGZ.js";
|
|
4
|
+
import "./pidStore-BIvsBQ8X.js";
|
|
5
|
+
import "./globalPidIndex-CoNr7tS8.js";
|
|
6
|
+
import "./messageLog-CxrKJj77.js";
|
|
7
|
+
import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-DhxUwJPf.js";
|
|
8
|
+
|
|
9
|
+
export { SUPPORTED_CLIS };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { t as CLIS_CONFIG } from "./ts-
|
|
1
|
+
import { t as CLIS_CONFIG } from "./ts-BzyOLVV_.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-DhxUwJPf.js.map
|
|
@@ -2,7 +2,7 @@ import "./logger-CDIsZ-Pp.js";
|
|
|
2
2
|
import "./globalPidIndex-CoNr7tS8.js";
|
|
3
3
|
import "./messageLog-CxrKJj77.js";
|
|
4
4
|
import "./configShared-aKTg-sa5.js";
|
|
5
|
-
import { M as resolveOne } from "./subcommands-
|
|
5
|
+
import { M as resolveOne } from "./subcommands-CM3bDveb.js";
|
|
6
6
|
import "./e2e-jb0Hp43q.js";
|
|
7
7
|
import "./webrtcLink-B7REGtK2.js";
|
|
8
8
|
import "./remotes-Cim0dBU7.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-0gVPIrR1.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 { n as getRustBinary } from "./rustBinary-
|
|
4
|
+
import { i as versionString, n as displayVersion, t as checkAndAutoUpdate } from "./versionChecker-DSwM0NGZ.js";
|
|
5
|
+
import { n as getRustBinary } from "./rustBinary-C4ZcN7eC.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 } = await import("./subcommands-
|
|
288
|
+
const { isSubcommand, runSubcommand, cmdHelp } = await import("./subcommands-BoCAPbno.js");
|
|
289
289
|
if (isHelpFlag && process.argv.length === 3) {
|
|
290
290
|
await cmdHelp(managerCommands);
|
|
291
291
|
process.exit(0);
|
|
@@ -327,7 +327,7 @@ if (config.useRust) {
|
|
|
327
327
|
}
|
|
328
328
|
}
|
|
329
329
|
if (rustBinary) {
|
|
330
|
-
const { SUPPORTED_CLIS } = await import("./SUPPORTED_CLIS-
|
|
330
|
+
const { SUPPORTED_CLIS } = await import("./SUPPORTED_CLIS-CFbgq7Xl.js");
|
|
331
331
|
const rustArgs = buildRustArgs(process.argv, config.cli, SUPPORTED_CLIS);
|
|
332
332
|
if (config.verbose) {
|
|
333
333
|
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-BzyOLVV_.js";
|
|
2
2
|
import "./logger-CDIsZ-Pp.js";
|
|
3
|
-
import "./versionChecker-
|
|
3
|
+
import "./versionChecker-DSwM0NGZ.js";
|
|
4
4
|
import "./pidStore-BIvsBQ8X.js";
|
|
5
5
|
import "./globalPidIndex-CoNr7tS8.js";
|
|
6
6
|
import "./messageLog-CxrKJj77.js";
|
|
@@ -2,7 +2,7 @@ import { n as logger } from "./logger-CDIsZ-Pp.js";
|
|
|
2
2
|
import "./globalPidIndex-CoNr7tS8.js";
|
|
3
3
|
import "./messageLog-CxrKJj77.js";
|
|
4
4
|
import "./configShared-aKTg-sa5.js";
|
|
5
|
-
import { $ as daemonLockOwnerPath, G as gcInboxes, J as listInboxParents, K as hostId, Q as daemonLockDir, S as listRecords, W as appendEvent, X as readInbox, Y as liveWatchers, Z as shouldStealLock, _ as isPidAlive, c as deriveLiveState, et as notifyDir, k as renderLogTailLines } from "./subcommands-
|
|
5
|
+
import { $ as daemonLockOwnerPath, G as gcInboxes, J as listInboxParents, K as hostId, Q as daemonLockDir, S as listRecords, W as appendEvent, X as readInbox, Y as liveWatchers, Z as shouldStealLock, _ as isPidAlive, c as deriveLiveState, et as notifyDir, k as renderLogTailLines } from "./subcommands-CM3bDveb.js";
|
|
6
6
|
import "./e2e-jb0Hp43q.js";
|
|
7
7
|
import "./webrtcLink-B7REGtK2.js";
|
|
8
8
|
import "./remotes-Cim0dBU7.js";
|
|
@@ -589,4 +589,4 @@ async function ensureDaemon() {
|
|
|
589
589
|
|
|
590
590
|
//#endregion
|
|
591
591
|
export { daemonStatus, ensureDaemon, requestDaemonStop, runDaemon };
|
|
592
|
-
//# sourceMappingURL=notifyDaemon-
|
|
592
|
+
//# sourceMappingURL=notifyDaemon-MNS8NTtj.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as getInstalledPackage } from "./versionChecker-
|
|
1
|
+
import { r as getInstalledPackage } from "./versionChecker-DSwM0NGZ.js";
|
|
2
2
|
import { execFileSync } from "child_process";
|
|
3
3
|
import { existsSync, mkdirSync, unlinkSync } from "fs";
|
|
4
4
|
import { chmod, copyFile } from "fs/promises";
|
|
@@ -225,4 +225,4 @@ async function getRustBinary(options = {}) {
|
|
|
225
225
|
|
|
226
226
|
//#endregion
|
|
227
227
|
export { getRustBinary as n, findSpawnHiddenLauncher as t };
|
|
228
|
-
//# sourceMappingURL=rustBinary-
|
|
228
|
+
//# sourceMappingURL=rustBinary-C4ZcN7eC.js.map
|
|
@@ -1,10 +1,10 @@
|
|
|
1
|
-
import "./ts-
|
|
1
|
+
import "./ts-BzyOLVV_.js";
|
|
2
2
|
import "./logger-CDIsZ-Pp.js";
|
|
3
|
-
import "./versionChecker-
|
|
3
|
+
import "./versionChecker-DSwM0NGZ.js";
|
|
4
4
|
import "./pidStore-BIvsBQ8X.js";
|
|
5
5
|
import "./globalPidIndex-CoNr7tS8.js";
|
|
6
6
|
import "./messageLog-CxrKJj77.js";
|
|
7
|
-
import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-
|
|
7
|
+
import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-DhxUwJPf.js";
|
|
8
8
|
import { d as resolveSpawnCwd } from "./workspaceConfig-CjaRvTjf.js";
|
|
9
9
|
import { n as liveEnv, t as ensureNodeRuntime } from "./nodeRuntime-CwNJuwH5.js";
|
|
10
10
|
import { createHash } from "node:crypto";
|
|
@@ -151,4 +151,4 @@ async function cmdSchedule(rest) {
|
|
|
151
151
|
|
|
152
152
|
//#endregion
|
|
153
153
|
export { cmdSchedule };
|
|
154
|
-
//# sourceMappingURL=schedule-
|
|
154
|
+
//# sourceMappingURL=schedule-Ds8FPtP2.js.map
|
|
@@ -1,15 +1,15 @@
|
|
|
1
|
-
import "./ts-
|
|
1
|
+
import "./ts-BzyOLVV_.js";
|
|
2
2
|
import "./logger-CDIsZ-Pp.js";
|
|
3
|
-
import { r as getInstalledPackage } from "./versionChecker-
|
|
4
|
-
import { t as findSpawnHiddenLauncher } from "./rustBinary-
|
|
3
|
+
import { r as getInstalledPackage } from "./versionChecker-DSwM0NGZ.js";
|
|
4
|
+
import { t as findSpawnHiddenLauncher } from "./rustBinary-C4ZcN7eC.js";
|
|
5
5
|
import { t as agentYesHome$1 } from "./agentYesHome-CtHb5b71.js";
|
|
6
6
|
import "./pidStore-BIvsBQ8X.js";
|
|
7
7
|
import { a as updateGlobalPidStatus } from "./globalPidIndex-CoNr7tS8.js";
|
|
8
8
|
import { r as recordInbox } from "./messageLog-CxrKJj77.js";
|
|
9
9
|
import { t as pgidForWrapper } from "./reaper-BUHCyxdF.js";
|
|
10
10
|
import "./configShared-aKTg-sa5.js";
|
|
11
|
-
import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-
|
|
12
|
-
import { A as renderRawLog, D as recentMessageEdges, E as readPtysize, L as snapshotStatus, M as resolveOne, O as recentReadEdges, S as listRecords, T as readNotes, U as writeToIpc, b as isUserTyping, f as extractNeedsInput, k as renderLogTailLines, l as deriveLiveStatus, o as controlCodeFromName, p as extractTaskCounts, q as isTransientLockMkdirError, tt as TYPING_BADGE, u as extractBadges } from "./subcommands-
|
|
11
|
+
import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-DhxUwJPf.js";
|
|
12
|
+
import { A as renderRawLog, D as recentMessageEdges, E as readPtysize, L as snapshotStatus, M as resolveOne, O as recentReadEdges, S as listRecords, T as readNotes, U as writeToIpc, b as isUserTyping, f as extractNeedsInput, k as renderLogTailLines, l as deriveLiveStatus, o as controlCodeFromName, p as extractTaskCounts, q as isTransientLockMkdirError, tt as TYPING_BADGE, u as extractBadges } from "./subcommands-CM3bDveb.js";
|
|
13
13
|
import "./e2e-jb0Hp43q.js";
|
|
14
14
|
import "./webrtcLink-B7REGtK2.js";
|
|
15
15
|
import "./remotes-Cim0dBU7.js";
|
|
@@ -1893,7 +1893,7 @@ Options:
|
|
|
1893
1893
|
}
|
|
1894
1894
|
});
|
|
1895
1895
|
if (req.method === "GET" && p === "/api/ws") {
|
|
1896
|
-
const ws = await import("./ws-
|
|
1896
|
+
const ws = await import("./ws-CiXyQa_v.js");
|
|
1897
1897
|
try {
|
|
1898
1898
|
await ws.loadProvision();
|
|
1899
1899
|
} catch (e) {
|
|
@@ -1913,7 +1913,7 @@ Options:
|
|
|
1913
1913
|
if (req.method === "GET" && p === "/api/ws/status") {
|
|
1914
1914
|
const dirRaw = url.searchParams.get("path");
|
|
1915
1915
|
if (!dirRaw) return new Response("missing ?path=<workspace dir>", { status: 400 });
|
|
1916
|
-
const ws = await import("./ws-
|
|
1916
|
+
const ws = await import("./ws-CiXyQa_v.js");
|
|
1917
1917
|
let prov;
|
|
1918
1918
|
try {
|
|
1919
1919
|
prov = await ws.loadProvision();
|
|
@@ -2474,7 +2474,7 @@ Options:
|
|
|
2474
2474
|
const perm = body.perm ?? "r";
|
|
2475
2475
|
if (perm !== "r" && perm !== "rw") return new Response(`invalid perm ${perm} (want r or rw)`, { status: 400 });
|
|
2476
2476
|
try {
|
|
2477
|
-
const { createScopedShare } = await import("./agentShare-
|
|
2477
|
+
const { createScopedShare } = await import("./agentShare-0gVPIrR1.js");
|
|
2478
2478
|
const share = await createScopedShare({
|
|
2479
2479
|
agent: body.agent,
|
|
2480
2480
|
perm,
|
|
@@ -2489,12 +2489,12 @@ Options:
|
|
|
2489
2489
|
}
|
|
2490
2490
|
}
|
|
2491
2491
|
if (req.method === "GET" && p === "/api/shares") {
|
|
2492
|
-
const { listShares } = await import("./agentShare-
|
|
2492
|
+
const { listShares } = await import("./agentShare-0gVPIrR1.js");
|
|
2493
2493
|
return Response.json(listShares());
|
|
2494
2494
|
}
|
|
2495
2495
|
const revokeM = /^\/api\/share\/([^/]+)$/.exec(p);
|
|
2496
2496
|
if (req.method === "DELETE" && revokeM) {
|
|
2497
|
-
const { revokeShare } = await import("./agentShare-
|
|
2497
|
+
const { revokeShare } = await import("./agentShare-0gVPIrR1.js");
|
|
2498
2498
|
const ok = revokeShare(decodeURIComponent(revokeM[1]));
|
|
2499
2499
|
return new Response(ok ? "revoked" : "no such share", { status: ok ? 200 : 404 });
|
|
2500
2500
|
}
|
|
@@ -2680,7 +2680,7 @@ Options:
|
|
|
2680
2680
|
const shutdown = (resolve) => {
|
|
2681
2681
|
if (heartbeat) clearInterval(heartbeat);
|
|
2682
2682
|
closeShare?.();
|
|
2683
|
-
import("./agentShare-
|
|
2683
|
+
import("./agentShare-0gVPIrR1.js").then((m) => m.revokeAllShares()).catch(() => {});
|
|
2684
2684
|
server?.stop();
|
|
2685
2685
|
Promise.resolve(releaseHostLock?.()).catch(() => {}).then(resolve);
|
|
2686
2686
|
};
|
|
@@ -2693,4 +2693,4 @@ Options:
|
|
|
2693
2693
|
|
|
2694
2694
|
//#endregion
|
|
2695
2695
|
export { cmdServe };
|
|
2696
|
-
//# sourceMappingURL=serve-
|
|
2696
|
+
//# sourceMappingURL=serve-DbEHBfga.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-DbEHBfga.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-CFVx7meC.js.map
|
|
@@ -2,7 +2,7 @@ import "./logger-CDIsZ-Pp.js";
|
|
|
2
2
|
import "./globalPidIndex-CoNr7tS8.js";
|
|
3
3
|
import "./messageLog-CxrKJj77.js";
|
|
4
4
|
import "./configShared-aKTg-sa5.js";
|
|
5
|
-
import { A as renderRawLog, B as submitAndConfirm, C as matchKeyword, D as recentMessageEdges, E as readPtysize, F as restartHintLines, H as writeKeysPaced, I as runSubcommand, L as snapshotStatus, M as resolveOne, N as resolveReadWindow, O as recentReadEdges, P as resolveResumeArgs, R as stdinActivityPath, S as listRecords, T as readNotes, U as writeToIpc, V as waitForLogQuiet, _ as isPidAlive, a as cmdHelp, b as isUserTyping, c as deriveLiveState, d as extractMenu, f as extractNeedsInput, g as isExitRequest, h as isAgentStuck, i as backoffWhileTyping, j as renderRawLogLines, k as renderLogTailLines, 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 menuSelectKeys, x as lastStdinAt, y as isSubcommand, z as stopTipForCli } from "./subcommands-
|
|
5
|
+
import { A as renderRawLog, B as submitAndConfirm, C as matchKeyword, D as recentMessageEdges, E as readPtysize, F as restartHintLines, H as writeKeysPaced, I as runSubcommand, L as snapshotStatus, M as resolveOne, N as resolveReadWindow, O as recentReadEdges, P as resolveResumeArgs, R as stdinActivityPath, S as listRecords, T as readNotes, U as writeToIpc, V as waitForLogQuiet, _ as isPidAlive, a as cmdHelp, b as isUserTyping, c as deriveLiveState, d as extractMenu, f as extractNeedsInput, g as isExitRequest, h as isAgentStuck, i as backoffWhileTyping, j as renderRawLogLines, k as renderLogTailLines, 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 menuSelectKeys, x as lastStdinAt, y as isSubcommand, z as stopTipForCli } from "./subcommands-CM3bDveb.js";
|
|
6
6
|
import "./e2e-jb0Hp43q.js";
|
|
7
7
|
import "./webrtcLink-B7REGtK2.js";
|
|
8
8
|
import "./remotes-Cim0dBU7.js";
|
|
@@ -1237,19 +1237,19 @@ async function runSubcommand(argv) {
|
|
|
1237
1237
|
case "restart": return await cmdRestart(rest);
|
|
1238
1238
|
case "note": return await cmdNote(rest);
|
|
1239
1239
|
case "serve": {
|
|
1240
|
-
const { cmdServe } = await import("./serve-
|
|
1240
|
+
const { cmdServe } = await import("./serve-DbEHBfga.js");
|
|
1241
1241
|
return cmdServe(rest);
|
|
1242
1242
|
}
|
|
1243
1243
|
case "setup": {
|
|
1244
|
-
const { cmdSetup } = await import("./setup-
|
|
1244
|
+
const { cmdSetup } = await import("./setup-CFVx7meC.js");
|
|
1245
1245
|
return cmdSetup(rest);
|
|
1246
1246
|
}
|
|
1247
1247
|
case "ws": {
|
|
1248
|
-
const { cmdWs } = await import("./ws-
|
|
1248
|
+
const { cmdWs } = await import("./ws-CiXyQa_v.js");
|
|
1249
1249
|
return cmdWs(rest);
|
|
1250
1250
|
}
|
|
1251
1251
|
case "schedule": {
|
|
1252
|
-
const { cmdSchedule } = await import("./schedule-
|
|
1252
|
+
const { cmdSchedule } = await import("./schedule-Ds8FPtP2.js");
|
|
1253
1253
|
return cmdSchedule(rest);
|
|
1254
1254
|
}
|
|
1255
1255
|
case "remote": {
|
|
@@ -4269,7 +4269,7 @@ async function cmdNotify(rest) {
|
|
|
4269
4269
|
}
|
|
4270
4270
|
const ensure = async () => {
|
|
4271
4271
|
if (!argv["ensure-daemon"]) return;
|
|
4272
|
-
const { ensureDaemon } = await import("./notifyDaemon-
|
|
4272
|
+
const { ensureDaemon } = await import("./notifyDaemon-MNS8NTtj.js");
|
|
4273
4273
|
await ensureDaemon().catch(() => null);
|
|
4274
4274
|
};
|
|
4275
4275
|
await heartbeatWatcher(parent, selfStartedAt);
|
|
@@ -4343,7 +4343,7 @@ async function cmdNotifyCursor(args) {
|
|
|
4343
4343
|
}
|
|
4344
4344
|
async function cmdNotifyd(rest) {
|
|
4345
4345
|
const sub = rest[0] ?? "status";
|
|
4346
|
-
const daemon = await import("./notifyDaemon-
|
|
4346
|
+
const daemon = await import("./notifyDaemon-MNS8NTtj.js");
|
|
4347
4347
|
switch (sub) {
|
|
4348
4348
|
case "run": return daemon.runDaemon();
|
|
4349
4349
|
case "once": return daemon.runDaemon({ once: true });
|
|
@@ -4370,4 +4370,4 @@ async function cmdNotifyd(rest) {
|
|
|
4370
4370
|
|
|
4371
4371
|
//#endregion
|
|
4372
4372
|
export { daemonLockOwnerPath as $, renderRawLog as A, submitAndConfirm as B, matchKeyword as C, recentMessageEdges as D, readPtysize as E, restartHintLines as F, gcInboxes as G, writeKeysPaced as H, runSubcommand as I, listInboxParents as J, hostId as K, snapshotStatus as L, resolveOne as M, resolveReadWindow as N, recentReadEdges as O, resolveResumeArgs as P, daemonLockDir as Q, stdinActivityPath as R, listRecords as S, readNotes as T, writeToIpc as U, waitForLogQuiet as V, appendEvent as W, readInbox as X, liveWatchers as Y, shouldStealLock as Z, isPidAlive as _, cmdHelp as a, isUserTyping as b, deriveLiveState as c, extractMenu as d, notifyDir as et, extractNeedsInput as f, isExitRequest as g, isAgentStuck as h, backoffWhileTyping as i, renderRawLogLines as j, renderLogTailLines as k, deriveLiveStatus as l, finalizedLines as m, READ_PAGE_DEFAULT as n, controlCodeFromName as o, extractTaskCounts as p, isTransientLockMkdirError as q, TYPING_WINDOW_MS as r, cursorAbs as s, GRACEFUL_EXIT_COMMANDS as t, TYPING_BADGE as tt, extractBadges as u, isSlashCommand as v, menuSelectKeys as w, lastStdinAt as x, isSubcommand as y, stopTipForCli as z };
|
|
4373
|
-
//# sourceMappingURL=subcommands-
|
|
4373
|
+
//# sourceMappingURL=subcommands-CM3bDveb.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-DSwM0NGZ.js";
|
|
3
3
|
import { t as agentYesHome } from "./agentYesHome-CtHb5b71.js";
|
|
4
4
|
import { i as shouldUseLock, r as releaseLock, t as acquireLock } from "./runningLock-CNMl13dC.js";
|
|
5
5
|
import { t as PidStore } from "./pidStore-BIvsBQ8X.js";
|
|
@@ -1901,4 +1901,4 @@ function sleep(ms) {
|
|
|
1901
1901
|
|
|
1902
1902
|
//#endregion
|
|
1903
1903
|
export { removeControlCharacters as a, AgentContext as i, agentYes as n, config as r, CLIS_CONFIG as t };
|
|
1904
|
-
//# sourceMappingURL=ts-
|
|
1904
|
+
//# sourceMappingURL=ts-BzyOLVV_.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.211.
|
|
10
|
+
var version = "1.211.5-beta.529.1";
|
|
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-DSwM0NGZ.js.map
|
|
@@ -2,7 +2,7 @@ import "./logger-CDIsZ-Pp.js";
|
|
|
2
2
|
import "./globalPidIndex-CoNr7tS8.js";
|
|
3
3
|
import "./messageLog-CxrKJj77.js";
|
|
4
4
|
import "./configShared-aKTg-sa5.js";
|
|
5
|
-
import { S as listRecords } from "./subcommands-
|
|
5
|
+
import { S as listRecords } from "./subcommands-CM3bDveb.js";
|
|
6
6
|
import "./e2e-jb0Hp43q.js";
|
|
7
7
|
import "./webrtcLink-B7REGtK2.js";
|
|
8
8
|
import "./remotes-Cim0dBU7.js";
|
|
@@ -418,4 +418,4 @@ async function cmdWs(args) {
|
|
|
418
418
|
|
|
419
419
|
//#endregion
|
|
420
420
|
export { WS_JSON_SCHEMA, cmdWs, collectWorkspaces, isPathInside, loadProvision, workspaceStatus };
|
|
421
|
-
//# sourceMappingURL=ws-
|
|
421
|
+
//# sourceMappingURL=ws-CiXyQa_v.js.map
|
package/lab/ui/index.html
CHANGED
|
@@ -15,6 +15,13 @@
|
|
|
15
15
|
<link rel="icon" href="./icon.svg" />
|
|
16
16
|
<link rel="apple-touch-icon" href="./icon.svg" />
|
|
17
17
|
<script>
|
|
18
|
+
// Deploy stamp: build-assets.sh replaces the placeholder with the short
|
|
19
|
+
// commit SHA at deploy time; `ay serve` ships this file raw, so a
|
|
20
|
+
// surviving placeholder means a local/dev copy. Answers "which frontend
|
|
21
|
+
// am I actually running?" — including an offline-cached PWA shell —
|
|
22
|
+
// from the devtools console or the left-panel header.
|
|
23
|
+
window.AY_BUILD = /^__/.test("__AY_BUILD__") ? "dev" : "__AY_BUILD__";
|
|
24
|
+
console.log("agent-yes console build:", window.AY_BUILD);
|
|
18
25
|
if ("serviceWorker" in navigator) {
|
|
19
26
|
addEventListener("load", () => navigator.serviceWorker.register("./sw.js").catch(() => {}));
|
|
20
27
|
}
|
|
@@ -155,6 +162,15 @@
|
|
|
155
162
|
h1 .tag {
|
|
156
163
|
color: var(--accent);
|
|
157
164
|
}
|
|
165
|
+
/* Frontend build stamp (AY_BUILD) — the quick "am I on the new deploy?"
|
|
166
|
+
check, readable even on an offline-cached PWA shell. */
|
|
167
|
+
h1 .build {
|
|
168
|
+
font-size: 10px;
|
|
169
|
+
font-weight: 400;
|
|
170
|
+
color: var(--muted);
|
|
171
|
+
vertical-align: middle;
|
|
172
|
+
user-select: all; /* one tap selects the whole SHA for copy */
|
|
173
|
+
}
|
|
158
174
|
/* Connection-path pill in the header: at a glance, is the terminal you're
|
|
159
175
|
watching on the fast local/lan path or the slow relayed path? */
|
|
160
176
|
/* Per-peer connection-type pill in the terminal header — describes how this
|
|
@@ -1831,7 +1847,10 @@
|
|
|
1831
1847
|
<div class="app">
|
|
1832
1848
|
<div class="left">
|
|
1833
1849
|
<div class="head">
|
|
1834
|
-
<h1
|
|
1850
|
+
<h1>
|
|
1851
|
+
<span class="tag">agent-yes</span> · console
|
|
1852
|
+
<span class="build" id="buildtag" title="frontend build (deploy commit)"></span>
|
|
1853
|
+
</h1>
|
|
1835
1854
|
<div class="sub">
|
|
1836
1855
|
Live <code>ay ls</code> + per-agent tail & send. Backed by <code>ay serve</code>.
|
|
1837
1856
|
</div>
|
|
@@ -2295,6 +2314,7 @@
|
|
|
2295
2314
|
const installOrigin = location.origin;
|
|
2296
2315
|
const installPackage = BETA_ORIGINS.has(location.hostname) ? "agent-yes@beta" : "agent-yes";
|
|
2297
2316
|
$("setup-sh").textContent = `curl -fsSL ${installOrigin}/setup.sh | sh`;
|
|
2317
|
+
$("buildtag").textContent = window.AY_BUILD; // deploy stamp (see <head>)
|
|
2298
2318
|
$("setup-sh").title = `installs ${installPackage}`;
|
|
2299
2319
|
$("setup-ps").textContent = `powershell -c "irm ${installOrigin}/setup.ps1 | iex"`;
|
|
2300
2320
|
$("setup-ps").title = `installs ${installPackage}`;
|
|
@@ -3685,17 +3705,53 @@
|
|
|
3685
3705
|
// rides term.onResize → pushSize); on negotiating hosts the grid is
|
|
3686
3706
|
// canonical — never reflow it locally, just re-letterbox and report the
|
|
3687
3707
|
// new capacity so the host can move the min if needed.
|
|
3708
|
+
// Mobile IME toggles resize ONLY the height (the width never moves), and
|
|
3709
|
+
// TUIs keep what matters — the input box, the status line — at the
|
|
3710
|
+
// BOTTOM. After a height-only pane change, snap the viewport to the
|
|
3711
|
+
// bottom so the keyboard open/close storm can't leave it stranded
|
|
3712
|
+
// mid-scrollback. Compares PANE pixels, not the grid: on a negotiating
|
|
3713
|
+
// host the local grid is canonical and never regrids on a keyboard
|
|
3714
|
+
// toggle — only the letterbox rescales — so grid deltas would miss it.
|
|
3715
|
+
// Width changes (rotation, splitter drag) keep the reading position, and
|
|
3716
|
+
// desktop is untouched. Alt-screen TUIs have no scrollback → no-op.
|
|
3717
|
+
// The memo is the PREVIOUS stable pane size: by the time the resize
|
|
3718
|
+
// event fires the layout already has the new dimensions, so a same-call
|
|
3719
|
+
// before/after would always compare equal. select() seeds it (next
|
|
3720
|
+
// frame, once the pane flip has laid out) — without the seed, the very
|
|
3721
|
+
// first keyboard-open after picking an agent would be spent priming the
|
|
3722
|
+
// memo instead of snapping.
|
|
3723
|
+
let lastPaneDims = null;
|
|
3724
|
+
function seedPaneDims() {
|
|
3725
|
+
requestAnimationFrame(() => {
|
|
3726
|
+
const el = $("log");
|
|
3727
|
+
lastPaneDims = el ? { w: el.clientWidth, h: el.clientHeight } : null;
|
|
3728
|
+
});
|
|
3729
|
+
}
|
|
3730
|
+
function snapIfHeightOnly() {
|
|
3731
|
+
const el = $("log");
|
|
3732
|
+
const now = el ? { w: el.clientWidth, h: el.clientHeight } : null;
|
|
3733
|
+
const prev = lastPaneDims;
|
|
3734
|
+
lastPaneDims = now;
|
|
3735
|
+
if (!term || !prev || !now || window.innerWidth > 720) return;
|
|
3736
|
+
if (now.w === prev.w && now.h !== prev.h) {
|
|
3737
|
+
try {
|
|
3738
|
+
term.scrollToBottom();
|
|
3739
|
+
} catch {}
|
|
3740
|
+
}
|
|
3741
|
+
}
|
|
3688
3742
|
function refitPane() {
|
|
3689
3743
|
if (!term) return;
|
|
3690
3744
|
if (negoActive) {
|
|
3691
3745
|
applyCanvasScale();
|
|
3692
3746
|
sendPresence();
|
|
3747
|
+
snapIfHeightOnly();
|
|
3693
3748
|
return;
|
|
3694
3749
|
}
|
|
3695
3750
|
if (fit)
|
|
3696
3751
|
try {
|
|
3697
3752
|
fit.fit();
|
|
3698
3753
|
} catch {}
|
|
3754
|
+
snapIfHeightOnly();
|
|
3699
3755
|
}
|
|
3700
3756
|
// Follow the canonical grid: resize our xterm to the agent's size (set by the
|
|
3701
3757
|
// active driver / local owner) WITHOUT reflowing to our pane, then scale to
|
|
@@ -3710,9 +3766,18 @@
|
|
|
3710
3766
|
}
|
|
3711
3767
|
if (sz.cols !== term.cols || sz.rows !== term.rows) {
|
|
3712
3768
|
agentSize = sz;
|
|
3769
|
+
// Grid-level twin of snapIfHeightOnly: the host regrids rows-only in
|
|
3770
|
+
// response to our keyboard-shrunk capacity report — keep the bottom
|
|
3771
|
+
// (TUI input box + status) in view through that reflow too.
|
|
3772
|
+
const rowsOnly = window.innerWidth <= 720 && sz.cols === term.cols;
|
|
3713
3773
|
try {
|
|
3714
3774
|
term.resize(sz.cols, sz.rows);
|
|
3715
3775
|
} catch {}
|
|
3776
|
+
if (rowsOnly) {
|
|
3777
|
+
try {
|
|
3778
|
+
term.scrollToBottom();
|
|
3779
|
+
} catch {}
|
|
3780
|
+
}
|
|
3716
3781
|
}
|
|
3717
3782
|
applyCanvasScale();
|
|
3718
3783
|
}
|
|
@@ -3952,6 +4017,12 @@
|
|
|
3952
4017
|
}
|
|
3953
4018
|
// In-console P2P preview: an iframe served from /w/p/<src>/<port>/, which
|
|
3954
4019
|
// the Service Worker proxies over the machine's WebRTC tunnel (no relay).
|
|
4020
|
+
// The iframe navigates via location.replace(), NEVER src assignment — an
|
|
4021
|
+
// src= write on an already-loaded iframe pushes a TOP-LEVEL history entry,
|
|
4022
|
+
// so each preview open/close silently stacked entries the back key then
|
|
4023
|
+
// chewed through invisibly (URL never changes). previewUrl mirrors what
|
|
4024
|
+
// the frame shows, since the src attribute stays stale with replace().
|
|
4025
|
+
let previewUrl = "";
|
|
3955
4026
|
function openPreview(src, port) {
|
|
3956
4027
|
// Scope-relative so it works at both /w/ (agent-yes.com) and / (ay serve).
|
|
3957
4028
|
const url = new URL("p/" + encodeURIComponent(src) + "/" + port + "/", location.href)
|
|
@@ -3959,14 +4030,42 @@
|
|
|
3959
4030
|
const frame = $("previewFrame");
|
|
3960
4031
|
if (!frame) return window.open(url, "_blank");
|
|
3961
4032
|
$("previewTitle").textContent = "localhost:" + port;
|
|
3962
|
-
|
|
3963
|
-
|
|
4033
|
+
previewUrl = url;
|
|
4034
|
+
try {
|
|
4035
|
+
frame.contentWindow.location.replace(url);
|
|
4036
|
+
} catch {
|
|
4037
|
+
frame.src = url;
|
|
4038
|
+
}
|
|
4039
|
+
const ov = $("previewOverlay");
|
|
4040
|
+
if (ov.hidden) {
|
|
4041
|
+
ov.hidden = false;
|
|
4042
|
+
// The overlay is a "screen": give it a history entry so the hardware
|
|
4043
|
+
// back key closes it (via popstate) instead of leaving the console.
|
|
4044
|
+
try {
|
|
4045
|
+
history.pushState({ ayPreview: 1 }, "", location.href);
|
|
4046
|
+
} catch {}
|
|
4047
|
+
}
|
|
3964
4048
|
}
|
|
4049
|
+
// UI close (✕ button): unwind our history entry so depth stays in sync
|
|
4050
|
+
// with what's on screen; the popstate handler does the actual teardown.
|
|
4051
|
+
// If the entry is already gone (user arrived here via back), close direct.
|
|
3965
4052
|
function closePreview() {
|
|
4053
|
+
if (history.state && history.state.ayPreview) history.back();
|
|
4054
|
+
else closePreviewNow();
|
|
4055
|
+
}
|
|
4056
|
+
function closePreviewNow() {
|
|
3966
4057
|
const ov = $("previewOverlay");
|
|
3967
4058
|
if (ov) ov.hidden = true;
|
|
4059
|
+
previewUrl = "";
|
|
3968
4060
|
const frame = $("previewFrame");
|
|
3969
|
-
if (frame)
|
|
4061
|
+
if (frame) {
|
|
4062
|
+
// replace(), not src= (see above); also tears down the app + tunnel.
|
|
4063
|
+
try {
|
|
4064
|
+
frame.contentWindow.location.replace("about:blank");
|
|
4065
|
+
} catch {
|
|
4066
|
+
frame.src = "about:blank";
|
|
4067
|
+
}
|
|
4068
|
+
}
|
|
3970
4069
|
}
|
|
3971
4070
|
async function doExpose() {
|
|
3972
4071
|
const tx = exposePendingTx || localTx;
|
|
@@ -4159,12 +4258,14 @@
|
|
|
4159
4258
|
});
|
|
4160
4259
|
$("previewClose")?.addEventListener("click", closePreview);
|
|
4161
4260
|
$("previewReload")?.addEventListener("click", () => {
|
|
4162
|
-
|
|
4163
|
-
|
|
4261
|
+
// reload(), not src re-assignment — src= would push a history entry.
|
|
4262
|
+
try {
|
|
4263
|
+
$("previewFrame")?.contentWindow.location.reload();
|
|
4264
|
+
} catch {}
|
|
4164
4265
|
});
|
|
4165
4266
|
$("previewPop")?.addEventListener("click", () => {
|
|
4166
|
-
|
|
4167
|
-
if (
|
|
4267
|
+
// frame.src stays stale with location.replace() — use the mirror.
|
|
4268
|
+
if (previewUrl) window.open(previewUrl, "_blank");
|
|
4168
4269
|
});
|
|
4169
4270
|
})();
|
|
4170
4271
|
(function shareModalBoot() {
|
|
@@ -5176,7 +5277,18 @@
|
|
|
5176
5277
|
renderList();
|
|
5177
5278
|
// Mobile: flip the single-column layout to the terminal ("detail") pane.
|
|
5178
5279
|
// Done BEFORE term.open below so xterm measures a visible container.
|
|
5179
|
-
|
|
5280
|
+
// Entering detail FROM the list gets a history entry, so the hardware
|
|
5281
|
+
// back key / edge-swipe returns to the list (via popstate → goBackNow)
|
|
5282
|
+
// instead of leaving the site — which showed a blank page in the
|
|
5283
|
+
// installed PWA, whose history starts at the console itself.
|
|
5284
|
+
const app = document.querySelector(".app");
|
|
5285
|
+
if (window.innerWidth <= 720 && !app.classList.contains("show-detail")) {
|
|
5286
|
+
try {
|
|
5287
|
+
history.pushState({ ayDetail: 1 }, "", location.href);
|
|
5288
|
+
} catch {}
|
|
5289
|
+
}
|
|
5290
|
+
app.classList.add("show-detail");
|
|
5291
|
+
seedPaneDims(); // arm the IME height-only snap for this pane
|
|
5180
5292
|
// Shared-view gating (host-enforced; this is UX):
|
|
5181
5293
|
// • view-only (r) → readonly-agent: hide composer/keybar + ALL agent actions.
|
|
5182
5294
|
// • read-write (rw) → steer-agent: keep composer/keybar (can type), but hide
|
|
@@ -5449,7 +5561,28 @@
|
|
|
5449
5561
|
});
|
|
5450
5562
|
// Mobile back: return to the list pane. The tail keeps streaming in the
|
|
5451
5563
|
// background (selection unchanged), so reopening the agent is instant.
|
|
5452
|
-
const
|
|
5564
|
+
const goBackNow = () => document.querySelector(".app").classList.remove("show-detail");
|
|
5565
|
+
// ‹ button / swipe: unwind the detail history entry select() pushed (the
|
|
5566
|
+
// popstate handler below does the flip), so history depth stays in sync
|
|
5567
|
+
// with what's on screen. Without the entry (desktop), flip directly.
|
|
5568
|
+
const goBack = () => {
|
|
5569
|
+
if (history.state && history.state.ayDetail) history.back();
|
|
5570
|
+
else goBackNow();
|
|
5571
|
+
};
|
|
5572
|
+
// Hardware/gesture back: peel the stacked "screens" (preview overlay,
|
|
5573
|
+
// mobile detail pane) off one at a time instead of leaving the site.
|
|
5574
|
+
// openPreview()/select() push the entries this handler consumes.
|
|
5575
|
+
let suppressHash = false;
|
|
5576
|
+
window.addEventListener("popstate", () => {
|
|
5577
|
+
// The back press may also rewind the #room:pid hash (select() rewrites
|
|
5578
|
+
// it in place). That press meant "close this screen", not "jump to the
|
|
5579
|
+
// previously-hashed agent" — eat the hashchange it triggers.
|
|
5580
|
+
suppressHash = true;
|
|
5581
|
+
setTimeout(() => (suppressHash = false), 0);
|
|
5582
|
+
const ov = $("previewOverlay");
|
|
5583
|
+
if (ov && !ov.hidden) return closePreviewNow();
|
|
5584
|
+
if (window.innerWidth <= 720) goBackNow();
|
|
5585
|
+
});
|
|
5453
5586
|
$("rback").addEventListener("click", goBack);
|
|
5454
5587
|
// Swipe-right-from-the-left-edge → back, an alternative to the ‹ button.
|
|
5455
5588
|
// Passive/read-only so it never fights xterm's own scroll or text
|
|
@@ -7110,6 +7243,12 @@
|
|
|
7110
7243
|
// on hashchange and jump to that agent. select() writes the hash via
|
|
7111
7244
|
// history.replaceState (which does NOT fire hashchange), so this never loops.
|
|
7112
7245
|
window.addEventListener("hashchange", () => {
|
|
7246
|
+
// Back-key screen-close (popstate above) may rewind the hash too; that
|
|
7247
|
+
// navigation is not a deep-link jump — swallow exactly one event.
|
|
7248
|
+
if (suppressHash) {
|
|
7249
|
+
suppressHash = false;
|
|
7250
|
+
return;
|
|
7251
|
+
}
|
|
7113
7252
|
const h = decodeURIComponent(location.hash.replace(/^#/, ""));
|
|
7114
7253
|
// Only the #room:pid agent-deep-link form (pid = digits, ≤7 — same bound
|
|
7115
7254
|
// boot() uses to tell a pid from a numeric token). Other forms (#room,
|
package/package.json
CHANGED
|
@@ -1,9 +0,0 @@
|
|
|
1
|
-
import "./ts-Civl956u.js";
|
|
2
|
-
import "./logger-CDIsZ-Pp.js";
|
|
3
|
-
import "./versionChecker-D8f_81GL.js";
|
|
4
|
-
import "./pidStore-BIvsBQ8X.js";
|
|
5
|
-
import "./globalPidIndex-CoNr7tS8.js";
|
|
6
|
-
import "./messageLog-CxrKJj77.js";
|
|
7
|
-
import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-CBJSgQdN.js";
|
|
8
|
-
|
|
9
|
-
export { SUPPORTED_CLIS };
|