aiterm-mcp 0.29.29 → 0.29.30

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,7 +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.29] - 2026-09-02
10
+ ## [0.29.30] - 2026-09-02
11
+
12
+ ### Fixed
13
+
14
+ - 起動直後のClaude Codeへの初回dispatchが入力受付gateを素通りし、composer描画前に届いた貼付本文だけが残ってEnterが失われる競合を直した。完了eventも進行中turnもないClaude sessionは他harnessと同じready gateを通してから送信する。
15
+
11
16
 
12
17
  ### Fixed
13
18
 
@@ -1524,7 +1529,8 @@ prototype (preserved under `prototype/python/` as the porting source and referen
1524
1529
  `ubuntu-latest` for Node 18/20/22, publishing to npm on `v*` tags with
1525
1530
  provenance.
1526
1531
 
1527
- [Unreleased]: https://github.com/kitepon/aiterm-mcp/compare/v0.29.29...HEAD
1532
+ [Unreleased]: https://github.com/kitepon/aiterm-mcp/compare/v0.29.30...HEAD
1533
+ [0.29.30]: https://github.com/kitepon/aiterm-mcp/compare/v0.29.29...v0.29.30
1528
1534
  [0.29.29]: https://github.com/kitepon/aiterm-mcp/compare/v0.29.28...v0.29.29
1529
1535
  [0.29.28]: https://github.com/kitepon/aiterm-mcp/compare/v0.29.27...v0.29.28
1530
1536
  [0.29.27]: https://github.com/kitepon/aiterm-mcp/compare/v0.29.26...v0.29.27
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.29** · 動作対象は Linux · WSL2 · macOS · Windows ネイティブ · MIT · [変更履歴](CHANGELOG.md)。
156
+ **状態:** 開発継続中 · 現行公開版 **v0.29.30** · 動作対象は 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.29** · 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.30** · 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
@@ -2934,7 +2934,14 @@ export async function dispatchAgentTurn(name, text, o = {}) {
2934
2934
  // Codex/Grok/Composerはbind済みのfollow-upでも毎回idleを確認してからtranscript境界を切る。
2935
2935
  // Grok/Composerはsession IDが起動前から既知でも、共有MCPの初期化完了前には送信しない。
2936
2936
  // 同じcursorへ複数turnを帰属させる余地や、初期化中TUIへの早送信を作らない。
2937
- if (meta.kind !== "claude" || !meta.vendor_session_id) {
2937
+ // Claudeはsession IDを起動時に採番するため「bind済み」では初回を区別できず、起動直後の
2938
+ // dispatchがready gateを素通りしていた。composer描画前に貼付とEnterが届くと起動時の一塊の
2939
+ // 入力として読まれ、本文だけがcomposerへ残る(実被弾 2026-09-02: 停止中Botへの初回配送)。
2940
+ // 完了eventも進行中turnもないClaude sessionだけを起動直後とみなし、他harnessと同じgateを通す。
2941
+ const claudeColdStart = meta.kind === "claude"
2942
+ && agentCompletionCursor(meta) === 0
2943
+ && readClaudeOperationMarker(meta) === null;
2944
+ if (meta.kind !== "claude" || claudeColdStart) {
2938
2945
  const ready = await waitAgentTuiReady(name, meta, o.ready_timeout ?? AGENT_TUI_READY_TIMEOUT_MS);
2939
2946
  if (!ready.ready) {
2940
2947
  throw new AitermError(`agent session '${name}' の ${agentLabel(meta.kind)} TUI が入力受付状態になりません。文字列は送信していません。` +
package/docs/DESIGN.md CHANGED
@@ -28,6 +28,7 @@ platform nativeな別process起動情報を返す。waiterは純readerで、親
28
28
  回答はharness所有transcriptから同じturnへ相関して回収し、欠落・曖昧・timeout時にpromptを再送しない。
29
29
  `agent_steer`は実行中のCodex/Grok turnへ追加textを差し込み、idleなら送信せず状態を返す。
30
30
  Cursorのsubmitはadapterがextended keyboard protocolのEnterへ変換し、呼び出し側は通常のdispatchだけを使う。
31
+ 起動直後のClaude sessionへの初回dispatchは、他harnessと同じくTUIの入力受付を確認してから貼付とEnterを送る。
31
32
 
32
33
  ## Layer ownership
33
34
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aiterm-mcp",
3
- "version": "0.29.29",
3
+ "version": "0.29.30",
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": [