aiterm-mcp 0.29.22 → 0.29.24
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 +16 -1
- package/README.ja.md +1 -1
- package/README.md +1 -1
- package/dist/core.js +26 -1
- package/dist/harnesses/claude.js +1 -1
- package/dist/harnesses/codex.js +2 -0
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -7,6 +7,19 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
7
7
|
|
|
8
8
|
## [Unreleased]
|
|
9
9
|
|
|
10
|
+
## [0.29.24] - 2026-09-02
|
|
11
|
+
|
|
12
|
+
### Fixed
|
|
13
|
+
|
|
14
|
+
- 無人Claude起動時のworkspace trust確認を起動処理内で完了し、初回promptを入力欄へ届ける。
|
|
15
|
+
- Cursorの長文pasteで末尾が画面外にある場合も、本文入りcomposerを未submitとして検出し、偽の成功receiptを返さない。
|
|
16
|
+
|
|
17
|
+
## [0.29.23] - 2026-09-02
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
|
|
21
|
+
- Disable Codex startup update checks for centrally managed agents and launch managed Claude agents without interactive permission or workspace-trust prompts.
|
|
22
|
+
|
|
10
23
|
## [0.29.22] - 2026-09-02
|
|
11
24
|
|
|
12
25
|
### Fixed
|
|
@@ -1481,7 +1494,9 @@ prototype (preserved under `prototype/python/` as the porting source and referen
|
|
|
1481
1494
|
`ubuntu-latest` for Node 18/20/22, publishing to npm on `v*` tags with
|
|
1482
1495
|
provenance.
|
|
1483
1496
|
|
|
1484
|
-
[Unreleased]: https://github.com/kitepon/aiterm-mcp/compare/v0.29.
|
|
1497
|
+
[Unreleased]: https://github.com/kitepon/aiterm-mcp/compare/v0.29.24...HEAD
|
|
1498
|
+
[0.29.24]: https://github.com/kitepon/aiterm-mcp/compare/v0.29.23...v0.29.24
|
|
1499
|
+
[0.29.23]: https://github.com/kitepon/aiterm-mcp/compare/v0.29.22...v0.29.23
|
|
1485
1500
|
[0.29.22]: https://github.com/kitepon/aiterm-mcp/compare/v0.29.21...v0.29.22
|
|
1486
1501
|
[0.29.21]: https://github.com/kitepon/aiterm-mcp/compare/v0.29.20...v0.29.21
|
|
1487
1502
|
[0.29.20]: https://github.com/kitepon/aiterm-mcp/compare/v0.29.19...v0.29.20
|
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.
|
|
156
|
+
**状態:** 開発継続中 · 現行公開版 **v0.29.24** · 動作対象は 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.
|
|
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).
|
|
173
173
|
|
|
174
174
|
### Update and rollback
|
|
175
175
|
|
package/dist/core.js
CHANGED
|
@@ -2358,6 +2358,11 @@ function isAgentTuiActionRequired(kind, screen) {
|
|
|
2358
2358
|
}
|
|
2359
2359
|
return false;
|
|
2360
2360
|
}
|
|
2361
|
+
function isClaudeWorkspaceTrustScreen(screen) {
|
|
2362
|
+
return screen.includes("Is this a project you created or one you trust")
|
|
2363
|
+
&& screen.includes("No, exit")
|
|
2364
|
+
&& screen.includes("Yes, I trust this folder");
|
|
2365
|
+
}
|
|
2361
2366
|
async function waitAgentTuiReadyImpl(kind, sample, sleepFn, opts = {}) {
|
|
2362
2367
|
const timeoutMs = opts.timeoutMs ?? AGENT_TUI_READY_TIMEOUT_MS;
|
|
2363
2368
|
const pollMs = opts.pollMs ?? AGENT_TUI_READY_POLL_MS;
|
|
@@ -2427,6 +2432,17 @@ function agentSubmitResidueOnScreen(kind, screen, tail) {
|
|
|
2427
2432
|
}
|
|
2428
2433
|
if (markerIdx < 0)
|
|
2429
2434
|
return null;
|
|
2435
|
+
if (kind === "cursor") {
|
|
2436
|
+
// Cursorは長いpasteを入力欄の先頭側だけ表示することがあり、送信文の末尾一致では
|
|
2437
|
+
// 座礁を検出できない。最新composerのmarkerと同じ行にplaceholder以外の本文が
|
|
2438
|
+
// 残っていれば、その本文自体を未submitの陽性証拠とする。
|
|
2439
|
+
const sameRowText = lines[markerIdx]
|
|
2440
|
+
.replace(/^\s*(?:->|>|→)\s*/u, "")
|
|
2441
|
+
.trim();
|
|
2442
|
+
if (sameRowText.length > 0
|
|
2443
|
+
&& !/^(?:Add a follow-up|Plan,\s*search,\s*build anything)\b/iu.test(sameRowText))
|
|
2444
|
+
return true;
|
|
2445
|
+
}
|
|
2430
2446
|
return normalizeResidueText(lines.slice(markerIdx).join("")).includes(tail);
|
|
2431
2447
|
}
|
|
2432
2448
|
async function detectAgentSubmitResidueImpl(kind, text, sample, sleepFn, opts = {}) {
|
|
@@ -2562,7 +2578,16 @@ export async function sendInitialAgentPrompt(name, text, o = {}) {
|
|
|
2562
2578
|
throw new AitermError(`agent session '${name}' は起動時 prompt の完了待ちです。初回応答完了後に再度操作してください。`, 2);
|
|
2563
2579
|
}
|
|
2564
2580
|
setInitialPromptState(meta, "not_sent");
|
|
2565
|
-
|
|
2581
|
+
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承認には触れない。
|
|
2585
|
+
sendKey(name, "Down", { preserveAgentOperation: true });
|
|
2586
|
+
await sleep(AGENT_SUBMIT_DELAY_MS);
|
|
2587
|
+
sendKey(name, "Enter", { preserveAgentOperation: true });
|
|
2588
|
+
await sleep(AGENT_SUBMIT_DELAY_MS);
|
|
2589
|
+
ready = await waitAgentTuiReady(name, meta, o.ready_timeout ?? AGENT_TUI_READY_TIMEOUT_MS);
|
|
2590
|
+
}
|
|
2566
2591
|
if (!ready.ready) {
|
|
2567
2592
|
// ready失敗は成功形で返さず明示エラーにする(実被弾 2026-08-25: Codexのupdate確認ダイアログで
|
|
2568
2593
|
// 未送信のまま成功形receiptが返り、呼び出し側が40分気づけなかった)。sessionは調査/復旧用に残る。
|
package/dist/harnesses/claude.js
CHANGED
|
@@ -162,7 +162,7 @@ export function assertClaudeAuthenticationReady(bin) {
|
|
|
162
162
|
export function buildClaudeAgentCmd(bin, model, effort, prompt, meta) {
|
|
163
163
|
const parts = [shq(bin)];
|
|
164
164
|
if (meta?.kind === "claude") {
|
|
165
|
-
parts.push("--setting-sources", shq("user,project,local"), "--settings", shq(meta.claude_settings ?? ""), "--session-id", shq(meta.vendor_session_id ?? ""), "--append-system-prompt", shq(subagentInstruction(meta)));
|
|
165
|
+
parts.push("--dangerously-skip-permissions", "--setting-sources", shq("user,project,local"), "--settings", shq(meta.claude_settings ?? ""), "--session-id", shq(meta.vendor_session_id ?? ""), "--append-system-prompt", shq(subagentInstruction(meta)));
|
|
166
166
|
}
|
|
167
167
|
if (model)
|
|
168
168
|
parts.push("--model", shq(model));
|
package/dist/harnesses/codex.js
CHANGED
|
@@ -336,6 +336,8 @@ export function buildCodexAgentCmd(bin, model, effort, prompt, meta) {
|
|
|
336
336
|
// launcher自身が実効能力壁を作る。パス説明はCodex CLIに同等のallowlist引数がないため宣言のまま残す。
|
|
337
337
|
if (meta?.kind === "codex" && meta.write_scope === "read-only")
|
|
338
338
|
parts.push("--sandbox", "read-only");
|
|
339
|
+
if (meta?.kind === "codex")
|
|
340
|
+
parts.push("-c", "check_for_update_on_startup=false");
|
|
339
341
|
// model/effort は共有configを書き換えず、CLI引数で明示して起動単位に優先する。
|
|
340
342
|
if (model)
|
|
341
343
|
parts.push("-m", shq(model));
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "aiterm-mcp",
|
|
3
|
-
"version": "0.29.
|
|
3
|
+
"version": "0.29.24",
|
|
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": [
|