AssemblyAI preserves query params on callback, so we encode the sessionId
on the webhook URL when submitting. That sessionId round-trips back here
and the caller uses it to route the callback without a DB lookup on
AssemblyAI's transcript_id.
The string is returned raw — the AI package has no opinion on the app's
ID branding (e.g. @repo/db's parseSessionId). Callers that need a branded
type should parse/validate the returned string themselves.
AssemblyAI preserves query params on callback, so we encode the sessionId on the webhook URL when submitting. That sessionId round-trips back here and the caller uses it to route the callback without a DB lookup on AssemblyAI's transcript_id.
The string is returned raw — the AI package has no opinion on the app's ID branding (e.g. @repo/db's parseSessionId). Callers that need a branded type should parse/validate the returned string themselves.