agent-yes 1.238.2 → 1.239.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 (49) hide show
  1. package/dist/{SUPPORTED_CLIS-C2CFOND-.js → SUPPORTED_CLIS-B1KpRTn6.js} +2 -2
  2. package/dist/{SUPPORTED_CLIS-DmflHNKL.js → SUPPORTED_CLIS-BAjpiDmM.js} +3 -3
  3. package/dist/{agentShare-CyDqjBM_.js → agentShare-6AJaJhF_.js} +5 -5
  4. package/dist/{browser-BRMyG4JA.js → browser-CEP6GcDq.js} +2 -2
  5. package/dist/{callback-D-kUTlR6.js → callback-DWCY5gUu.js} +5 -5
  6. package/dist/{callback-Bb5dBd02.js → callback-FXxZhg1N.js} +5 -5
  7. package/dist/{callbackCore-CvmGSvrj.js → callbackCore-Cd4mYekY.js} +1 -1
  8. package/dist/{callbackCore-DAYcemCC.js → callbackCore-Dd28_cBM.js} +1 -1
  9. package/dist/{channels-CMNMFJlY.js → channels-H4PBBker.js} +2 -2
  10. package/dist/chunk-CNLfOXRf.js +43 -0
  11. package/dist/cli.js +11 -11
  12. package/dist/{cwdConflictWarn-DWHWlBxS.js → cwdConflictWarn-DEJHqTZ4.js} +1 -1
  13. package/dist/{cwdDeprecation-Cd8Ykm2t.js → cwdDeprecation-Cd-4t7lI.js} +1 -1
  14. package/dist/{expose-DROTwbyU.js → expose-Ct28jckQ.js} +1 -1
  15. package/dist/{forkNested-DqPisz9d.js → forkNested-BW2OmXjA.js} +1 -1
  16. package/dist/html2canvas-CWk6nh1H.js +6718 -0
  17. package/dist/index.js +2 -2
  18. package/dist/{nodeRuntime-Bf88NPqj.js → nodeRuntime-BtL6Oo1o.js} +1 -1
  19. package/dist/{notifyDaemon-BjyUCpbx.js → notifyDaemon-DrLqT7fy.js} +4 -4
  20. package/dist/{openBrowser-ChLcPELv.js → openBrowser-DifNZwyn.js} +1 -1
  21. package/dist/{remotes-Bem6WIyU.js → remotes-BxQnNxQv.js} +3 -3
  22. package/dist/{remotes-BClMgQZW.js → remotes-DNLZlk9U.js} +2 -2
  23. package/dist/{rustBinary-CCi6Sqh5.js → rustBinary-BDoH3nyt.js} +2 -2
  24. package/dist/{schedule-CHSe24Je.js → schedule-Br--S5qc.js} +6 -6
  25. package/dist/{serve-CuMtnSLs.js → serve-DyQ-oFbD.js} +28 -27
  26. package/dist/{setup-wPtsNZZ5.js → setup-BEwSgz1-.js} +3 -3
  27. package/dist/{share-B9u8-I3y.js → share-BGl3wutJ.js} +1 -1
  28. package/dist/{share--aHaPSjt.js → share-DchOdgBz.js} +1 -1
  29. package/dist/{spawnGate-Bo_LFgt9.js → spawnGate-BxgS_GlF.js} +2 -2
  30. package/dist/{spawnGate-CuWCd2im.js → spawnGate-Dc3odVqo.js} +1 -1
  31. package/dist/{subcommands-z2YriUNK.js → subcommands-CCsfQjn6.js} +3 -3
  32. package/dist/{subcommands-CuvZqZTM.js → subcommands-CImOH-GZ.js} +18 -18
  33. package/dist/{terminal-CBbBQMcT.js → terminal-oxQ_KbyG.js} +2 -2
  34. package/dist/terminal.js +1 -1
  35. package/dist/{todoCli-CNNR9Czu.js → todoCli-DhD3G8Et.js} +1 -1
  36. package/dist/{tray-D5qFaqlS.js → tray-DpswPpBI.js} +1 -1
  37. package/dist/{ts-Cnhsw8GN.js → ts-Dg43iOPE.js} +3 -3
  38. package/dist/{versionChecker-CBzYImFt.js → versionChecker-D8DinCka.js} +2 -2
  39. package/dist/{webrtcLink-VQhWmKOw.js → webrtcLink-BMYneHbu.js} +1 -1
  40. package/dist/{webrtcRemote-DJDtCTpj.js → webrtcRemote-D9ENKmzx.js} +2 -2
  41. package/dist/{widget-j4TWqwpU.js → widget-CBPw56Wj.js} +29 -5
  42. package/dist/widget.js +124 -0
  43. package/dist/widgets.js +1 -1
  44. package/dist/{workspaceConfig-B7HaQ-MI.js → workspaceConfig-DOHygA2x.js} +1 -1
  45. package/dist/{ws-53rrEEbz.js → ws-RYCFiAx-.js} +5 -5
  46. package/package.json +4 -3
  47. package/ts/serve.ts +3 -1
  48. package/ts/widget.ts +36 -2
  49. package/dist/chunk-cZBX9HZv.js +0 -20
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import "./logger-CDIsZ-Pp.js";
2
- import "./versionChecker-CBzYImFt.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-Cnhsw8GN.js";
2
+ import "./versionChecker-D8DinCka.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-Dg43iOPE.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";
@@ -53,4 +53,4 @@ async function ensureNodeRuntime(which = Bun.which) {
53
53
 
54
54
  //#endregion
55
55
  export { liveEnv as n, ensureNodeRuntime as t };
56
- //# sourceMappingURL=nodeRuntime-Bf88NPqj.js.map
56
+ //# sourceMappingURL=nodeRuntime-BtL6Oo1o.js.map
@@ -3,9 +3,9 @@ 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-CuvZqZTM.js";
7
- import "./webrtcLink-VQhWmKOw.js";
8
- import "./remotes-Bem6WIyU.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-CImOH-GZ.js";
7
+ import "./webrtcLink-BMYneHbu.js";
8
+ import "./remotes-BxQnNxQv.js";
9
9
  import { mkdir, readFile, rename, rm, stat, writeFile } from "fs/promises";
10
10
  import { randomUUID } from "node:crypto";
11
11
  import { execFile } from "node:child_process";
@@ -589,4 +589,4 @@ async function ensureDaemon() {
589
589
 
590
590
  //#endregion
591
591
  export { daemonStatus, ensureDaemon, requestDaemonStop, runDaemon };
592
- //# sourceMappingURL=notifyDaemon-BjyUCpbx.js.map
592
+ //# sourceMappingURL=notifyDaemon-DrLqT7fy.js.map
@@ -68,4 +68,4 @@ async function offerOpenInBrowser(url, prompt = "Open in browser now? [Y/n] ") {
68
68
 
69
69
  //#endregion
70
70
  export { offerOpenInBrowser };
71
- //# sourceMappingURL=openBrowser-ChLcPELv.js.map
71
+ //# sourceMappingURL=openBrowser-DifNZwyn.js.map
@@ -1,4 +1,4 @@
1
- import { n as isWebrtcSpec } from "./webrtcLink-VQhWmKOw.js";
1
+ import { n as isWebrtcSpec } from "./webrtcLink-BMYneHbu.js";
2
2
  import { mkdir, readFile, writeFile } from "fs/promises";
3
3
  import { homedir } from "os";
4
4
  import path from "path";
@@ -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-DJDtCTpj.js");
89
+ const { startWebrtcBridge } = await import("./webrtcRemote-D9ENKmzx.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-Bem6WIyU.js.map
176
+ //# sourceMappingURL=remotes-BxQnNxQv.js.map
@@ -1,5 +1,5 @@
1
1
  import "./e2e-CEIdJGZ7.js";
2
- import "./webrtcLink-VQhWmKOw.js";
3
- import { a as resolveRemoteSpec, i as readRemotes, n as deleteRemoteAlias, o as writeRemoteAlias, r as parseDirectRemoteSpec, t as cmdRemote } from "./remotes-Bem6WIyU.js";
2
+ import "./webrtcLink-BMYneHbu.js";
3
+ import { a as resolveRemoteSpec, i as readRemotes, n as deleteRemoteAlias, o as writeRemoteAlias, r as parseDirectRemoteSpec, t as cmdRemote } from "./remotes-BxQnNxQv.js";
4
4
 
5
5
  export { cmdRemote };
@@ -1,4 +1,4 @@
1
- import { r as getInstalledPackage } from "./versionChecker-CBzYImFt.js";
1
+ import { r as getInstalledPackage } from "./versionChecker-D8DinCka.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-CCi6Sqh5.js.map
228
+ //# sourceMappingURL=rustBinary-BDoH3nyt.js.map
@@ -1,14 +1,14 @@
1
1
  import "./logger-CDIsZ-Pp.js";
2
- import "./versionChecker-CBzYImFt.js";
3
- import "./ts-Cnhsw8GN.js";
2
+ import "./versionChecker-D8DinCka.js";
3
+ import "./ts-Dg43iOPE.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-C2CFOND-.js";
10
- import { d as resolveSpawnCwd } from "./workspaceConfig-B7HaQ-MI.js";
11
- import { n as liveEnv, t as ensureNodeRuntime } from "./nodeRuntime-Bf88NPqj.js";
9
+ import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-B1KpRTn6.js";
10
+ import { d as resolveSpawnCwd } from "./workspaceConfig-DOHygA2x.js";
11
+ import { n as liveEnv, t as ensureNodeRuntime } from "./nodeRuntime-BtL6Oo1o.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-CHSe24Je.js.map
156
+ //# sourceMappingURL=schedule-Br--S5qc.js.map
@@ -1,7 +1,7 @@
1
1
  import "./logger-CDIsZ-Pp.js";
2
- import { r as getInstalledPackage } from "./versionChecker-CBzYImFt.js";
3
- import { t as findSpawnHiddenLauncher } from "./rustBinary-CCi6Sqh5.js";
4
- import { i as answerAsk, l as CLAUDE_SESSION_PIN_ENV, o as listAsks } from "./ts-Cnhsw8GN.js";
2
+ import { r as getInstalledPackage } from "./versionChecker-D8DinCka.js";
3
+ import { t as findSpawnHiddenLauncher } from "./rustBinary-BDoH3nyt.js";
4
+ import { i as answerAsk, l as CLAUDE_SESSION_PIN_ENV, o as listAsks } from "./ts-Dg43iOPE.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,15 +11,15 @@ 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-C2CFOND-.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-CuvZqZTM.js";
16
- import "./webrtcLink-VQhWmKOw.js";
17
- import "./remotes-Bem6WIyU.js";
18
- import { i as frameVisitorMessage, s as verifyCapability, t as MAX_CALLBACK_MSG_BYTES } from "./callbackCore-DAYcemCC.js";
19
- import { n as isCallbackRevoked, r as loadCallbackSecretReadOnly } from "./callback-D-kUTlR6.js";
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-B7HaQ-MI.js";
21
- import { n as liveEnv, t as ensureNodeRuntime } from "./nodeRuntime-Bf88NPqj.js";
22
- import { r as spawnRejectionReason } from "./spawnGate-Bo_LFgt9.js";
14
+ import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-B1KpRTn6.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-CImOH-GZ.js";
16
+ import "./webrtcLink-BMYneHbu.js";
17
+ import "./remotes-BxQnNxQv.js";
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-DWCY5gUu.js";
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
+ import { n as liveEnv, t as ensureNodeRuntime } from "./nodeRuntime-BtL6Oo1o.js";
22
+ import { r as spawnRejectionReason } from "./spawnGate-BxgS_GlF.js";
23
23
  import yargs from "yargs";
24
24
  import { appendFile, mkdir, open, readFile, rename, rm, stat, unlink, writeFile } from "fs/promises";
25
25
  import { arch, cpus, freemem, homedir, hostname, loadavg, platform, totalmem, uptime, userInfo } from "os";
@@ -1145,7 +1145,7 @@ async function cmdServeDaemon(sub, args) {
1145
1145
  let shareLink = null;
1146
1146
  let shareLinkMinted = false;
1147
1147
  if (webrtcDaemon) try {
1148
- const { loadOrCreateShareRoom, shareLinkFromRoomUrl } = await import("./share--aHaPSjt.js");
1148
+ const { loadOrCreateShareRoom, shareLinkFromRoomUrl } = await import("./share-DchOdgBz.js");
1149
1149
  const explicit = explicitWebrtcUrl(effArgs);
1150
1150
  shareLink = shareLinkFromRoomUrl(explicit ?? await loadOrCreateShareRoom());
1151
1151
  shareLinkMinted = !explicit;
@@ -1154,7 +1154,7 @@ async function cmdServeDaemon(sub, args) {
1154
1154
  if (!webrtcDaemon) return;
1155
1155
  if (shareLink) {
1156
1156
  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` : ``));
1157
- const { offerOpenInBrowser } = await import("./openBrowser-ChLcPELv.js");
1157
+ const { offerOpenInBrowser } = await import("./openBrowser-DifNZwyn.js");
1158
1158
  await offerOpenInBrowser(shareLink);
1159
1159
  } 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");
1160
1160
  };
@@ -2246,7 +2246,7 @@ Options:
2246
2246
  }
2247
2247
  });
2248
2248
  if (req.method === "GET" && p === "/api/ws") {
2249
- const ws = await import("./ws-53rrEEbz.js");
2249
+ const ws = await import("./ws-RYCFiAx-.js");
2250
2250
  try {
2251
2251
  await ws.loadProvision();
2252
2252
  } catch (e) {
@@ -2266,7 +2266,7 @@ Options:
2266
2266
  if (req.method === "GET" && p === "/api/ws/status") {
2267
2267
  const dirRaw = url.searchParams.get("path");
2268
2268
  if (!dirRaw) return new Response("missing ?path=<workspace dir>", { status: 400 });
2269
- const ws = await import("./ws-53rrEEbz.js");
2269
+ const ws = await import("./ws-RYCFiAx-.js");
2270
2270
  let prov;
2271
2271
  try {
2272
2272
  prov = await ws.loadProvision();
@@ -2443,6 +2443,7 @@ Options:
2443
2443
  const push = widgetPushers.get(vid);
2444
2444
  if (!push) return new Response("viewer offline", { status: 409 });
2445
2445
  const cmdId = `c${++widgetCmdSeq}_${Date.now()}`;
2446
+ const readTimeoutMs = b.kind === "screenshot" ? 3e4 : 1e4;
2446
2447
  const result = await new Promise((resolve) => {
2447
2448
  const timer = setTimeout(() => {
2448
2449
  widgetWaiters.delete(cmdId);
@@ -2450,7 +2451,7 @@ Options:
2450
2451
  ok: false,
2451
2452
  error: "timeout"
2452
2453
  });
2453
- }, 1e4);
2454
+ }, readTimeoutMs);
2454
2455
  widgetWaiters.set(cmdId, (r) => {
2455
2456
  clearTimeout(timer);
2456
2457
  resolve(r);
@@ -2988,7 +2989,7 @@ Options:
2988
2989
  const perm = body.perm ?? "r";
2989
2990
  if (perm !== "r" && perm !== "rw") return new Response(`invalid perm ${perm} (want r or rw)`, { status: 400 });
2990
2991
  try {
2991
- const { createScopedShare } = await import("./agentShare-CyDqjBM_.js");
2992
+ const { createScopedShare } = await import("./agentShare-6AJaJhF_.js");
2992
2993
  const share = await createScopedShare({
2993
2994
  agent: body.agent,
2994
2995
  perm,
@@ -3003,12 +3004,12 @@ Options:
3003
3004
  }
3004
3005
  }
3005
3006
  if (req.method === "GET" && p === "/api/shares") {
3006
- const { listShares } = await import("./agentShare-CyDqjBM_.js");
3007
+ const { listShares } = await import("./agentShare-6AJaJhF_.js");
3007
3008
  return Response.json(listShares());
3008
3009
  }
3009
3010
  const revokeM = /^\/api\/share\/([^/]+)$/.exec(p);
3010
3011
  if (req.method === "DELETE" && revokeM) {
3011
- const { revokeShare } = await import("./agentShare-CyDqjBM_.js");
3012
+ const { revokeShare } = await import("./agentShare-6AJaJhF_.js");
3012
3013
  const ok = revokeShare(decodeURIComponent(revokeM[1]));
3013
3014
  return new Response(ok ? "revoked" : "no such share", { status: ok ? 200 : 404 });
3014
3015
  }
@@ -3022,7 +3023,7 @@ Options:
3022
3023
  const port = Number(body.port);
3023
3024
  if (!Number.isInteger(port) || port < 1 || port > 65535) return new Response("valid port required", { status: 400 });
3024
3025
  try {
3025
- const { ensureExposure } = await import("./expose-DROTwbyU.js");
3026
+ const { ensureExposure } = await import("./expose-Ct28jckQ.js");
3026
3027
  const h = await ensureExposure(port, body.relay);
3027
3028
  return Response.json({
3028
3029
  id: h.id,
@@ -3036,12 +3037,12 @@ Options:
3036
3037
  }
3037
3038
  }
3038
3039
  if (req.method === "GET" && p === "/api/exposes") {
3039
- const { listExposures } = await import("./expose-DROTwbyU.js");
3040
+ const { listExposures } = await import("./expose-Ct28jckQ.js");
3040
3041
  return Response.json(listExposures());
3041
3042
  }
3042
3043
  const unexposeM = /^\/api\/expose\/(\d+)$/.exec(p);
3043
3044
  if (req.method === "DELETE" && unexposeM) {
3044
- const { stopExposure } = await import("./expose-DROTwbyU.js");
3045
+ const { stopExposure } = await import("./expose-Ct28jckQ.js");
3045
3046
  const ok = stopExposure(Number(unexposeM[1]));
3046
3047
  return new Response(ok ? "revoked" : "no such exposure", { status: ok ? 200 : 404 });
3047
3048
  }
@@ -3260,7 +3261,7 @@ Options:
3260
3261
  const webrtcVal = argv.webrtc ?? argv.share;
3261
3262
  const explicitUrl = typeof webrtcVal === "string" && webrtcVal.startsWith("webrtc://") ? webrtcVal : void 0;
3262
3263
  try {
3263
- const { startShare, loadOrCreateShareRoom } = await import("./share--aHaPSjt.js");
3264
+ const { startShare, loadOrCreateShareRoom } = await import("./share-DchOdgBz.js");
3264
3265
  const linkFile = path.join(process.env.AGENT_YES_HOME ?? path.join(homedir(), ".agent-yes"), ".share-link");
3265
3266
  const announce = async (room, link, rotated) => {
3266
3267
  const lead = rotated ? "the room was rejected by signaling (stale generation) — rotated to a fresh link" : "shared over WebRTC — open this link (the token is eaten from the URL on open)";
@@ -3268,7 +3269,7 @@ Options:
3268
3269
  const persistNote = explicitUrl ? "\n" : ` (persistent room — same link across restarts; delete ~/.agent-yes/.share-room to rotate)\n\n`;
3269
3270
  process.stdout.write(`${wantHttp ? "\n" : ""}${lead}:\n ${link}\n` + persistNote);
3270
3271
  if (!rotated) {
3271
- const { offerOpenInBrowser } = await import("./openBrowser-ChLcPELv.js");
3272
+ const { offerOpenInBrowser } = await import("./openBrowser-DifNZwyn.js");
3272
3273
  await offerOpenInBrowser(link);
3273
3274
  }
3274
3275
  } else {
@@ -3310,7 +3311,7 @@ Options:
3310
3311
  const shutdown = (resolve) => {
3311
3312
  if (heartbeat) clearInterval(heartbeat);
3312
3313
  closeShare?.();
3313
- import("./agentShare-CyDqjBM_.js").then((m) => m.revokeAllShares()).catch(() => {});
3314
+ import("./agentShare-6AJaJhF_.js").then((m) => m.revokeAllShares()).catch(() => {});
3314
3315
  server?.stop();
3315
3316
  Promise.resolve(releaseHostLock?.()).catch(() => {}).then(resolve);
3316
3317
  };
@@ -3323,4 +3324,4 @@ Options:
3323
3324
 
3324
3325
  //#endregion
3325
3326
  export { cmdServe, loadTokenReadOnly, mintScopedTermToken, resolveDaemonHttpBase, resolveLocalServeUrl };
3326
- //# sourceMappingURL=serve-CuMtnSLs.js.map
3327
+ //# sourceMappingURL=serve-DyQ-oFbD.js.map
@@ -1,4 +1,4 @@
1
- import { f as setWorkspaceRoot, s as getWorkspaceRoot } from "./workspaceConfig-B7HaQ-MI.js";
1
+ import { f as setWorkspaceRoot, s as getWorkspaceRoot } from "./workspaceConfig-DOHygA2x.js";
2
2
  import { existsSync } from "node:fs";
3
3
  import { stdin, stdout } from "node:process";
4
4
  import { createInterface } from "node:readline/promises";
@@ -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-CuMtnSLs.js");
35
+ const { cmdServe } = await import("./serve-DyQ-oFbD.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-wPtsNZZ5.js.map
45
+ //# sourceMappingURL=setup-BEwSgz1-.js.map
@@ -627,4 +627,4 @@ async function startShare(opts) {
627
627
 
628
628
  //#endregion
629
629
  export { startShare as a, shareLinkFromRoomUrl as i, importRTC as n, loadOrCreateShareRoom as r, getIceServers as t };
630
- //# sourceMappingURL=share-B9u8-I3y.js.map
630
+ //# sourceMappingURL=share-BGl3wutJ.js.map
@@ -1,4 +1,4 @@
1
1
  import "./e2e-CEIdJGZ7.js";
2
- import { a as startShare, i as shareLinkFromRoomUrl, n as importRTC, r as loadOrCreateShareRoom, t as getIceServers } from "./share-B9u8-I3y.js";
2
+ import { a as startShare, i as shareLinkFromRoomUrl, n as importRTC, r as loadOrCreateShareRoom, t as getIceServers } from "./share-BGl3wutJ.js";
3
3
 
4
4
  export { getIceServers, importRTC, loadOrCreateShareRoom, shareLinkFromRoomUrl, startShare };
@@ -1,5 +1,5 @@
1
1
  import { i as readGlobalPids } from "./globalPidIndex-D9DOSd-c.js";
2
- import { n as getMinFreeMb, o as getSpawnWaitMs, t as getMaxAgents } from "./workspaceConfig-B7HaQ-MI.js";
2
+ import { n as getMinFreeMb, o as getSpawnWaitMs, t as getMaxAgents } from "./workspaceConfig-DOHygA2x.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-Bo_LFgt9.js.map
107
+ //# sourceMappingURL=spawnGate-BxgS_GlF.js.map
@@ -1,5 +1,5 @@
1
1
  import "./logger-CDIsZ-Pp.js";
2
2
  import "./globalPidIndex-D9DOSd-c.js";
3
- import { i as waitForSpawnCapacity, n as spawnGateEnabled, r as spawnRejectionReason, t as memAvailableMb } from "./spawnGate-Bo_LFgt9.js";
3
+ import { i as waitForSpawnCapacity, n as spawnGateEnabled, r as spawnRejectionReason, t as memAvailableMb } from "./spawnGate-BxgS_GlF.js";
4
4
 
5
5
  export { waitForSpawnCapacity };
@@ -3,8 +3,8 @@ 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-CuvZqZTM.js";
7
- import "./webrtcLink-VQhWmKOw.js";
8
- import "./remotes-Bem6WIyU.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-CImOH-GZ.js";
7
+ import "./webrtcLink-BMYneHbu.js";
8
+ import "./remotes-BxQnNxQv.js";
9
9
 
10
10
  export { cmdHelp, isSubcommand, isUnknownManagerToken, runSubcommand };
@@ -4,8 +4,8 @@ import { t as agentYesHome } from "./agentYesHome-CtmsY6I-.js";
4
4
  import { a as updateGlobalPidStatus, i as readGlobalPids } from "./globalPidIndex-D9DOSd-c.js";
5
5
  import { a as recordOutbox, i as recordMessage, n as readMailbox, t as partyMatches } from "./messageLog-C-YIzhRj.js";
6
6
  import { t as loadSharedCliDefaults } from "./configShared-9wVlbPyC.js";
7
- import { n as isWebrtcSpec } from "./webrtcLink-VQhWmKOw.js";
8
- import { a as resolveRemoteSpec, i as readRemotes } from "./remotes-Bem6WIyU.js";
7
+ import { n as isWebrtcSpec } from "./webrtcLink-BMYneHbu.js";
8
+ import { a as resolveRemoteSpec, i as readRemotes } from "./remotes-BxQnNxQv.js";
9
9
  import ms from "ms";
10
10
  import yargs from "yargs";
11
11
  import { appendFile, mkdir, open, readFile, readdir, rename, rm, stat, writeFile } from "fs/promises";
@@ -1258,52 +1258,52 @@ async function runSubcommand(argv) {
1258
1258
  case "restart": return await cmdRestart(rest);
1259
1259
  case "note": return await cmdNote(rest);
1260
1260
  case "todo": {
1261
- const { runTodoSubcommand } = await import("./todoCli-CNNR9Czu.js");
1261
+ const { runTodoSubcommand } = await import("./todoCli-DhD3G8Et.js");
1262
1262
  return runTodoSubcommand(rest);
1263
1263
  }
1264
1264
  case "ch":
1265
1265
  case "channels": {
1266
- const { cmdCh } = await import("./channels-CMNMFJlY.js");
1266
+ const { cmdCh } = await import("./channels-H4PBBker.js");
1267
1267
  return cmdCh(rest);
1268
1268
  }
1269
1269
  case "term": {
1270
- const { cmdTerm } = await import("./terminal-CBbBQMcT.js");
1270
+ const { cmdTerm } = await import("./terminal-oxQ_KbyG.js");
1271
1271
  return cmdTerm(rest);
1272
1272
  }
1273
1273
  case "widget": {
1274
- const { cmdWidget } = await import("./widget-j4TWqwpU.js");
1274
+ const { cmdWidget } = await import("./widget-CBPw56Wj.js");
1275
1275
  return cmdWidget(rest);
1276
1276
  }
1277
1277
  case "mint": {
1278
- const { cmdMint } = await import("./widget-j4TWqwpU.js");
1278
+ const { cmdMint } = await import("./widget-CBPw56Wj.js");
1279
1279
  return cmdMint(rest);
1280
1280
  }
1281
1281
  case "serve": {
1282
- const { cmdServe } = await import("./serve-CuMtnSLs.js");
1282
+ const { cmdServe } = await import("./serve-DyQ-oFbD.js");
1283
1283
  return cmdServe(rest);
1284
1284
  }
1285
1285
  case "setup": {
1286
- const { cmdSetup } = await import("./setup-wPtsNZZ5.js");
1286
+ const { cmdSetup } = await import("./setup-BEwSgz1-.js");
1287
1287
  return cmdSetup(rest);
1288
1288
  }
1289
1289
  case "ws": {
1290
- const { cmdWs } = await import("./ws-53rrEEbz.js");
1290
+ const { cmdWs } = await import("./ws-RYCFiAx-.js");
1291
1291
  return cmdWs(rest);
1292
1292
  }
1293
1293
  case "schedule": {
1294
- const { cmdSchedule } = await import("./schedule-CHSe24Je.js");
1294
+ const { cmdSchedule } = await import("./schedule-Br--S5qc.js");
1295
1295
  return cmdSchedule(rest);
1296
1296
  }
1297
1297
  case "remote": {
1298
- const { cmdRemote } = await import("./remotes-BClMgQZW.js");
1298
+ const { cmdRemote } = await import("./remotes-DNLZlk9U.js");
1299
1299
  return cmdRemote(rest);
1300
1300
  }
1301
1301
  case "expose": {
1302
- const { cmdExpose } = await import("./expose-DROTwbyU.js");
1302
+ const { cmdExpose } = await import("./expose-Ct28jckQ.js");
1303
1303
  return cmdExpose(rest);
1304
1304
  }
1305
1305
  case "callback": {
1306
- const { cmdCallback } = await import("./callback-Bb5dBd02.js");
1306
+ const { cmdCallback } = await import("./callback-FXxZhg1N.js");
1307
1307
  return cmdCallback(rest);
1308
1308
  }
1309
1309
  case "reap":
@@ -1721,7 +1721,7 @@ async function fetchRemoteRecordsRaw(url, token, opts) {
1721
1721
  let base = url;
1722
1722
  let bearer = token;
1723
1723
  if (isWebrtcSpec(url)) {
1724
- const { startWebrtcBridge } = await import("./webrtcRemote-DJDtCTpj.js");
1724
+ const { startWebrtcBridge } = await import("./webrtcRemote-D9ENKmzx.js");
1725
1725
  bridge = await startWebrtcBridge(url);
1726
1726
  base = bridge.baseUrl;
1727
1727
  bearer = bridge.token;
@@ -4341,7 +4341,7 @@ async function cmdNotify(rest) {
4341
4341
  }
4342
4342
  const ensure = async () => {
4343
4343
  if (!argv["ensure-daemon"]) return;
4344
- const { ensureDaemon } = await import("./notifyDaemon-BjyUCpbx.js");
4344
+ const { ensureDaemon } = await import("./notifyDaemon-DrLqT7fy.js");
4345
4345
  await ensureDaemon().catch(() => null);
4346
4346
  };
4347
4347
  await heartbeatWatcher(parent, selfStartedAt);
@@ -4415,7 +4415,7 @@ async function cmdNotifyCursor(args) {
4415
4415
  }
4416
4416
  async function cmdNotifyd(rest) {
4417
4417
  const sub = rest[0] ?? "status";
4418
- const daemon = await import("./notifyDaemon-BjyUCpbx.js");
4418
+ const daemon = await import("./notifyDaemon-DrLqT7fy.js");
4419
4419
  switch (sub) {
4420
4420
  case "run": return daemon.runDaemon();
4421
4421
  case "once": return daemon.runDaemon({ once: true });
@@ -4442,4 +4442,4 @@ async function cmdNotifyd(rest) {
4442
4442
 
4443
4443
  //#endregion
4444
4444
  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 };
4445
- //# sourceMappingURL=subcommands-CuvZqZTM.js.map
4445
+ //# sourceMappingURL=subcommands-CImOH-GZ.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-CuMtnSLs.js");
101
+ const { mintScopedTermToken } = await import("./serve-DyQ-oFbD.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-CBbBQMcT.js.map
138
+ //# sourceMappingURL=terminal-oxQ_KbyG.js.map
package/dist/terminal.js CHANGED
@@ -1,3 +1,3 @@
1
- import { t as AyTerminal } from "./browser-BRMyG4JA.js";
1
+ import { t as AyTerminal } from "./browser-CEP6GcDq.js";
2
2
 
3
3
  export { AyTerminal, AyTerminal as default };
@@ -456,4 +456,4 @@ async function runTodoSubcommand(rest0) {
456
456
 
457
457
  //#endregion
458
458
  export { runTodoSubcommand };
459
- //# sourceMappingURL=todoCli-CNNR9Czu.js.map
459
+ //# sourceMappingURL=todoCli-DhD3G8Et.js.map
@@ -187,4 +187,4 @@ async function startTray() {
187
187
 
188
188
  //#endregion
189
189
  export { ensureTray, startTray };
190
- //# sourceMappingURL=tray-D5qFaqlS.js.map
190
+ //# sourceMappingURL=tray-DpswPpBI.js.map
@@ -1,6 +1,6 @@
1
- import { n as __esmMin, r as __exportAll } from "./chunk-cZBX9HZv.js";
1
+ import { n as __esmMin, r as __exportAll } from "./chunk-CNLfOXRf.js";
2
2
  import { n as logger, t as addTransport } from "./logger-CDIsZ-Pp.js";
3
- import { r as getInstalledPackage } from "./versionChecker-CBzYImFt.js";
3
+ import { r as getInstalledPackage } from "./versionChecker-D8DinCka.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-Cnhsw8GN.js.map
2030
+ //# sourceMappingURL=ts-Dg43iOPE.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.238.2";
10
+ var version = "1.239.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-CBzYImFt.js.map
218
+ //# sourceMappingURL=versionChecker-D8DinCka.js.map
@@ -42,4 +42,4 @@ function isWebrtcSpec(spec) {
42
42
 
43
43
  //#endregion
44
44
  export { isWebrtcSpec as n, parseWebrtcLink as r, SIGNAL_SUBPROTOCOL as t };
45
- //# sourceMappingURL=webrtcLink-VQhWmKOw.js.map
45
+ //# sourceMappingURL=webrtcLink-BMYneHbu.js.map
@@ -1,5 +1,5 @@
1
1
  import { a as computeTranscriptHash, c as open, d as randomHex, f as seal, l as packEnvelope, n as FLAG_CONFIRM, o as deriveAuthToken, p as unpackEnvelope, s as deriveDirKeys } from "./e2e-CEIdJGZ7.js";
2
- import { n as isWebrtcSpec, r as parseWebrtcLink, t as SIGNAL_SUBPROTOCOL } from "./webrtcLink-VQhWmKOw.js";
2
+ import { n as isWebrtcSpec, r as parseWebrtcLink, t as SIGNAL_SUBPROTOCOL } from "./webrtcLink-BMYneHbu.js";
3
3
  import { RTCPeerConnection } from "node-datachannel/polyfill";
4
4
 
5
5
  //#region ts/webrtcRemote.ts
@@ -256,4 +256,4 @@ async function startWebrtcBridge(link) {
256
256
 
257
257
  //#endregion
258
258
  export { startWebrtcBridge };
259
- //# sourceMappingURL=webrtcRemote-DJDtCTpj.js.map
259
+ //# sourceMappingURL=webrtcRemote-D9ENKmzx.js.map