agent-sin 0.1.5 → 0.1.6

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.
package/CHANGELOG.md CHANGED
@@ -15,6 +15,14 @@ See the [compatibility policy](https://agent.shingoirie.com/versioning) for deta
15
15
 
16
16
  ---
17
17
 
18
+ ## [0.1.6] — 2026-05-14
19
+
20
+ ### Fixed
21
+
22
+ - On Windows, launching the Codex CLI (and Claude Code CLI) failed with `spawn codex ENOENT` because Node's `spawn` cannot resolve the `.cmd` shim that npm-installed CLIs use on Windows. Both the one-shot CLI bridge and the long-running `codex app-server` now enable `shell: true` only on `win32`, so the shim is found correctly. POSIX paths still use direct exec.
23
+
24
+ ---
25
+
18
26
  ## [0.1.5] — 2026-05-14
19
27
 
20
28
  ### Changed
@@ -643,7 +643,14 @@ function splitExtraArgs(value) {
643
643
  }
644
644
  async function spawnCli(bin, args, modelId, provider, onProgress, cwd) {
645
645
  return new Promise((resolve, reject) => {
646
- const child = spawn(bin, args, { stdio: ["ignore", "pipe", "pipe"], cwd });
646
+ // Windows wraps CLI tools as .cmd / .bat shims (codex.cmd, claude.cmd).
647
+ // Node's spawn cannot exec those without going through a shell, so we
648
+ // enable shell only on win32. Posix paths keep direct exec for safety.
649
+ const child = spawn(bin, args, {
650
+ stdio: ["ignore", "pipe", "pipe"],
651
+ cwd,
652
+ shell: process.platform === "win32",
653
+ });
647
654
  const stdout = [];
648
655
  const stderr = [];
649
656
  let stderrLine = "";
@@ -104,8 +104,11 @@ export class CodexAppServerSession {
104
104
  await this.starting;
105
105
  }
106
106
  async start() {
107
+ // Windows wraps the codex CLI as a .cmd shim; Node's spawn cannot exec
108
+ // those without a shell, so we enable shell only on win32.
107
109
  const child = spawn(this.options.bin, this.options.args, {
108
110
  stdio: ["pipe", "pipe", "pipe"],
111
+ shell: process.platform === "win32",
109
112
  });
110
113
  this.child = child;
111
114
  this.exitReason = null;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-sin",
3
- "version": "0.1.5",
3
+ "version": "0.1.6",
4
4
  "description": "Program Skill-first personal AI agent OS CLI.",
5
5
  "type": "module",
6
6
  "license": "MIT",