sessionpipe 0.1.1 → 0.3.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 CHANGED
@@ -22,8 +22,41 @@ sessionpipe uninstall # every config file byte-identical again
22
22
  | 3 | + tool input and output |
23
23
 
24
24
  No telemetry. Secrets never leave (`secrets@1` runs above tier 0, always). Your
25
- server or none. Pre-release: the reference receiver and the control channel are
26
- still being built; see the [roadmap](https://github.com/micmmakarov/sessionpipe/blob/main/ROADMAP.md).
25
+ server or none. Pre-release: the reference receiver is still being built; see the
26
+ [roadmap](https://github.com/micmmakarov/sessionpipe/blob/main/ROADMAP.md).
27
+
28
+ ## Control: messages to your sessions (M6, Claude Code first)
29
+
30
+ A receiver that lists `control` can carry a message from your phone to a session on
31
+ this machine. It is signed on your device and **checked here**, against a key you
32
+ enroll at this terminal; the receiver can queue a message but can never forge one
33
+ ([spec](https://sessionpipe.org/protocol/control/)).
34
+
35
+ ```sh
36
+ sessionpipe control pair spacesheep.dev # one link: approve with your passkey; installs the daemon (this folder by default)
37
+ sessionpipe control status # receivers, parked waiters, sessions mid-turn, open permission prompts
38
+ sessionpipe control keys [remove <id>]
39
+ sessionpipe control off # tell the receiver, forget its token and keys
40
+ ```
41
+
42
+ One daemon per computer holds one long-poll per receiver and delivers each message the
43
+ cheapest way the session allows: to `sessionpipe wait` parked in the session's
44
+ background (in place, ~60 ms, no network), at the session's next Stop if it is
45
+ mid-turn, through the Agent SDK for a session it started (if the SDK is installed), or
46
+ as a headless `claude -p --resume` (a `--fork-session` copy when a live process holds
47
+ it). A session stays reachable in place with zero idle turns by running, as a
48
+ background command with the longest timeout it can (Claude Code: raise
49
+ `BASH_MAX_TIMEOUT_MS`, else a background command is stopped after 2 hours at most):
50
+
51
+ ```sh
52
+ sessionpipe wait # Claude Code: the session id comes from CLAUDE_CODE_SESSION_ID
53
+ ```
54
+
55
+ Permission prompts can be answered from the receiver too: while the terminal shows
56
+ its prompt, the PermissionRequest hook waits for your signed answer, and whichever
57
+ comes first wins. Nothing is ever auto-allowed. Safe mode (the default) runs headless
58
+ turns with `--permission-mode dontAsk`, so nothing that needs approval runs while
59
+ you're away.
27
60
 
28
61
  Docs and the protocol: [sessionpipe.org](https://sessionpipe.org) · Source:
29
62
  [github.com/micmmakarov/sessionpipe](https://github.com/micmmakarov/sessionpipe) · Apache-2.0.