- New `mosaic login` command: signs in via email/password, stores
session cookie at ~/.mosaic/session.json (7-day expiry)
- `mosaic tui` now authenticates before connecting WebSocket:
loads saved session, validates it, prompts for credentials if needed
- TUI passes session cookie via socket.io extraHeaders so the
ChatGateway accepts the WebSocket connection
- Session is reused across invocations until it expires
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>