agent-yes 1.266.0 → 1.267.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.
Files changed (52) hide show
  1. package/dist/{SUPPORTED_CLIS-AFV5pjSx.js → SUPPORTED_CLIS-BByfWaoz.js} +2 -2
  2. package/dist/{SUPPORTED_CLIS-DRVuSo48.js → SUPPORTED_CLIS-Bob214Yb.js} +3 -3
  3. package/dist/{agentShare-qdFSp9Uq.js → agentShare-TGChdMCD.js} +3 -3
  4. package/dist/{callback-DfNFdZin.js → callback-B2thylEC.js} +3 -3
  5. package/dist/{callback-Da7MRLh6.js → callback-D93yB1xz.js} +3 -3
  6. package/dist/cli.js +11 -11
  7. package/dist/cmdPs-D7NlwNFV.js +577 -0
  8. package/dist/{cwdConflictWarn-CtQhl-vF.js → cwdConflictWarn-BpweoAiy.js} +1 -1
  9. package/dist/{cwdPassthroughHint-apaX_O7p.js → cwdPassthroughHint-BlRuOGo_.js} +1 -1
  10. package/dist/{expose-BXn6My6A.js → expose-DyiZ5AU0.js} +1 -1
  11. package/dist/{forkNested-CDfWPiHw.js → forkNested-B_4c-TQk.js} +1 -1
  12. package/dist/{hist-BpocAe1N.js → hist-BoZPJ2ah.js} +1 -1
  13. package/dist/index.js +2 -2
  14. package/dist/{initMsg-C-w4A_eF.js → initMsg-BKqWDYFk.js} +1 -1
  15. package/dist/{initMsg-BjRseolL.js → initMsg-D8cmdY76.js} +1 -1
  16. package/dist/{nodeRuntime-CRoEMWkp.js → nodeRuntime-QihGFQbI.js} +1 -1
  17. package/dist/{notifyDaemon-BFzqcdN1.js → notifyDaemon-B-vCwFi3.js} +3 -3
  18. package/dist/{openBrowser-DhQ9pJRi.js → openBrowser-Cs46NiH6.js} +1 -1
  19. package/dist/{parentLink-B798ASCW.js → parentLink-CQrn998L.js} +1 -1
  20. package/dist/{parentLink-C0cIRjfL.js → parentLink-CTgZZCgw.js} +1 -1
  21. package/dist/{parentPingLoop-BIKxzbPH.js → parentPingLoop-CVD0sREv.js} +4 -4
  22. package/dist/{remotes-iMhdZytp.js → remotes-DdAfueOu.js} +2 -2
  23. package/dist/{remotes-Dg_JscKk.js → remotes-M8FbM92D.js} +1 -1
  24. package/dist/{rustBinary-JGNROWfY.js → rustBinary-Bf9514x8.js} +2 -2
  25. package/dist/{schedule-DbLpjgl5.js → schedule-fgKVzax1.js} +6 -6
  26. package/dist/{serve-ucVXOci1.js → serve-DM5-VJPX.js} +26 -26
  27. package/dist/{setup-De7uYRZb.js → setup-DNuxXwYS.js} +4 -4
  28. package/dist/{spawnGate-BvaZeHE7.js → spawnGate-CZlMs6uV.js} +1 -1
  29. package/dist/{spawnGate-CEXVmTtv.js → spawnGate-DN4wNXHq.js} +2 -2
  30. package/dist/{subcommands-C04exkIM.js → subcommands-3rBreZdT.js} +2 -2
  31. package/dist/{subcommands-DtF31RoW.js → subcommands-ujgVZRT3.js} +24 -24
  32. package/dist/{systemPathLink-7TFPwJna.js → systemPathLink-BHv1I6wh.js} +1 -1
  33. package/dist/{terminal-Dm32SXU-.js → terminal-jJ2YDBDS.js} +2 -2
  34. package/dist/{todoCli-c_R7D7Y-.js → todoCli-BYGZ7_C5.js} +1 -1
  35. package/dist/{tray-DZnGjJBK.js → tray-CzGs9-ch.js} +1 -1
  36. package/dist/trayApp-CPDWlxfV.js +5 -0
  37. package/dist/{trayApp-CfkPG0wy.js → trayApp-DbV2E8dZ.js} +2 -2
  38. package/dist/{ts-CGtoPER5.js → ts-CQIqcW7_.js} +5 -5
  39. package/dist/{versionChecker-CJgW9DHY.js → versionChecker-D49xkrMv.js} +2 -2
  40. package/dist/{webrtcRemote-BDg0jjTs.js → webrtcRemote-Bl8eowma.js} +1 -1
  41. package/dist/{widget-DXtaX3QR.js → widget-CRXwzRP7.js} +3 -3
  42. package/dist/{workspaceConfig-HiWQzq6A.js → workspaceConfig-CBKlgA_q.js} +1 -1
  43. package/dist/{ws-aKRZpI9b.js → ws-B4ZoCy71.js} +3 -3
  44. package/dist/{ws-CqlS5JhN.js → ws-DomYQT_I.js} +3 -3
  45. package/lab/ui/sw.js +10 -1
  46. package/package.json +1 -1
  47. package/ts/cmdPs.spec.ts +389 -0
  48. package/ts/cmdPs.ts +343 -0
  49. package/ts/procStats.spec.ts +506 -0
  50. package/ts/procStats.ts +484 -0
  51. package/ts/subcommands.ts +9 -4
  52. package/dist/trayApp-CZbwLK9t.js +0 -5
@@ -1,8 +1,8 @@
1
1
  import { n as logger } from "./logger-CDIsZ-Pp.js";
2
2
  import "./globalPidIndex-Dq4KY2IV.js";
3
3
  import { t as classifyNeedsInput } from "./needsInput-103zhZ90.js";
4
- import { n as replyTargetOf, r as shortenHome } from "./initMsg-C-w4A_eF.js";
5
- import { t as resolveSpawner } from "./parentLink-C0cIRjfL.js";
4
+ import { n as replyTargetOf, r as shortenHome } from "./initMsg-BKqWDYFk.js";
5
+ import { t as resolveSpawner } from "./parentLink-CTgZZCgw.js";
6
6
  import { spawn } from "node:child_process";
7
7
 
8
8
  //#region ts/parentPing.ts
@@ -338,7 +338,7 @@ async function isParentWatching(parentWrapperPid, parentAgentPid, selfAgentPid,
338
338
  logger.debug("[parent-ping] watcher lookup failed:", error);
339
339
  }
