Save user/tool media (camera, screenshots) as files in data/media/ and
preserve base64 in session via AddFullMessage so images survive across
turns. Add copy_file tool to let the LLM copy media files into the
workspace. Clean up media files when messages are dropped by
forceCompression or summarization.
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>