made extension tmux-only, replaced cmux.ts with tmux.ts (~1368 -> 354 lines)

Removed the cmux, zellij, and wezterm backends, the MuxBackend type, the
PI_SUBAGENT_MUX override, and dead exports (renameCurrentTab, renameWorkspace,
sendEscape, isFishShell, exitStatusVar). The ten-function surface API used by
index.ts is unchanged. Integration harness and tests are tmux-only; README and
package.json now state tmux-only with a fork note pointing multi-multiplexer
users at the upstream project.
This commit is contained in:
Amos
2026-08-20 18:48:14 +03:00
parent 865648c4f1
commit 9cbc5b4878
9 changed files with 421 additions and 1848 deletions
+4 -6
View File
@@ -22,10 +22,9 @@ import {
sendLongCommand,
pollForExit,
closeSurface,
getMuxBackend,
shellEscape,
readScreen,
} from "./cmux.ts";
} from "./tmux.ts";
import {
countSessionEntryLines,
@@ -509,10 +508,10 @@ function muxUnavailableResult() {
content: [
{
type: "text" as const,
text: `Subagents require a supported terminal multiplexer. ${muxSetupHint()}`,
text: `Subagents require tmux. ${muxSetupHint()}`,
},
],
details: { error: "mux not available" },
details: { error: "tmux not available" },
};
}
@@ -1007,10 +1006,9 @@ function steerSubagent(
send(running.surface, flattened);
return { ok: true };
} catch (error: any) {
const backend = getMuxBackend() ?? "unknown";
return {
error:
`Failed to deliver message to subagent "${running.name}" via ${backend}: ` +
`Failed to deliver message to subagent "${running.name}" via tmux: ` +
`${error?.message ?? String(error)}`,
};
}