Branching Conversations
J
Jonathon Cramer
Ask: Add an init parameter generate_unique_chat_group_id when connecting to wss://api.hume.ai/v0/evi/chat, and have the metadata response always include both the current group identity and a new one when requested.
Why: With only resumed_chat_group_id, a session is tied to one chat group. To support branching (e.g. retry from a prior step without losing or redoing earlier steps), we need to start a new group that can still reference prior context.
Example flow: Step 1 (rapport) → step 2 (specialties) → step 3 (task). If step 3 fails, we want to “return to step 2” by resuming that group and, in the same init, requesting a new chat_group_id for the retry. That way the failed attempt lives in one group and the retry in another, both rooted in the same step 1 + 2 history.
Concrete ask: On each WebSocket init, support something like generate_unique_chat_group_id and return both the resumed/current chat_group_id and a newly generated chat_group_id in the metadata so clients can implement branching and “resume from stable step” without discarding relationship history.