@semanaut/zpi-peer 2.0.0 → 2.0.3
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 +4 -0
- package/extensions/zpi-peer.ts +2 -2
- package/package.json +3 -3
package/README.md
CHANGED
|
@@ -17,6 +17,10 @@ Peers are equal instances, not subordinates: each runs in its own tmux pane, wit
|
|
|
17
17
|
- **`peer_list`** — list sessions and their liveness, filterable by creator ("self" = your own peers).
|
|
18
18
|
- **`peer_send_mail`** — deliver a letter to any pi session's mailbox, peers and human-started alike.
|
|
19
19
|
|
|
20
|
+
## Compatibility
|
|
21
|
+
|
|
22
|
+
zpi-peer only adds tools and session-scoped handlers and patches no pi internals, so it does not affect subagent or other orchestration extensions and can be used alongside them.
|
|
23
|
+
|
|
20
24
|
## Automatic revival
|
|
21
25
|
|
|
22
26
|
Mailing a dead recipient revives it automatically: the letter is delivered by first relaunching the session via `pi --session <sid>` in a new tmux pane, waiting (up to ~25s) until the pane is verifiably up, then injecting the notice — a running session gets it within ~1.5s (steer while running, followUp when idle). If the revive fails, the letter stays queued and is read at the next start. The mechanism never bypasses pi's own resume logic: no label within the budget (pi exited, or waits at an interactive prompt) counts as a failure.
|
package/extensions/zpi-peer.ts
CHANGED
|
@@ -369,8 +369,8 @@ let compactionActive = false;
|
|
|
369
369
|
* issued, and never re-added. If the send call itself throws, the strip loop never runs and
|
|
370
370
|
* the letters retry. Residual windows: a send that fails silently (the rejection is swallowed
|
|
371
371
|
* by pi's binding) inside the check-to-send gap leaves an un-announced, un-pended letter —
|
|
372
|
-
* at-most-once loss,
|
|
373
|
-
* letter is re-announced — a benign duplicate instead of a loss. */
|
|
372
|
+
* an at-most-once loss, the only such window left; a crash after an effective send leaves the
|
|
373
|
+
* prefix on, so the letter is re-announced — a benign duplicate instead of a loss. */
|
|
374
374
|
function startInboxLoop(pi: ExtensionAPI, sid: string, isIdle: () => boolean): () => void {
|
|
375
375
|
const dir = boxDir(sid);
|
|
376
376
|
let stopped = false;
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@semanaut/zpi-peer",
|
|
3
|
-
"version": "2.0.
|
|
4
|
-
"piVersion": "1.
|
|
5
|
-
"description": "pi extension: equal, durable pi peers managed through tmux panes plus a letter channel between any pi sessions. Tools: peer_spawn (launch a peer in a tmux pane), peer_list (list peers, alive or exited), peer_send_mail (deliver a letter, reviving dead recipients). Ships investigator / strategist / auditor role prompts; developed against the pi version given by the piVersion field",
|
|
3
|
+
"version": "2.0.3",
|
|
4
|
+
"piVersion": "1.3.0",
|
|
5
|
+
"description": "pi extension: equal, durable pi peers managed through tmux panes plus a letter channel between any pi sessions. tmux runs on Unix-like systems (Linux, macOS, BSD; Windows via WSL/Cygwin); native Windows is not supported. Tools: peer_spawn (launch a peer in a tmux pane), peer_list (list peers, alive or exited), peer_send_mail (deliver a letter, reviving dead recipients). Ships investigator / strategist / auditor role prompts; developed against the pi version given by the piVersion field",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"keywords": [
|
|
8
8
|
"pi-package"
|