agent-repl 0.1.5 → 0.1.6

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
@@ -4,6 +4,11 @@ All notable changes to `agent-repl` are documented here.
4
4
 
5
5
  ## [Unreleased]
6
6
 
7
+ ## [0.1.6] — 2026-10-19
8
+
9
+ ### Fixed
10
+ - `agent-repl attach`, and starting a runtime in a terminal, pass `-u` to tmux. In a terminal without a UTF-8 locale (`LANG` unset, as in Muxy), non-ASCII output such as λ or é showed as underscores.
11
+
7
12
  ## [0.1.5] — 2026-10-19
8
13
 
9
14
  ### Changed
package/dist/attach.js ADDED
@@ -0,0 +1,7 @@
1
+ /** The tmux arguments that show a session in this terminal. */
2
+ export function attachArgs(sessionName, insideTmux) {
3
+ // Inside tmux, switch this client to the session instead of nesting tmux.
4
+ // Otherwise -u: without a UTF-8 locale (LANG is unset in some terminals),
5
+ // a new client draws non-ASCII output such as λ or é as underscores.
6
+ return insideTmux ? ["switch-client", "-t", sessionName] : ["-u", "attach", "-t", sessionName];
7
+ }
package/dist/cli.js CHANGED
@@ -6,6 +6,7 @@
6
6
  import { spawnSync } from "node:child_process";
7
7
  import { readFileSync } from "node:fs";
8
8
  import { resolve } from "node:path";
9
+ import { attachArgs } from "./attach.js";
9
10
  import { hostContext, loadPiRepl } from "./host.js";
10
11
  import { runMcpServer } from "./mcp.js";
11
12
  import { forAgentRepl } from "./text.js";
@@ -55,9 +56,7 @@ export function attachTarget(messages) {
55
56
  return names.length === 1 ? names[0] : undefined;
56
57
  }
57
58
  function attachTerminal(sessionName) {
58
- // Inside tmux, switch this client to the session instead of nesting tmux.
59
- const args = process.env.TMUX ? ["switch-client", "-t", sessionName] : ["attach", "-t", sessionName];
60
- return spawnSync("tmux", args, { stdio: "inherit" }).status ?? 1;
59
+ return spawnSync("tmux", attachArgs(sessionName, Boolean(process.env.TMUX)), { stdio: "inherit" }).status ?? 1;
61
60
  }
62
61
  async function attach(runtime, cwd) {
63
62
  const interactive = process.stdin.isTTY && process.stdout.isTTY;
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "agent-repl",
3
- "version": "0.1.5",
3
+ "version": "0.1.6",
4
4
  "description": "pi-repl's shared tmux REPLs (Python, Julia, R and more) for Claude Code, Codex, OpenCode and other agents, over MCP and a CLI.",
5
5
  "keywords": [
6
6
  "repl",