claude-yes 1.90.1 → 1.91.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,6 +1,6 @@
1
- import { t as CLIS_CONFIG } from "./ts-T6n6lrQG.js";
1
+ import { t as CLIS_CONFIG } from "./ts-Bo2r1Owx.js";
2
2
  import "./logger-B9h0djqx.js";
3
- import "./versionChecker-Go0xdcmN.js";
3
+ import "./versionChecker-Bw-_GghU.js";
4
4
  import "./pidStore-C1JXxoPi.js";
5
5
  import "./globalPidIndex-Cr-g75QF.js";
6
6
 
@@ -9,4 +9,4 @@ const SUPPORTED_CLIS = Object.keys(CLIS_CONFIG);
9
9
 
10
10
  //#endregion
11
11
  export { SUPPORTED_CLIS };
12
- //# sourceMappingURL=SUPPORTED_CLIS-BrUEk9Ws.js.map
12
+ //# sourceMappingURL=SUPPORTED_CLIS-BWEFYiz9.js.map
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-Go0xdcmN.js";
3
+ import { i as versionString, n as displayVersion, r as getInstalledPackage, t as checkAndAutoUpdate } from "./versionChecker-Bw-_GghU.js";
4
4
  import { argv } from "process";
5
5
  import { execFileSync, spawn } from "child_process";
6
6
  import ms from "ms";
@@ -80,8 +80,8 @@ function parseCliArgs(argv, supportedClis) {
80
80
  description: "Send a prompt to the active agent's stdin in current directory"
81
81
  }).option("stdpush", {
82
82
  type: "boolean",
83
- description: "Enable external input stream to push additional data to stdin",
84
- default: false,
83
+ description: "Enable external input stream to push additional data to stdin (default: true; pass --no-stdpush to disable). Required for `ay send` to deliver messages to this agent.",
84
+ default: true,
85
85
  alias: ["ipc", "fifo"]
86
86
  }).option("auto", {
87
87
  type: "string",
@@ -227,7 +227,7 @@ function parseCliArgs(argv, supportedClis) {
227
227
  useSkills: parsedArgv.useSkills,
228
228
  swarmHint: parsedArgv.swarmHint,
229
229
  appendPrompt: parsedArgv.appendPrompt,
230
- useStdinAppend: Boolean(parsedArgv.stdpush || parsedArgv.ipc || parsedArgv.fifo),
230
+ useStdinAppend: Boolean(parsedArgv.stdpush),
231
231
  showVersion: parsedArgv.version,
232
232
  autoYes: parsedArgv.auto !== "no",
233
233
  idleAction: parsedArgv.idleAction,
@@ -515,7 +515,7 @@ if (config.useRust) {
515
515
  }
516
516
  }
517
517
  if (rustBinary) {
518
- const { SUPPORTED_CLIS } = await import("./SUPPORTED_CLIS-BrUEk9Ws.js");
518
+ const { SUPPORTED_CLIS } = await import("./SUPPORTED_CLIS-BWEFYiz9.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-T6n6lrQG.js";
1
+ import { a as removeControlCharacters, i as AgentContext, n as agentYes, r as config, t as CLIS_CONFIG } from "./ts-Bo2r1Owx.js";
2
2
  import "./logger-B9h0djqx.js";
3
- import "./versionChecker-Go0xdcmN.js";
3
+ import "./versionChecker-Bw-_GghU.js";
4
4
  import "./pidStore-C1JXxoPi.js";
5
5
  import "./globalPidIndex-Cr-g75QF.js";
6
6
 
@@ -1,5 +1,5 @@
1
1
  import { n as logger, t as addTransport } from "./logger-B9h0djqx.js";
2
- import { r as getInstalledPackage } from "./versionChecker-Go0xdcmN.js";
2
+ import { r as getInstalledPackage } from "./versionChecker-Bw-_GghU.js";
3
3
  import { i as shouldUseLock, r as releaseLock, t as acquireLock } from "./runningLock-C22d9SRJ.js";
4
4
  import { t as PidStore } from "./pidStore-C1JXxoPi.js";
5
5
  import { r as readGlobalPids } from "./globalPidIndex-Cr-g75QF.js";
@@ -1693,4 +1693,4 @@ function sleep(ms) {
1693
1693
 
1694
1694
  //#endregion
1695
1695
  export { removeControlCharacters as a, AgentContext as i, agentYes as n, config as r, CLIS_CONFIG as t };
1696
- //# sourceMappingURL=ts-T6n6lrQG.js.map
1696
+ //# sourceMappingURL=ts-Bo2r1Owx.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.90.1";
10
+ var version = "1.91.0";
11
11
 
12
12
  //#endregion
13
13
  //#region ts/versionChecker.ts
@@ -86,7 +86,7 @@ async function checkAndAutoUpdate() {
86
86
  if (process.env.AGENT_YES_NO_UPDATE) return;
87
87
  if (process.env.AGENT_YES_UPDATED) return;
88
88
  if (import.meta.url.startsWith("file://") && !import.meta.url.includes("node_modules")) {
89
- const scriptDir = path.dirname(new URL(import.meta.url).pathname);
89
+ const scriptDir = path.dirname(fileURLToPath(import.meta.url));
90
90
  const repoRoot = path.resolve(scriptDir, "..");
91
91
  if (existsSync(path.join(repoRoot, ".git"))) return;
92
92
  }
@@ -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-Go0xdcmN.js.map
224
+ //# sourceMappingURL=versionChecker-Bw-_GghU.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "claude-yes",
3
- "version": "1.90.1",
3
+ "version": "1.91.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",
@@ -421,4 +421,22 @@ describe("CLI argument parsing", () => {
421
421
  expect(result.queue).toBe(false);
422
422
  expect(result.cliArgs).not.toContain("--no-queue");
423
423
  });
424
+
425
+ it("enables stdpush IPC by default", () => {
426
+ // --stdpush defaults to true so `ay send` works out of the box.
427
+ // Without this, fifo_file ends up null in pids.jsonl and `ay send` returns 409.
428
+ const result = parseCliArgs(["node", "/path/to/ay", "claude"]);
429
+
430
+ expect(result.useStdinAppend).toBe(true);
431
+ });
432
+
433
+ it("respects --no-stdpush opt-out only when placed before the CLI positional", () => {
434
+ // halt-at-non-option means agent-yes flags must precede the CLI positional.
435
+ const beforeCli = parseCliArgs(["node", "/path/to/ay", "--no-stdpush", "claude"]);
436
+ const afterCli = parseCliArgs(["node", "/path/to/ay", "claude", "--no-stdpush"]);
437
+
438
+ expect(beforeCli.useStdinAppend).toBe(false);
439
+ expect(afterCli.useStdinAppend).toBe(true);
440
+ expect(afterCli.cliArgs).toContain("--no-stdpush");
441
+ });
424
442
  });
@@ -114,8 +114,9 @@ export function parseCliArgs(argv: string[], supportedClis?: readonly string[])
114
114
  })
115
115
  .option("stdpush", {
116
116
  type: "boolean",
117
- description: "Enable external input stream to push additional data to stdin",
118
- default: false,
117
+ description:
118
+ "Enable external input stream to push additional data to stdin (default: true; pass --no-stdpush to disable). Required for `ay send` to deliver messages to this agent.",
119
+ default: true,
119
120
  alias: ["ipc", "fifo"], // backward compatibility
120
121
  })
121
122
  .option("auto", {
@@ -321,7 +322,7 @@ export function parseCliArgs(argv: string[], supportedClis?: readonly string[])
321
322
  useSkills: parsedArgv.useSkills,
322
323
  swarmHint: parsedArgv.swarmHint,
323
324
  appendPrompt: parsedArgv.appendPrompt,
324
- useStdinAppend: Boolean(parsedArgv.stdpush || parsedArgv.ipc || parsedArgv.fifo), // Support --stdpush, --ipc, and --fifo (backward compatibility)
325
+ useStdinAppend: Boolean(parsedArgv.stdpush), // --ipc and --fifo are yargs aliases of --stdpush; reading the canonical key ensures --no-stdpush wins over alias defaults
325
326
  showVersion: parsedArgv.version,
326
327
  autoYes: parsedArgv.auto !== "no", // auto-yes enabled by default, disabled with --auto=no
327
328
  idleAction: parsedArgv.idleAction as string | undefined,
@@ -121,7 +121,11 @@ export async function checkAndAutoUpdate(): Promise<void> {
121
121
 
122
122
  // Skip auto-update when running from a linked local dev checkout (git repo)
123
123
  if (import.meta.url.startsWith("file://") && !import.meta.url.includes("node_modules")) {
124
- const scriptDir = path.dirname(new URL(import.meta.url).pathname);
124
+ // Use fileURLToPath rather than `new URL(url).pathname`: on Windows the
125
+ // pathname of file:///C:/foo is "/C:/foo" (leading slash before the drive
126
+ // letter), which path.dirname/path.resolve misinterpret — the .git lookup
127
+ // then runs against a non-existent path and auto-update fires on dev clones.
128
+ const scriptDir = path.dirname(fileURLToPath(import.meta.url));
125
129
  const repoRoot = path.resolve(scriptDir, "..");
126
130
  if (existsSync(path.join(repoRoot, ".git"))) return;
127
131
  }