Add model-native workspace file operations

Remove shell-escaped file mutation from the stable workspace flow by adding explicit file and patch tools across the CLI, SDK, and MCP surfaces.

This adds workspace file list/read/write plus unified text patch application, backed by new guest and manager file primitives that stay scoped to started workspaces and /workspace only. Patch application is preflighted on the host, file writes stay text-only and bounded, and the existing diff/export/reset semantics remain intact.

The milestone also updates the 3.2.0 roadmap, public contract, docs, examples, and versioning, and includes focused coverage for the new helper module and dispatch paths.

Validation:
- uv lock
- UV_CACHE_DIR=.uv-cache make check
- UV_CACHE_DIR=.uv-cache make dist-check
- real guest-backed smoke for workspace file read, patch apply, exec, export, and delete
This commit is contained in:
Thales Maciel 2026-03-12 22:03:25 -03:00
parent dbb71a3174
commit ab02ae46c7
27 changed files with 3068 additions and 17 deletions

View file

@ -2,6 +2,16 @@
All notable user-visible changes to `pyro-mcp` are documented here.
## 3.2.0
- Added model-native live workspace file operations across the CLI, Python SDK, and MCP server
with `workspace file list|read|write` so agents can inspect and edit text files without shell
quoting tricks or host-side temp-file glue.
- Added `workspace patch apply` for explicit unified text diff application under `/workspace`,
with supported add/modify/delete patch forms and clear recovery guidance via `workspace reset`.
- Kept file operations scoped to started workspaces and `/workspace`, while preserving the existing
diff/export/snapshot/service/shell model around the stable workspace product.
## 3.1.0
- Added explicit workspace lifecycle stop/start operations across the CLI, Python SDK, and MCP