Add user_message on AIRequest, ResponseKind/image bytes on AIResponse, and
image_prompt so clients can persist image context in chat history.
Co-authored-by: Cursor <cursoragent@cursor.com>
Additive field so GetAnswerJob can return the same authoritative AgentUsage as
synchronous RunAgent for a completed deferred job. Unset for legacy
GenerateAnswer jobs. No existing field numbers or enum values changed.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Lets l-ai-steam mark inbound Steam chat requests the same way
telegram_user_id already marks Telegram ones, so l-ai-core can gate
AI tool calling on either signal.
Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
- Add global_user_id field to identify user for profile/memories lookup
- Add AnswerGenerationOptions with include_user_memories bool
- Include memories in prompt when option is enabled