agent-yes 1.246.1-beta.586.1 → 1.246.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--aR6u_NV.js → SUPPORTED_CLIS-BRBRmtZB.js} +3 -3
- package/dist/{SUPPORTED_CLIS-CY4nG81S.js → SUPPORTED_CLIS-ChObiz7B.js} +2 -2
- package/dist/{agentShare-hm9q-36R.js → agentShare-BMhhjlIo.js} +2 -2
- package/dist/{callback-BCiF7yO5.js → callback-DLMITOay.js} +2 -2
- package/dist/{callback-QxV0FFVa.js → callback-Dcp0x2bo.js} +3 -3
- package/dist/cli.js +5 -5
- package/dist/index.js +2 -2
- package/dist/{notifyDaemon-DEVu7RbI.js → notifyDaemon-DEd6KNvM.js} +2 -2
- package/dist/{rustBinary-ocX8DmxE.js → rustBinary-ZgGT95El.js} +2 -2
- package/dist/{schedule-Cz1G-OTd.js → schedule-C9h9iP3H.js} +4 -4
- package/dist/{serve-BWpXW3lb.js → serve-hm8RA63Q.js} +13 -13
- package/dist/{setup-HST79teQ.js → setup-D5sXkk5G.js} +2 -2
- package/dist/{subcommands-BXHEFTJr.js → subcommands-Bc7-9841.js} +16 -25
- package/dist/{subcommands-BP09cQ9N.js → subcommands-Df9nmpUJ.js} +1 -1
- package/dist/{terminal-aORfCoJA.js → terminal-C17FvKPP.js} +2 -2
- package/dist/{ts-BWwFz7M1.js → ts-C_UteWk0.js} +2 -2
- package/dist/{versionChecker-U8rDPt2P.js → versionChecker-0AVt3PJA.js} +2 -2
- package/dist/{widget-C3sA5LBW.js → widget-cHKdcYnA.js} +3 -3
- package/dist/{ws-BEbzquYX.js → ws-Bn7pYnyT.js} +2 -2
- package/package.json +1 -1
- package/ts/subcommands.ts +6 -35
|
@@ -1,11 +1,11 @@
|
|
|
1
1
|
import "./logger-CDIsZ-Pp.js";
|
|
2
|
-
import "./versionChecker-
|
|
3
|
-
import "./ts-
|
|
2
|
+
import "./versionChecker-0AVt3PJA.js";
|
|
3
|
+
import "./ts-C_UteWk0.js";
|
|
4
4
|
import "./todoAutomation-Buo457VO.js";
|
|
5
5
|
import "./JsonlStore-CPGIR0Wy.js";
|
|
6
6
|
import "./globalPidIndex-D9DOSd-c.js";
|
|
7
7
|
import "./pidStore-6EZd5DUv.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-ChObiz7B.js";
|
|
10
10
|
|
|
11
11
|
export { SUPPORTED_CLIS };
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import { t as CLIS_CONFIG } from "./ts-
|
|
1
|
+
import { t as CLIS_CONFIG } from "./ts-C_UteWk0.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-ChObiz7B.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-9wVlbPyC.js";
|
|
6
|
-
import { P as resolveOne } from "./subcommands-
|
|
6
|
+
import { P as resolveOne } from "./subcommands-Bc7-9841.js";
|
|
7
7
|
import "./webrtcLink-BMYneHbu.js";
|
|
8
8
|
import "./remotes-BxQnNxQv.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-BMhhjlIo.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-9wVlbPyC.js";
|
|
6
|
-
import "./subcommands-
|
|
6
|
+
import "./subcommands-Bc7-9841.js";
|
|
7
7
|
import "./webrtcLink-BMYneHbu.js";
|
|
8
8
|
import "./remotes-BxQnNxQv.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-Dcp0x2bo.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-Bc7-9841.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 { mkdir, readFile, writeFile } from "node:fs/promises";
|
|
@@ -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-hm8RA63Q.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-Dcp0x2bo.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-0AVt3PJA.js";
|
|
5
|
+
import { n as getRustBinary } from "./rustBinary-ZgGT95El.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-Df9nmpUJ.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-BRBRmtZB.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-BRBRmtZB.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, c as AgentContext, i as answerAsk, n as agentYes, o as listAsks, r as config, s as listAsksForProject, t as CLIS_CONFIG } from "./ts-
|
|
2
|
+
import "./versionChecker-0AVt3PJA.js";
|
|
3
|
+
import { a as hasTodoStore, c as AgentContext, i as answerAsk, n as agentYes, o as listAsks, r as config, s as listAsksForProject, t as CLIS_CONFIG } from "./ts-C_UteWk0.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-Buo457VO.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-9wVlbPyC.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-Bc7-9841.js";
|
|
7
7
|
import "./webrtcLink-BMYneHbu.js";
|
|
8
8
|
import "./remotes-BxQnNxQv.js";
|
|
9
9
|
import { mkdir, readFile, rename, rm, stat, writeFile } from "fs/promises";
|
|
@@ -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-DEd6KNvM.js.map
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import { r as getInstalledPackage } from "./versionChecker-
|
|
1
|
+
import { r as getInstalledPackage } from "./versionChecker-0AVt3PJA.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-ZgGT95El.js.map
|
|
@@ -1,12 +1,12 @@
|
|
|
1
1
|
import "./logger-CDIsZ-Pp.js";
|
|
2
|
-
import "./versionChecker-
|
|
3
|
-
import "./ts-
|
|
2
|
+
import "./versionChecker-0AVt3PJA.js";
|
|
3
|
+
import "./ts-C_UteWk0.js";
|
|
4
4
|
import "./todoAutomation-Buo457VO.js";
|
|
5
5
|
import "./JsonlStore-CPGIR0Wy.js";
|
|
6
6
|
import "./globalPidIndex-D9DOSd-c.js";
|
|
7
7
|
import "./pidStore-6EZd5DUv.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-ChObiz7B.js";
|
|
10
10
|
import { d as resolveSpawnCwd } from "./workspaceConfig-DOHygA2x.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-C9h9iP3H.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 { i as answerAsk, l as CLAUDE_SESSION_PIN_ENV, o as listAsks } from "./ts-
|
|
2
|
+
import { r as getInstalledPackage } from "./versionChecker-0AVt3PJA.js";
|
|
3
|
+
import { t as findSpawnHiddenLauncher } from "./rustBinary-ZgGT95El.js";
|
|
4
|
+
import { i as answerAsk, l as CLAUDE_SESSION_PIN_ENV, o as listAsks } from "./ts-C_UteWk0.js";
|
|
5
5
|
import { t as agentYesHome$1 } from "./agentYesHome-CtmsY6I-.js";
|
|
6
6
|
import { x as removeControlCharacters } from "./todoAutomation-Buo457VO.js";
|
|
7
7
|
import "./JsonlStore-CPGIR0Wy.js";
|
|
@@ -11,12 +11,12 @@ 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-9wVlbPyC.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-ChObiz7B.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-Bc7-9841.js";
|
|
16
16
|
import "./webrtcLink-BMYneHbu.js";
|
|
17
17
|
import "./remotes-BxQnNxQv.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-Dcp0x2bo.js";
|
|
20
20
|
import { a as getSpawnHook, c as hasProvisionHook, d as resolveSpawnCwd, i as getProvisionRoot, l as hasSpawnHook, r as getProvisionHook, u as isProvisionAllowed } from "./workspaceConfig-DOHygA2x.js";
|
|
21
21
|
import { n as liveEnv, t as ensureNodeRuntime } from "./nodeRuntime-BtL6Oo1o.js";
|
|
22
22
|
import { r as spawnRejectionReason } from "./spawnGate-BxgS_GlF.js";
|
|
@@ -2300,7 +2300,7 @@ Options:
|
|
|
2300
2300
|
}
|
|
2301
2301
|
});
|
|
2302
2302
|
if (req.method === "GET" && p === "/api/ws") {
|
|
2303
|
-
const ws = await import("./ws-
|
|
2303
|
+
const ws = await import("./ws-Bn7pYnyT.js");
|
|
2304
2304
|
try {
|
|
2305
2305
|
await ws.loadProvision();
|
|
2306
2306
|
} catch (e) {
|
|
@@ -2320,7 +2320,7 @@ Options:
|
|
|
2320
2320
|
if (req.method === "GET" && p === "/api/ws/status") {
|
|
2321
2321
|
const dirRaw = url.searchParams.get("path");
|
|
2322
2322
|
if (!dirRaw) return new Response("missing ?path=<workspace dir>", { status: 400 });
|
|
2323
|
-
const ws = await import("./ws-
|
|
2323
|
+
const ws = await import("./ws-Bn7pYnyT.js");
|
|
2324
2324
|
let prov;
|
|
2325
2325
|
try {
|
|
2326
2326
|
prov = await ws.loadProvision();
|
|
@@ -3070,7 +3070,7 @@ Options:
|
|
|
3070
3070
|
const perm = body.perm ?? "r";
|
|
3071
3071
|
if (perm !== "r" && perm !== "rw") return new Response(`invalid perm ${perm} (want r or rw)`, { status: 400 });
|
|
3072
3072
|
try {
|
|
3073
|
-
const { createScopedShare } = await import("./agentShare-
|
|
3073
|
+
const { createScopedShare } = await import("./agentShare-BMhhjlIo.js");
|
|
3074
3074
|
const share = await createScopedShare({
|
|
3075
3075
|
agent: body.agent,
|
|
3076
3076
|
perm,
|
|
@@ -3085,12 +3085,12 @@ Options:
|
|
|
3085
3085
|
}
|
|
3086
3086
|
}
|
|
3087
3087
|
if (req.method === "GET" && p === "/api/shares") {
|
|
3088
|
-
const { listShares } = await import("./agentShare-
|
|
3088
|
+
const { listShares } = await import("./agentShare-BMhhjlIo.js");
|
|
3089
3089
|
return Response.json(listShares());
|
|
3090
3090
|
}
|
|
3091
3091
|
const revokeM = /^\/api\/share\/([^/]+)$/.exec(p);
|
|
3092
3092
|
if (req.method === "DELETE" && revokeM) {
|
|
3093
|
-
const { revokeShare } = await import("./agentShare-
|
|
3093
|
+
const { revokeShare } = await import("./agentShare-BMhhjlIo.js");
|
|
3094
3094
|
const ok = revokeShare(decodeURIComponent(revokeM[1]));
|
|
3095
3095
|
return new Response(ok ? "revoked" : "no such share", { status: ok ? 200 : 404 });
|
|
3096
3096
|
}
|
|
@@ -3392,7 +3392,7 @@ Options:
|
|
|
3392
3392
|
const shutdown = (resolve) => {
|
|
3393
3393
|
if (heartbeat) clearInterval(heartbeat);
|
|
3394
3394
|
closeShare?.();
|
|
3395
|
-
import("./agentShare-
|
|
3395
|
+
import("./agentShare-BMhhjlIo.js").then((m) => m.revokeAllShares()).catch(() => {});
|
|
3396
3396
|
server?.stop();
|
|
3397
3397
|
Promise.resolve(releaseHostLock?.()).catch(() => {}).then(resolve);
|
|
3398
3398
|
};
|
|
@@ -3405,4 +3405,4 @@ Options:
|
|
|
3405
3405
|
|
|
3406
3406
|
//#endregion
|
|
3407
3407
|
export { cmdServe, loadTokenReadOnly, mintScopedTermToken, resolveDaemonHttpBase, resolveLocalServeUrl };
|
|
3408
|
-
//# sourceMappingURL=serve-
|
|
3408
|
+
//# sourceMappingURL=serve-hm8RA63Q.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-hm8RA63Q.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-D5sXkk5G.js.map
|
|
@@ -1267,31 +1267,31 @@ async function runSubcommand(argv) {
|
|
|
1267
1267
|
return cmdCh(rest);
|
|
1268
1268
|
}
|
|
1269
1269
|
case "term": {
|
|
1270
|
-
const { cmdTerm } = await import("./terminal-
|
|
1270
|
+
const { cmdTerm } = await import("./terminal-C17FvKPP.js");
|
|
1271
1271
|
return cmdTerm(rest);
|
|
1272
1272
|
}
|
|
1273
1273
|
case "widget": {
|
|
1274
|
-
const { cmdWidget } = await import("./widget-
|
|
1274
|
+
const { cmdWidget } = await import("./widget-cHKdcYnA.js");
|
|
1275
1275
|
return cmdWidget(rest);
|
|
1276
1276
|
}
|
|
1277
1277
|
case "mint": {
|
|
1278
|
-
const { cmdMint } = await import("./widget-
|
|
1278
|
+
const { cmdMint } = await import("./widget-cHKdcYnA.js");
|
|
1279
1279
|
return cmdMint(rest);
|
|
1280
1280
|
}
|
|
1281
1281
|
case "serve": {
|
|
1282
|
-
const { cmdServe } = await import("./serve-
|
|
1282
|
+
const { cmdServe } = await import("./serve-hm8RA63Q.js");
|
|
1283
1283
|
return cmdServe(rest);
|
|
1284
1284
|
}
|
|
1285
1285
|
case "setup": {
|
|
1286
|
-
const { cmdSetup } = await import("./setup-
|
|
1286
|
+
const { cmdSetup } = await import("./setup-D5sXkk5G.js");
|
|
1287
1287
|
return cmdSetup(rest);
|
|
1288
1288
|
}
|
|
1289
1289
|
case "ws": {
|
|
1290
|
-
const { cmdWs } = await import("./ws-
|
|
1290
|
+
const { cmdWs } = await import("./ws-Bn7pYnyT.js");
|
|
1291
1291
|
return cmdWs(rest);
|
|
1292
1292
|
}
|
|
1293
1293
|
case "schedule": {
|
|
1294
|
-
const { cmdSchedule } = await import("./schedule-
|
|
1294
|
+
const { cmdSchedule } = await import("./schedule-C9h9iP3H.js");
|
|
1295
1295
|
return cmdSchedule(rest);
|
|
1296
1296
|
}
|
|
1297
1297
|
case "remote": {
|
|
@@ -1303,7 +1303,7 @@ async function runSubcommand(argv) {
|
|
|
1303
1303
|
return cmdExpose(rest);
|
|
1304
1304
|
}
|
|
1305
1305
|
case "callback": {
|
|
1306
|
-
const { cmdCallback } = await import("./callback-
|
|
1306
|
+
const { cmdCallback } = await import("./callback-DLMITOay.js");
|
|
1307
1307
|
return cmdCallback(rest);
|
|
1308
1308
|
}
|
|
1309
1309
|
case "reap":
|
|
@@ -3706,12 +3706,11 @@ async function cmdAttach(rest) {
|
|
|
3706
3706
|
const winsizeDir = path.join(ayHome, "winsize");
|
|
3707
3707
|
await mkdir(winsizeDir, { recursive: true });
|
|
3708
3708
|
const winsizePath = path.join(winsizeDir, String(record.pid));
|
|
3709
|
-
const { resolveDaemonHttpBase, loadTokenReadOnly } = await import("./serve-
|
|
3709
|
+
const { resolveDaemonHttpBase, loadTokenReadOnly } = await import("./serve-hm8RA63Q.js");
|
|
3710
3710
|
const daemonBase = await resolveDaemonHttpBase().catch(() => null);
|
|
3711
3711
|
const daemonToken = daemonBase ? await loadTokenReadOnly().catch(() => null) ?? "" : "";
|
|
3712
3712
|
const capViewer = `attach:${process.pid}`;
|
|
3713
3713
|
let capMode = !!daemonBase;
|
|
3714
|
-
process.stderr.write(`[ay-attach] pid=${record.pid} daemon=${daemonBase ?? "none"} token=${daemonToken ? "yes" : "empty"} mode=${capMode ? "cap" : "direct"}\n`);
|
|
3715
3714
|
const writeWinsizeDirect = async (cols, rows) => {
|
|
3716
3715
|
try {
|
|
3717
3716
|
await writeFile(winsizePath, `${cols} ${rows} ${Date.now()}\n`);
|
|
@@ -3721,18 +3720,11 @@ async function cmdAttach(rest) {
|
|
|
3721
3720
|
} catch {}
|
|
3722
3721
|
} catch {}
|
|
3723
3722
|
};
|
|
3724
|
-
let sizeWarned = false;
|
|
3725
3723
|
const sendResize = async () => {
|
|
3726
3724
|
const cols = process.stdout.columns ?? 0;
|
|
3727
3725
|
const rows = process.stdout.rows ?? 0;
|
|
3728
|
-
if (cols < 1 || rows < 1)
|
|
3729
|
-
|
|
3730
|
-
sizeWarned = true;
|
|
3731
|
-
process.stderr.write(`[ay-attach] pid=${record.pid} terminal size unavailable (${cols}x${rows}) — not reporting yet\n`);
|
|
3732
|
-
}
|
|
3733
|
-
return;
|
|
3734
|
-
}
|
|
3735
|
-
if (capMode && daemonBase) {
|
|
3726
|
+
if (cols < 1 || rows < 1) return;
|
|
3727
|
+
if (capMode && daemonBase && daemonToken) {
|
|
3736
3728
|
try {
|
|
3737
3729
|
if ((await fetch(`${daemonBase}/api/resize/${encodeURIComponent(String(record.pid))}?token=${encodeURIComponent(daemonToken)}`, {
|
|
3738
3730
|
method: "POST",
|
|
@@ -3751,21 +3743,20 @@ async function cmdAttach(rest) {
|
|
|
3751
3743
|
}
|
|
3752
3744
|
await writeWinsizeDirect(cols, rows);
|
|
3753
3745
|
};
|
|
3754
|
-
for (let i = 0; i < 15 && (!process.stdout.columns || !process.stdout.rows); i++) await new Promise((r) => setTimeout(r, 100));
|
|
3755
3746
|
await sendResize();
|
|
3756
3747
|
const capHeartbeat = capMode ? setInterval(() => {
|
|
3757
3748
|
if (capMode) sendResize();
|
|
3758
3749
|
}, 5e3) : null;
|
|
3759
3750
|
const withdrawAttachCap = async () => {
|
|
3760
3751
|
if (capHeartbeat) clearInterval(capHeartbeat);
|
|
3761
|
-
if (!daemonBase) return;
|
|
3752
|
+
if (!daemonBase || !daemonToken) return;
|
|
3762
3753
|
try {
|
|
3763
3754
|
await fetch(`${daemonBase}/api/presence?token=${encodeURIComponent(daemonToken)}`, {
|
|
3764
3755
|
method: "POST",
|
|
3765
3756
|
headers: { "content-type": "application/json" },
|
|
3766
3757
|
body: JSON.stringify({
|
|
3767
3758
|
viewer: capViewer,
|
|
3768
|
-
agent:
|
|
3759
|
+
agent: null
|
|
3769
3760
|
})
|
|
3770
3761
|
});
|
|
3771
3762
|
} catch {}
|
|
@@ -4403,7 +4394,7 @@ async function cmdNotify(rest) {
|
|
|
4403
4394
|
}
|
|
4404
4395
|
const ensure = async () => {
|
|
4405
4396
|
if (!argv["ensure-daemon"]) return;
|
|
4406
|
-
const { ensureDaemon } = await import("./notifyDaemon-
|
|
4397
|
+
const { ensureDaemon } = await import("./notifyDaemon-DEd6KNvM.js");
|
|
4407
4398
|
await ensureDaemon().catch(() => null);
|
|
4408
4399
|
};
|
|
4409
4400
|
await heartbeatWatcher(parent, selfStartedAt);
|
|
@@ -4477,7 +4468,7 @@ async function cmdNotifyCursor(args) {
|
|
|
4477
4468
|
}
|
|
4478
4469
|
async function cmdNotifyd(rest) {
|
|
4479
4470
|
const sub = rest[0] ?? "status";
|
|
4480
|
-
const daemon = await import("./notifyDaemon-
|
|
4471
|
+
const daemon = await import("./notifyDaemon-DEd6KNvM.js");
|
|
4481
4472
|
switch (sub) {
|
|
4482
4473
|
case "run": return daemon.runDaemon();
|
|
4483
4474
|
case "once": return daemon.runDaemon({ once: true });
|
|
@@ -4504,4 +4495,4 @@ async function cmdNotifyd(rest) {
|
|
|
4504
4495
|
|
|
4505
4496
|
//#endregion
|
|
4506
4497
|
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 };
|
|
4507
|
-
//# sourceMappingURL=subcommands-
|
|
4498
|
+
//# sourceMappingURL=subcommands-Bc7-9841.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-9wVlbPyC.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-Bc7-9841.js";
|
|
7
7
|
import "./webrtcLink-BMYneHbu.js";
|
|
8
8
|
import "./remotes-BxQnNxQv.js";
|
|
9
9
|
|
|
@@ -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-hm8RA63Q.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-C17FvKPP.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-0AVt3PJA.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-Buo457VO.js";
|
|
6
6
|
import { i as shouldUseLock, r as releaseLock, t as acquireLock } from "./runningLock-DBoONoM-.js";
|
|
@@ -2027,4 +2027,4 @@ function sleep(ms) {
|
|
|
2027
2027
|
|
|
2028
2028
|
//#endregion
|
|
2029
2029
|
export { hasTodoStore as a, AgentContext as c, answerAsk as i, CLAUDE_SESSION_PIN_ENV as l, agentYes as n, listAsks as o, config as r, listAsksForProject as s, CLIS_CONFIG as t };
|
|
2030
|
-
//# sourceMappingURL=ts-
|
|
2030
|
+
//# sourceMappingURL=ts-C_UteWk0.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.246.1
|
|
10
|
+
var version = "1.246.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-0AVt3PJA.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-hm8RA63Q.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-hm8RA63Q.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-cHKdcYnA.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-9wVlbPyC.js";
|
|
6
|
-
import { C as listRecords } from "./subcommands-
|
|
6
|
+
import { C as listRecords } from "./subcommands-Bc7-9841.js";
|
|
7
7
|
import "./webrtcLink-BMYneHbu.js";
|
|
8
8
|
import "./remotes-BxQnNxQv.js";
|
|
9
9
|
import { i as getProvisionRoot } from "./workspaceConfig-DOHygA2x.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-Bn7pYnyT.js.map
|
package/package.json
CHANGED
package/ts/subcommands.ts
CHANGED
|
@@ -4063,12 +4063,6 @@ async function cmdAttach(rest: string[]): Promise<number> {
|
|
|
4063
4063
|
const daemonToken = daemonBase ? ((await loadTokenReadOnly().catch(() => null)) ?? "") : "";
|
|
4064
4064
|
const capViewer = `attach:${process.pid}`;
|
|
4065
4065
|
let capMode = !!daemonBase;
|
|
4066
|
-
// Announce the resolved path up front so a "nothing happened" run is diagnosable
|
|
4067
|
-
// (grocy: attach silently did nothing — the discovery/branch was invisible).
|
|
4068
|
-
process.stderr.write(
|
|
4069
|
-
`[ay-attach] pid=${record.pid} daemon=${daemonBase ?? "none"} ` +
|
|
4070
|
-
`token=${daemonToken ? "yes" : "empty"} mode=${capMode ? "cap" : "direct"}\n`,
|
|
4071
|
-
);
|
|
4072
4066
|
|
|
4073
4067
|
const writeWinsizeDirect = async (cols: number, rows: number) => {
|
|
4074
4068
|
try {
|
|
@@ -4083,27 +4077,15 @@ async function cmdAttach(rest: string[]): Promise<number> {
|
|
|
4083
4077
|
/* ignore */
|
|
4084
4078
|
}
|
|
4085
4079
|
};
|
|
4086
|
-
let sizeWarned = false;
|
|
4087
4080
|
const sendResize = async () => {
|
|
4088
4081
|
const cols = process.stdout.columns ?? 0;
|
|
4089
4082
|
const rows = process.stdout.rows ?? 0;
|
|
4090
4083
|
// Size not ready yet (a freshly-allocated pty — e.g. under script(1) — reports
|
|
4091
|
-
// 0×0 for a beat): skip rather than drive the agent to 0×0.
|
|
4092
|
-
//
|
|
4093
|
-
if (cols < 1 || rows < 1)
|
|
4094
|
-
if (!sizeWarned) {
|
|
4095
|
-
sizeWarned = true;
|
|
4096
|
-
process.stderr.write(
|
|
4097
|
-
`[ay-attach] pid=${record.pid} terminal size unavailable (${cols}x${rows}) — not reporting yet\n`,
|
|
4098
|
-
);
|
|
4099
|
-
}
|
|
4100
|
-
return;
|
|
4101
|
-
}
|
|
4084
|
+
// 0×0 for a beat): skip rather than drive the agent to 0×0. The stdout "resize"
|
|
4085
|
+
// listener fires sendResize again once the real size lands.
|
|
4086
|
+
if (cols < 1 || rows < 1) return;
|
|
4102
4087
|
// Cap path: POST /api/resize (cap-report; the daemon publishCap+scheduleNego's it).
|
|
4103
|
-
|
|
4104
|
-
// master) — gate on the daemon BASE, not the token, or a tokenless daemon wrongly
|
|
4105
|
-
// falls to the direct path (the token was the reason cap mode never fired).
|
|
4106
|
-
if (capMode && daemonBase) {
|
|
4088
|
+
if (capMode && daemonBase && daemonToken) {
|
|
4107
4089
|
try {
|
|
4108
4090
|
const res = await fetch(
|
|
4109
4091
|
`${daemonBase}/api/resize/${encodeURIComponent(String(record.pid))}?token=${encodeURIComponent(daemonToken)}`,
|
|
@@ -4126,12 +4108,6 @@ async function cmdAttach(rest: string[]): Promise<number> {
|
|
|
4126
4108
|
}
|
|
4127
4109
|
await writeWinsizeDirect(cols, rows);
|
|
4128
4110
|
};
|
|
4129
|
-
// Some ptys report 0×0 for a beat after allocation and — because the size was
|
|
4130
|
-
// correct from creation — never fire a 'resize', so a single initial send would
|
|
4131
|
-
// skip on 0×0 and then never retry (grocy: attach silently did nothing, winsize
|
|
4132
|
-
// untouched). Poll briefly for a real size before the first report.
|
|
4133
|
-
for (let i = 0; i < 15 && (!process.stdout.columns || !process.stdout.rows); i++)
|
|
4134
|
-
await new Promise((r) => setTimeout(r, 100));
|
|
4135
4111
|
await sendResize();
|
|
4136
4112
|
// A one-shot cap fades on the daemon's ~12s TTL, so renew it while attached (cap
|
|
4137
4113
|
// mode only — a direct winsize write persists and needs no heartbeat).
|
|
@@ -4144,17 +4120,12 @@ async function cmdAttach(rest: string[]): Promise<number> {
|
|
|
4144
4120
|
// re-negotiates back to the remaining viewers / its real tty immediately.
|
|
4145
4121
|
const withdrawAttachCap = async () => {
|
|
4146
4122
|
if (capHeartbeat) clearInterval(capHeartbeat);
|
|
4147
|
-
if (!daemonBase) return;
|
|
4123
|
+
if (!daemonBase || !daemonToken) return;
|
|
4148
4124
|
try {
|
|
4149
|
-
// Withdraw by reporting presence for THIS pid with NO cap: the daemon then
|
|
4150
|
-
// withdrawCap()s our entry and re-negotiates. `agent:null` does NOT work here —
|
|
4151
|
-
// the daemon keys that withdraw off an in-memory presence entry we never created
|
|
4152
|
-
// (our cap was published via /api/resize, not /api/presence), so it'd no-op and
|
|
4153
|
-
// the cap would linger a full TTL.
|
|
4154
4125
|
await fetch(`${daemonBase}/api/presence?token=${encodeURIComponent(daemonToken)}`, {
|
|
4155
4126
|
method: "POST",
|
|
4156
4127
|
headers: { "content-type": "application/json" },
|
|
4157
|
-
body: JSON.stringify({ viewer: capViewer, agent:
|
|
4128
|
+
body: JSON.stringify({ viewer: capViewer, agent: null }),
|
|
4158
4129
|
});
|
|
4159
4130
|
} catch {
|
|
4160
4131
|
/* daemon gone — its TTL will prune our cap */
|