sessionpipe 0.9.0 → 0.10.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
@@ -92,7 +92,13 @@ Permission prompts can be answered from the receiver too: while the terminal sho
92
92
  its prompt, the PermissionRequest hook waits for your signed answer, and whichever
93
93
  comes first wins. Nothing is ever auto-allowed. Safe mode (the default) runs headless
94
94
  turns with `--permission-mode dontAsk`, so nothing that needs approval runs while
95
- you're away.
95
+ you're away. Auto mode runs them with `--permission-mode auto`; where Claude Code's
96
+ settings turn auto mode off (`permissions.disableAutoMode`), Claude Code runs them in
97
+ its default mode instead, which refuses whatever needs approval. Inherit mode
98
+ (`sessionpipe control mode inherit`, chosen only at the machine) passes no permission
99
+ flag, so each turn starts in the mode Claude Code picks by itself there, its
100
+ settings' `permissions.defaultMode`: messaged sessions run the way your own do,
101
+ `bypassPermissions` included if that is what you set.
96
102
 
97
103
  Codex and Antigravity sessions are reached headlessly too, when `codex` or `agy` is
98
104
  installed (the daemon looks on PATH, beside its own Node, in `~/.local/bin`, or where
@@ -101,7 +107,9 @@ installed (the daemon looks on PATH, beside its own Node, in `~/.local/bin`, or
101
107
  message is `codex exec resume <thread>` or `agy --conversation <id>`. Safe mode runs
102
108
  Codex in its `workspace-write` sandbox and agy with no permission flag (it denies, and
103
109
  the reply lists, what it wasn't allowed to do); auto mode passes `--approve-for-me` /
104
- `--mode accept-edits`. The bypass flags are never passed. Both CLIs pick a new
110
+ `--mode accept-edits`; inherit mode passes no flag, so Codex follows the
111
+ `approval_policy` and `sandbox_mode` in your `config.toml`. The bypass flags are never
112
+ passed. Both CLIs pick a new
105
113
  session's id themselves, so the daemon keeps the one your start named: it records the
106
114
  pair in `~/.local/state/sessionpipe/control/aliases.json`, and your receiver keeps
107
115
  seeing one session under one id. A message to a Codex session someone has open (its
@@ -109,6 +117,21 @@ rollout written in the last 90 seconds) is acked `unsupported` rather than resum
109
117
  Before a Codex run the daemon checks `codex login status` (or `CODEX_API_KEY`) and says
110
118
  `codex login --device-auth` if it isn't signed in.
111
119
 
120
+ Any other agent that speaks the [Agent Client Protocol](https://agentclientprotocol.com)
121
+ is reached the same way: Gemini CLI, OpenCode, goose, Copilot CLI, Cursor, Droid, Devin,
122
+ Kilo, Qwen Code, Cline and the rest of the ACP registry ([the list, with each one's
123
+ launch line](../../spec/ADAPTERS.md#agents-driven-through-acp-control-only)). The daemon
124
+ runs the agent's own CLI (`gemini --acp`, `opencode acp`, …) when it is installed, on
125
+ PATH or where `SESSIONPIPE_ACP_<HARNESS>` points (`SESSIONPIPE_ACP_GEMINI_CLI`), and
126
+ never downloads one. It is the agent's client: a start opens a session in your folder,
127
+ the reply streams back as the agent writes it, and the process stays up so the next
128
+ message lands in it with no cold start (`api` mode); `cancel` works there too. An agent
129
+ idle for ten minutes is closed, and a later message reopens the session where the agent
130
+ supports `session/load`. Safe mode answers every permission the agent asks with a
131
+ refusal, listed in the reply; auto mode allows. An agent that never asks (OpenCode, by
132
+ its own settings) runs its tools as it would at your terminal. Signing in is yours to do
133
+ at the terminal: an agent that wants it says so in the reply.
134
+
112
135
  ## Updates
113
136
 
114
137
  The control daemon keeps its own copy current. About a minute after it starts, and then