340
340
  try {
341
- const { lastReadAt, READ_WINDOW_MS } = await import("./subcommands-C04exkIM.js");
341
+ const { lastReadAt, READ_WINDOW_MS } = await import("./subcommands-3rBreZdT.js");
342
342
  const last = await lastReadAt(`agent:${parentAgentPid}`, selfAgentPid);
343
343
  if (last !== null && now - last <= READ_WINDOW_MS) return true;
344
344
  } catch (error) {
@@ -466,4 +466,4 @@ function startParentPingLoop(opts) {
466
466
 
467
467
  //#endregion
468
468
  export { startParentPingLoop };
469
- //# sourceMappingURL=parentPingLoop-BIKxzbPH.js.map
469
+ //# sourceMappingURL=parentPingLoop-CVD0sREv.js.map
@@ -86,7 +86,7 @@ async function resolveRemoteSpec(spec) {
86
86
  * The bridge lives for the rest of the process (torn down on `process.exit`).
87
87
  */
88
88
  async function resolveWebrtc(link, keyword) {
89
- const { startWebrtcBridge } = await import("./webrtcRemote-BDg0jjTs.js");
89
+ const { startWebrtcBridge } = await import("./webrtcRemote-Bl8eowma.js");
90
90
  const bridge = await startWebrtcBridge(link);
91
91
  return {
92
92
  url: bridge.baseUrl,
@@ -173,4 +173,4 @@ async function cmdRemote(rest) {
173
173
 
174
174
  //#endregion
175
175
  export { resolveRemoteSpec as a, readRemotes as i, deleteRemoteAlias as n, writeRemoteAlias as o, parseDirectRemoteSpec as r, cmdRemote as t };
176
- //# sourceMappingURL=remotes-iMhdZytp.js.map
176
+ //# sourceMappingURL=remotes-DdAfueOu.js.map
@@ -1,5 +1,5 @@
1
1
  import "./e2e-CUMZC53I.js";
2
2
  import "./webrtcLink-DyCj380i.js";
3
- import { a as resolveRemoteSpec, i as readRemotes, n as deleteRemoteAlias, o as writeRemoteAlias, r as parseDirectRemoteSpec, t as cmdRemote } from "./remotes-iMhdZytp.js";
3
+ import { a as resolveRemoteSpec, i as readRemotes, n as deleteRemoteAlias, o as writeRemoteAlias, r as parseDirectRemoteSpec, t as cmdRemote } from "./remotes-DdAfueOu.js";
4
4
 
5
5
  export { cmdRemote };
@@ -1,4 +1,4 @@
1
- import { r as getInstalledPackage } from "./versionChecker-CJgW9DHY.js";
1
+ import { r as getInstalledPackage } from "./versionChecker-D49xkrMv.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-JGNROWfY.js.map
246
+ //# sourceMappingURL=rustBinary-Bf9514x8.js.map
@@ -1,14 +1,14 @@
1
1
  import "./logger-CDIsZ-Pp.js";
2
- import "./versionChecker-CJgW9DHY.js";
3
- import "./ts-CGtoPER5.js";
2
+ import "./versionChecker-D49xkrMv.js";
3
+ import "./ts-CQIqcW7_.js";
4
4
  import "./todoAutomation-BQRW614S.js";
5
5
  import "./JsonlStore-CPGIR0Wy.js";
6
6
  import "./globalPidIndex-Dq4KY2IV.js";
7
7
  import "./pidStore-DJqSZPJi.js";
8
8
  import "./messageLog-BYFwioFY.js";
9
- import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-AFV5pjSx.js";
10
- import { f as resolveSpawnCwd } from "./workspaceConfig-HiWQzq6A.js";
11
- import { n as liveEnv, t as ensureNodeRuntime } from "./nodeRuntime-CRoEMWkp.js";
9
+ import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-BByfWaoz.js";
10
+ import { f as resolveSpawnCwd } from "./workspaceConfig-CBKlgA_q.js";
11
+ import { n as liveEnv, t as ensureNodeRuntime } from "./nodeRuntime-QihGFQbI.js";
12
12
  import { createHash } from "node:crypto";
13
13
 
14
14
  //#region ts/oxmgrService.ts
@@ -153,4 +153,4 @@ async function cmdSchedule(rest) {
153
153
 
154
154
  //#endregion
155
155
  export { cmdSchedule };
156
- //# sourceMappingURL=schedule-DbLpjgl5.js.map
156
+ //# sourceMappingURL=schedule-fgKVzax1.js.map
@@ -1,7 +1,7 @@
1
1
  import "./logger-CDIsZ-Pp.js";
2
- import { r as getInstalledPackage } from "./versionChecker-CJgW9DHY.js";
3
- import { t as findSpawnHiddenLauncher } from "./rustBinary-JGNROWfY.js";
4
- import { c as permissionBadge, i as answerAsk, o as listAsks, u as CLAUDE_SESSION_PIN_ENV } from "./ts-CGtoPER5.js";
2
+ import { r as getInstalledPackage } from "./versionChecker-D49xkrMv.js";
3
+ import { t as findSpawnHiddenLauncher } from "./rustBinary-Bf9514x8.js";
4
+ import { c as permissionBadge, i as answerAsk, o as listAsks, u as CLAUDE_SESSION_PIN_ENV } from "./ts-CQIqcW7_.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,18 +11,18 @@ import { r as recordInbox } from "./messageLog-BYFwioFY.js";
11
11
  import { t as pgidForWrapper } from "./reaper-C4BvNylH.js";
12
12
  import "./e2e-CUMZC53I.js";
13
13
  import "./configShared-DtHMBCl7.js";
14
- import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-AFV5pjSx.js";
15
- import { B as resolveOne, F as recentMessageEdges, G as snapshotStatus, I as recentReadEdges, L as renderLogTailLines, M as readLogForRender, N as readNotes, O as listRecords, P as readPtysize, Q as TYPING_BADGE, R as renderRawLog, T as isUserTyping, Z as writeToIpc, f as deriveLiveStatus, g as extractTaskCounts, h as extractNeedsInput, l as controlCodeFromName, p as extractBadges, z as renderRawLogLines } from "./subcommands-DtF31RoW.js";
14
+ import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-BByfWaoz.js";
15
+ import { B as resolveOne, F as recentMessageEdges, G as snapshotStatus, I as recentReadEdges, L as renderLogTailLines, M as readLogForRender, N as readNotes, O as listRecords, P as readPtysize, Q as TYPING_BADGE, R as renderRawLog, T as isUserTyping, Z as writeToIpc, f as deriveLiveStatus, g as extractTaskCounts, h as extractNeedsInput, l as controlCodeFromName, p as extractBadges, z as renderRawLogLines } from "./subcommands-ujgVZRT3.js";
16
16
  import { c as isTransientLockMkdirError } from "./notifyStore-Cbw2ZJ0X.js";
17
17
  import "./webrtcLink-DyCj380i.js";
18
- import "./remotes-iMhdZytp.js";
18
+ import "./remotes-DdAfueOu.js";
19
19
  import { i as frameVisitorMessage, s as verifyCapability, t as MAX_CALLBACK_MSG_BYTES } from "./callbackCore-K99x3C75.js";
20
- import { n as isCallbackRevoked, r as loadCallbackSecretReadOnly } from "./callback-DfNFdZin.js";
21
- 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-HiWQzq6A.js";
22
- import { n as liveEnv, t as ensureNodeRuntime } from "./nodeRuntime-CRoEMWkp.js";
23
- import { i as importProvisionModule } from "./ws-aKRZpI9b.js";
24
- import { r as spawnRejectionReason } from "./spawnGate-CEXVmTtv.js";
25
- import { i as launchTray } from "./trayApp-CfkPG0wy.js";
20
+ import { n as isCallbackRevoked, r as loadCallbackSecretReadOnly } from "./callback-B2thylEC.js";
21
+ 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-CBKlgA_q.js";
22
+ import { n as liveEnv, t as ensureNodeRuntime } from "./nodeRuntime-QihGFQbI.js";
23
+ import { i as importProvisionModule } from "./ws-B4ZoCy71.js";
24
+ import { r as spawnRejectionReason } from "./spawnGate-DN4wNXHq.js";
25
+ import { i as launchTray } from "./trayApp-DbV2E8dZ.js";
26
26
  import yargs from "yargs";
27
27
  import { appendFile, mkdir, open, readFile, readdir, rename, rm, stat, unlink, writeFile } from "fs/promises";
28
28
  import { arch, cpus, freemem, homedir, hostname, loadavg, platform, totalmem, uptime, userInfo } from "os";
@@ -1278,7 +1278,7 @@ async function cmdServeDaemon(sub, args) {
1278
1278
  if (!webrtcDaemon) return;
1279
1279
  if (shareLink) {
1280
1280
  process.stdout.write(`\nshared over WebRTC — open this link (the token is eaten from the URL on open):\n ${shareLink}\n` + (shareLinkMinted ? ` (persistent room — same link across restarts; delete ~/.agent-yes/.share-room to rotate)\n` : ``));
1281
- const { offerOpenInBrowser } = await import("./openBrowser-DhQ9pJRi.js");
1281
+ const { offerOpenInBrowser } = await import("./openBrowser-Cs46NiH6.js");
1282
1282
  await offerOpenInBrowser(shareLink);
1283
1283
  } else process.stdout.write("\nthe WebRTC share link carries a secret, so the daemon does NOT log it —\nread it from ~/.agent-yes/.share-link (mode 0600). The room persists in\n~/.agent-yes/.share-room, so the link survives restarts.\n");
1284
1284
  };
@@ -2435,7 +2435,7 @@ Options:
2435
2435
  }
2436
2436
  });
2437
2437
  if (req.method === "GET" && p === "/api/ws") {
2438
- const ws = await import("./ws-CqlS5JhN.js");
2438
+ const ws = await import("./ws-DomYQT_I.js");
2439
2439
  try {
2440
2440
  await ws.loadProvision();
2441
2441
  } catch (e) {
@@ -2455,7 +2455,7 @@ Options:
2455
2455
  if (req.method === "GET" && p === "/api/ws/status") {
2456
2456
  const dirRaw = url.searchParams.get("path");
2457
2457
  if (!dirRaw) return new Response("missing ?path=<workspace dir>", { status: 400 });
2458
- const ws = await import("./ws-CqlS5JhN.js");
2458
+ const ws = await import("./ws-DomYQT_I.js");
2459
2459
  let prov;
2460
2460
  try {
2461
2461
  prov = await ws.loadProvision();
@@ -2477,7 +2477,7 @@ Options:
2477
2477
  }
2478
2478
  }
2479
2479
  if (req.method === "GET" && p === "/api/ws/repos") {
2480
- const ws = await import("./ws-CqlS5JhN.js");
2480
+ const ws = await import("./ws-DomYQT_I.js");
2481
2481
  try {
2482
2482
  await ws.loadProvision();
2483
2483
  } catch (e) {
@@ -2558,7 +2558,7 @@ Options:
2558
2558
  const m = /^([A-Za-z0-9_.-]+)\/([A-Za-z0-9_.-]+)$/.exec(repoParam);
2559
2559
  if (!m || m[1] === "." || m[1] === ".." || m[2] === "." || m[2] === "..") return new Response("missing/invalid ?repo=<owner>/<repo>", { status: 400 });
2560
2560
  const [, owner, repo] = m;
2561
- const ws = await import("./ws-CqlS5JhN.js");
2561
+ const ws = await import("./ws-DomYQT_I.js");
2562
2562
  let prov;
2563
2563
  try {
2564
2564
  prov = await ws.loadProvision();
@@ -3466,7 +3466,7 @@ Options:
3466
3466
  const perm = body.perm ?? "r";
3467
3467
  if (perm !== "r" && perm !== "rw") return new Response(`invalid perm ${perm} (want r or rw)`, { status: 400 });
3468
3468
  try {
3469
- const { createScopedShare } = await import("./agentShare-qdFSp9Uq.js");
3469
+ const { createScopedShare } = await import("./agentShare-TGChdMCD.js");
3470
3470
  const share = await createScopedShare({
3471
3471
  agent: body.agent,
3472
3472
  perm,
@@ -3481,12 +3481,12 @@ Options:
3481
3481
  }
3482
3482
  }
3483
3483
  if (req.method === "GET" && p === "/api/shares") {
3484
- const { listShares } = await import("./agentShare-qdFSp9Uq.js");
3484
+ const { listShares } = await import("./agentShare-TGChdMCD.js");
3485
3485
  return Response.json(listShares());
3486
3486
  }
3487
3487
  const revokeM = /^\/api\/share\/([^/]+)$/.exec(p);
3488
3488
  if (req.method === "DELETE" && revokeM) {
3489
- const { revokeShare } = await import("./agentShare-qdFSp9Uq.js");
3489
+ const { revokeShare } = await import("./agentShare-TGChdMCD.js");
3490
3490
  const ok = revokeShare(decodeURIComponent(revokeM[1]));
3491
3491
  return new Response(ok ? "revoked" : "no such share", { status: ok ? 200 : 404 });
3492
3492
  }
@@ -3500,7 +3500,7 @@ Options:
3500
3500
  const port = Number(body.port);
3501
3501
  if (!Number.isInteger(port) || port < 1 || port > 65535) return new Response("valid port required", { status: 400 });
3502
3502
  try {
3503
- const { ensureExposure } = await import("./expose-BXn6My6A.js");
3503
+ const { ensureExposure } = await import("./expose-DyiZ5AU0.js");
3504
3504
  const h = await ensureExposure(port, body.relay);
3505
3505
  return Response.json({
3506
3506
  id: h.id,
@@ -3514,12 +3514,12 @@ Options:
3514
3514
  }
3515
3515
  }
3516
3516
  if (req.method === "GET" && p === "/api/exposes") {
3517
- const { listExposures } = await import("./expose-BXn6My6A.js");
3517
+ const { listExposures } = await import("./expose-DyiZ5AU0.js");
3518
3518
  return Response.json(listExposures());
3519
3519
  }
3520
3520
  const unexposeM = /^\/api\/expose\/(\d+)$/.exec(p);
3521
3521
  if (req.method === "DELETE" && unexposeM) {
3522
- const { stopExposure } = await import("./expose-BXn6My6A.js");
3522
+ const { stopExposure } = await import("./expose-DyiZ5AU0.js");
3523
3523
  const ok = stopExposure(Number(unexposeM[1]));
3524
3524
  return new Response(ok ? "revoked" : "no such exposure", { status: ok ? 200 : 404 });
3525
3525
  }
@@ -3746,7 +3746,7 @@ Options:
3746
3746
  const persistNote = explicitUrl ? "\n" : ` (persistent room — same link across restarts; delete ~/.agent-yes/.share-room to rotate)\n\n`;
3747
3747
  process.stdout.write(`${wantHttp ? "\n" : ""}${lead}:\n ${link}\n` + persistNote);
3748
3748
  if (!rotated) {
3749
- const { offerOpenInBrowser } = await import("./openBrowser-DhQ9pJRi.js");
3749
+ const { offerOpenInBrowser } = await import("./openBrowser-Cs46NiH6.js");
3750
3750
  await offerOpenInBrowser(link);
3751
3751
  }
3752
3752
  } else {
@@ -3788,7 +3788,7 @@ Options:
3788
3788
  const shutdown = (resolve) => {
3789
3789
  if (heartbeat) clearInterval(heartbeat);
3790
3790
  closeShare?.();
3791
- import("./agentShare-qdFSp9Uq.js").then((m) => m.revokeAllShares()).catch(() => {});
3791
+ import("./agentShare-TGChdMCD.js").then((m) => m.revokeAllShares()).catch(() => {});
3792
3792
  server?.stop();
3793
3793
  Promise.resolve(releaseHostLock?.()).catch(() => {}).then(resolve);
3794
3794
  };
@@ -3801,4 +3801,4 @@ Options:
3801
3801
 
3802
3802
  //#endregion
3803
3803
  export { cmdServe, loadTokenReadOnly, mintScopedTermToken, resolveDaemonHttpBase, resolveLocalServeUrl };
3804
- //# sourceMappingURL=serve-ucVXOci1.js.map
3804
+ //# sourceMappingURL=serve-DM5-VJPX.js.map
@@ -1,4 +1,4 @@
1
- import { c as getWorkspaceRoot, p as setWorkspaceRoot } from "./workspaceConfig-HiWQzq6A.js";
1
+ import { c as getWorkspaceRoot, p as setWorkspaceRoot } from "./workspaceConfig-CBKlgA_q.js";
2
2
  import { existsSync } from "node:fs";
3
3
  import { stdin, stdout } from "node:process";
4
4
  import { createInterface } from "node:readline/promises";
@@ -31,7 +31,7 @@ async function cmdSetup(rest) {
31
31
  process.stdout.write(`workspace root: ${abs}\n`);
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
  try {
34
- const { linkBunBinsToSystemPath } = await import("./systemPathLink-7TFPwJna.js");
34
+ const { linkBunBinsToSystemPath } = await import("./systemPathLink-BHv1I6wh.js");
35
35
  const r = linkBunBinsToSystemPath();
36
36
  if (r && (r.linked.length || r.refreshed.length)) {
37
37
  const n = r.linked.length + r.refreshed.length;
@@ -40,7 +40,7 @@ async function cmdSetup(rest) {
40
40
  } catch {}
41
41
  if (noShare) return 0;
42
42
  process.stdout.write(`\nsharing this machine to agent-yes.com…\n`);
43
- const { cmdServe } = await import("./serve-ucVXOci1.js");
43
+ const { cmdServe } = await import("./serve-DM5-VJPX.js");
44
44
  return cmdServe([
45
45
  "install",
46
46
  "--share",
@@ -50,4 +50,4 @@ async function cmdSetup(rest) {
50
50
 
51
51
  //#endregion
52
52
  export { cmdSetup };
53
- //# sourceMappingURL=setup-De7uYRZb.js.map
53
+ //# sourceMappingURL=setup-DNuxXwYS.js.map
@@ -1,5 +1,5 @@
1
1
  import "./logger-CDIsZ-Pp.js";
2
2
  import "./globalPidIndex-Dq4KY2IV.js";
3
- import { i as waitForSpawnCapacity, n as spawnGateEnabled, r as spawnRejectionReason, t as memAvailableMb } from "./spawnGate-CEXVmTtv.js";
3
+ import { i as waitForSpawnCapacity, n as spawnGateEnabled, r as spawnRejectionReason, t as memAvailableMb } from "./spawnGate-DN4wNXHq.js";
4
4
 
5
5
  export { waitForSpawnCapacity };
@@ -1,5 +1,5 @@
1
1
  import { i as readGlobalPids } from "./globalPidIndex-Dq4KY2IV.js";
2
- import { n as getMaxAgents, r as getMinFreeMb, s as getSpawnWaitMs } from "./workspaceConfig-HiWQzq6A.js";
2
+ import { n as getMaxAgents, r as getMinFreeMb, s as getSpawnWaitMs } from "./workspaceConfig-CBKlgA_q.js";
3
3
  import { readFile } from "fs/promises";
4
4
 
5
5
  //#region ts/spawnGate.ts
@@ -104,4 +104,4 @@ async function waitForSpawnCapacity(opts) {
104
104
 
105
105
  //#endregion
106
106
  export { waitForSpawnCapacity as i, spawnGateEnabled as n, spawnRejectionReason as r, memAvailableMb as t };
107
- //# sourceMappingURL=spawnGate-CEXVmTtv.js.map
107
+ //# sourceMappingURL=spawnGate-DN4wNXHq.js.map
@@ -3,9 +3,9 @@ import "./globalPidIndex-Dq4KY2IV.js";
3
3
  import "./messageLog-BYFwioFY.js";
4
4
  import "./e2e-CUMZC53I.js";
5
5
  import "./configShared-DtHMBCl7.js";
6
- import { A as menuSelectKeys, B as resolveOne, C as isSubcommand, D as lastStdinAt, E as lastReadAt, F as recentMessageEdges, G as snapshotStatus, H as resolveResumeArgs, I as recentReadEdges, J as submitAndConfirm, K as stdinActivityPath, L as renderLogTailLines, M as readLogForRender, N as readNotes, O as listRecords, P as readPtysize, R as renderRawLog, S as isSlashCommand, T as isUserTyping, U as restartHintLines, V as resolveReadWindow, W as runSubcommand, X as writeKeysPaced, Y as waitForLogQuiet, Z as writeToIpc, _ as finalizedLines, a as TYPING_WINDOW_MS, b as isExitRequest, c as cmdHelp, d as deriveLiveState, f as deriveLiveStatus, g as extractTaskCounts, h as extractNeedsInput, i as READ_WINDOW_MS, j as readAgentPtysize, k as matchKeyword, l as controlCodeFromName, m as extractMenu, n as MAX_RENDER_BYTES, o as backoffWhileTyping, p as extractBadges, q as stopTipForCli, r as READ_PAGE_DEFAULT, s as cmdDeepseek, t as GRACEFUL_EXIT_COMMANDS, u as cursorAbs, v as isAgentStuck, w as isUnknownManagerToken, x as isPidAlive, y as isBareManagerInvocation, z as renderRawLogLines } from "./subcommands-DtF31RoW.js";
6
+ import { A as menuSelectKeys, B as resolveOne, C as isSubcommand, D as lastStdinAt, E as lastReadAt, F as recentMessageEdges, G as snapshotStatus, H as resolveResumeArgs, I as recentReadEdges, J as submitAndConfirm, K as stdinActivityPath, L as renderLogTailLines, M as readLogForRender, N as readNotes, O as listRecords, P as readPtysize, R as renderRawLog, S as isSlashCommand, T as isUserTyping, U as restartHintLines, V as resolveReadWindow, W as runSubcommand, X as writeKeysPaced, Y as waitForLogQuiet, Z as writeToIpc, _ as finalizedLines, a as TYPING_WINDOW_MS, b as isExitRequest, c as cmdHelp, d as deriveLiveState, f as deriveLiveStatus, g as extractTaskCounts, h as extractNeedsInput, i as READ_WINDOW_MS, j as readAgentPtysize, k as matchKeyword, l as controlCodeFromName, m as extractMenu, n as MAX_RENDER_BYTES, o as backoffWhileTyping, p as extractBadges, q as stopTipForCli, r as READ_PAGE_DEFAULT, s as cmdDeepseek, t as GRACEFUL_EXIT_COMMANDS, u as cursorAbs, v as isAgentStuck, w as isUnknownManagerToken, x as isPidAlive, y as isBareManagerInvocation, z as renderRawLogLines } from "./subcommands-ujgVZRT3.js";
7
7
  import "./notifyStore-Cbw2ZJ0X.js";
8
8
  import "./webrtcLink-DyCj380i.js";
9
- import "./remotes-iMhdZytp.js";
9
+ import "./remotes-DdAfueOu.js";
10
10
 
11
11
  export { READ_WINDOW_MS, cmdHelp, isBareManagerInvocation, isSubcommand, isUnknownManagerToken, lastReadAt, runSubcommand };
@@ -6,7 +6,7 @@ import { t as loadSharedCliDefaults } from "./configShared-DtHMBCl7.js";
6
6
  import { n as isWorkingScreen, r as parseMenu, t as classifyNeedsInput } from "./needsInput-103zhZ90.js";
7
7
  import { S as postmortemStartedAt, _ as filterSinceSeq, a as getCursor, b as maxSeq, f as readInbox, o as heartbeatWatcher, p as setCursor, r as clearWatcher, s as hostId, v as filterSinceTs, y as filterUnread } from "./notifyStore-Cbw2ZJ0X.js";
8
8
  import { n as isWebrtcSpec } from "./webrtcLink-DyCj380i.js";
9
- import { a as resolveRemoteSpec, i as readRemotes } from "./remotes-iMhdZytp.js";
9
+ import { a as resolveRemoteSpec, i as readRemotes } from "./remotes-DdAfueOu.js";
10
10
  import { spawn } from "child_process";
11
11
  import ms from "ms";
12
12
  import yargs from "yargs";
@@ -892,8 +892,8 @@ async function runSubcommand(argv) {
892
892
  try {
893
893
  switch (sub) {
894
894
  case "ls":
895
- case "list":
896
- case "ps": return await cmdLs(rest);
895
+ case "list": return await cmdLs(rest);
896
+ case "ps": return await (await import("./cmdPs-D7NlwNFV.js")).cmdPs(rest);
897
897
  case "status": return await cmdStatus(rest);
898
898
  case "whoami": return await cmdWhoami(rest);
899
899
  case "result": return await cmdResult(rest);
@@ -904,7 +904,7 @@ async function runSubcommand(argv) {
904
904
  case "tail": return await cmdRead(rest, { mode: "tail" });
905
905
  case "head": return await cmdRead(rest, { mode: "head" });
906
906
  case "hist":
907
- case "history": return await (await import("./hist-BpocAe1N.js")).cmdHist(rest);
907
+ case "history": return await (await import("./hist-BoZPJ2ah.js")).cmdHist(rest);
908
908
  case "send": return await cmdSend(rest);
909
909
  case "msgs": return await cmdMsgs(rest);
910
910
  case "key": return await cmdKey(rest);
@@ -916,7 +916,7 @@ async function runSubcommand(argv) {
916
916
  case "restart": return await cmdRestart(rest);
917
917
  case "note": return await cmdNote(rest);
918
918
  case "todo": {
919
- const { runTodoSubcommand } = await import("./todoCli-c_R7D7Y-.js");
919
+ const { runTodoSubcommand } = await import("./todoCli-BYGZ7_C5.js");
920
920
  return runTodoSubcommand(rest);
921
921
  }
922
922
  case "ch":
@@ -925,47 +925,47 @@ async function runSubcommand(argv) {
925
925
  return cmdCh(rest);
926
926
  }
927
927
  case "term": {
928
- const { cmdTerm } = await import("./terminal-Dm32SXU-.js");
928
+ const { cmdTerm } = await import("./terminal-jJ2YDBDS.js");
929
929
  return cmdTerm(rest);
930
930
  }
931
931
  case "widget": {
932
- const { cmdWidget } = await import("./widget-DXtaX3QR.js");
932
+ const { cmdWidget } = await import("./widget-CRXwzRP7.js");
933
933
  return cmdWidget(rest);
934
934
  }
935
935
  case "mint": {
936
- const { cmdMint } = await import("./widget-DXtaX3QR.js");
936
+ const { cmdMint } = await import("./widget-CRXwzRP7.js");
937
937
  return cmdMint(rest);
938
938
  }
939
939
  case "serve": {
940
- const { cmdServe } = await import("./serve-ucVXOci1.js");
940
+ const { cmdServe } = await import("./serve-DM5-VJPX.js");
941
941
  return cmdServe(rest);
942
942
  }
943
943
  case "tray": {
944
- const { cmdTray } = await import("./trayApp-CZbwLK9t.js");
944
+ const { cmdTray } = await import("./trayApp-CPDWlxfV.js");
945
945
  return cmdTray(rest);
946
946
  }
947
947
  case "setup": {
948
- const { cmdSetup } = await import("./setup-De7uYRZb.js");
948
+ const { cmdSetup } = await import("./setup-DNuxXwYS.js");
949
949
  return cmdSetup(rest);
950
950
  }
951
951
  case "ws": {
952
- const { cmdWs } = await import("./ws-CqlS5JhN.js");
952
+ const { cmdWs } = await import("./ws-DomYQT_I.js");
953
953
  return cmdWs(rest);
954
954
  }
955
955
  case "schedule": {
956
- const { cmdSchedule } = await import("./schedule-DbLpjgl5.js");
956
+ const { cmdSchedule } = await import("./schedule-fgKVzax1.js");
957
957
  return cmdSchedule(rest);
958
958
  }
959
959
  case "remote": {
960
- const { cmdRemote } = await import("./remotes-Dg_JscKk.js");
960
+ const { cmdRemote } = await import("./remotes-M8FbM92D.js");
961
961
  return cmdRemote(rest);
962
962
  }
963
963
  case "expose": {
964
- const { cmdExpose } = await import("./expose-BXn6My6A.js");
964
+ const { cmdExpose } = await import("./expose-DyiZ5AU0.js");
965
965
  return cmdExpose(rest);
966
966
  }
967
967
  case "callback": {
968
- const { cmdCallback } = await import("./callback-Da7MRLh6.js");
968
+ const { cmdCallback } = await import("./callback-D93yB1xz.js");
969
969
  return cmdCallback(rest);
970
970
  }
971
971
  case "reap":
@@ -1048,7 +1048,7 @@ async function cmdHelp(managerCommands = true) {
1048
1048
  const wsLines = managerCommands ? " ay ws ls [--status] list <owner>/<repo>/tree/<branch> workspaces\n ay ws new <owner>/<repo>[@branch] clone/refresh a workspace (ay ws help for more)\n" : ``;
1049
1049
  const self = process.env.AGENT_YES_PID ? await resolveSender() : null;
1050
1050
  const agentSection = self ? await buildAgentContextSection(self) : "";
1051
- process.stdout.write(agentSection + "ay - agent-yes CLI\n\nManagement:\n ay ls [keyword] list running agents\n ay tail [-f] [-n N] <keyword> last N lines (96), -f to follow\n ay read <keyword> [page opts] paginate: --last/--head N, --range A:B,\n --before-line L [--limit N]\n ay cat <keyword> full log\n ay head <keyword> first N lines\n ay hist [-n 6] [--all] [--json] past agent conversations (claude/codex\n transcripts, incl. exited sessions);\n this cwd unless --all\n ay send <keyword> <msg> send a message (keyword '.' = agent in this cwd)\n ay msgs [keyword] [--in|--out] inter-agent message log (sent + received)\n ay ch mk|join|send|read|tail <topic> local-first E2E channels: AI ↔ humans on a topic (ay ch help)\n ay term embed <pid> <script> to embed a live read-only agent terminal in a page (ay term help)\n ay widget ls | read selection|dom read an opted-in page widget's context (selection/DOM) (ay widget help)\n ay mint <target> --caps ... mint a scoped, short-TTL capability token (embeddable in a page)\n ay key <keyword> <key...> send raw keystrokes (down/up/enter/esc/…) — drives menus\n ay select <keyword> <N> pick option N of a needs_input selection menu\n ay attach <keyword> interactive attach (detach: Ctrl-\\)\n ay stop <keyword> graceful shutdown (/exit for claude/codex)\n ay exit <keyword> [reason] graceful shutdown, recording who/why (= 'ay send <kw> exit')\n ay restart <keyword> [--fresh] stop (if live) + relaunch resuming the session; --fresh replays the prompt\n ay status <keyword> agent status snapshot\n ay whoami [--json] (inside an agent) your own registry identity + reply address\n ay result <keyword> [--wait] pull an agent's structured result envelope\n ay result set '<json>' (inside an agent) deposit your result envelope\n ay reap kill process groups leaked by dead agents\n ay deepseek|ds [-- <codex args>] run codex via the local DeepSeek adapter (DEEPSEEK_API_KEY)\n" + wsLines + "\nRemote:\n" + setupLine + " ay schedule <when> <cli> -- <msg> run an agent on a schedule (HH:MM or cron)\n ay serve [--port N] start HTTP API server (prints token)\n ay serve status show serve daemon/server status\n ay remote add <alias> http://<token>@<host>:<port>\n ay remote ls / rm <alias> manage saved remotes\n ay expose <port> share localhost:<port> at https://<id>.agent-yes.com (private link)\n ay callback --expires 7d mint an embeddable message-me widget for one agent\n ay ls <token>@<host>:<port> connect inline (no alias needed)\n ay send <token>@<host>:<port>:<kw> <msg>\n\nRun an agent (naming a CLI is what launches one — bare 'ay' shows this help):\n ay <claude|codex|gemini|...> [options] -- [prompt]\n ay claude -- \"fix the bug in auth.ts\"\n cy [options] -- [prompt] shortcut for 'ay claude' (bare 'cy' starts claude)\n ay claude --help full agent-runner options\n\nLabs (examples at https://github.com/snomiao/agent-yes/tree/main/lab):\n local-role-play/ designer + builder on one machine\n http-remote/ ay serve remote access demo\n p2p-pairing/ libp2p P2P (needs: cargo build --features swarm)\n");
1051
+ process.stdout.write(agentSection + "ay - agent-yes CLI\n\nManagement:\n ay ls [keyword] list running agents\n ay ps [keyword] per-agent CPU/RSS, rolled up over each\n agent's whole process tree, + box vitals\n ay tail [-f] [-n N] <keyword> last N lines (96), -f to follow\n ay read <keyword> [page opts] paginate: --last/--head N, --range A:B,\n --before-line L [--limit N]\n ay cat <keyword> full log\n ay head <keyword> first N lines\n ay hist [-n 6] [--all] [--json] past agent conversations (claude/codex\n transcripts, incl. exited sessions);\n this cwd unless --all\n ay send <keyword> <msg> send a message (keyword '.' = agent in this cwd)\n ay msgs [keyword] [--in|--out] inter-agent message log (sent + received)\n ay ch mk|join|send|read|tail <topic> local-first E2E channels: AI ↔ humans on a topic (ay ch help)\n ay term embed <pid> <script> to embed a live read-only agent terminal in a page (ay term help)\n ay widget ls | read selection|dom read an opted-in page widget's context (selection/DOM) (ay widget help)\n ay mint <target> --caps ... mint a scoped, short-TTL capability token (embeddable in a page)\n ay key <keyword> <key...> send raw keystrokes (down/up/enter/esc/…) — drives menus\n ay select <keyword> <N> pick option N of a needs_input selection menu\n ay attach <keyword> interactive attach (detach: Ctrl-\\)\n ay stop <keyword> graceful shutdown (/exit for claude/codex)\n ay exit <keyword> [reason] graceful shutdown, recording who/why (= 'ay send <kw> exit')\n ay restart <keyword> [--fresh] stop (if live) + relaunch resuming the session; --fresh replays the prompt\n ay status <keyword> agent status snapshot\n ay whoami [--json] (inside an agent) your own registry identity + reply address\n ay result <keyword> [--wait] pull an agent's structured result envelope\n ay result set '<json>' (inside an agent) deposit your result envelope\n ay reap kill process groups leaked by dead agents\n ay deepseek|ds [-- <codex args>] run codex via the local DeepSeek adapter (DEEPSEEK_API_KEY)\n" + wsLines + "\nRemote:\n" + setupLine + " ay schedule <when> <cli> -- <msg> run an agent on a schedule (HH:MM or cron)\n ay serve [--port N] start HTTP API server (prints token)\n ay serve status show serve daemon/server status\n ay remote add <alias> http://<token>@<host>:<port>\n ay remote ls / rm <alias> manage saved remotes\n ay expose <port> share localhost:<port> at https://<id>.agent-yes.com (private link)\n ay callback --expires 7d mint an embeddable message-me widget for one agent\n ay ls <token>@<host>:<port> connect inline (no alias needed)\n ay send <token>@<host>:<port>:<kw> <msg>\n\nRun an agent (naming a CLI is what launches one — bare 'ay' shows this help):\n ay <claude|codex|gemini|...> [options] -- [prompt]\n ay claude -- \"fix the bug in auth.ts\"\n cy [options] -- [prompt] shortcut for 'ay claude' (bare 'cy' starts claude)\n ay claude --help full agent-runner options\n\nLabs (examples at https://github.com/snomiao/agent-yes/tree/main/lab):\n local-role-play/ designer + builder on one machine\n http-remote/ ay serve remote access demo\n p2p-pairing/ libp2p P2P (needs: cargo build --features swarm)\n");
1052
1052
  return 0;
1053
1053
  }
1054
1054
  function matchKeyword(record, keyword) {
@@ -1428,7 +1428,7 @@ async function fetchRemoteRecordsRaw(url, token, opts) {
1428
1428
  let base = url;
1429
1429
  let bearer = token;
1430
1430
  if (isWebrtcSpec(url)) {
1431
- const { startWebrtcBridge } = await import("./webrtcRemote-BDg0jjTs.js");
1431
+ const { startWebrtcBridge } = await import("./webrtcRemote-Bl8eowma.js");
1432
1432
  bridge = await startWebrtcBridge(url);
1433
1433
  base = bridge.baseUrl;
1434
1434
  bearer = bridge.token;
@@ -1723,7 +1723,7 @@ async function gitStatusOnce(cwd, rootCache, infoCache) {
1723
1723
  return info;
1724
1724
  }
1725
1725
  async function cmdLs(rest) {
1726
- const y = yargs(rest).usage("Usage: ay ls [keyword] [options]\n ay list [keyword] [options]\n ay ps [keyword] [options]\n\nList running agents. Optionally filter by keyword (pid, cwd substring, or prompt substring).").option("all", {
1726
+ const y = yargs(rest).usage("Usage: ay ls [keyword] [options]\n ay list [keyword] [options]\n\nList running agents. Optionally filter by keyword (pid, cwd substring, or prompt substring).\nFor per-agent CPU/memory usage, see `ay ps`.").option("all", {
1727
1727
  type: "boolean",
1728
1728
  default: false,
1729
1729
  description: "Show all agents including exited ones"
@@ -3465,7 +3465,7 @@ async function cmdAttach(rest) {
3465
3465
  const winsizeDir = path.join(ayHome, "winsize");
3466
3466
  await mkdir(winsizeDir, { recursive: true });
3467
3467
  const winsizePath = path.join(winsizeDir, String(record.pid));
3468
- const { resolveDaemonHttpBase, loadTokenReadOnly } = await import("./serve-ucVXOci1.js");
3468
+ const { resolveDaemonHttpBase, loadTokenReadOnly } = await import("./serve-DM5-VJPX.js");
3469
3469
  const daemonBase = await resolveDaemonHttpBase().catch(() => null);
3470
3470
  const daemonToken = daemonBase ? await loadTokenReadOnly().catch(() => null) ?? "" : "";
3471
3471
  const capViewer = `attach:${process.pid}`;
@@ -4175,7 +4175,7 @@ async function cmdNotify(rest) {
4175
4175
  }
4176
4176
  const ensure = async () => {
4177
4177
  if (!argv["ensure-daemon"]) return;
4178
- const { ensureDaemon } = await import("./notifyDaemon-BFzqcdN1.js");
4178
+ const { ensureDaemon } = await import("./notifyDaemon-B-vCwFi3.js");
4179
4179
  await ensureDaemon().catch(() => null);
4180
4180
  };
4181
4181
  await heartbeatWatcher(parent, selfStartedAt);
@@ -4249,7 +4249,7 @@ async function cmdNotifyCursor(args) {
4249
4249
  }
4250
4250
  async function cmdNotifyd(rest) {
4251
4251
  const sub = rest[0] ?? "status";
4252
- const daemon = await import("./notifyDaemon-BFzqcdN1.js");
4252
+ const daemon = await import("./notifyDaemon-B-vCwFi3.js");
4253
4253
  switch (sub) {
4254
4254
  case "run": return daemon.runDaemon();
4255
4255
  case "once": return daemon.runDaemon({ once: true });
@@ -4275,5 +4275,5 @@ async function cmdNotifyd(rest) {
4275
4275
  }
4276
4276
 
4277
4277
  //#endregion
4278
- export { menuSelectKeys as A, resolveOne as B, isSubcommand as C, lastStdinAt as D, lastReadAt as E, recentMessageEdges as F, snapshotStatus as G, resolveResumeArgs as H, recentReadEdges as I, submitAndConfirm as J, stdinActivityPath as K, renderLogTailLines as L, readLogForRender as M, readNotes as N, listRecords as O, readPtysize as P, TYPING_BADGE as Q, renderRawLog as R, isSlashCommand as S, isUserTyping as T, restartHintLines as U, resolveReadWindow as V, runSubcommand as W, writeKeysPaced as X, waitForLogQuiet as Y, writeToIpc as Z, finalizedLines as _, TYPING_WINDOW_MS as a, isExitRequest as b, cmdHelp as c, deriveLiveState as d, deriveLiveStatus as f, extractTaskCounts as g, extractNeedsInput as h, READ_WINDOW_MS as i, readAgentPtysize as j, matchKeyword as k, controlCodeFromName as l, extractMenu as m, MAX_RENDER_BYTES as n, backoffWhileTyping as o, extractBadges as p, stopTipForCli as q, READ_PAGE_DEFAULT as r, cmdDeepseek as s, GRACEFUL_EXIT_COMMANDS as t, cursorAbs as u, isAgentStuck as v, isUnknownManagerToken as w, isPidAlive as x, isBareManagerInvocation as y, renderRawLogLines as z };
4279
- //# sourceMappingURL=subcommands-DtF31RoW.js.map
4278
+ export { buildAgentForest as $, menuSelectKeys as A, resolveOne as B, isSubcommand as C, lastStdinAt as D, lastReadAt as E, recentMessageEdges as F, snapshotStatus as G, resolveResumeArgs as H, recentReadEdges as I, submitAndConfirm as J, stdinActivityPath as K, renderLogTailLines as L, readLogForRender as M, readNotes as N, listRecords as O, readPtysize as P, TYPING_BADGE as Q, renderRawLog as R, isSlashCommand as S, isUserTyping as T, restartHintLines as U, resolveReadWindow as V, runSubcommand as W, writeKeysPaced as X, waitForLogQuiet as Y, writeToIpc as Z, finalizedLines as _, TYPING_WINDOW_MS as a, isExitRequest as b, cmdHelp as c, deriveLiveState as d, flattenForest as et, deriveLiveStatus as f, extractTaskCounts as g, extractNeedsInput as h, READ_WINDOW_MS as i, readAgentPtysize as j, matchKeyword as k, controlCodeFromName as l, extractMenu as m, MAX_RENDER_BYTES as n, backoffWhileTyping as o, extractBadges as p, stopTipForCli as q, READ_PAGE_DEFAULT as r, cmdDeepseek as s, GRACEFUL_EXIT_COMMANDS as t, cursorAbs as u, isAgentStuck as v, isUnknownManagerToken as w, isPidAlive as x, isBareManagerInvocation as y, renderRawLogLines as z };
4279
+ //# sourceMappingURL=subcommands-ujgVZRT3.js.map
@@ -88,4 +88,4 @@ function linkBunBinsToSystemPath(opts) {
88
88
 
89
89
  //#endregion
90
90
  export { linkBunBinsToSystemPath };
91
- //# sourceMappingURL=systemPathLink-7TFPwJna.js.map
91
+ //# sourceMappingURL=systemPathLink-BHv1I6wh.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-ucVXOci1.js");
101
+ const { mintScopedTermToken } = await import("./serve-DM5-VJPX.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-Dm32SXU-.js.map
138
+ //# sourceMappingURL=terminal-jJ2YDBDS.js.map
@@ -456,4 +456,4 @@ async function runTodoSubcommand(rest0) {
456
456
 
457
457
  //#endregion
458
458
  export { runTodoSubcommand };
459
- //# sourceMappingURL=todoCli-c_R7D7Y-.js.map
459
+ //# sourceMappingURL=todoCli-BYGZ7_C5.js.map
@@ -187,4 +187,4 @@ async function startTray() {
187
187
 
188
188
  //#endregion
189
189
  export { ensureTray, startTray };
190
- //# sourceMappingURL=tray-DZnGjJBK.js.map
190
+ //# sourceMappingURL=tray-CzGs9-ch.js.map
@@ -0,0 +1,5 @@
1
+ import "./versionChecker-D49xkrMv.js";
2
+ import "./rustBinary-Bf9514x8.js";
3
+ import { a as trayHiddenMarker, i as launchTray, n as hasDesktop, r as isTrayHidden, t as cmdTray } from "./trayApp-DbV2E8dZ.js";
4
+
5
+ export { cmdTray };
@@ -1,4 +1,4 @@
1
- import { n as findTrayLauncher } from "./rustBinary-JGNROWfY.js";
1
+ import { n as findTrayLauncher } from "./rustBinary-Bf9514x8.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-CfkPG0wy.js.map
100
+ //# sourceMappingURL=trayApp-DbV2E8dZ.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-CJgW9DHY.js";
3
+ import { r as getInstalledPackage } from "./versionChecker-D49xkrMv.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";
@@ -1598,10 +1598,10 @@ async function agentYes({ cli, cliArgs = [], skipPermissions = false, prompt, ro
1598
1598
  })();
1599
1599
  const originalPrompt = prompt;
1600
1600
  if (prompt && inheritedParentPid) try {
1601
- const { resolveSpawner } = await import("./parentLink-B798ASCW.js");
1601
+ const { resolveSpawner } = await import("./parentLink-CQrn998L.js");
1602
1602
  const spawner = await resolveSpawner(inheritedParentPid);
1603
1603
  if (spawner) {
1604
- const { buildInitMsg } = await import("./initMsg-BjRseolL.js");
1604
+ const { buildInitMsg } = await import("./initMsg-D8cmdY76.js");
1605
1605
  prompt = buildInitMsg(prompt, spawner, randomBytes(4).toString("hex"));
1606
1606
  }
1607
1607
  } catch (error) {
@@ -2068,7 +2068,7 @@ async function agentYes({ cli, cliArgs = [], skipPermissions = false, prompt, ro
2068
2068
  }, 100);
2069
2069
  const cleanupHeartbeat = () => clearInterval(heartbeatInterval);
2070
2070
  shell.onExit(cleanupHeartbeat);
2071
- const { startParentPingLoop } = await import("./parentPingLoop-BIKxzbPH.js");
2071
+ const { startParentPingLoop } = await import("./parentPingLoop-CVD0sREv.js");
2072
2072
  const parentPingLoop = startParentPingLoop({
2073
2073
  parentPid,
2074
2074
  selfWrapperPid: process.pid,
@@ -2332,4 +2332,4 @@ function sleep(ms) {
2332
2332
 
2333
2333
  //#endregion
2334
2334
  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 };
2335
- //# sourceMappingURL=ts-CGtoPER5.js.map
2335
+ //# sourceMappingURL=ts-CQIqcW7_.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.266.0";
10
+ var version = "1.267.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-CJgW9DHY.js.map
218
+ //# sourceMappingURL=versionChecker-D49xkrMv.js.map
@@ -256,4 +256,4 @@ async function startWebrtcBridge(link) {
256
256
 
257
257
  //#endregion
258
258
  export { startWebrtcBridge };
259
- //# sourceMappingURL=webrtcRemote-BDg0jjTs.js.map
259
+ //# sourceMappingURL=webrtcRemote-Bl8eowma.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-ucVXOci1.js");
31
+ const { resolveDaemonHttpBase, loadTokenReadOnly } = await import("./serve-DM5-VJPX.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-ucVXOci1.js");
189
+ const { mintScopedTermToken } = await import("./serve-DM5-VJPX.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-DXtaX3QR.js.map
205
+ //# sourceMappingURL=widget-CRXwzRP7.js.map