Skip to main content

Module facade

Module facade 

Source
Expand description

The narrow surface the browser tools call: one call, sent to the server’s browser fleet.

Mirrors crate::mcp::review::facade: the Tool impls hold an Arc<dyn BrowserFacade> so their tests drive a MockBrowserFacade instead of a live fleet.

Re-exportsΒ§

use std::sync::Arc; πŸ”’
use async_trait::async_trait; πŸ”’
use forge_primitives::SessionSlot; πŸ”’
use forge_primitives::browser::BrowserPart; πŸ”’
use forge_primitives::browser::HandOffAnswer; πŸ”’
use forge_primitives::browser::HandOffEnding; πŸ”’
use forge_primitives::browser::HandOffSource; πŸ”’
use serde_json::Value; πŸ”’
use crate::browser::NO_BROWSER_HOST; πŸ”’
use crate::workspace::Workspace; πŸ”’

StructsΒ§

ProdBrowserFacade
Production impl: the server’s fleet, and the workspace itself for the one tool that parks on the person rather than on the browser.
ResolveHandOffOnDrop πŸ”’
Resolves a parked hand-off when the awaiting handler goes - a session that died mid-wait, never a decision. A resolve that already happened makes the drop a no-op, which is why the approved path can just let it fall.

TraitsΒ§

BrowserFacade
The fleet, as one tool call sees it.