# acp_thread: Consolidate agent message content ownership \(\#64667\) · gitcafe/zed

[View on GitCafe](https://git.cafe/gitcafe/zed/commit/a405fb91d5839d8308a2c2e9eacac7349231d672)

Repository: [gitcafe/zed](https://git.cafe/gitcafe/zed)

Visibility: public

Requested revision: a405fb91d5839d8308a2c2e9eacac7349231d672

Requested commit: a405fb91d5839d8308a2c2e9eacac7349231d672

Commit: a405fb91d5839d8308a2c2e9eacac7349231d672

Tree: 38837a98b432605dbaffeebb521f5388bef07199

Author: Ben Brandt

Committer: GitHub

## Message

```
acp_thread: Consolidate agent message content ownership (#64667)

- Make `MessageContent` own the original SDK content blocks and derive
rendering through borrowed views, removing the separately maintained
`UserMessage.chunks` vector.
- Retain assistant content-block metadata and payloads while revealing
streamed text through a source cursor, without a second pending-text
buffer or per-block shared ownership.
- Preserve existing v1 IDs, grouping, optimistic echo behavior, prompt
formatting, and Markdown/image identity. Standalone tool and compaction
output keeps its existing payload-retention contract.
- Reclaim spare source-vector capacity at turn settlement or
cancellation, with a bounded trailing range and stale-turn guards. Late
output can still append normally.

This is content-ownership preparation for ACP v2.

Release Notes:

- N/A
```

## Parents

- [7d6a4c1d5aa5cb6948df6d4d182b79025fc4f227](https://git.cafe/gitcafe/zed/commit/7d6a4c1d5aa5cb6948df6d4d182b79025fc4f227?format=markdown)

[Source at this commit](https://git.cafe/gitcafe/zed/tree/a405fb91d5839d8308a2c2e9eacac7349231d672?format=markdown)
