wip: pi working

This commit is contained in:
Franklin 2026-02-06 16:54:53 -05:00
parent a6064e7027
commit bef2e84d0c
9 changed files with 1747 additions and 39 deletions

View file

@ -84,4 +84,9 @@ Message normalization notes
- If Pi message_update events omit messageId, we synthesize a stable message id and emit a synthetic item.started before the first delta so streaming text stays grouped.
- Pi auto_compaction_start/auto_compaction_end and auto_retry_start/auto_retry_end events are mapped to status items (label `pi.*`).
- Pi extension_ui_request/extension_error events are mapped to status items.
<<<<<<< Updated upstream
- Pi RPC from pi-coding-agent does not include sessionId in events; each daemon session owns a dedicated Pi RPC process, so events are routed by runtime ownership (parallel sessions supported).
=======
- Pi runtime mode is capability-selected: default is per-session process isolation, while shared multiplexing is used only for allowlisted Pi capabilities.
- In shared mode, pi-coding-agent events without sessionId are routed using the current-session mapping.
>>>>>>> Stashed changes

View file

@ -35,6 +35,7 @@ console.log(url);
- **Send messages**: Post messages to a session directly from the UI
- **Agent selection**: Switch between agents and modes
- **Request log**: View raw HTTP requests and responses for debugging
- **Pi concurrent sessions**: Pi sessions run concurrently by default via per-session runtime processes
## When to Use

View file

@ -10,7 +10,11 @@
"license": {
"name": "Apache-2.0"
},
<<<<<<< Updated upstream
"version": "0.1.7"
=======
"version": "0.1.6"
>>>>>>> Stashed changes
},
"servers": [
{

View file

@ -1,5 +1,15 @@
# Pi Agent Support Plan (pi-mono)
## Implementation Status Update
- Runtime selection now supports two internal modes:
- `PerSession` (default for unknown/non-allowlisted Pi capabilities)
- `Shared` (allowlist-only compatibility path)
- Pi sessions now use per-session process isolation by default, enabling true concurrent Pi sessions in Inspector and API clients.
- Shared Pi server code remains available and is used only when capability checks allow multiplexing.
- Session termination for per-session Pi mode hard-kills the underlying Pi process and clears queued prompts/pending waiters.
- In-session concurrent sends are serialized with an unbounded daemon-side FIFO queue per session.
## Investigation Summary
### Pi CLI modes and RPC protocol