llama-stack-mirror/tests/unit/providers/utils
Matthew Farrellee a2a6a91cf5 fix(openai-compat): restrict developer/assistant/system/tool messages to text-only content
**What:**
- Added OpenAIChatCompletionTextOnlyMessageContent type for text-only content validation
- Modified OpenAISystemMessageParam, OpenAIAssistantMessageParam, OpenAIDeveloperMessageParam, and OpenAIToolMessageParam to use text-only content type instead of mixed content
- OpenAIUserMessageParam unchanged - still accepts both text and images
- Updated OpenAPI spec files to reflect text-only content restrictions in schemas

**Why:**
- Enforces OpenAI API compatibility by restricting image content to user messages only
- Prevents API misuse where images might be sent in message types that don't support them
- Aligns with OpenAI's actual API behavior where only user messages can contain multimodal content
- Improves type safety and validation at the API boundary

**Test plan:**
- Added comprehensive parametrized tests covering all 5 OpenAI message types
- Tests verify text string acceptance for all message types
- Tests verify text list acceptance for all message types
- Tests verify image rejection for system/assistant/developer/tool messages (ValidationError expected)
- Tests verify user messages still accept images (backward compatibility maintained)
2025-07-28 09:24:21 -04:00
..
inference fix(openai-compat): restrict developer/assistant/system/tool messages to text-only content 2025-07-28 09:24:21 -04:00
memory chore: default to pytest asyncio-mode=auto (#2730) 2025-07-11 13:00:24 -07:00
__init__.py fix: add check for interleavedContent (#1973) 2025-05-06 09:55:07 -07:00
test_model_registry.py feat: add infrastructure to allow inference model discovery (#2710) 2025-07-14 11:38:53 -07:00
test_scheduler.py chore: default to pytest asyncio-mode=auto (#2730) 2025-07-11 13:00:24 -07:00