Surfaces
client.portal— the portal surface: account and workspace management.client.brain— the brain surface: published agent data and chat.
Credential helpers
client.has('portalToken' | 'workspaceKey')— was this credential supplied?client.ensure('portalToken' | 'workspaceKey')— throwSyvonConfigErrorif not. Called automatically before each request, so a misconfigured client fails before the network, never mid-flight with a confusing 401.
Swapping credentials: .with()
.with() returns a new client with a credential swapped; the original is unchanged. The intended use is JWT refresh: