- Add model_config with extra='allow' to ChatCompletionRequest
- Fixes 422 validation errors when OpenAI-compatible clients send unknown fields
- Maintains backward compatibility with all existing fields
- Tested with unknown_field and extra_param - request succeeds
- Add 'developer' to accepted role literals in ChatMessage model
- Existing normalization in chat.py converts developer → system before watsonx API call
- Fixes 422 validation errors when clients send developer role messages
- Maintains backward compatibility with all existing roles
- Normalize 'developer' role to 'system' (vLLM doesn't support developer role)
- Flatten array content to string for text-only messages
- Preserve mixed content (text + images) as array
- Add comprehensive unit tests for normalization logic
Fixes HTTP 422 errors when clients send OpenAI multi-content format