Adds saveSession(), loadSession(), and clearSession() methods to
WebSocketClient in ws-client.js for persisting session tokens across
page reloads via localStorage. On reconnect, an existing token is
sent as a session-resume frame so the server can resume the session.
Incoming session-init messages from the server trigger saveSession().
Creates test-hermes-session.js — 21 integration tests covering:
- saveSession() writes JSON with savedAt timestamp
- loadSession() returns null when nothing stored
- loadSession() restores token and clientId
- full save→reload round-trip via shared storage
- clearSession() removes the entry and nulls this.session
- static analysis of ws-client.js for all new symbols
Refs #286
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>