muuuuse 5.0.0 → 5.0.2

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.
Files changed (3) hide show
  1. package/README.md +18 -29
  2. package/package.json +1 -1
  3. package/src/util.js +11 -2
package/README.md CHANGED
@@ -1,56 +1,44 @@
1
1
  # 🔌Muuuuse
2
2
 
3
- `🔌Muuuuse` is a tiny terminal relay.
3
+ `🔌Muuuuse` is a tiny terminal relay with flexible routing.
4
4
 
5
5
  It does one job:
6
- - arm terminal one with `muuuuse 1`
7
- - arm terminal two with `muuuuse 2`
8
- - have seat 1 generate a session key and seat 2 sign it
9
- - additional isolated pairs work the same way: `3/4`, `5/6`, `7/8`, ...
10
- - choose per-seat relay mode with `flow on` or `flow off`
6
+ - arm any number of terminals with `muuuuse <N>`
7
+ - each seat can route to any other seats with individual flow modes
11
8
  - watch Codex, Claude, or Gemini for local assistant output
12
- - inject that output into the other armed terminal
9
+ - relay that output to configured targets with per-target flow control
13
10
  - keep looping until you stop it
14
11
 
15
12
  The whole surface is:
16
13
 
17
14
  ```bash
18
15
  muuuuse 1
19
- muuuuse 1 flow on
20
- muuuuse 1 flow off
21
- muuuuse 1 flow off continue 5
22
16
  muuuuse 2
23
- muuuuse 2 flow off
24
- muuuuse 2 flow on continue 3
25
- muuuuse 3
26
- muuuuse 3 flow on
27
- muuuuse 4
28
- muuuuse 4 flow off continue 1
17
+ muuuuse 3 link 1 flow on 2 flow off
18
+ muuuuse 4 link 3 flow on
29
19
  muuuuse status
30
20
  muuuuse stop
31
21
  ```
32
22
 
33
- ## Flow
23
+ ## Routing
34
24
 
35
- Terminal 1:
25
+ Any seat can route to any targets. Syntax:
36
26
 
37
27
  ```bash
38
- muuuuse 1 flow on
28
+ muuuuse <seat> link <target1> flow <on|off> [<target2> flow <on|off> ...]
39
29
  ```
40
30
 
41
- Terminal 2:
31
+ Example: Seat 3 routes to seat 1 with full output (flow on) and seat 4 with final answers only (flow off):
42
32
 
43
33
  ```bash
44
- muuuuse 2 flow off
34
+ muuuuse 3 link 1 flow on 4 flow off
45
35
  ```
46
36
 
47
- Now both shells are armed. `muuuuse 1` generates the session key, `muuuuse 2` signs it, and only that signed pair relays. Every odd/even adjacent pair works the same way in parallel: `3/4`, `5/6`, `7/8`, and so on. Use those shells normally.
37
+ Each seat defines its own routing targets. When that seat gets an answer from Claude/Codex/Gemini, it sends to all configured targets with their respective flow modes.
48
38
 
49
- `flow on` means that seat relays commentary and final answers. `flow off` means that seat relays and accepts final answers only. Mixed calibration is allowed per seat.
39
+ `flow on` means relay both thinking/commentary and final answers. `flow off` means relay final answers only.
50
40
 
51
- `continue <seat>` forwards that seat's relayed output into another armed seat without changing the signed odd/even pair law. This lets you build local loops like `1 -> 2 -> 3 -> 4 -> 1` while every adjacent pair still keeps its own session keypair.
52
-
53
- If you want Codex in one and Gemini in the other, start them inside the armed shells:
41
+ If you want Codex in one and Gemini in another, start them inside the armed shells:
54
42
 
55
43
  ```bash
56
44
  codex
@@ -60,7 +48,7 @@ codex
60
48
  gemini
61
49
  ```
62
50
 
63
- `🔌Muuuuse` tails the local session logs for supported CLIs, relays according to each seat's flow mode, types that output into the other seat, and then sends Enter as a separate keystroke.
51
+ `🔌Muuuuse` tails the local session logs for supported CLIs, relays according to each target's flow mode, types that output into the target seat, and then sends Enter as a separate keystroke.
64
52
 
65
53
  Check the live state from any terminal:
66
54
 
@@ -77,8 +65,9 @@ muuuuse stop
77
65
  ## Notes
78
66
 
79
67
  - state lives under `~/.muuuuse`
80
- - only the signed armed pair can exchange relay events
81
- - `continue <seat>` is a separate local forwarding lane and can target any armed seat number
68
+ - each seat defines its own routing targets independently
69
+ - any seat can route to any other seat number
70
+ - flow modes are per-target (not per-seat)
82
71
  - supported relay detection is built for Codex, Claude, and Gemini
83
72
 
84
73
  ## Install
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "muuuuse",
3
- "version": "5.0.0",
3
+ "version": "5.0.2",
4
4
  "description": "🔌Muuuuse arms terminals with flexible routing to any targets - pure message relay graph.",
5
5
  "type": "commonjs",
6
6
  "bin": {
package/src/util.js CHANGED
@@ -9,7 +9,16 @@ const fs = require("node:fs");
9
9
  const os = require("node:os");
10
10
  const path = require("node:path");
11
11
 
12
- const BRAND = "🔌Muuuuse";
12
+ function getBrand() {
13
+ try {
14
+ const pkg = JSON.parse(fs.readFileSync(path.join(__dirname, "../package.json"), "utf8"));
15
+ return `🔌Muuuuse v${pkg.version}`;
16
+ } catch {
17
+ return "🔌Muuuuse";
18
+ }
19
+ }
20
+
21
+ const BRAND = getBrand();
13
22
  const POLL_MS = 220;
14
23
  const MAX_RELAY_CHARS = 4000;
15
24
  const SESSION_MATCH_WINDOW_MS = 5 * 60 * 1000;
@@ -282,7 +291,7 @@ function listSessionNames() {
282
291
 
283
292
  function usage() {
284
293
  return [
285
- `${BRAND} arms regular terminals in isolated odd/even pairs and relays assistant output between each pair.`,
294
+ `${BRAND} arms terminals with flexible routing to any targets - pure message relay graph.`,
286
295
  "",
287
296
  "Usage:",
288
297
  " muuuuse",