Anthropic's Messages API has no per-message author identity, so the
attribution from Message.Name needs to be rendered into content for
the model to see it. This adapter handles the HTTP path used by
self-hosted and custom Anthropic-compatible endpoints.
User content is wrapped via messageutil.ApplyUserNamePrefix at marshal
time, giving wire payloads like
{"role": "user", "content": "[U_alice] My name is Alice"}
The persisted Message is never mutated; the prefix exists only in the
outgoing request body.
Tool result blocks (msg.ToolCallID set) are explicitly not prefixed
because they are function outputs, not user utterances. Direct
single-user channels see no change because Name is empty there.
Tests cover the four relevant cases: prefix applied, no-name no-prefix,
tool result untouched, and a multi-user history scenario reproducing
the issue #2702 example.
Refs #2702.