Convert to OpenAI format
Map<String, dynamic> toOpenAIJson() { return { 'filename': filename, if (purpose != null) 'purpose': purpose!.value, }; }