1
The shopper asks for products
Shopper: I need waterproof hiking boots for day hikes, under $200That’s the whole request. Next you mint a token and send this message — Channel3 opens the conversation, searches, and streams the reply.
2
Mint a token and run the turn
Keep the API key on the server. The browser only ever sees a client token.Send the shopper’s message with no conversation ID. Read the stream: save
conversation_id from turn.started, append text deltas, and take the full answer from turn.completed.Agent: Let me pull up some options.Product cards with titles, images, prices, and buy links.
Agent: Here are a few solid day-hiking picks under $200. The Salomon has the best waterproofing if your trails get wet.
3
The shopper refines
Shopper: in brown insteadSend only the new message plus the saved conversation ID. Channel3 already knows you were talking about sub-$200 waterproof day-hiking boots, so it runs a new search for brown ones.
Agent: On it — pulling up brown options in that same price range.Fresh product cards, then a closing message about the brown options. The conversation ID does not change. Read this stream the same way as the first turn.