You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
V2: simplify assistant content fragment IDs and provider state #35019
*.started// durable boundary: fragment exists*.delta// live-only streaming update*.ended// durable boundary: final full value
Applies to text, reasoning, tool input, and compaction streaming.
Remove textID and reasoningID unless provider adapters prove multiple text/reasoning fragments can overlap/interleave inside one assistant step. Assistant text/reasoning content parts do not need IDs just for UI keys.
Keep callID for tools because it is real provider/protocol correlation data and tool settlements need it.
Rename provider continuation payloads:
providerMetadata->state
state is opaque provider-generated continuation/replay data. It is not app/plugin metadata, not provider identity, and should not be nested by provider ID when the owning message/model already determines the provider.
Implementation is consolidated in #35272: text/reasoning IDs are removed from the Session contract, provider continuation metadata becomes opaque state, tool callID remains, and the publisher enforces one active text/reasoning fragment per step. Keeping this open until #35272 merges.
Activity
kitlangton commentedon Jul 4, 2026
Implementation is consolidated in #35272: text/reasoning IDs are removed from the Session contract, provider continuation metadata becomes opaque state, tool
callIDremains, and the publisher enforces one active text/reasoning fragment per step. Keeping this open until #35272 merges.kitlangton commentedon Jul 7, 2026
Completed by #35272, including stable Session-assigned text/reasoning ordinals and flattened provider continuation state.