aiterm-mcp 0.40.1 → 0.40.2

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.40.2] - 2026-09-27
11
+
12
+ ### 修正
13
+
14
+ - Composerの指定の案内が古かった。`agent_launch`の説明とREADMEは`harness=grok-cli, model=grok-composer-2.5-fast`を案内していたが、現行のGrok CLI(grok 1.0.41)のcatalogにComposerは無く、CLI自体も`unknown model id`で拒否する。その案内どおりに起動すると、catalog照合で必ず止まっていた。Composerは今Cursor Agent CLIのcatalogにあるので、`harness=cursor-cli, model=composer-2.5-fast`(または`composer-2.5`)を案内する。Grok catalogにComposer modelが無いというエラーにも、同じ指定を添える。別modelへのfallbackはしない。
15
+
10
16
  ## [0.40.1] - 2026-09-27
11
17
 
12
18
  ### 修正
@@ -1792,7 +1798,8 @@ prototype (preserved under `prototype/python/` as the porting source and referen
1792
1798
  `ubuntu-latest` for Node 18/20/22, publishing to npm on `v*` tags with
1793
1799
  provenance.
1794
1800
 
1795
- [Unreleased]: https://github.com/kitepon/aiterm-mcp/compare/v0.40.1...HEAD
1801
+ [Unreleased]: https://github.com/kitepon/aiterm-mcp/compare/v0.40.2...HEAD
1802
+ [0.40.2]: https://github.com/kitepon/aiterm-mcp/compare/v0.40.1...v0.40.2
1796
1803
  [0.40.1]: https://github.com/kitepon/aiterm-mcp/compare/v0.40.0...v0.40.1
1797
1804
  [0.40.0]: https://github.com/kitepon/aiterm-mcp/compare/v0.39.1...v0.40.0
1798
1805
  [0.39.1]: https://github.com/kitepon/aiterm-mcp/compare/v0.39.0...v0.39.1
package/README.ja.md CHANGED
@@ -145,7 +145,7 @@ diagnostics、recovery、update、releaseを所有します。このREADMEと[
145
145
 
146
146
  17ツール: 7つのPTYツール、正規のagent起動入口`agent_launch`、移行用の旧4alias、`agent_configure`、`agent_approval`、`claude_turn`、`claude_approval`、`diagnostics`。backendはPOSIXのtmux/Windows nativeのpsmuxなので、MCPサーバやAIクライアントが再起動してもsessionは生き残る。
147
147
 
148
- **v0.28.0では実行基盤harnessとmodelを分離した。** harnessはagent loop・認証・hook・session・transcriptを所有し、modelはその上で選ぶ。Cursor Agent CLIでGPT/Claude/Grokを選んでも完了契約はCursor方式のまま。Composerは別harnessではなく、`harness:"grok-cli", model:"grok-composer-2.5-fast"`で表す。旧4起動ツールは同じ実装へ流れる互換alias。
148
+ **v0.28.0では実行基盤harnessとmodelを分離した。** harnessはagent loop・認証・hook・session・transcriptを所有し、modelはその上で選ぶ。Cursor Agent CLIでGPT/Claude/Grokを選んでも完了契約はCursor方式のまま。Composerは別harnessではなくmodelである。現行のGrok CLI catalog(grok 1.0.41)には無く、Cursor catalogにあるので`harness:"cursor-cli", model:"composer-2.5-fast"`(または`composer-2.5`)で表す。旧4起動ツールは同じ実装へ流れる互換alias。
149
149
 
150
150
  **v0.25.2ではGrok 4.6を含む同一sessionの連続設定変更を安定化。** Grok Build 1.0.3で
151
151
  `/model`の成功通知が再描画により消えても、変更前には無かった要求model/effortが常駐footerへ現れた
@@ -202,7 +202,7 @@ runtime-error store は canonical dotagents config の `collection.enabled: true
202
202
  場合だけ収集し、既定OFF、network送信は行いません。tag起点CIのnpm provenance(OIDC Trusted
203
203
  Publishing)で公開し、GitHub Release が Official MCP Registry を再登録します。
204
204
 
205
- **状態:** 開発継続中 · 現行公開版 **v0.40.1** · 動作対象は Linux · WSL2 · macOS · Windows ネイティブ · MIT · [変更履歴](CHANGELOG.md)。
205
+ **状態:** 開発継続中 · 現行公開版 **v0.40.2** · 動作対象は Linux · WSL2 · macOS · Windows ネイティブ · MIT · [変更履歴](CHANGELOG.md)。
206
206
 
207
207
  ### 更新と巻き戻し
208
208
 
@@ -285,7 +285,7 @@ $ aiterm-wait --session codex1 --cursor <event_cursor> # exit 0=done / 3=timeo
285
285
  | --- | --- | --- |
286
286
  | `claude-code` | Claude Code CLI | Claude model/effort |
287
287
  | `codex-cli` | Codex CLI | OpenAI model/effort |
288
- | `grok-cli` | Grok Build CLI | Grok/Composer model、live catalog照合 |
288
+ | `grok-cli` | Grok Build CLI | Grok model、live catalog照合(Composerは現行catalogに無い。`cursor-cli`を使う) |
289
289
  | `cursor-cli` | Cursor Agent CLI | Cursor catalog上のGPT/Claude/Grok等 |
290
290
 
291
291
  Cursorの`model`は`gpt-5.6-luna`のようなbase model、`reasoning_effort`は`high`のように別指定する。adapterは現行`model-effort` IDを`cursor-agent models`へ照合し、起動中変更はCursor標準model pickerのparameter editorを使う。不在時は別modelへfallbackしない。
@@ -395,7 +395,7 @@ claude mcp add --scope user --transport stdio aiterm -- aiterm-mcp
395
395
 
396
396
  MCP クライアントが aiterm を stdio 越しにプログラムから駆動するので、上のすべては **端末に誰も座らないまま**動く。任意のMCP対応統括役が、自分と同じharnessを含む`agent_launch`を呼び、`pty_read`で結果を読んで次へ進める——無人で。これは、人が操作する端末が向かない場所にこそ aiterm が合うということ:
397
397
 
398
- - **複数エージェントのオーケストレーション** — 統括役がサブタスクを Claude Code / Codex / Grok / Cursor harnessへ渡し、各々を専用の永続セッションに置き、全部を読み戻す。ComposerはGrok CLIのmodel presetとして扱う。
398
+ - **複数エージェントのオーケストレーション** — 統括役がサブタスクを Claude Code / Codex / Grok / Cursor harnessへ渡し、各々を専用の永続セッションに置き、全部を読み戻す。ComposerはCursor catalogのmodel(`composer-2.5-fast`)として起動する。
399
399
  - **CI** — ジョブのステップがエージェントを起こし、操作し、片付けられる。
400
400
  - **cron** — スケジュール実行がエージェントを起動して出力を回収できる。
401
401
 
@@ -546,7 +546,7 @@ consumer は `aiterm-runtime-errors snapshot` を読み、durable ingestion 後
546
546
  | --- | --- | --- |
547
547
  | `claude-code` | Claude Code CLI | Claude model/effort |
548
548
  | `codex-cli` | Codex CLI | OpenAI model/effort |
549
- | `grok-cli` | Grok Build CLI | Grok/Composer model、live catalog照合 |
549
+ | `grok-cli` | Grok Build CLI | Grok model、live catalog照合(Composerは現行catalogに無い。`cursor-cli`を使う) |
550
550
  | `cursor-cli` | Cursor Agent CLI | Cursor catalog上のGPT/Claude/Grok等 |
551
551
 
552
552
  対応するCLI(`claude`/`codex`/`grok`/`cursor-agent`)の公式導入・認証が必要。前提違反はsession作成前に明示失敗する。全harnessが通常project/user環境と同じ非ブロックdispatch契約を使う。
package/README.md CHANGED
@@ -147,7 +147,7 @@ Aiterm and is not a runtime dependency.
147
147
 
148
148
  Seventeen tools: seven **PTY tools** — `pty_open` / `pty_send` / `pty_read` / `pty_key` / `pty_close` / `pty_list` / `pty_observe` — to open, drive, read, and observe one persistent terminal; one canonical **agent launcher**, `agent_launch`, which selects `claude-code`, `codex-cli`, `grok-cli`, or `cursor-cli` as the execution harness; four deprecated launcher aliases kept for migration; `agent_configure`; `agent_approval`; `claude_turn`; `claude_approval`; and `diagnostics`. The backend is **tmux on POSIX and psmux on native Windows**, so sessions survive even if the MCP server or the AI client restarts.
149
149
 
150
- **v0.28.0 separates the execution harness from the model.** The harness owns the agent loop, authentication, hooks, session, and transcript; `model` is what that harness runs. Cursor Agent CLI can therefore select GPT, Claude, or Grok without changing the completion contract from Cursor hooks to another harness's. Grok Composer is a Grok CLI model preset, not another harness: use `harness: "grok-cli", model: "grok-composer-2.5-fast"`. The old four launcher tools are thin compatibility aliases over the same implementation.
150
+ **v0.28.0 separates the execution harness from the model.** The harness owns the agent loop, authentication, hooks, session, and transcript; `model` is what that harness runs. Cursor Agent CLI can therefore select GPT, Claude, or Grok without changing the completion contract from Cursor hooks to another harness's. Composer is a model, not another harness. The current Grok CLI catalog (grok 1.0.41) no longer lists it; Cursor Agent CLI does, so use `harness: "cursor-cli", model: "composer-2.5-fast"` (or `composer-2.5`). The old four launcher tools are thin compatibility aliases over the same implementation.
151
151
 
152
152
  **v0.25.2 stabilizes repeated in-place configuration changes, including Grok 4.6.** If Grok Build
153
153
  1.0.3 redraws before its `/model` success notice can be observed, aiterm confirms the requested model/effort
@@ -216,7 +216,7 @@ collection is off by default and performs no network I/O. It ships via
216
216
  tag-triggered CI with npm provenance (OIDC Trusted Publishing); the GitHub
217
217
  Release re-registers the Official MCP Registry entry.
218
218
 
219
- **Status:** actively maintained · current public release **v0.40.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).
219
+ **Status:** actively maintained · current public release **v0.40.2** · 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).
220
220
 
221
221
  ### Update and rollback
222
222
 
@@ -309,7 +309,7 @@ The canonical harness choices are:
309
309
  | --- | --- | --- |
310
310
  | `claude-code` | Claude Code CLI | Claude model and effort controls; correlated Stop hook |
311
311
  | `codex-cli` | Codex CLI | OpenAI model and effort controls; durable rollout completion |
312
- | `grok-cli` | Grok Build CLI | Grok or Composer model selected with `model`; live catalog check |
312
+ | `grok-cli` | Grok Build CLI | Grok model selected with `model`; live catalog check (Composer is not in the current catalog; use `cursor-cli`) |
313
313
  | `cursor-cli` | Cursor Agent CLI | GPT, Claude, Grok, or another Cursor catalog model; normal transcript completion |
314
314
 
315
315
  `env_vars` is an allowlist of environment-variable **names**, not a name/value map. At launch,
@@ -424,7 +424,7 @@ This registers it in `~/.claude.json`; you'll get an approval prompt the first t
424
424
 
425
425
  Because an MCP client drives aiterm programmatically over stdio, everything above can run with **nobody sitting at the terminal**. Any MCP-capable orchestrator can call `agent_launch` — including a harness matching itself — then `pty_read` the result and act on it unattended. That makes aiterm a fit for exactly the places a human-driven terminal isn't:
426
426
 
427
- - **Multi-agent orchestration** — an orchestrator hands sub-tasks to Claude Code / Codex / Grok / Cursor harnesses, each in its own persistent session, and reads them all back. Composer remains a Grok CLI model preset.
427
+ - **Multi-agent orchestration** — an orchestrator hands sub-tasks to Claude Code / Codex / Grok / Cursor harnesses, each in its own persistent session, and reads them all back. Composer runs as a Cursor catalog model (`composer-2.5-fast`).
428
428
  - **CI** — a job step can spin up an agent, drive it, and tear it down.
429
429
  - **cron** — a scheduled run can launch an agent and collect its output.
430
430
 
@@ -581,7 +581,7 @@ Consumer flow is `aiterm-runtime-errors snapshot`, then `aiterm-runtime-errors a
581
581
  | --- | --- | --- |
582
582
  | `claude-code` | Claude Code CLI | Claude catalog model; native effort controls |
583
583
  | `codex-cli` | Codex CLI | OpenAI catalog model; native effort controls |
584
- | `grok-cli` | Grok Build CLI | Grok/Composer catalog model; Composer is `model: "grok-composer-2.5-fast"` |
584
+ | `grok-cli` | Grok Build CLI | Grok catalog model; Composer is not in the current catalog |
585
585
  | `cursor-cli` | Cursor Agent CLI | Cursor catalog model, including GPT/Claude/Grok; effort uses model parameter override |
586
586
 
587
587
  The selected harness CLI must be installed and authenticated. Use each product owner's official installer and updater; Aiterm does not distribute alternate CLI tarballs. For Cursor Agent CLI, use `curl https://cursor.com/install -fsS | bash` on macOS/Linux/WSL or `irm 'https://cursor.com/install?win32=true' | iex` on native Windows, authenticate once with `agent login`, and update with `agent update`; Aiterm invokes the unambiguous `cursor-agent` binary. Missing binaries, invalid model/effort values, unavailable Grok catalog models, and nonexistent `cwd` fail before a session exists.
@@ -65,7 +65,8 @@ export function assertGrokModelAvailable(bin, cwd, model) {
65
65
  const models = grokModelCatalog(bin, cwd);
66
66
  if (!models.includes(model)) {
67
67
  throw new AitermError(`Grok model catalog に ${JSON.stringify(model)} がありません。利用可能: ${models.join(", ")}。` +
68
- "別modelへfallbackせず起動を中止しました", 2);
68
+ "別modelへfallbackせず起動を中止しました" +
69
+ (/composer/i.test(model) ? "。ComposerはCursor catalogにあります: harness=cursor-cli, model=composer-2.5-fast" : ""), 2);
69
70
  }
70
71
  }
71
72
  export function grokSessionDirectory(meta) {
package/dist/index.js CHANGED
@@ -939,7 +939,7 @@ function registerAgentTool(toolName, kind, desc) {
939
939
  server.registerTool("agent_launch", {
940
940
  description: "エージェントを単一の標準入口から永続sessionへ起動する。harnessはagent loop・認証・hook・transcriptを所有する実行基盤、" +
941
941
  "modelはそのharnessが選ぶ推論モデルであり別軸。Cursor harnessからGPT/Claude/Grok等を選んでも完了相関はCursor方式のまま。" +
942
- "Grok Composerは別harnessではなく harness=grok-cli と model=grok-composer-2.5-fast で指定する。" +
942
+ "Composerは別harnessではなくmodelである。現行のGrok CLI catalog(grok 1.0.41)には無く、Cursor catalogにあるので harness=cursor-cli と model=composer-2.5-fast(またはcomposer-2.5)で指定する。" +
943
943
  "remoteを付けると、SSHで入った別端末のAitermで同じ起動を行い、完了は同じ形で親へ届く。" +
944
944
  agentEnvironmentDesc + agentCompletionDesc,
945
945
  inputSchema: {
@@ -1006,7 +1006,7 @@ registerAgentTool("grok_agent", "grok", "【旧互換alias。新規連携は age
1006
1006
  "turn は pty_send で送る(自動で非ブロック dispatch になる)。" +
1007
1007
  agentCompletionDesc +
1008
1008
  "model/reasoning_effortを引数で指定可。read-only sandboxとagent_configureに対応。");
1009
- registerAgentTool("composer_agent", "composer", "【旧互換alias。新規連携は agent_launch(harness=grok-cli, model=grok-composer-2.5-fast)】Grok BuildのComposerモデルを永続端末に起動する。" +
1009
+ registerAgentTool("composer_agent", "composer", "【旧互換alias。Composerは現行Grok CLI catalogに無いため、新規連携は agent_launch(harness=cursor-cli, model=composer-2.5-fast)】Grok BuildのComposerモデルを永続端末に起動する。" +
1010
1010
  agentEnvironmentDesc +
1011
1011
  "turn は pty_send で送る(自動で非ブロック dispatch になる)。" +
1012
1012
  agentCompletionDesc +
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aiterm-mcp",
3
- "version": "0.40.1",
3
+ "version": "0.40.2",
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": [