{"version":"2.1.260","anchor":"first-frame-upload-tracking-added-to-turn-streaming","canonical_anchor":"thinking-tokens-frames-now-carry-the-triggering-user-message","heading":"Turn streaming now propagates the triggering user_message_uuid and tracks first-frame upload","tier":"internal","area":"Headless SDK","scope":null,"heads_up":null,"url":"https:\/\/changelogs.core-directive.com\/v\/2.1.260\/e\/first-frame-upload-tracking-added-to-turn-streaming","release_url":"https:\/\/changelogs.core-directive.com\/v\/2.1.260","markdown":"### Turn streaming now propagates the triggering user_message_uuid and tracks first-frame upload\n\nTurn streaming can now track when the first non-thinking frame was uploaded.\n\nLive `thinking_tokens` progress frames (stream-json \/ Agent SDK) are now stamped with `user_message_uuid`, the client uuid of the user message (`submitMessage` options.uuid) that triggered the turn, letting a consumer attribute thinking progress to a send before any reply frame arrives. It's absent on synthetic\/scheduled turns, turns without a client uuid, and on Remote Control (interactive terminal) sessions. The synthesized `result` SDK event (built by the new `own` function) likewise now includes `user_message_uuid` when available and the outcome isn't a terminal-reason exit.\n\nThe turn-streaming generator also now calls an optional `trackFirstFrameUpload` callback on the first non-thinking `stream_event` of a turn.\n\n- Area: Headless SDK\n- Tier: Under the hood\n- Useful: 2\/5\n- Signal: 2\/5"}