agent-yes 1.105.0 → 1.107.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.
@@ -1,8 +1,8 @@
1
- import { t as CLIS_CONFIG } from "./ts-D6h8i7u4.js";
1
+ import { t as CLIS_CONFIG } from "./ts-BKUqrF11.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-0oA2e72v.js.map
8
+ //# sourceMappingURL=SUPPORTED_CLIS-DM5uuAHJ.js.map
@@ -0,0 +1,8 @@
1
+ import "./ts-BKUqrF11.js";
2
+ import "./logger-B9h0djqx.js";
3
+ import "./versionChecker-B7wWbGoR.js";
4
+ import "./pidStore-DBjlqzo8.js";
5
+ import "./globalPidIndex-yVd3mbsV.js";
6
+ import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-DM5uuAHJ.js";
7
+
8
+ export { SUPPORTED_CLIS };
package/dist/cli.js CHANGED
@@ -1,6 +1,6 @@
1
1
  #!/usr/bin/env bun
2
2
  import { n as logger } from "./logger-B9h0djqx.js";
3
- import { i as versionString, n as displayVersion, r as getInstalledPackage, t as checkAndAutoUpdate } from "./versionChecker-DqxYh1VE.js";
3
+ import { i as versionString, n as displayVersion, r as getInstalledPackage, t as checkAndAutoUpdate } from "./versionChecker-B7wWbGoR.js";
4
4
  import { argv } from "process";
5
5
  import { execFileSync, spawn } from "child_process";
6
6
  import ms from "ms";
