/** * Zellij Workspace backend. Workspaces live as named tabs inside one * dedicated `groundcrew` zellij session; the tab name is the ticket id and * the first tab (`main`) is a placeholder that keeps the session alive. This * is a Linux/WSL alternative to tmux: zellij is a stateful multiplexer, so it * restores screen + terminal modes (mouse reporting, alt-screen) on every * attach, and enables the mouse by default. Zellij can't paint status pills, * so `open` silently drops `spec.status`. * * Zellij quirks shape this adapter: * 1. Tab actions that target the *active* tab (`close-tab`, `go-to-tab-name`) * silently no-op on a detached session with no attached client. Only * `close-tab-by-id` works headlessly — so `open` captures the stable id * that `new-tab` prints and persists a ticket -> id map for `close`. * 2. `new-tab --layout` resolves a *file path* (not an inline string) and a * per-tab layout does not inherit the session's tab-bar/status-bar, so we * stage an absolute-path KDL file that includes the bar plugins itself. * 3. There is no headless way to read a tab's command-exit state, so the * agent command touches a marker file on exit that `list()` checks. * 4. Zellij resurrects serialized sessions on attach; `open` drops a stale * resurrectable groundcrew session before creating a fresh one so dead * agent tabs don't reappear. */ import { type Adapter } from "./workspaceAdapter.ts"; export declare const zellijAdapter: Adapter; //# sourceMappingURL=zellijAdapter.d.ts.map