Move workspace roots onto thread/session state and stop using active permission profile modifications as an overlay for writable roots. Existing app-server threads now preserve their persisted PermissionProfile value across resume, fork, and turn updates; permissions requests on existing threads only update the active named profile after validating it exists. Workspace roots can be updated independently, and SandboxPolicy::WorkspaceWrite no longer stores its own writable_roots.

This commit is contained in:
Michael Bolin
2026-05-11 14:58:23 -07:00
parent cf6342b75b
commit ea13af2fa5
148 changed files with 2967 additions and 2733 deletions

View File

@@ -93,6 +93,7 @@ def _item_completed_notification(
method="item/completed",
payload=ItemCompletedNotification.model_validate(
{
"completedAtMs": 1,
"item": item,
"threadId": thread_id,
"turnId": turn_id,