aiterm-mcp 0.53.0 → 0.53.1

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,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.53.1] - 2026-10-05
11
+
12
+ ### 修正
13
+
14
+ - 0.53.0で、Grokにログイン済みなのに`agent_auth`の`status`が`blocked`(認証が必要)を返す事があった。
15
+ `grok models`は、生きているログインでも古いtokenを取り直す回だけ`You are not authenticated.`と答える事がある
16
+ (macbook、Grok 1.0.46。1回目は未認証、同じ時刻に`auth.json`が更新され、2回目からは認証済み)。
17
+ 「未認証」の答えは1回では決めず、1.5秒置いてもう1回聞く。2回とも未認証の時だけ`blocked`にする。
18
+
10
19
  ## [0.53.0] - 2026-10-05
11
20
 
12
21
  ### 追加
@@ -2195,7 +2204,8 @@ prototype (preserved under `prototype/python/` as the porting source and referen
2195
2204
  `ubuntu-latest` for Node 18/20/22, publishing to npm on `v*` tags with
2196
2205
  provenance.
2197
2206
 
2198
- [Unreleased]: https://github.com/kitepon/aiterm-mcp/compare/v0.53.0...HEAD
2207
+ [Unreleased]: https://github.com/kitepon/aiterm-mcp/compare/v0.53.1...HEAD
2208
+ [0.53.1]: https://github.com/kitepon/aiterm-mcp/compare/v0.53.0...v0.53.1
2199
2209
  [0.53.0]: https://github.com/kitepon/aiterm-mcp/compare/v0.52.3...v0.53.0
2200
2210
  [0.52.3]: https://github.com/kitepon/aiterm-mcp/compare/v0.52.2...v0.52.3
2201
2211
  [0.52.2]: https://github.com/kitepon/aiterm-mcp/compare/v0.52.1...v0.52.2
package/README.ja.md CHANGED
@@ -209,7 +209,7 @@ runtime-error store は canonical dotagents config の `collection.enabled: true
209
209
  場合だけ収集し、既定OFF、network送信は行いません。tag起点CIのnpm provenance(OIDC Trusted
210
210
  Publishing)で公開し、GitHub Release が Official MCP Registry を再登録します。
211
211
 
212
- **状態:** 開発継続中 · 現行公開版 **v0.53.0** · 動作対象は Linux · WSL2 · macOS · Windows ネイティブ · MIT · [変更履歴](CHANGELOG.md)。
212
+ **状態:** 開発継続中 · 現行公開版 **v0.53.1** · 動作対象は Linux · WSL2 · macOS · Windows ネイティブ · MIT · [変更履歴](CHANGELOG.md)。
213
213
 
214
214
  ### 更新と巻き戻し
215
215
 
package/README.md CHANGED
@@ -223,7 +223,7 @@ collection is off by default and performs no network I/O. It ships via
223
223
  tag-triggered CI with npm provenance (OIDC Trusted Publishing); the GitHub
224
224
  Release re-registers the Official MCP Registry entry.
225
225
 
226
- **Status:** actively maintained · current public release **v0.53.0** · 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).
226
+ **Status:** actively maintained · current public release **v0.53.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).
227
227
 
228
228
  ### Update and rollback
229
229
 
package/dist/core.js CHANGED
@@ -3714,7 +3714,7 @@ async function authStatus(kind, bin, cwd, env = process.env) {
3714
3714
  switch (kind) {
3715
3715
  case "claude": return claudeAuthStatus(bin, cwd, env);
3716
3716
  case "codex": return await codexAuthStatus(bin, cwd, env);
3717
- case "grok": return grokAuthStatus(bin, cwd, env);
3717
+ case "grok": return await grokAuthStatus(bin, cwd, env);
3718
3718
  case "cursor": return cursorAuthStatus(bin, cwd, env);
3719
3719
  }
3720
3720
  }
@@ -530,18 +530,27 @@ export function createGrokAgentMetadata(kind, name, cwd, initialPrompt, authPath
530
530
  return meta;
531
531
  }
532
532
  export function grokAuthPlan() { return { args: ["login", "--device-auth"], env: [] }; }
533
+ const GROK_AUTH_RECHECK_MS = 1500;
533
534
  /**
534
535
  * Grokには認証状態を答える公式commandが無い。`grok models`は、使えるログインが無い時に`You are not authenticated.`と答える
535
536
  * (1.0.46。ログイン無しと、期限切れ・無効なtokenの両方。後者ではGrokが`auth.json`を自分で消す)。auth fileの存在は見ない。
537
+ * 生きているログインでも、古いtokenを取り直す回だけ「未認証」と答える事がある(2026-10-05 macbook。1回目は未認証、
538
+ * 同じ時刻に`auth.json`が更新され、2回目からは認証済み)。1回の「未認証」では決めず、少し置いてもう1回聞く。
536
539
  */
537
- export function grokAuthStatus(bin, cwd, env = process.env) {
538
- const result = spawnAgentControlCommand(bin, ["models"], cwd, { cwd, env, encoding: "utf8", timeout: 20000, maxBuffer: 256 * 1024 });
539
- const output = `${result.stdout ?? ""}\n${result.stderr ?? ""}`;
540
- if (!result.error && /You are not authenticated|Not signed in/i.test(output))
541
- return { status: "unauthenticated", message: null };
542
- if (!result.error && result.status === 0 && /Available models/i.test(output))
543
- return { status: "authenticated", message: null };
544
- return { status: "failed", message: "Grokの公式CLIで認証状態を確認できません。" };
540
+ export async function grokAuthStatus(bin, cwd, env = process.env) {
541
+ for (let attempt = 0;; attempt += 1) {
542
+ const result = spawnAgentControlCommand(bin, ["models"], cwd, { cwd, env, encoding: "utf8", timeout: 20000, maxBuffer: 256 * 1024 });
543
+ const output = `${result.stdout ?? ""}\n${result.stderr ?? ""}`;
544
+ if (!result.error && /You are not authenticated|Not signed in/i.test(output)) {
545
+ if (attempt > 0)
546
+ return { status: "unauthenticated", message: null };
547
+ await new Promise(resolve => setTimeout(resolve, GROK_AUTH_RECHECK_MS));
548
+ continue;
549
+ }
550
+ if (!result.error && result.status === 0 && /Available models/i.test(output))
551
+ return { status: "authenticated", message: null };
552
+ return { status: "failed", message: "Grokの公式CLIで認証状態を確認できません。" };
553
+ }
545
554
  }
546
555
  export function grokAuthPane(screen) {
547
556
  const url = authUrl(screen, ["auth.x.ai", "accounts.x.ai", "grok.com"]);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aiterm-mcp",
3
- "version": "0.53.0",
3
+ "version": "0.53.1",
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": [