aiterm-mcp 0.38.1 → 0.38.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 +9 -1
- package/README.ja.md +3 -1
- package/README.md +3 -1
- package/dist/harnesses/claude.js +15 -0
- package/docs/DESIGN.md +2 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,13 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.38.2] - 2026-09-25
|
|
11
|
+
|
|
12
|
+
### 修正
|
|
13
|
+
|
|
14
|
+
- Claude Code初回起動時のテーマ選択を、画面で選択済みの項目を確定して通過する。続くログイン方式の選択は入力欄と誤認せず、公式CLIでの初回設定が必要と明示する。
|
|
15
|
+
- WindowsのCursor親受け口試験で、Windows専用の起動引数を誤って`null`と期待していた判定を修正する。
|
|
16
|
+
|
|
10
17
|
## [0.38.1] - 2026-09-22
|
|
11
18
|
|
|
12
19
|
### 修正
|
|
@@ -1744,7 +1751,8 @@ prototype (preserved under `prototype/python/` as the porting source and referen
|
|
|
1744
1751
|
`ubuntu-latest` for Node 18/20/22, publishing to npm on `v*` tags with
|
|
1745
1752
|
provenance.
|
|
1746
1753
|
|
|
1747
|
-
[Unreleased]: https://github.com/kitepon/aiterm-mcp/compare/v0.38.
|
|
1754
|
+
[Unreleased]: https://github.com/kitepon/aiterm-mcp/compare/v0.38.2...HEAD
|
|
1755
|
+
[0.38.2]: https://github.com/kitepon/aiterm-mcp/compare/v0.38.1...v0.38.2
|
|
1748
1756
|
[0.38.1]: https://github.com/kitepon/aiterm-mcp/compare/v0.38.0...v0.38.1
|
|
1749
1757
|
[0.38.0]: https://github.com/kitepon/aiterm-mcp/compare/v0.37.10...v0.38.0
|
|
1750
1758
|
[0.37.10]: https://github.com/kitepon/aiterm-mcp/compare/v0.37.9...v0.37.10
|
package/README.ja.md
CHANGED
|
@@ -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.38.
|
|
205
|
+
**状態:** 開発継続中 · 現行公開版 **v0.38.2** · 動作対象は Linux · WSL2 · macOS · Windows ネイティブ · MIT · [変更履歴](CHANGELOG.md)。
|
|
206
206
|
|
|
207
207
|
### 更新と巻き戻し
|
|
208
208
|
|
|
@@ -486,6 +486,8 @@ aiterm は同じ核心の洞察——端末を出会いの場にする——を
|
|
|
486
486
|
|
|
487
487
|
`agent_launch({ harness, cwd, trust_project: true })`はpromptなしでも既知のworkspace・project hooks・MCP初期同意を
|
|
488
488
|
進め、入力受付とharness生存を確認して`startup.status="ready"`を返す。指定なしのpromptなし起動は`not_checked`。
|
|
489
|
+
Claude Code初回起動の文字表示テーマ選択では、画面で選択済みの項目を確定して起動を続ける。
|
|
490
|
+
続いてログイン方式の選択が出た場合は`vendor_onboarding_required`を返す。公式の対話型Claude Code CLIで初回設定を完了する。
|
|
489
491
|
WindowsのCodexもhook確認を認識し、npm shim経由の起動を一つのharnessとして識別する。
|
|
490
492
|
初手の`initial_prompt.status`は`not_requested`/`not_sent`/`submitted_unconfirmed`/`started`を区別する。
|
|
491
493
|
未送信・未確認の失敗もsession付きstructuredContentを保持する。未確認のpromptを再送せず、返ったcursorで観測する。
|
package/README.md
CHANGED
|
@@ -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.38.
|
|
219
|
+
**Status:** actively maintained · current public release **v0.38.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
|
|
|
@@ -517,6 +517,8 @@ displayed token count or null. Callers do not need raw argv or pane-text parsing
|
|
|
517
517
|
|
|
518
518
|
`agent_launch({ harness, cwd, trust_project: true })` completes known workspace, project-hook, and project-MCP startup
|
|
519
519
|
consent even without a prompt, then verifies input readiness and harness liveness before returning `startup.status="ready"`.
|
|
520
|
+
For Claude Code's first-run text-style menu, it confirms the item already selected on screen before continuing startup.
|
|
521
|
+
If the CLI then requests an account login method, the launch reports `vendor_onboarding_required`; complete that choice in the official interactive Claude Code CLI.
|
|
520
522
|
A prompt-free launch without this option retains `startup.status="not_checked"`. `initial_prompt.status` distinguishes
|
|
521
523
|
`not_requested`, `not_sent`, `submitted_unconfirmed`, and `started`. Failure responses retain structured session information.
|
|
522
524
|
WindowsのCodexもhook確認を認識し、npm shim経由の起動を一つのharnessとして識別する。
|
package/dist/harnesses/claude.js
CHANGED
|
@@ -180,6 +180,8 @@ export function claudeLaunchNote(model, effort, meta) {
|
|
|
180
180
|
export function claudeTuiReady(screen) {
|
|
181
181
|
if (!screen.includes("Claude Code"))
|
|
182
182
|
return false;
|
|
183
|
+
if (claudeLoginMethodMenu(screen))
|
|
184
|
+
return false;
|
|
183
185
|
const lastMarker = screen.split(/\r?\n/u).filter((line) => /^\s*❯/u.test(line)).at(-1)?.trim();
|
|
184
186
|
if (!lastMarker)
|
|
185
187
|
return false;
|
|
@@ -190,6 +192,8 @@ export function claudeTuiReady(screen) {
|
|
|
190
192
|
}
|
|
191
193
|
export function claudePaneObservation(screen) {
|
|
192
194
|
const tail = screen.split("\n").slice(-32).join("\n");
|
|
195
|
+
if (claudeLoginMethodMenu(screen))
|
|
196
|
+
return { state: "blocked", reason: "vendor_onboarding_required" };
|
|
193
197
|
if (/Do you want to proceed\?/.test(tail) && /(?:^|\n)\s*[❯>]?\s*\d+\.\s+(?:Yes|No)\s*$/m.test(tail))
|
|
194
198
|
return { state: "blocked", reason: "tool_approval" };
|
|
195
199
|
if (/esc to interrupt/i.test(tail))
|
|
@@ -202,7 +206,18 @@ export function claudePaneObservation(screen) {
|
|
|
202
206
|
return { state: "blocked", reason: "startup_dialog" };
|
|
203
207
|
return { state: "unknown", reason: "unrecognized_screen" };
|
|
204
208
|
}
|
|
209
|
+
function claudeLoginMethodMenu(screen) {
|
|
210
|
+
const tail = screen.split("\n").slice(-32).join("\n");
|
|
211
|
+
const lastMarker = tail.split(/\r?\n/u).filter(line => /^\s*❯/u.test(line)).at(-1)?.trim();
|
|
212
|
+
return tail.includes("Select login method:")
|
|
213
|
+
&& /^❯\s*(?:Claude account with subscription|Anthropic Console account|3rd-party platform)/u.test(lastMarker ?? "");
|
|
214
|
+
}
|
|
205
215
|
export function claudeStartupAction(screen, trustProject) {
|
|
216
|
+
const tail = screen.split("\n").slice(-32).join("\n");
|
|
217
|
+
const lastMarker = tail.split(/\r?\n/u).filter(line => /^\s*❯/u.test(line)).at(-1)?.trim();
|
|
218
|
+
if (tail.includes("Choose the text style that looks best with your terminal")
|
|
219
|
+
&& /^❯\s*[1-7]\.\s*(?:Auto \(match terminal\)|Dark mode|Light mode)/u.test(lastMarker ?? ""))
|
|
220
|
+
return { kind: "initial_theme_selected", keys: ["Enter"] };
|
|
206
221
|
// 既存launcherで扱っていた2確認は従来の起動契約を維持する。
|
|
207
222
|
if (screen.includes("Is this a project you created or one you trust")
|
|
208
223
|
&& screen.includes("No, exit") && screen.includes("Yes, I trust this folder"))
|
package/docs/DESIGN.md
CHANGED
|
@@ -171,6 +171,8 @@ APIエラー監視の参照先を一致させ、監視中のリンク変更で
|
|
|
171
171
|
hookを外す時は`aiterm-setup --remove-cursor-parent-hooks`で専用entryだけを解除する。
|
|
172
172
|
|
|
173
173
|
`trust_project:true`は対象projectの既知のworkspace、hooks、MCP初期同意を起動準備として進める意図である。
|
|
174
|
+
Claude Codeの初回テーマ選択は選択済みの項目を確定し、後続の起動準備へ進める。
|
|
175
|
+
ログイン方式の選択はユーザーのアカウント設定として扱い、composerと誤認せず`vendor_onboarding_required`で止める。
|
|
174
176
|
promptなしでも入力受付とharness生存を確認して`startup.ready`を返す。指定なしのpromptなし起動は
|
|
175
177
|
従来どおり`startup.not_checked`で返す。初手receiptは未要求・未送信・送信済み未確認・開始確認を分ける。
|
|
176
178
|
開始の証拠は送信後の実行表示、実行中の既知承認、または同じcursor以降の完了だけとし、残存なしでは代用しない。
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aiterm-mcp",
|
|
3
|
-
"version": "0.38.
|
|
3
|
+
"version": "0.38.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": [
|