@@ -56,6 +56,7 @@ class CustomPart(BaseModel):
5656 metadata : dict [str , Any ] | None = None
5757 custom : dict [str , Any ]
5858 reasoning : Any | None = None
59+ resource : Any | None = None
5960
6061
6162class Media (BaseModel ):
@@ -66,6 +67,13 @@ class Media(BaseModel):
6667 url : str
6768
6869
70+ class Resource1 (BaseModel ):
71+ """Model for resource1 data."""
72+
73+ model_config = ConfigDict (extra = 'forbid' , populate_by_name = True )
74+ uri : str
75+
76+
6977class ToolRequest (BaseModel ):
7078 """Model for toolrequest data."""
7179
@@ -505,6 +513,12 @@ class Reasoning(RootModel[Any]):
505513 root : Any
506514
507515
516+ class Resource (RootModel [Any ]):
517+ """Root model for resource."""
518+
519+ root : Any
520+
521+
508522class Text (RootModel [Any ]):
509523 """Root model for text."""
510524
@@ -601,6 +615,7 @@ class DataPart(BaseModel):
601615 metadata : Metadata | None = None
602616 custom : dict [str , Any ] | None = None
603617 reasoning : Reasoning | None = None
618+ resource : Resource | None = None
604619
605620
606621class MediaPart (BaseModel ):
@@ -615,6 +630,7 @@ class MediaPart(BaseModel):
615630 metadata : Metadata | None = None
616631 custom : Custom | None = None
617632 reasoning : Reasoning | None = None
633+ resource : Resource | None = None
618634
619635
620636class ReasoningPart (BaseModel ):
@@ -629,6 +645,22 @@ class ReasoningPart(BaseModel):
629645 metadata : Metadata | None = None
630646 custom : Custom | None = None
631647 reasoning : str
648+ resource : Resource | None = None
649+
650+
651+ class ResourcePart (BaseModel ):
652+ """Model for resourcepart data."""
653+
654+ model_config = ConfigDict (extra = 'forbid' , populate_by_name = True )
655+ text : Text | None = None
656+ media : MediaModel | None = None
657+ tool_request : ToolRequestModel | None = Field (None , alias = 'toolRequest' )
658+ tool_response : ToolResponseModel | None = Field (None , alias = 'toolResponse' )
659+ data : Data | None = None
660+ metadata : Metadata | None = None
661+ custom : Custom | None = None
662+ reasoning : Reasoning | None = None
663+ resource : Resource1
632664
633665
634666class TextPart (BaseModel ):
@@ -643,6 +675,7 @@ class TextPart(BaseModel):
643675 metadata : Metadata | None = None
644676 custom : Custom | None = None
645677 reasoning : Reasoning | None = None
678+ resource : Resource | None = None
646679
647680
648681class ToolRequestPart (BaseModel ):
@@ -657,6 +690,7 @@ class ToolRequestPart(BaseModel):
657690 metadata : Metadata | None = None
658691 custom : Custom | None = None
659692 reasoning : Reasoning | None = None
693+ resource : Resource | None = None
660694
661695
662696class ToolResponsePart (BaseModel ):
@@ -671,6 +705,7 @@ class ToolResponsePart(BaseModel):
671705 metadata : Metadata | None = None
672706 custom : Custom | None = None
673707 reasoning : Reasoning | None = None
708+ resource : Resource | None = None
674709
675710
676711class EmbedResponse (BaseModel ):
@@ -719,11 +754,15 @@ class Resume(BaseModel):
719754
720755
721756class Part (
722- RootModel [TextPart | MediaPart | ToolRequestPart | ToolResponsePart | DataPart | CustomPart | ReasoningPart ]
757+ RootModel [
758+ TextPart | MediaPart | ToolRequestPart | ToolResponsePart | DataPart | CustomPart | ReasoningPart | ResourcePart
759+ ]
723760):
724761 """Root model for part."""
725762
726- root : TextPart | MediaPart | ToolRequestPart | ToolResponsePart | DataPart | CustomPart | ReasoningPart
763+ root : (
764+ TextPart | MediaPart | ToolRequestPart | ToolResponsePart | DataPart | CustomPart | ReasoningPart | ResourcePart
765+ )
727766
728767
729768class Link (BaseModel ):
0 commit comments