2020from __future__ import annotations
2121from .. import BaseModel
2222from ...utils .unions import parse_open_union
23+ from .audiocontent import AudioContent , AudioContentParam
24+ from .documentcontent import DocumentContent , DocumentContentParam
2325from .imagecontent import ImageContent , ImageContentParam
2426from .textcontent import TextContent , TextContentParam
27+ from .videocontent import VideoContent , VideoContentParam
2528from functools import partial
2629from pydantic import ConfigDict
2730from pydantic .functional_validators import BeforeValidator
3033
3134
3235FunctionResultSubcontentParam = TypeAliasType (
33- "FunctionResultSubcontentParam" , Union [TextContentParam , ImageContentParam ]
36+ "FunctionResultSubcontentParam" ,
37+ Union [
38+ TextContentParam ,
39+ DocumentContentParam ,
40+ ImageContentParam ,
41+ AudioContentParam ,
42+ VideoContentParam ,
43+ ],
3444)
3545
3646
@@ -45,13 +55,23 @@ class UnknownFunctionResultSubcontent(BaseModel):
4555
4656
4757_FUNCTION_RESULT_SUBCONTENT_VARIANTS : dict [str , Any ] = {
58+ "audio" : AudioContent ,
59+ "document" : DocumentContent ,
4860 "image" : ImageContent ,
4961 "text" : TextContent ,
62+ "video" : VideoContent ,
5063}
5164
5265
5366FunctionResultSubcontent = Annotated [
54- Union [ImageContent , TextContent , UnknownFunctionResultSubcontent ],
67+ Union [
68+ AudioContent ,
69+ DocumentContent ,
70+ ImageContent ,
71+ TextContent ,
72+ VideoContent ,
73+ UnknownFunctionResultSubcontent ,
74+ ],
5575 BeforeValidator (
5676 partial (
5777 parse_open_union ,
0 commit comments