Add chat-friendly shell read rendering
Make workspace shell reads usable as direct chat-model input without changing the PTY or cursor model. This adds optional plain rendering and idle-window batching across CLI, SDK, and MCP while keeping raw reads backward-compatible. Implement the rendering and wait-for-idle logic in the manager layer so the existing guest/backend shell transport stays unchanged. The new helper strips ANSI and other terminal control noise, handles carriage-return overwrite and backspace, and preserves raw cursor semantics even when plain output is requested. Refresh the stable shell docs/examples to recommend --plain --wait-for-idle-ms 300, mark the 3.5.0 roadmap milestone done, and bump the package/catalog version to 3.5.0. Validation: uv lock; UV_CACHE_DIR=.uv-cache make check; UV_CACHE_DIR=.uv-cache make dist-check; real guest-backed Firecracker smoke covering shell open/write/read with ANSI plus delayed output.
This commit is contained in:
parent
eecfd7a7d7
commit
21a88312b6
22 changed files with 539 additions and 45 deletions
10
CHANGELOG.md
10
CHANGELOG.md
|
|
@ -2,6 +2,16 @@
|
|||
|
||||
All notable user-visible changes to `pyro-mcp` are documented here.
|
||||
|
||||
## 3.5.0
|
||||
|
||||
- Added chat-friendly shell reads with `--plain` and `--wait-for-idle-ms` across the CLI,
|
||||
Python SDK, and MCP server so PTY sessions can be fed back into a chat model without
|
||||
client-side ANSI cleanup.
|
||||
- Kept raw cursor-based shell reads intact for advanced clients while adding manager-side
|
||||
output rendering and idle batching on top of the existing guest/backend shell transport.
|
||||
- Updated the stable shell examples and docs to recommend `workspace shell read --plain
|
||||
--wait-for-idle-ms 300` for model-facing interactive loops.
|
||||
|
||||
## 3.4.0
|
||||
|
||||
- Added stable MCP/server tool profiles with `vm-run`, `workspace-core`, and
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue