aiterm-mcp 0.61.0 → 0.61.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,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
7
7
 
8
8
  ## [Unreleased]
9
9
 
10
+ ## [0.61.1] - 2026-10-22
11
+
12
+ ### Fixed
13
+
14
+ - A first stop request before tmux has ever started now returns `idle` when the selected socket reports its exact ENOENT diagnostic. Permission errors, other sockets, malformed listings and conflicting output remain unconfirmed. No server, CLI, key, or graph checkpoint is created for this cold stop.
15
+
10
16
  ## [0.61.0] - 2026-10-22
11
17
 
12
18
  ### Added
@@ -2703,7 +2709,8 @@ prototype (preserved under `prototype/python/` as the porting source and referen
2703
2709
  `ubuntu-latest` for Node 18/20/22, publishing to npm on `v*` tags with
2704
2710
  provenance.
2705
2711
 
2706
- [Unreleased]: https://github.com/kitepon/aiterm-mcp/compare/v0.61.0...HEAD
2712
+ [Unreleased]: https://github.com/kitepon/aiterm-mcp/compare/v0.61.1...HEAD
2713
+ [0.61.1]: https://github.com/kitepon/aiterm-mcp/compare/v0.61.0...v0.61.1
2707
2714
  [0.61.0]: https://github.com/kitepon/aiterm-mcp/compare/v0.60.1...v0.61.0
2708
2715
  [0.60.1]: https://github.com/kitepon/aiterm-mcp/compare/v0.60.0...v0.60.1
2709
2716
  [0.60.0]: https://github.com/kitepon/aiterm-mcp/compare/v0.59.1...v0.60.0
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.61.0** · 動作対象は Linux · WSL2 · macOS · Windows ネイティブ · MIT · [変更履歴](CHANGELOG.md)。
212
+ **状態:** 開発継続中 · 現行公開版 **v0.61.1** · 動作対象は Linux · WSL2 · macOS · Windows ネイティブ · MIT · [変更履歴](CHANGELOG.md)。
213
213
 
214
214
  ### 更新と巻き戻し
215
215
 
package/README.md CHANGED
@@ -227,7 +227,7 @@ collection is off by default and performs no network I/O. It ships via
227
227
  tag-triggered CI with npm provenance (OIDC Trusted Publishing); the GitHub
228
228
  Release re-registers the Official MCP Registry entry.
229
229
 
230
- **Status:** actively maintained · current public release **v0.61.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).
230
+ **Status:** actively maintained · current public release **v0.61.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).
231
231
 
232
232
  ### Update and rollback
233
233
 
package/dist/core.js CHANGED
@@ -25,7 +25,7 @@ import { unfinishedDeliveriesOwnedBy } from "./parent-delivery-owners.js";
25
25
  import { readRuntimeProcesses, readProcessIdentities, processSubtree, parentProcess, processIdentity, backgroundProcesses, lazyRelayProcess, aitermProcessProbe, windowsConsoleHost, processElapsedSeconds } from "./process-runtime.js";
26
26
  import { liveNodeExecutable } from "./live-node.js";
27
27
  import { AitermError, telemetryOwnedFailure, ownTelemetryFailure } from "./errors.js";
28
- import { isWin, SOCKDIR, tmuxCommand, sendPsmuxPayload, loadPtyBufferChunk, pasteBufferBaseArgs, tmuxNewSession, openPsmuxServerToDesktop, registeredSessionEnvironment, attachCommand, normalizePaneCommand, atomicShellMultiline, appendMarkSentinel, markShellCommand, settlePaneLog, paneCwdArgument, sessionEnvironmentLaunch, } from "./tmux-runtime.js";
28
+ import { isWin, SOCKDIR, SOCK, tmuxCommand, sendPsmuxPayload, loadPtyBufferChunk, pasteBufferBaseArgs, tmuxNewSession, openPsmuxServerToDesktop, registeredSessionEnvironment, attachCommand, normalizePaneCommand, atomicShellMultiline, appendMarkSentinel, markShellCommand, settlePaneLog, paneCwdArgument, sessionEnvironmentLaunch, } from "./tmux-runtime.js";
29
29
  import { AGENT_DEFAULT_PREFACE, sleep, currentUid, runtimeStateBase, safeStatSize, readFileRange, writeJson0600, createEmpty0600, shq, LAUNCH_ID_RE, AGENT_DONE_POLL_MS, AGENT_RATE_LIMIT_POLL_MS, pollGate, AGENT_EVENT_MAX_BYTES, assertSessionName, agentsDir, agentEventPath, agentMetadataPath, writeAgentMetadata, AGENT_EVENT_TAIL_BYTES, agentLabel, agentHarness, subagentInstruction, agentLineageFields, } from "./agent-shared.js";
30
30
  import { catalogUnavailable } from "./model-catalog.js";
31
31
  import { FastModeError, fastModeFailure } from "./fast-mode.js";
@@ -1913,8 +1913,12 @@ export function observeExecutionNativeSessions() {
1913
1913
  const result = tmux("list-sessions", "-F", "#{session_id}\t#{session_name}");
1914
1914
  if (result.code === 0)
1915
1915
  return parseExecutionNativeSessions(result.stdout);
1916
- // A generic connection/list failure cannot prove absence.
1917
- if (/^no server running on /i.test(result.stderr.trim()))
1916
+ // A never-started POSIX server has no socket yet. Accept only the exact
1917
+ // scoped tmux absence diagnostics; permission/transport/parse errors stay unknown.
1918
+ const diagnostic = result.stderr.trim();
1919
+ if (result.code === 1 && result.stdout.trim() === ""
1920
+ && (diagnostic === `no server running on ${SOCK}`
1921
+ || (!isWin && diagnostic === `error connecting to ${SOCK} (No such file or directory)`)))
1918
1922
  return { state: "known", sessions: [] };
1919
1923
  return { state: "unknown" };
1920
1924
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "aiterm-mcp",
3
- "version": "0.61.0",
3
+ "version": "0.61.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": [