@@ -482,7 +482,7 @@ function buildRustArgs(argv, cliFromScript, supportedClis) {
482
482
  {
483
483
  const rawArg = process.argv[2];
484
484
  const isHelpFlag = rawArg === "-h" || rawArg === "--help";
485
- const { isSubcommand, runSubcommand, cmdHelp } = await import("./subcommands-Bm6rHvvU.js");
485
+ const { isSubcommand, runSubcommand, cmdHelp } = await import("./subcommands-DBaESqFT.js");
486
486
  if (isHelpFlag && process.argv.length === 3) {
487
487
  cmdHelp();
488
488
  process.exit(0);
@@ -515,7 +515,7 @@ if (config.useRust) {
515
515
  }
516
516
  }
517
517
  if (rustBinary) {
518
- const { SUPPORTED_CLIS } = await import("./SUPPORTED_CLIS-C38x_H7w.js");
518
+ const { SUPPORTED_CLIS } = await import("./SUPPORTED_CLIS-DeoP1wM3.js");
519
519
  const rustArgs = buildRustArgs(process.argv, config.cli, SUPPORTED_CLIS);
520
520
  if (config.verbose) {
521
521
  console.log(`[rust] Using binary: ${rustBinary}`);
package/dist/index.js CHANGED
@@ -1,6 +1,6 @@
1
- import { a as removeControlCharacters, i as AgentContext, n as agentYes, r as config, t as CLIS_CONFIG } from "./ts-D6h8i7u4.js";
1
+ import { a as removeControlCharacters, i as AgentContext, n as agentYes, r as config, t as CLIS_CONFIG } from "./ts-BKUqrF11.js";
2
2
  import "./logger-B9h0djqx.js";
3
- import "./versionChecker-DqxYh1VE.js";
3
+ import "./versionChecker-B7wWbGoR.js";
4
4
  import "./pidStore-DBjlqzo8.js";
5
5
  import "./globalPidIndex-yVd3mbsV.js";
6
6
 
@@ -1,11 +1,11 @@
1
- import "./ts-D6h8i7u4.js";
1
+ import "./ts-BKUqrF11.js";
2
2
  import "./logger-B9h0djqx.js";
3
- import "./versionChecker-DqxYh1VE.js";
3
+ import "./versionChecker-B7wWbGoR.js";
4
4
  import "./pidStore-DBjlqzo8.js";
5
5
  import "./globalPidIndex-yVd3mbsV.js";
6
- import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-0oA2e72v.js";
6
+ import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-DM5uuAHJ.js";
7
7
  import "./remotes-C3xPRtfg.js";
8
- import { c as readNotes, f as snapshotStatus, l as renderRawLog, m as writeToIpc, o as listRecords, r as controlCodeFromName, u as resolveOne } from "./subcommands-D2Bj4C59.js";
8
+ import { c as readNotes, f as snapshotStatus, l as renderRawLog, m as writeToIpc, o as listRecords, r as controlCodeFromName, u as resolveOne } from "./subcommands-CkJFz7eu.js";
9
9
  import yargs from "yargs";
10
10
  import { mkdir, open, readFile, writeFile } from "fs/promises";
11
11
  import { homedir } from "os";
@@ -552,4 +552,4 @@ Options:
552
552
 
553
553
  //#endregion
554
554
  export { cmdServe };
555
- //# sourceMappingURL=serve-DKxGL2r7.js.map
555
+ //# sourceMappingURL=serve-DLuHQ8jM.js.map
@@ -163,7 +163,7 @@ async function runSubcommand(argv) {
163
163
  case "restart": return await cmdRestart(rest);
164
164
  case "note": return await cmdNote(rest);
165
165
  case "serve": {
166
- const { cmdServe } = await import("./serve-DKxGL2r7.js");
166
+ const { cmdServe } = await import("./serve-DLuHQ8jM.js");
167
167
  return cmdServe(rest);
168
168
  }
169
169
  case "setup": {
@@ -1452,4 +1452,4 @@ async function cmdStatus(rest) {
1452
1452
 
1453
1453
  //#endregion
1454
1454
  export { isSubcommand as a, readNotes as c, runSubcommand as d, snapshotStatus as f, isPidAlive as i, renderRawLog as l, writeToIpc as m, cmdHelp as n, listRecords as o, stopTipForCli as p, controlCodeFromName as r, matchKeyword as s, GRACEFUL_EXIT_COMMANDS as t, resolveOne as u };
1455
- //# sourceMappingURL=subcommands-D2Bj4C59.js.map
1455
+ //# sourceMappingURL=subcommands-CkJFz7eu.js.map
@@ -1,6 +1,6 @@
1
1
  import "./logger-B9h0djqx.js";
2
2
  import "./globalPidIndex-yVd3mbsV.js";
3
3
  import "./remotes-C3xPRtfg.js";
4
- import { a as isSubcommand, c as readNotes, d as runSubcommand, f as snapshotStatus, i as isPidAlive, l as renderRawLog, m as writeToIpc, n as cmdHelp, o as listRecords, p as stopTipForCli, r as controlCodeFromName, s as matchKeyword, t as GRACEFUL_EXIT_COMMANDS, u as resolveOne } from "./subcommands-D2Bj4C59.js";
4
+ import { a as isSubcommand, c as readNotes, d as runSubcommand, f as snapshotStatus, i as isPidAlive, l as renderRawLog, m as writeToIpc, n as cmdHelp, o as listRecords, p as stopTipForCli, r as controlCodeFromName, s as matchKeyword, t as GRACEFUL_EXIT_COMMANDS, u as resolveOne } from "./subcommands-CkJFz7eu.js";
5
5
 
6
6
  export { cmdHelp, isSubcommand, runSubcommand };
@@ -1,5 +1,5 @@
1
1
  import { n as logger, t as addTransport } from "./logger-B9h0djqx.js";
2
- import { r as getInstalledPackage } from "./versionChecker-DqxYh1VE.js";
2
+ import { r as getInstalledPackage } from "./versionChecker-B7wWbGoR.js";
3
3
  import { n as agentYesHome, t as PidStore } from "./pidStore-DBjlqzo8.js";
4
4
  import { i as shouldUseLock, r as releaseLock, t as acquireLock } from "./runningLock-CJxsoGdb.js";
5
5
  import { i as readGlobalPids } from "./globalPidIndex-yVd3mbsV.js";
@@ -1714,4 +1714,4 @@ function sleep(ms) {
1714
1714
 
1715
1715
  //#endregion
1716
1716
  export { removeControlCharacters as a, AgentContext as i, agentYes as n, config as r, CLIS_CONFIG as t };
1717
- //# sourceMappingURL=ts-D6h8i7u4.js.map
1717
+ //# sourceMappingURL=ts-BKUqrF11.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.105.0";
10
+ var version = "1.107.0";
11
11
 
12
12
  //#endregion
13
13
  //#region ts/versionChecker.ts
@@ -221,4 +221,4 @@ async function displayVersion() {
221
221
 
222
222
  //#endregion
223
223
  export { versionString as i, displayVersion as n, getInstalledPackage as r, checkAndAutoUpdate as t };
224
- //# sourceMappingURL=versionChecker-DqxYh1VE.js.map
224
+ //# sourceMappingURL=versionChecker-B7wWbGoR.js.map
package/lab/ui/index.html CHANGED
@@ -1169,11 +1169,29 @@
1169
1169
  .join("") || `<div class="empty">no match</div>`;
1170
1170
  }
1171
1171
 
1172
+ // Restore the last filter so a refresh (incl. the auto-reload on a new
1173
+ // deploy) doesn't wipe what you were narrowing to. Set before the first
1174
+ // render so the list comes up already filtered.
1175
+ try {
1176
+ const savedFilter = localStorage.getItem("ay.filter");
1177
+ if (savedFilter) $("q").value = savedFilter;
1178
+ } catch {}
1179
+
1172
1180
  // A ?pid=<pid> in the URL (codehost.dev's agent chips link here) selects
1173
- // that agent as soon as it shows up in the list, then forgets itself.
1181
+ // that agent as soon as it shows up in the list, then forgets itself. With
1182
+ // no ?pid, fall back to the agent this device last had selected — so a
1183
+ // refresh lands you back on the same agent instead of the placeholder.
1184
+ // autoPidExplicit distinguishes the two: an explicit link opens the agent
1185
+ // even on mobile (it's a deliberate "take me here"), whereas a merely
1186
+ // restored selection only re-highlights the row on a phone — see loadList.
1174
1187
  let autoPid = new URLSearchParams(location.search).get("pid");
1188
+ let autoPidExplicit = !!autoPid;
1175
1189
  if (autoPid) {
1176
1190
  history.replaceState(null, document.title, location.pathname + location.hash);
1191
+ } else {
1192
+ try {
1193
+ autoPid = localStorage.getItem("ay.sel");
1194
+ } catch {}
1177
1195
  }
1178
1196
 
1179
1197
  async function loadList() {
@@ -1188,12 +1206,26 @@
1188
1206
  if (autoPid && entries.some((x) => String(x.pid) === String(autoPid))) {
1189
1207
  const pid = autoPid;
1190
1208
  autoPid = null;
1191
- select(pid);
1209
+ // On a phone, a restored selection re-highlights the row but stays on
1210
+ // the list — opening it would flip straight into the full-screen
1211
+ // terminal (show-detail) and hide the list. An explicit ?pid= link is
1212
+ // a deliberate jump, so it still opens. Desktop shows both panes, so
1213
+ // there's nothing to scope — always open.
1214
+ if (autoPidExplicit || window.innerWidth > 720) {
1215
+ select(pid);
1216
+ } else {
1217
+ sel = pid;
1218
+ renderList();
1219
+ }
1192
1220
  }
1193
1221
  }
1194
1222
 
1195
1223
  function select(pid) {
1196
1224
  sel = String(pid);
1225
+ // Remember the selection so a refresh re-opens this agent (see boot/autoPid).
1226
+ try {
1227
+ localStorage.setItem("ay.sel", sel);
1228
+ } catch {}
1197
1229
  const e = entries.find((x) => String(x.pid) === sel);
1198
1230
  if (!e) return;
1199
1231
  renderList();
@@ -1314,7 +1346,12 @@
1314
1346
  $("rback").addEventListener("click", () => {
1315
1347
  document.querySelector(".app").classList.remove("show-detail");
1316
1348
  });
1317
- $("q").addEventListener("input", renderList);
1349
+ $("q").addEventListener("input", () => {
1350
+ try {
1351
+ localStorage.setItem("ay.filter", $("q").value);
1352
+ } catch {}
1353
+ renderList();
1354
+ });
1318
1355
  $("viewbtn").addEventListener("click", () => {
1319
1356
  compactList = !compactList;
1320
1357
  localStorage.setItem("ay.compactList", compactList ? "1" : "0");
@@ -1760,18 +1797,26 @@
1760
1797
  watchVersion();
1761
1798
  }
1762
1799
 
1763
- // Auto-reload when the console's own assets change (a new deploy). HEAD the
1764
- // page once a minute and compare the cache validator; reload on change.
1765
- // Best-effortignores failures (e.g. remote rooms / cross-origin).
1800
+ // Auto-reload when the console's own assets change (a new deploy). We'd
1801
+ // prefer to compare a cheap HEAD validator, but Cloudflare's asset
1802
+ // responses for this page carry no etag/last-modifiedso we GET the page
1803
+ // once a minute and hash the body (FNV-1a) ourselves, reloading when the
1804
+ // hash moves. Still one request/min, and only while the tab is active; the
1805
+ // selection + filter are restored on reload so it's seamless. Best-effort —
1806
+ // ignores failures (e.g. remote rooms / cross-origin).
1766
1807
  function watchVersion() {
1767
1808
  let seen = null;
1768
1809
  const check = async () => {
1769
1810
  if (!isActive()) return;
1770
1811
  try {
1771
- const r = await fetch(location.pathname, { method: "HEAD", cache: "no-store" });
1772
- const tag = r.headers.get("etag") || r.headers.get("last-modified");
1773
- if (!tag) return;
1774
- if (seen && seen !== tag) return location.reload();
1812
+ const body = await (await fetch(location.pathname, { cache: "no-store" })).text();
1813
+ let h = 0x811c9dc5;
1814
+ for (let i = 0; i < body.length; i++) {
1815
+ h ^= body.charCodeAt(i);
1816
+ h = Math.imul(h, 0x01000193);
1817
+ }
1818
+ const tag = h >>> 0;
1819
+ if (seen !== null && seen !== tag) return location.reload();
1775
1820
  seen = tag;
1776
1821
  } catch {}
1777
1822
  };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-yes",
3
- "version": "1.105.0",
3
+ "version": "1.107.0",
4
4
  "description": "A wrapper tool that automates interactions with various AI CLI tools by automatically handling common prompts and responses.",
5
5
  "keywords": [
6
6
  "ai",
@@ -1,8 +0,0 @@
1
- import "./ts-D6h8i7u4.js";
2
- import "./logger-B9h0djqx.js";
3
- import "./versionChecker-DqxYh1VE.js";
4
- import "./pidStore-DBjlqzo8.js";
5
- import "./globalPidIndex-yVd3mbsV.js";
6
- import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-0oA2e72v.js";
7
-
8
- export { SUPPORTED_CLIS };