claude-yes 1.158.0 → 1.159.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-IAAUoBpk.js";
1
+ import { t as CLIS_CONFIG } from "./ts-BLhio9GS.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-CeyKUwT5.js.map
8
+ //# sourceMappingURL=SUPPORTED_CLIS-BgxylBgz.js.map
@@ -0,0 +1,8 @@
1
+ import "./ts-BLhio9GS.js";
2
+ import "./logger-CDIsZ-Pp.js";
3
+ import "./versionChecker-CNgzuR-j.js";
4
+ import "./pidStore-fqXqTKkh.js";
5
+ import "./globalPidIndex-DlmmJlO8.js";
6
+ import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-BgxylBgz.js";
7
+
8
+ export { SUPPORTED_CLIS };
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-Dwe07Fe6.js";
4
+ import { i as versionString, n as displayVersion, r as getInstalledPackage, t as checkAndAutoUpdate } from "./versionChecker-CNgzuR-j.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-CyKom1IU.js");
484
+ const { isSubcommand, runSubcommand, cmdHelp } = await import("./subcommands-Ci-DvV84.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-BSuNAuIv.js");
517
+ const { SUPPORTED_CLIS } = await import("./SUPPORTED_CLIS-Ciz2bTb6.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-IAAUoBpk.js";
1
+ import { a as removeControlCharacters, i as AgentContext, n as agentYes, r as config, t as CLIS_CONFIG } from "./ts-BLhio9GS.js";
2
2
  import "./logger-CDIsZ-Pp.js";
3
- import "./versionChecker-Dwe07Fe6.js";
3
+ import "./versionChecker-CNgzuR-j.js";
4
4
  import "./pidStore-fqXqTKkh.js";
5
5
  import "./globalPidIndex-DlmmJlO8.js";
6
6
 
@@ -1,9 +1,9 @@
1
- import "./ts-IAAUoBpk.js";
1
+ import "./ts-BLhio9GS.js";
2
2
  import "./logger-CDIsZ-Pp.js";
3
- import "./versionChecker-Dwe07Fe6.js";
3
+ import "./versionChecker-CNgzuR-j.js";
4
4
  import "./pidStore-fqXqTKkh.js";
5
5
  import "./globalPidIndex-DlmmJlO8.js";
6
- import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-CeyKUwT5.js";
6
+ import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-BgxylBgz.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-BVKN6cO5.js.map
144
+ //# sourceMappingURL=schedule-C2TQqK-3.js.map
@@ -1,16 +1,16 @@
1
- import "./ts-IAAUoBpk.js";
1
+ import "./ts-BLhio9GS.js";
2
2
  import "./logger-CDIsZ-Pp.js";
3
- import { r as getInstalledPackage } from "./versionChecker-Dwe07Fe6.js";
3
+ import { r as getInstalledPackage } from "./versionChecker-CNgzuR-j.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-CeyKUwT5.js";
8
+ import { t as SUPPORTED_CLIS } from "./SUPPORTED_CLIS-BgxylBgz.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-COLw05N-.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-Dv7GlNLV.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-Dij1y--H.js.map
1351
+ //# sourceMappingURL=serve-BDoHFiCk.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-Dij1y--H.js");
35
+ const { cmdServe } = await import("./serve-BDoHFiCk.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-DymiMHke.js.map
45
+ //# sourceMappingURL=setup-0Q5xhxyC.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-COLw05N-.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-Dv7GlNLV.js";
8
8
 
9
9
  export { cmdHelp, isSubcommand, runSubcommand };
@@ -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-Dij1y--H.js");
557
+ const { cmdServe } = await import("./serve-BDoHFiCk.js");
558
558
  return cmdServe(rest);
559
559
  }
560
560
  case "setup": {
561
- const { cmdSetup } = await import("./setup-DymiMHke.js");
561
+ const { cmdSetup } = await import("./setup-0Q5xhxyC.js");
562
562
  return cmdSetup(rest);
563
563
  }
564
564
  case "schedule": {
565
- const { cmdSchedule } = await import("./schedule-BVKN6cO5.js");
565
+ const { cmdSchedule } = await import("./schedule-C2TQqK-3.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-COLw05N-.js.map
2713
+ //# sourceMappingURL=subcommands-Dv7GlNLV.js.map
@@ -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-Dwe07Fe6.js";
2
+ import { r as getInstalledPackage } from "./versionChecker-CNgzuR-j.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-IAAUoBpk.js.map
1805
+ //# sourceMappingURL=ts-BLhio9GS.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.158.0";
10
+ var version = "1.159.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-Dwe07Fe6.js.map
218
+ //# sourceMappingURL=versionChecker-CNgzuR-j.js.map
@@ -0,0 +1,58 @@
1
+ #!/usr/bin/env bash
2
+ # spawn-notify — fan-out completion detection for an orchestrator parent.
3
+ #
4
+ # Spawns an agent-yes agent FIRE-AND-FORGET (it outlives this script), then
5
+ # BLOCKS until the agent needs attention. Launch THIS via the parent's
6
+ # background runner (e.g. Claude Code's run_in_background): a background command
7
+ # only notifies its parent when the PROCESS EXITS, but an agent never exits — it
8
+ # idles at its prompt waiting for re-instruction. So we let a tiny sibling — this
9
+ # script, blocked on `ay status --wait` — be the thing that exits. The agent
10
+ # itself keeps living, so you can still re-instruct it with `ay send <pid> "…"`.
11
+ #
12
+ # Verified: a nohup+disown child survives the spawning shell's exit, so the agent
13
+ # outlives this waiter.
14
+ #
15
+ # Usage: spawn-notify <cwd> -- <task...>
16
+ # Env: CLI=claude wrapped CLI (claude|codex|gemini|…)
17
+ # AY_FLAGS="-y" extra flags for `ay <cli>` (e.g. -y for yolo)
18
+ # WAIT_MODE=--wait --wait → wake on idle|needs_input|stuck|stopped (recommended:
19
+ # also catches a blocked AskUserQuestion menu)
20
+ # --wait-idle → wake on idle only (misses blocked menus)
21
+ # WAIT_TIMEOUT=6h waiter timeout (ms() syntax: 30s, 5m, 6h)
22
+ # Exit: 0 agent needs attention (idle / blocked-on-input / done)
23
+ # 2 waiter timed out (agent still actively working)
24
+ # 3 agent never registered in ~/.agent-yes/pids.jsonl
25
+ set -uo pipefail
26
+
27
+ cli="${CLI:-claude}"
28
+ cwd="${1:?usage: spawn-notify <cwd> -- <task...>}"; shift
29
+ [ "${1:-}" = "--" ] && shift
30
+ task="$*"
31
+
32
+ # 1) Fire-and-forget. nohup+disown so the agent outlives this waiter; agent-yes
33
+ # keeps its own PTY log under ~/.agent-yes, so /dev/null here loses nothing.
34
+ mkdir -p "$cwd"
35
+ # shellcheck disable=SC2086
36
+ nohup ay "$cli" ${AY_FLAGS:-} --cwd "$cwd" -- "$task" >/dev/null 2>&1 &
37
+ disown || true
38
+
39
+ # 2) Resolve the agent we just spawned to an EXACT pid (newest match in this cwd),
40
+ # retrying until its record lands in pids.jsonl. From here on we key off the
41
+ # pid — exact identity, no --latest ambiguity, no sibling-collision risk.
42
+ pid=""
43
+ for _ in $(seq 1 30); do
44
+ pid=$(ay status "$cwd" --latest 2>/dev/null | sed -n 's/.*"pid":\([0-9]\{1,\}\).*/\1/p' | head -1)
45
+ [ -n "$pid" ] && break
46
+ sleep 1
47
+ done
48
+ [ -z "$pid" ] && { echo "spawn-notify: agent never registered under $cwd" >&2; exit 3; }
49
+ echo "spawn-notify: agent pid=$pid cwd=$cwd — waiting (${WAIT_MODE:---wait})…" >&2
50
+
51
+ # 3) Block until the ball is in the parent's court. Pid keyword = exact identity.
52
+ ay status "$pid" "${WAIT_MODE:---wait}" --timeout "${WAIT_TIMEOUT:-6h}"
53
+ rc=$?
54
+
55
+ # 4) Surface the structured envelope (if the agent ran `ay result set '{...}'`) so
56
+ # it rides along in the parent's notification payload. Non-fatal if absent.
57
+ ay result "$pid" 2>/dev/null || true
58
+ exit $rc
package/lab/ui/index.html CHANGED
@@ -4555,9 +4555,25 @@
4555
4555
  <button class="lfleet" id="nf-go">▷ Launch</button>
4556
4556
  <button class="lcancel" id="nf-cancel">cancel</button>
4557
4557
  </div>
4558
+ <div id="nf-hook" class="lhint" style="display:none"></div>
4558
4559
  <div class="lhint">POST /api/spawn on this fleet. ${IS_MAC ? "⌘" : "Ctrl"}+Enter to launch.</div></div>`;
4559
4560
  $("newform").style.display = "flex";
4560
4561
  setTimeout(() => $("nf-prompt")?.focus(), 0);
4562
+ // Surface whether this host runs a spawn hook (a trusted local command run
4563
+ // before every launch — provisions env/cwd; see ~/.agent-yes/config.json).
4564
+ // Read-only: /api/spawn-config discloses only the boolean, never the body.
4565
+ if (target?.tx?.fetchJSON) {
4566
+ target.tx
4567
+ .fetchJSON("/api/spawn-config")
4568
+ .then((c) => {
4569
+ const el = $("nf-hook");
4570
+ if (el && c && c.hasSpawnHook) {
4571
+ el.textContent = "⚙ this host runs a spawn hook before launch";
4572
+ el.style.display = "";
4573
+ }
4574
+ })
4575
+ .catch(() => {});
4576
+ }
4561
4577
  }
4562
4578
 
4563
4579
  async function submitNew() {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-yes",
3
- "version": "1.158.0",
3
+ "version": "1.159.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-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 };