# @aphrodite/remote-guest

Compatibility boundary and canonical browser entry point for Aphrodite remote
guest sessions.

The package-local signaling, peer-connection, audio-mixer, quality-monitor, and
manager implementation has been retired. It accepted caller-authored routing,
could place credentials in a WebSocket URL, and supplied implicit public STUN
defaults. Those APIs are no longer exported.

## Browser sessions

`@aphrodite/remote-guest` explicitly re-exports the canonical implementation
from `@oshun/live-media/browser/remote-guest`:

```ts
import {
  BrowserRemoteGuestClient,
  mountAphroditeBrowserRemoteGuest,
} from '@aphrodite/remote-guest';
```

The canonical path provides strict signaling schemas, credential-free WebSocket
URLs, one-use signaling tickets carried by WebSocket subprotocol, same-origin
control, bounded reciprocal RTP evidence, and explicit teardown.

It currently proves one host and one invited browser guest on a direct peer
connection. It does not claim SFU or multiparty support, TURN availability,
screen sharing, application-layer E2EE, mobile/native support, or multi-node
signaling coordination.

## Pure compatibility API

The deterministic `GuestLayoutCalculator`, layout/reporting types,
`DEFAULT_REMOTE_GUEST_CONFIG`, `DEFAULT_SIMULCAST_LAYERS`, and
`QUALITY_THRESHOLDS` remain for offline Yemaya readiness reports. The retained
default configuration contains no networking, credentials, ICE servers, or
reconnect policy.

## Verification

```bash
pnpm nx test aphrodite-remote-guest
pnpm nx lint aphrodite-remote-guest
pnpm nx build aphrodite-remote-guest
```
