aiterm-mcp 0.56.0 → 0.56.1

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
@@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.56.1] - 2026-10-07
11
+
12
+ ### 修正
13
+
14
+ - `aiterm-parent-delivery`が、呼ぶ側のPATHにnodeの場所が無い環境でも、nodeで動くCodexの起動役(npm版の`codex`。1行目が
15
+ `#!/usr/bin/env node`)を起こせるようにする。0.56.0は、そういう環境(素のsshの環境、製品の常駐process、アプリ配下のprocess)から
16
+ 呼ぶと、`codex verify`が`CODEX_RECEIVER_TRANSPORT_FAILED`(exit=127)で断っていた。本文は送られていなかった。
17
+ - 命令が、自分を動かしているnodeの場所を、起こすCodexのPATHの頭へ足す。既にPATHにあれば何も変えない。
18
+ - 引数・返りの形は変わらない。Desktop同梱のCodex(macOS・Windows)は元から当たらない。
19
+
10
20
  ## [0.56.0] - 2026-10-07
11
21
 
12
22
  ### 追加
@@ -2333,7 +2343,8 @@ prototype (preserved under `prototype/python/` as the porting source and referen
2333
2343
  `ubuntu-latest` for Node 18/20/22, publishing to npm on `v*` tags with
2334
2344
  provenance.
2335
2345
 
2336
- [Unreleased]: https://github.com/kitepon/aiterm-mcp/compare/v0.56.0...HEAD
2346
+ [Unreleased]: https://github.com/kitepon/aiterm-mcp/compare/v0.56.1...HEAD
2347
+ [0.56.1]: https://github.com/kitepon/aiterm-mcp/compare/v0.56.0...v0.56.1
2337
2348
  [0.56.0]: https://github.com/kitepon/aiterm-mcp/compare/v0.55.4...v0.56.0
2338
2349
  [0.55.4]: https://github.com/kitepon/aiterm-mcp/compare/v0.55.3...v0.55.4
2339
2350
  [0.55.3]: https://github.com/kitepon/aiterm-mcp/compare/v0.55.2...v0.55.3
package/README.ja.md CHANGED
@@ -209,7 +209,7 @@ runtime-error store は canonical dotagents config の `collection.enabled: true
209
209
  場合だけ収集し、既定OFF、network送信は行いません。tag起点CIのnpm provenance(OIDC Trusted
210
210
  Publishing)で公開し、GitHub Release が Official MCP Registry を再登録します。
211
211
 
212
- **状態:** 開発継続中 · 現行公開版 **v0.56.0** · 動作対象は Linux · WSL2 · macOS · Windows ネイティブ · MIT · [変更履歴](CHANGELOG.md)。
212
+ **状態:** 開発継続中 · 現行公開版 **v0.56.1** · 動作対象は Linux · WSL2 · macOS · Windows ネイティブ · MIT · [変更履歴](CHANGELOG.md)。
213
213
 
214
214
  ### 更新と巻き戻し
215
215
 
package/README.md CHANGED
@@ -223,7 +223,7 @@ collection is off by default and performs no network I/O. It ships via
223
223
  tag-triggered CI with npm provenance (OIDC Trusted Publishing); the GitHub
224
224
  Release re-registers the Official MCP Registry entry.
225
225
 
226
- **Status:** actively maintained · current public release **v0.56.0** · runs on Linux · WSL2 · macOS · native Windows (tmux on POSIX, the tmux-CLI-compatible [psmux](https://github.com/psmux/psmux) on native Windows — no WSL required) · MIT · see the [CHANGELOG](CHANGELOG.md).
226
+ **Status:** actively maintained · current public release **v0.56.1** · runs on Linux · WSL2 · macOS · native Windows (tmux on POSIX, the tmux-CLI-compatible [psmux](https://github.com/psmux/psmux) on native Windows — no WSL required) · MIT · see the [CHANGELOG](CHANGELOG.md).
227
227
 
228
228
  ### Update and rollback
229
229
 
@@ -119,6 +119,22 @@ async function deliveryState(target, delivery) {
119
119
  return { state, hook, turn_id: turn, queued: null, queue_error: typeof code === "string" ? code : "CODEX_QUEUE_UNREADABLE" };
120
120
  }
121
121
  }
122
+ /**
123
+ * 起こすCodexが、この命令を動かしているnodeを見つけられるPATHを返す。
124
+ * npm版のCodexは`#!/usr/bin/env node`の起動役で、呼ぶ側のPATHにnodeの場所が無いと起きない(exit 127)。製品の常駐processや
125
+ * アプリ配下のprocessは、PATHが細い事がある(2026-10-07、素のsshの環境からの呼び出しで起きた)。
126
+ * nodeの場所がPATHに無い時だけ頭へ足す。既にあれば、並びも中身も変えない。
127
+ */
128
+ export function pathWithNode(env, node = process.execPath, platform = process.platform) {
129
+ const windows = platform === "win32";
130
+ // Windowsの環境変数名は大文字小文字を区別しない(`Path`で入っている事が多い)。
131
+ const key = Object.keys(env).find(name => windows ? name.toLowerCase() === "path" : name === "PATH") ?? "PATH";
132
+ const delimiter = windows ? ";" : ":";
133
+ const directory = (windows ? path.win32 : path.posix).dirname(node);
134
+ const current = env[key] ?? "";
135
+ const listed = current.split(delimiter).some(part => windows ? part.toLowerCase() === directory.toLowerCase() : part === directory);
136
+ return { key, value: listed ? current : current ? `${directory}${delimiter}${current}` : directory };
137
+ }
122
138
  /** この命令の場所と版。製品側の入口(aiterm-steer-delivery)が、呼べる相手かどうかを確かめるのに使う。 */
123
139
  export function providerDescription() {
124
140
  return { version: pkg.version, node: process.execPath, cli: fileURLToPath(import.meta.url) };
@@ -170,6 +186,8 @@ function isDirectExecution() {
170
186
  }
171
187
  if (isDirectExecution()) {
172
188
  try {
189
+ const found = pathWithNode(process.env);
190
+ process.env[found.key] = found.value;
173
191
  process.stdout.write(JSON.stringify({ ok: true, schema: PARENT_DELIVERY_SCHEMA, ...(await runParentDelivery(process.argv.slice(2))) }) + "\n");
174
192
  }
175
193
  catch (error) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aiterm-mcp",
3
- "version": "0.56.0",
3
+ "version": "0.56.1",
4
4
  "mcpName": "io.github.kitepon/aiterm-mcp",
5
5
  "description": "Persistent terminal MCP with one harness-based launcher for Claude Code, Codex CLI, Grok CLI, and Cursor Agent CLI, plus durable PTYs for SSH, containers, and REPLs.",
6
6
  "keywords": [