UserInputContent
type UserInputContent = UserContent;User-turn content the runtime accepts: plain text, or AI SDK multimodal parts
(text + file/image/audio). This is exactly the content of a user ModelMessage,
so it threads into the model with no translation.
Durability invariant: any FilePart.data flowing through the runtime must be
JSON-serializable (a base64 string, data URL, or https URL) — never a raw
Buffer/Uint8Array. RunState.messages, session.messages, and the pending
input buffer are all persisted through the SessionStore (JSON/Redis/Postgres).