claude-yes 1.157.0 → 1.158.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.
@@ -0,0 +1,8 @@
1
+ import "./ts-IAAUoBpk.js";
2
+ import "./logger-CDIsZ-Pp.js";
3
+ import "./versionChecker-Dwe07Fe6.js";
4
+ import "./pidStore-fqXqTKkh.js";
5
+ import "./globalPidIndex-DlmmJlO8.js";
6
+ import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-CeyKUwT5.js";
7
+
8
+ export { SUPPORTED_CLIS };
@@ -1,8 +1,8 @@
1
- import { t as CLIS_CONFIG } from "./ts-CKvvDjEK.js";
1
+ import { t as CLIS_CONFIG } from "./ts-IAAUoBpk.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-tIYMeICi.js.map
8
+ //# sourceMappingURL=SUPPORTED_CLIS-CeyKUwT5.js.map
package/dist/cli.js CHANGED
@@ -1,7 +1,7 @@
1
1
  #!/usr/bin/env bun
2
2
  import { t as invokedCliName } from "./invokedCli-uqM2YYA7.js";
3
3
  import { n as logger } from "./logger-CDIsZ-Pp.js";
4
- import { i as versionString, n as displayVersion, r as getInstalledPackage, t as checkAndAutoUpdate } from "./versionChecker-IAATi04_.js";
4
+ import { i as versionString, n as displayVersion, r as getInstalledPackage, t as checkAndAutoUpdate } from "./versionChecker-Dwe07Fe6.js";
5
5
  import { argv } from "process";
6
6
  import { execFileSync, spawn } from "child_process";
7
7
  import ms from "ms";
