This separates the two user-message identities we currently need in agent threads: - `protocol_id`: the ACP `messageId` used to group or split streamed message chunks from ACP agents. - `client_id`: the Zed-generated user message ID used by the native agent for truncate, rewind, edit/regenerate, checkpoints, token usage, and persistence. The main behavior change is that ACP protocol message IDs now affect message merging/rendering without leaking Zed-native client IDs into ACP agents by default. Agents that can accept Zed-generated user message IDs opt into that path through `AgentSessionClientUserMessageIds`, which owns both ID generation and prompt submission. The native Zed agent implements that capability; normal ACP agents continue through the protocol-only `prompt` path. In ACP v2 we'll have a mechanism for getting user message replays that will allow the agent to adequately generate it's own opaque id that we can then use for these other capabilities. But for now, this split at least makes sure we keep the two concepts distinct. Release Notes: - N/A --------- Co-authored-by: Bennet Bo Fenner <bennetbo@gmx.de>
13 files changedLine totals unavailable