Web Call
Changed onMint a LiveKit access token + auto-dispatch directive for a browser call.
The browser passes the returned access_token to livekit-client's connect(livekit_url, access_token). LiveKit creates the room and auto-dispatches the voice-worker into it. The selected agent-or-team binding is JWT-signed and tamper-proof. A single-agent call uses the agent's active revision, or assistant_revision_id when the caller pins a draft; a team call pins the current active team revision and its roster. An unpinned member still follows that member's active assistant revision when the call's turn plan resolves. The session is created with session_type="test" so post-processing is gated by test_features (see src.conversation.test_features).
This route is reachable by an org-scoped API key (unlike /test-chat, which is dashboard/Clerk-only) — it depends only on Permission.RUNTIME_EXECUTE. So identity resolution + policy is resolved HERE, in the router, rather than in the voice service, which is deliberately auth-free: resolve_test_features raises ValidationError (422) up front for a bad/team-incompatible request, and select_test_session_end_user raises ValidationError (422) when identity_resolution=true and the caller (e.g. an API key) has no clerk_user_id — both short-circuit before any LiveKit work.
Request
- The document declares no server URL.
- AuthAPI key in header x-api-key
- TypeScriptA function with typed inputs. Its response is checked against the schema.
Request body
Response
Successful Response
Changes
- info
added the new optional request property
- info
added the new optional request property
- info
added the required property
to the response with the status - info
added the required property
to the response with the status
- info