# Intent: container/agent-runner/src/index.ts ## What Changed - Added `imageAttachments?` field to ContainerInput interface - Added `ImageContentBlock`, `TextContentBlock`, `ContentBlock` type definitions - Changed `SDKUserMessage.message.content` type from `string` to `string | ContentBlock[]` - Added `pushMultimodal(content: ContentBlock[])` method to MessageStream class - In `runQuery`: image loading logic reads attachments from disk, base64-encodes, sends as multimodal content blocks ## Key Sections - **Types** (top of file): New content block interfaces, updated SDKUserMessage - **MessageStream class**: New pushMultimodal method - **runQuery function**: Image loading block ## Invariants (must-keep) - All IPC protocol logic (input polling, close sentinel, message stream) - MessageStream push/end/asyncIterator (text messages still work) - readStdin, writeOutput, log functions - Session management (getSessionSummary, sessions index) - PreCompact hook (transcript archiving) - Bash sanitization hook - SDK query options structure (mcpServers, hooks, permissions) - Query loop in main() (query -> wait for IPC -> repeat)