aiterm-mcp 0.29.24 → 0.29.25

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,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.29.25] - 2026-09-02
11
+
12
+ ### Fixed
13
+
14
+ - 無人Claude起動時に最初だけ表示されるBypass Permissions確認を進め、続くworkspace trust確認と初回promptまで一度の起動で完了する。
15
+
10
16
  ## [0.29.24] - 2026-09-02
11
17
 
12
18
  ### Fixed
@@ -1494,7 +1500,8 @@ prototype (preserved under `prototype/python/` as the porting source and referen
1494
1500
  `ubuntu-latest` for Node 18/20/22, publishing to npm on `v*` tags with
1495
1501
  provenance.
1496
1502
 
1497
- [Unreleased]: https://github.com/kitepon/aiterm-mcp/compare/v0.29.24...HEAD
1503
+ [Unreleased]: https://github.com/kitepon/aiterm-mcp/compare/v0.29.25...HEAD
1504
+ [0.29.25]: https://github.com/kitepon/aiterm-mcp/compare/v0.29.24...v0.29.25
1498
1505
  [0.29.24]: https://github.com/kitepon/aiterm-mcp/compare/v0.29.23...v0.29.24
1499
1506
  [0.29.23]: https://github.com/kitepon/aiterm-mcp/compare/v0.29.22...v0.29.23
1500
1507
  [0.29.22]: https://github.com/kitepon/aiterm-mcp/compare/v0.29.21...v0.29.22
package/README.ja.md CHANGED
@@ -153,7 +153,7 @@ runtime-error store は canonical dotagents config の `collection.enabled: true
153
153
  場合だけ収集し、既定OFF、network送信は行いません。tag起点CIのnpm provenance(OIDC Trusted
154
154
  Publishing)で公開し、GitHub Release が Official MCP Registry を再登録します。
155
155
 
156
- **状態:** 開発継続中 · 現行公開版 **v0.29.24** · 動作対象は Linux · WSL2 · macOS · Windows ネイティブ · MIT · [変更履歴](CHANGELOG.md)。
156
+ **状態:** 開発継続中 · 現行公開版 **v0.29.25** · 動作対象は Linux · WSL2 · macOS · Windows ネイティブ · MIT · [変更履歴](CHANGELOG.md)。
157
157
 
158
158
  ### 更新と巻き戻し
159
159
 
package/README.md CHANGED
@@ -169,7 +169,7 @@ collection is off by default and performs no network I/O. It ships via
169
169
  tag-triggered CI with npm provenance (OIDC Trusted Publishing); the GitHub
170
170
  Release re-registers the Official MCP Registry entry.
171
171
 
172
- **Status:** actively maintained · current public release **v0.29.24** · 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).
172
+ **Status:** actively maintained · current public release **v0.29.25** · 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).
173
173
 
174
174
  ### Update and rollback
175
175
 
package/dist/core.js CHANGED
@@ -2354,7 +2354,8 @@ function isAgentTuiActionRequired(kind, screen) {
2354
2354
  if (kind === "claude") {
2355
2355
  return /new MCP servers? found in this project/iu.test(screen)
2356
2356
  || screen.includes("Is this a project you created or one you trust")
2357
- || screen.includes("trust this folder");
2357
+ || screen.includes("trust this folder")
2358
+ || (screen.includes("Claude Code running in Bypass Permissions mode") && screen.includes("Yes, I accept"));
2358
2359
  }
2359
2360
  return false;
2360
2361
  }
@@ -2363,6 +2364,14 @@ function isClaudeWorkspaceTrustScreen(screen) {
2363
2364
  && screen.includes("No, exit")
2364
2365
  && screen.includes("Yes, I trust this folder");
2365
2366
  }
2367
+ function isClaudeBypassPermissionsScreen(screen) {
2368
+ return screen.includes("Claude Code running in Bypass Permissions mode")
2369
+ && screen.includes("No, exit")
2370
+ && screen.includes("Yes, I accept");
2371
+ }
2372
+ function isClaudeManagedLaunchConfirmation(screen) {
2373
+ return isClaudeWorkspaceTrustScreen(screen) || isClaudeBypassPermissionsScreen(screen);
2374
+ }
2366
2375
  async function waitAgentTuiReadyImpl(kind, sample, sleepFn, opts = {}) {
2367
2376
  const timeoutMs = opts.timeoutMs ?? AGENT_TUI_READY_TIMEOUT_MS;
2368
2377
  const pollMs = opts.pollMs ?? AGENT_TUI_READY_POLL_MS;
@@ -2579,9 +2588,9 @@ export async function sendInitialAgentPrompt(name, text, o = {}) {
2579
2588
  }
2580
2589
  setInitialPromptState(meta, "not_sent");
2581
2590
  let ready = await waitAgentTuiReady(name, meta, o.ready_timeout ?? AGENT_TUI_READY_TIMEOUT_MS);
2582
- if (!ready.ready && meta.kind === "claude" && isClaudeWorkspaceTrustScreen(ready.lastScreen)) {
2583
- // BellTeam等からの無人起動では、Claudeのworkspace trustだけを起動処理の一部として
2584
- // 明示的に承認する。通常turn中の権限確認やMCP承認には触れない。
2591
+ // 無人Claude起動でCLI自身が順に出す、bypass mode確認とworkspace trustだけを
2592
+ // 起動処理の一部として進める。通常turn中の権限確認やMCP承認には触れない。
2593
+ for (let confirmations = 0; !ready.ready && meta.kind === "claude" && confirmations < 3 && isClaudeManagedLaunchConfirmation(ready.lastScreen); confirmations++) {
2585
2594
  sendKey(name, "Down", { preserveAgentOperation: true });
2586
2595
  await sleep(AGENT_SUBMIT_DELAY_MS);
2587
2596
  sendKey(name, "Enter", { preserveAgentOperation: true });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aiterm-mcp",
3
- "version": "0.29.24",
3
+ "version": "0.29.25",
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": [