apps/desktop/src/electron/ElectronWindow.test.ts | 1 + apps/desktop/src/electron/ElectronWindow.ts | 2 + apps/desktop/src/ipc/channels.ts | 3 + apps/desktop/src/ipc/methods/preview.ts | 12 + apps/desktop/src/preload.ts | 6 + apps/desktop/src/preview-pip-preload.ts | 17 + apps/desktop/src/preview/Manager.test.ts | 767 ++++++++++++++++++++++++- apps/desktop/src/preview/Manager.ts | 962 ++++++++++++++++++++++++++------ apps/desktop/src/window/DesktopWindow.test.ts | 2 + apps/desktop/src/window/DesktopWindow.ts | 1 + apps/desktop/vite.config.ts | 7 + apps/server/src/auth/EnvironmentAuth.test.ts | 27 +- apps/server/src/auth/EnvironmentAuthPolicy.test.ts | 20 +- apps/server/src/auth/EnvironmentAuthPolicy.ts | 9 +- apps/server/src/auth/SessionStore.ts | 4 +- apps/server/src/auth/utils.test.ts | 83 ++- apps/server/src/auth/utils.ts | 39 +- apps/server/src/mcp/PreviewAutomationBroker.test.ts | 4 +- apps/server/src/mcp/PreviewAutomationBroker.ts | 3 +- apps/server/src/mcp/toolkits/preview/handlers.test.ts | 34 ++ apps/server/src/mcp/toolkits/preview/handlers.ts | 19 +- apps/server/src/mcp/toolkits/preview/tools.ts | 5 +- apps/server/src/preview/Manager.test.ts | 46 ++ apps/server/src/preview/Manager.ts | 86 ++- apps/server/src/server.test.ts | 2 +- apps/web/src/browser/BrowserSurfaceSlot.tsx | 45 +- apps/web/src/browser/HostedBrowserWebview.tsx | 104 +++- apps/web/src/browser/browserRecording.test.ts | 372 ++++++++++-- apps/web/src/browser/browserRecording.ts | 374 +++++++++---- apps/web/src/browser/browserRecordingScope.test.ts | 41 +- apps/web/src/browser/browserRecordingScope.ts | 15 +- apps/web/src/browser/browserSurfaceStore.test.ts | 103 +++- apps/web/src/browser/browserSurfaceStore.ts | 63 ++- apps/web/src/browser/desktopTabLifetime.test.ts | 67 ++- apps/web/src/browser/desktopTabLifetime.ts | 29 +- apps/web/src/browser/hostedBrowserWebviewStyle.test.ts | 17 + apps/web/src/browser/hostedBrowserWebviewStyle.ts | 5 +- apps/web/src/browser/webviewCrashRecovery.test.ts | 41 ++ apps/web/src/browser/webviewCrashRecovery.ts | 38 ++ apps/web/src/components/ChatView.tsx | 35 ++ apps/web/src/components/preview/PreviewAutomationHosts.tsx | 23 +- apps/web/src/components/preview/PreviewChromeRow.tsx | 31 + apps/web/src/components/preview/PreviewMoreMenu.tsx | 11 + apps/web/src/components/preview/PreviewView.test.tsx | 129 ++++- apps/web/src/components/preview/PreviewView.tsx | 56 +- apps/web/src/components/preview/ThreadPreviewMiniPlayer.tsx | 313 +++++++++++ apps/web/src/components/preview/previewAutomationOpenReadiness.test.ts | 17 +- apps/web/src/components/preview/previewAutomationOpenReadiness.ts | 4 + apps/web/src/components/preview/previewMiniPlayerLayout.test.ts | 73 +++ apps/web/src/components/preview/previewMiniPlayerLayout.ts | 46 ++ apps/web/src/components/preview/usePreviewBridge.ts | 2 + apps/web/src/components/preview/usePreviewSession.ts | 47 +- apps/web/src/previewMiniPlayerStore.test.ts | 64 +++ apps/web/src/previewMiniPlayerStore.ts | 96 ++++ apps/web/src/previewStateStore.test.ts | 105 +++- apps/web/src/previewStateStore.ts | 126 +++-- packages/contracts/src/ipc.ts | 7 + packages/contracts/src/preview.test.ts | 18 + packages/contracts/src/preview.ts | 10 +- packages/contracts/src/previewAutomation.ts | 9 +- 60 files changed, 4103 insertions(+), 594 deletions(-)