@@ -481,7 +481,7 @@ function buildRustArgs(argv, cliFromScript, supportedClis) {
481
481
  const rawArg = process.argv[2];
482
482
  const managerCommands = !invokedCliName(process.argv);
483
483
  const isHelpFlag = rawArg === "-h" || rawArg === "--help";
484
- const { isSubcommand, runSubcommand, cmdHelp } = await import("./subcommands-B1EoS0xQ.js");
484
+ const { isSubcommand, runSubcommand, cmdHelp } = await import("./subcommands-CyKom1IU.js");
485
485
  if (isHelpFlag && process.argv.length === 3) {
486
486
  cmdHelp(managerCommands);
487
487
  process.exit(0);
@@ -514,7 +514,7 @@ if (config.useRust) {
514
514
  }
515
515
  }
516
516
  if (rustBinary) {
517
- const { SUPPORTED_CLIS } = await import("./SUPPORTED_CLIS-DLSsJ845.js");
517
+ const { SUPPORTED_CLIS } = await import("./SUPPORTED_CLIS-BSuNAuIv.js");
518
518
  const rustArgs = buildRustArgs(process.argv, config.cli, SUPPORTED_CLIS);
519
519
  if (config.verbose) {
520
520
  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-CKvvDjEK.js";
1
+ import { a as removeControlCharacters, i as AgentContext, n as agentYes, r as config, t as CLIS_CONFIG } from "./ts-IAAUoBpk.js";
2
2
  import "./logger-CDIsZ-Pp.js";
3
- import "./versionChecker-IAATi04_.js";
3
+ import "./versionChecker-Dwe07Fe6.js";
4
4
  import "./pidStore-fqXqTKkh.js";
5
5
  import "./globalPidIndex-DlmmJlO8.js";
6
6
 
@@ -1,9 +1,9 @@
1
- import "./ts-CKvvDjEK.js";
1
+ import "./ts-IAAUoBpk.js";
2
2
  import "./logger-CDIsZ-Pp.js";
3
- import "./versionChecker-IAATi04_.js";
3
+ import "./versionChecker-Dwe07Fe6.js";
4
4
  import "./pidStore-fqXqTKkh.js";
5
5
  import "./globalPidIndex-DlmmJlO8.js";
6
- import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-tIYMeICi.js";
6
+ import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-CeyKUwT5.js";
7
7
  import { o as resolveSpawnCwd } from "./workspaceConfig-B0Q9-q2B.js";
8
8
  import { createHash } from "node:crypto";
9
9
 
@@ -141,4 +141,4 @@ async function cmdSchedule(rest) {
141
141
 
142
142
  //#endregion
143
143
  export { cmdSchedule };
144
- //# sourceMappingURL=schedule-43wkfctj.js.map
144
+ //# sourceMappingURL=schedule-BVKN6cO5.js.map
@@ -1,16 +1,16 @@
1
- import "./ts-CKvvDjEK.js";
1
+ import "./ts-IAAUoBpk.js";
2
2
  import "./logger-CDIsZ-Pp.js";
3
- import { r as getInstalledPackage } from "./versionChecker-IAATi04_.js";
3
+ import { r as getInstalledPackage } from "./versionChecker-Dwe07Fe6.js";
4
4
  import "./pidStore-fqXqTKkh.js";
5
5
  import { a as updateGlobalPidStatus } from "./globalPidIndex-DlmmJlO8.js";
6
6
  import { t as pgidForWrapper } from "./reaper-C-eWAxIj.js";
7
7
  import "./configShared-CEyhl0WH.js";
8
- import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-tIYMeICi.js";
8
+ import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-CeyKUwT5.js";
9
9
  import "./e2e-Bfw7qL9O.js";
10
10
  import "./webrtcLink-CBZkZ-LT.js";
11
11
  import "./remotes-DBCvpp3B.js";
12
12
  import { a as isProvisionAllowed, i as hasSpawnHook, n as getSpawnHook, o as resolveSpawnCwd, t as getProvisionRoot } from "./workspaceConfig-B0Q9-q2B.js";
13
- import { E as writeToIpc, _ as readPtysize, b as resolveOne, c as extractTaskCounts, g as readNotes, i as controlCodeFromName, m as listRecords, o as deriveLiveStatus, v as renderRawLog, w as snapshotStatus } from "./subcommands-Bkf8qkP8.js";
13
+ import { E as writeToIpc, _ as readPtysize, b as resolveOne, c as extractTaskCounts, g as readNotes, i as controlCodeFromName, m as listRecords, o as deriveLiveStatus, v as renderRawLog, w as snapshotStatus } from "./subcommands-COLw05N-.js";
14
14
  import yargs from "yargs";
15
15
  import { mkdir, open, readFile, stat, unlink, writeFile } from "fs/promises";
16
16
  import { homedir, hostname, userInfo } from "os";
@@ -1348,4 +1348,4 @@ Options:
1348
1348
 
1349
1349
  //#endregion
1350
1350
  export { cmdServe };
1351
- //# sourceMappingURL=serve-MQwHVctu.js.map
1351
+ //# sourceMappingURL=serve-Dij1y--H.js.map
@@ -32,7 +32,7 @@ async function cmdSetup(rest) {
32
32
  if (!existsSync(abs)) process.stderr.write(` note: that directory doesn't exist yet — create it, or agents spawned there will fail\n`);
33
33
  if (noShare) return 0;
34
34
  process.stdout.write(`\nsharing this machine to agent-yes.com…\n`);
35
- const { cmdServe } = await import("./serve-MQwHVctu.js");
35
+ const { cmdServe } = await import("./serve-Dij1y--H.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-DcYBxFku.js.map
45
+ //# sourceMappingURL=setup-DymiMHke.js.map
@@ -554,15 +554,15 @@ async function runSubcommand(argv) {
554
554
  case "restart": return await cmdRestart(rest);
555
555
  case "note": return await cmdNote(rest);
556
556
  case "serve": {
557
- const { cmdServe } = await import("./serve-MQwHVctu.js");
557
+ const { cmdServe } = await import("./serve-Dij1y--H.js");
558
558
  return cmdServe(rest);
559
559
  }
560
560
  case "setup": {
561
- const { cmdSetup } = await import("./setup-DcYBxFku.js");
561
+ const { cmdSetup } = await import("./setup-DymiMHke.js");
562
562
  return cmdSetup(rest);
563
563
  }
564
564
  case "schedule": {
565
- const { cmdSchedule } = await import("./schedule-43wkfctj.js");
565
+ const { cmdSchedule } = await import("./schedule-BVKN6cO5.js");
566
566
  return cmdSchedule(rest);
567
567
  }
568
568
  case "remote": {
@@ -2710,4 +2710,4 @@ async function cmdResultSet(rest) {
2710
2710
 
2711
2711
  //#endregion
2712
2712
  export { runSubcommand as C, writeToIpc as E, resolveResumeArgs as S, stopTipForCli as T, readPtysize as _, cursorAbs as a, resolveOne as b, extractTaskCounts as c, isExitRequest as d, isPidAlive as f, readNotes as g, matchKeyword as h, controlCodeFromName as i, finalizedLines as l, listRecords as m, READ_PAGE_DEFAULT as n, deriveLiveStatus as o, isSubcommand as p, cmdHelp as r, extractNeedsInput as s, GRACEFUL_EXIT_COMMANDS as t, isAgentStuck as u, renderRawLog as v, snapshotStatus as w, resolveReadWindow as x, renderRawLogLines as y };
2713
- //# sourceMappingURL=subcommands-Bkf8qkP8.js.map
2713
+ //# sourceMappingURL=subcommands-COLw05N-.js.map
@@ -4,6 +4,6 @@ import "./configShared-CEyhl0WH.js";
4
4
  import "./e2e-Bfw7qL9O.js";
5
5
  import "./webrtcLink-CBZkZ-LT.js";
6
6
  import "./remotes-DBCvpp3B.js";
7
- import { C as runSubcommand, E as writeToIpc, S as resolveResumeArgs, T as stopTipForCli, _ as readPtysize, a as cursorAbs, b as resolveOne, c as extractTaskCounts, d as isExitRequest, f as isPidAlive, g as readNotes, h as matchKeyword, i as controlCodeFromName, l as finalizedLines, m as listRecords, n as READ_PAGE_DEFAULT, o as deriveLiveStatus, p as isSubcommand, r as cmdHelp, s as extractNeedsInput, t as GRACEFUL_EXIT_COMMANDS, u as isAgentStuck, v as renderRawLog, w as snapshotStatus, x as resolveReadWindow, y as renderRawLogLines } from "./subcommands-Bkf8qkP8.js";
7
+ import { C as runSubcommand, E as writeToIpc, S as resolveResumeArgs, T as stopTipForCli, _ as readPtysize, a as cursorAbs, b as resolveOne, c as extractTaskCounts, d as isExitRequest, f as isPidAlive, g as readNotes, h as matchKeyword, i as controlCodeFromName, l as finalizedLines, m as listRecords, n as READ_PAGE_DEFAULT, o as deriveLiveStatus, p as isSubcommand, r as cmdHelp, s as extractNeedsInput, t as GRACEFUL_EXIT_COMMANDS, u as isAgentStuck, v as renderRawLog, w as snapshotStatus, x as resolveReadWindow, y as renderRawLogLines } from "./subcommands-COLw05N-.js";
8
8
 
9
9
  export { cmdHelp, isSubcommand, runSubcommand };
@@ -1,5 +1,5 @@
1
1
  import { n as logger, t as addTransport } from "./logger-CDIsZ-Pp.js";
2
- import { r as getInstalledPackage } from "./versionChecker-IAATi04_.js";
2
+ import { r as getInstalledPackage } from "./versionChecker-Dwe07Fe6.js";
3
3
  import { t as agentYesHome } from "./agentYesHome-_eJa3DaX.js";
4
4
  import { i as shouldUseLock, r as releaseLock, t as acquireLock } from "./runningLock-V4qvXgAw.js";
5
5
  import { t as PidStore } from "./pidStore-fqXqTKkh.js";
@@ -1802,4 +1802,4 @@ function sleep(ms) {
1802
1802
 
1803
1803
  //#endregion
1804
1804
  export { removeControlCharacters as a, AgentContext as i, agentYes as n, config as r, CLIS_CONFIG as t };
1805
- //# sourceMappingURL=ts-CKvvDjEK.js.map
1805
+ //# sourceMappingURL=ts-IAAUoBpk.js.map
@@ -7,7 +7,7 @@ import { fileURLToPath } from "url";
7
7
 
8
8
  //#region package.json
9
9
  var name = "claude-yes";
10
- var version = "1.157.0";
10
+ var version = "1.158.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-IAATi04_.js.map
218
+ //# sourceMappingURL=versionChecker-Dwe07Fe6.js.map
@@ -305,6 +305,54 @@ function agentForestNodes(list) {
305
305
  return roots;
306
306
  }
307
307
 
308
+ // ---- display sort order -----------------------------------------------------
309
+ // The console cycles a button through these; the chosen comparator runs over the
310
+ // flat entry list BEFORE layeredRows builds the room/peer/agent tree (which keeps
311
+ // the given order for siblings and first-seen order for room/peer groups). So
312
+ // sorting reorders roots and siblings without breaking the nesting.
313
+ export const SORT_MODES = ["state", "created", "identity"];
314
+
315
+ // Attention-first state ranking: someone scanning the fleet wants the agents that
316
+ // need them (needs_input) up top, then the wedged ones (stuck), then live work,
317
+ // then quiet/idle, then finished. Unknown states sort last.
318
+ const STATE_RANK = {
319
+ needs_input: 0,
320
+ stuck: 1,
321
+ active: 2,
322
+ running: 2,
323
+ idle: 3,
324
+ stopped: 4,
325
+ exited: 4,
326
+ };
327
+ function stateRank(e) {
328
+ const r = STATE_RANK[e.status];
329
+ return r === undefined ? 5 : r;
330
+ }
331
+
332
+ // Git "busyness" for the state mode's secondary key: a dirty / ahead / behind
333
+ // repo outranks a clean one, and more outstanding changes rank higher. The +0.5
334
+ // for `dirty` breaks a 0-count tie toward the dirty tree.
335
+ function gitWeight(e) {
336
+ const g = e.git || {};
337
+ return (g.changed || 0) + (g.ahead || 0) + (g.behind || 0) + (g.dirty ? 0.5 : 0);
338
+ }
339
+
340
+ // Return a NEW array sorted for display per `mode` (default "state"):
341
+ // - "state": attention-first state, then git busyness, then newest.
342
+ // - "created": newest first (started_at desc).
343
+ // - "identity": user@host:owner/repo/branch (alphabetical).
344
+ // Every comparator falls back to newest-first so order is total & deterministic.
345
+ export function sortEntries(entries, mode = "state") {
346
+ const byNewest = (a, b) => (b.started_at || 0) - (a.started_at || 0);
347
+ const cmp =
348
+ mode === "created"
349
+ ? byNewest
350
+ : mode === "identity"
351
+ ? (a, b) => fullIdent(a).localeCompare(fullIdent(b)) || byNewest(a, b)
352
+ : (a, b) => stateRank(a) - stateRank(b) || gitWeight(b) - gitWeight(a) || byNewest(a, b);
353
+ return entries.slice().sort(cmp);
354
+ }
355
+
308
356
  // Order entries as agent>subagent forests so a nested `ay` (one agent spawning
309
357
  // another) renders indented under its parent. SCOPED PER HOST. Returns a NEW
310
358
  // array in depth-first order; each entry is shallow-copied with `_branch` (a
package/lab/ui/index.html CHANGED
@@ -1351,6 +1351,7 @@
1351
1351
  <div class="meta">
1352
1352
  <span id="count"></span>
1353
1353
  <span class="metaright">
1354
+ <button id="sortbtn" class="viewbtn" title="cycle sort order">⇅ state</button>
1354
1355
  <button id="viewbtn" class="viewbtn" title="toggle compact list">☰</button>
1355
1356
  <button id="newbtn" class="newbtn" title="spawn a new agent on this fleet">
1356
1357
  + New agent
@@ -1534,6 +1535,8 @@
1534
1535
  hasIdent,
1535
1536
  deviceCount,
1536
1537
  layeredRows,
1538
+ sortEntries,
1539
+ SORT_MODES,
1537
1540
  taskLabel,
1538
1541
  hashHue,
1539
1542
  selFromBottom,
@@ -3160,6 +3163,22 @@
3160
3163
  // Compact list: one line per agent (dot + cli + title), persisted per device.
3161
3164
  let compactList = localStorage.getItem("ay.compactList") === "1";
3162
3165
 
3166
+ // Display sort order, cycled by the sort button and persisted per device.
3167
+ // Default "state" (attention-first state, then git busyness). Guard against
3168
+ // a stale/garbage stored value so we never start in an unknown mode.
3169
+ let sortMode = localStorage.getItem("ay.sortMode") || "state";
3170
+ if (!SORT_MODES.includes(sortMode)) sortMode = "state";
3171
+
3172
+ // The filtered + sorted entry list, in the SAME order the left panel renders
3173
+ // and the keyboard nav steps. Sorting runs before layeredRows builds the
3174
+ // room/peer/agent tree, so it reorders roots/siblings without breaking nesting.
3175
+ function orderedEntries(toks) {
3176
+ return sortEntries(
3177
+ entries.filter((e) => matches(e, toks)),
3178
+ sortMode,
3179
+ );
3180
+ }
3181
+
3163
3182
  // A small git chip (±changed ↑ahead ↓behind) for a row, amber when the tree
3164
3183
  // is dirty. Empty for clean/in-sync repos and non-git cwds — no noise.
3165
3184
  function gitChipHtml(e) {
@@ -3200,10 +3219,14 @@
3200
3219
  const toks = $("q").value.trim().split(/\s+/).filter(Boolean);
3201
3220
  // Build the full signalling-server > rooms > peers > agents > subagents
3202
3221
  // tree. Single-node room/peer layers fold away; ≥2 become ├ └ │ branches.
3203
- const rows = layeredRows(entries.filter((e) => matches(e, toks)));
3222
+ const rows = layeredRows(orderedEntries(toks));
3204
3223
  const agentRows = rows.filter((r) => r.kind === "agent");
3205
3224
  $("count").textContent = `${agentRows.length} / ${entries.length} agents`;
3206
3225
  $("viewbtn").classList.toggle("on", compactList);
3226
+ // Show the active sort mode on the button so it's self-documenting; the
3227
+ // default ("state") is also highlighted to hint it's the implicit order.
3228
+ $("sortbtn").textContent = `⇅ ${sortMode}`;
3229
+ $("sortbtn").classList.toggle("on", sortMode !== "state");
3207
3230
  // identContext blanks any field uniform across the shown list (so a
3208
3231
  // single-device fleet shows no device); multiDevice gates the detailed
3209
3232
  // host tag so it only appears when machines are actually mixed.
@@ -3663,6 +3686,12 @@
3663
3686
  localStorage.setItem("ay.compactList", compactList ? "1" : "0");
3664
3687
  renderList();
3665
3688
  });
3689
+ // Cycle the sort order: state → created → identity → state.
3690
+ $("sortbtn").addEventListener("click", () => {
3691
+ sortMode = SORT_MODES[(SORT_MODES.indexOf(sortMode) + 1) % SORT_MODES.length];
3692
+ localStorage.setItem("ay.sortMode", sortMode);
3693
+ renderList();
3694
+ });
3666
3695
  window.addEventListener("resize", () => {
3667
3696
  // Resizing our window is strong intent → re-fit to our pane (we become the
3668
3697
  // size driver; the push rides term.onResize). applyCanvasScale then clears
@@ -3700,7 +3729,7 @@
3700
3729
  function stepSelection(dir) {
3701
3730
  const toks = $("q").value.trim().split(/\s+/).filter(Boolean);
3702
3731
  // Must match renderList's order; step only over agent rows (skip headers).
3703
- const shown = layeredRows(entries.filter((e) => matches(e, toks)))
3732
+ const shown = layeredRows(orderedEntries(toks))
3704
3733
  .filter((r) => r.kind === "agent")
3705
3734
  .map((r) => r.entry);
3706
3735
  if (!shown.length) return;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-yes",
3
- "version": "1.157.0",
3
+ "version": "1.158.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-CKvvDjEK.js";
2
- import "./logger-CDIsZ-Pp.js";
3
- import "./versionChecker-IAATi04_.js";
4
- import "./pidStore-fqXqTKkh.js";
5
- import "./globalPidIndex-DlmmJlO8.js";
6
- import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-tIYMeICi.js";
7
-
8
- export { SUPPORTED_CLIS };