cyber-mux 0.7.0 → 0.8.0
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/README.md +73 -0
- package/dist/cli-BB14CKcd.mjs +3117 -0
- package/dist/cli-BB14CKcd.mjs.map +1 -0
- package/dist/cli.d.mts +44 -8
- package/dist/cli.d.mts.map +1 -1
- package/dist/cli.mjs +2 -2608
- package/dist/plugin.d.mts +15 -0
- package/dist/plugin.d.mts.map +1 -0
- package/dist/plugin.mjs +23 -0
- package/dist/plugin.mjs.map +1 -0
- package/package.json +8 -4
- package/src/cli-options.ts +58 -32
- package/src/cli.ts +987 -842
- package/src/plugin.ts +20 -0
- package/dist/cli.mjs.map +0 -1
package/README.md
ADDED
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
# cyber-mux
|
|
2
|
+
|
|
3
|
+
[](https://www.npmjs.com/package/cyber-mux)
|
|
4
|
+
[](https://www.npmjs.com/package/cyber-mux)
|
|
5
|
+
[](https://github.com/cyberuni/cyber-mux/actions/workflows/release.yml)
|
|
6
|
+
[](https://cyberuni.github.io/cyber-mux/)
|
|
7
|
+
[](https://www.npmjs.com/package/cyber-mux)
|
|
8
|
+
|
|
9
|
+
Cross-multiplexer pane control for AI-agent tooling. One contract over terminal multiplexers — open,
|
|
10
|
+
send, read, focus, and close panes without caring which multiplexer you are inside.
|
|
11
|
+
|
|
12
|
+
`cyber-mux` is the mux seam used by [`cyberlegion`](https://github.com/cyberuni/cyberplace), kept
|
|
13
|
+
deliberately narrow: it drives panes and nothing else.
|
|
14
|
+
|
|
15
|
+
## Install
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npx cyber-mux mode
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
## What it does
|
|
22
|
+
|
|
23
|
+
- **Detects** the multiplexer you are running under — env fast-path (`CYBER_MUX` / `CYBER_MUX_PANE`),
|
|
24
|
+
otherwise a process-ancestry walk falling back to the multiplexer's own env hints.
|
|
25
|
+
- **Drives panes** through one `MuxAdapter` contract: `open`, `send`, `submit`, `read`, `wait`,
|
|
26
|
+
`focus`, `close`, `list`, `exists`.
|
|
27
|
+
- **Nudges** a peer pane and verifies the turn was actually taken (recovers a submit swallowed by a
|
|
28
|
+
booting harness).
|
|
29
|
+
- **Worktrees**: create a git worktree and open it in a new workspace/session in one step.
|
|
30
|
+
|
|
31
|
+
## Backends
|
|
32
|
+
|
|
33
|
+
Drivable: **tmux**, **rmux**, **herdr**, **wezterm**, **zellij**, **cmux**, **otty**.
|
|
34
|
+
|
|
35
|
+
GNU **screen** is recognized and reported truthfully, then rejected with a named error rather than
|
|
36
|
+
driven — it addresses panes positionally, so a driver-created pane has no stable identity to send to,
|
|
37
|
+
read from, or self-identify by.
|
|
38
|
+
|
|
39
|
+
## Commands
|
|
40
|
+
|
|
41
|
+
| Command | Description |
|
|
42
|
+
| --- | --- |
|
|
43
|
+
| `cyber-mux doctor` | Probe the multiplexer, self pane, and backend; print fast-path pins |
|
|
44
|
+
| `cyber-mux mode` | Report the detected session backend |
|
|
45
|
+
| `cyber-mux open` | Open a new pane/tab/workspace, optionally launching a command in it |
|
|
46
|
+
| `cyber-mux send` | Drive a pane without taking its turn (text or keys) |
|
|
47
|
+
| `cyber-mux submit` | Take a pane's turn: type the text if given, then press Enter |
|
|
48
|
+
| `cyber-mux read` | Capture a pane's output |
|
|
49
|
+
| `cyber-mux wait` | Block until a pane's output matches (exit 0), or the timeout elapses (exit 1) |
|
|
50
|
+
| `cyber-mux focus` | Beam the attached client to a pane |
|
|
51
|
+
| `cyber-mux close` | Close a pane |
|
|
52
|
+
| `cyber-mux list` / `exists` | Enumerate live panes / probe whether one is still live |
|
|
53
|
+
| `cyber-mux worktree` | Git worktree helpers for spawning and tearing down a session |
|
|
54
|
+
| `cyber-mux template` | Manage named templates (apply one with `open`/`worktree --template`) |
|
|
55
|
+
| `cyber-mux agent` | Inspect and wait on a pane's agent-lifecycle state |
|
|
56
|
+
|
|
57
|
+
Full reference: <https://cyberuni.github.io/cyber-mux/>
|
|
58
|
+
|
|
59
|
+
## Development
|
|
60
|
+
|
|
61
|
+
Node and pnpm are pinned in `mise.toml` and managed by [mise](https://mise.jdx.dev):
|
|
62
|
+
|
|
63
|
+
```bash
|
|
64
|
+
mise install # node + pnpm at the pinned versions
|
|
65
|
+
pnpm install
|
|
66
|
+
pnpm verify # build + typecheck + lint + test
|
|
67
|
+
```
|
|
68
|
+
|
|
69
|
+
The CLI lives in `packages/cyber-mux`; the docs site in `apps/website` (Astro + Starlight).
|
|
70
|
+
|
|
71
|
+
## License
|
|
72
|
+
|
|
73
|
+
MIT
|