Skip to content

Add integrated tmux transport - #2

Merged
arumwu merged 3 commits into
mainfrom
agent/add-integrated-tmux-transport
Jul 17, 2026
Merged

Add integrated tmux transport#2
arumwu merged 3 commits into
mainfrom
agent/add-integrated-tmux-transport

Conversation

@arumwu

@arumwu arumwu commented Jul 17, 2026

Copy link
Copy Markdown
Owner

Summary

AgentRelay 0.4.0 now includes live tmux transport in the same package and MCP server as persistent coordination memory. Users no longer need to install or register tmux-bridge-mcp separately.

Install

After this PR is merged, install directly from GitHub:

npm install -g github:arumwu/agentrelay
agentrelay --version

The terminal tools require tmux 3.2 or newer. AgentRelay's memory and coordination features continue to work when tmux is unavailable.

What changed

  • integrate the tmux transport directly into AgentRelay, with no tmux-bridge-mcp runtime dependency
  • add terminal_list, terminal_read, terminal_send, terminal_name, and terminal_doctor to the existing MCP server
  • add matching agentrelay terminal ... CLI commands
  • restrict each server process to one current or explicitly configured tmux session
  • enforce an actor-and-pane-specific, 90-second, one-use read-before-send guard
  • redact and cap terminal output, reject self-messages and multiline/control-character payloads, and expose no arbitrary-key tool
  • persist content-free read/send/name audit metadata in AgentRelay while never storing captured output or message text
  • bump the package and MCP server to 0.4.0, add GitHub-package installation support, and include terminal types in the public API
  • add upstream provenance, the declared MIT license text, and third-party notices while keeping AgentRelay under Apache-2.0
  • update README, SECURITY, CONTRIBUTING, and the fallback AGENTS protocol for installation, usage, safety, and attribution

Usage

agentrelay terminal list
agentrelay terminal name %3 codex
agentrelay terminal read codex --lines 40
agentrelay terminal send codex "Review src/auth.ts and report regressions"

The same terminal operations are available as MCP tools through the existing agentrelay server.

Why

Users should only need to install and register AgentRelay. Live tmux coordination now ships alongside persistent project memory, task leases, scope claims, decisions, and handoffs.

Safety impact

The integration deliberately avoids a generic shell or arbitrary-key interface. A literal single-line send still triggers the target process when Enter is pressed, so the documentation and server instructions limit use to trusted panes in a dedicated session. Tests always use an isolated tmux socket and never attach to a user's default server.

Licensing

  • AgentRelay remains licensed under Apache-2.0
  • the upstream tmux-bridge-mcp provenance is recorded in THIRD_PARTY_NOTICES.md
  • the upstream declared MIT license text is included at LICENSES/tmux-bridge-mcp-MIT.txt
  • the terminal transport is distributed inside AgentRelay and has no runtime dependency on the upstream package

Validation

  • local npm run check: 12 tests passed; the 2 real-tmux tests were skipped only because tmux is not installed on the local host
  • packaged @arumwu/agentrelay@0.4.0, installed the tarball in a clean temporary prefix, and smoke-tested agentrelay --version plus agentrelay terminal doctor
  • verified the tarball contains dist/terminal.js, terminal declarations, THIRD_PARTY_NOTICES.md, and LICENSES/tmux-bridge-mcp-MIT.txt
  • all four GitHub Actions checks are green: Node 22 and Node 24 for both push and pull-request workflows
  • each CI job passed all 14 tests, including the real isolated-tmux suite for listing, labeling, redaction, read-before-send, message delivery, self-target rejection, and cross-session isolation

@arumwu
arumwu marked this pull request as ready for review July 17, 2026 15:35
@arumwu
arumwu merged commit d49ef59 into main Jul 17, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant