ed
ad0ab405f2
fix(schemas): ChatMessage.content accepts str | list for multimodal
...
OpenAI ChatMessage content can be either a string (simple text) or a list
of content parts (multimodal: text + image_url, etc.). Updated the type
annotation to match the actual API. No behavioral change; this is a
type-hint-only widening so callers can pass multimodal content via
ChatMessage instead of dicts.
Required by tests/test_openai_compatible.py::test_vision_multimodal_message
which was passing raw dicts to OpenAICompatibleRequest (wrong - the field
is typed list[ChatMessage]). With this widening, that test can now use
ChatMessage(role='user', content=[...multimodal parts]) without losing
type fidelity.
2026-06-24 12:50:53 -04:00
..
2026-03-04 09:55:44 -05:00
2026-06-21 12:39:17 -04:00
2026-06-22 00:47:33 -04:00
2026-06-21 12:39:17 -04:00
2026-06-05 23:03:45 -04:00
2026-06-22 01:00:06 -04:00
2026-06-21 22:39:14 -04:00
2026-06-06 10:24:22 -04:00
2026-06-07 01:08:31 -04:00
2026-06-22 12:20:32 -04:00
2026-06-22 09:48:56 -04:00
2026-06-22 13:34:29 -04:00
2026-06-22 11:44:00 -04:00
2026-06-22 10:29:01 -04:00
2026-06-22 11:44:00 -04:00
2026-06-24 10:00:08 -04:00
2026-06-18 10:21:24 -04:00
2026-06-18 10:21:24 -04:00
2026-06-18 10:21:24 -04:00
2026-06-17 22:38:17 -04:00
2026-06-11 02:02:56 -04:00
2026-06-06 13:30:18 -04:00
2026-06-18 10:21:24 -04:00
2026-06-21 22:39:14 -04:00
2026-06-17 22:38:17 -04:00
2026-06-18 00:14:17 -04:00
2026-06-06 10:24:22 -04:00
2026-06-06 10:24:22 -04:00
2026-06-20 20:17:52 -04:00
2026-06-06 10:24:22 -04:00
2026-06-17 22:42:10 -04:00
2026-06-06 10:24:22 -04:00
2026-06-10 20:50:55 -04:00
2026-06-06 10:24:22 -04:00
2026-06-22 01:00:00 -04:00
2026-06-18 10:21:24 -04:00
2026-06-06 10:24:22 -04:00
2026-06-21 22:39:14 -04:00
2026-06-24 09:41:50 -04:00
2026-06-05 21:44:41 -04:00
2026-06-21 12:38:22 -04:00
2026-06-06 19:03:38 -04:00
2026-06-18 10:21:24 -04:00
2026-06-22 00:59:42 -04:00
2026-06-24 12:50:53 -04:00
2026-06-18 10:21:24 -04:00
2026-06-17 22:31:35 -04:00
2026-06-05 21:44:41 -04:00
2026-06-19 10:55:54 -04:00
2026-06-06 11:08:07 -04:00
2026-06-06 11:08:07 -04:00
2026-06-18 10:21:24 -04:00
2026-06-21 12:39:17 -04:00
2026-06-22 00:59:50 -04:00
2026-06-12 18:32:05 -04:00
2026-06-20 20:13:10 -04:00
2026-06-12 16:38:09 -04:00
2026-06-18 10:21:24 -04:00
2026-06-06 00:21:36 -04:00
2026-06-18 10:21:24 -04:00
2026-06-18 00:10:16 -04:00
2026-06-18 10:21:24 -04:00
2026-06-17 19:07:07 -04:00
2026-05-13 22:35:52 -04:00
2026-06-17 22:39:18 -04:00
2026-06-18 10:21:24 -04:00
2026-06-17 10:26:32 -04:00
2026-06-06 00:21:36 -04:00
2026-06-15 14:25:54 -04:00
2026-06-06 00:21:36 -04:00
2026-06-06 00:21:36 -04:00
2026-06-22 01:02:38 -04:00
2026-06-11 21:35:32 -04:00
2026-06-06 00:21:36 -04:00
2026-06-18 10:21:24 -04:00
2026-06-06 00:21:36 -04:00