@@ -56,6 +56,7 @@ class CustomPart(BaseModel):
56
56
metadata : dict [str , Any ] | None = None
57
57
custom : dict [str , Any ]
58
58
reasoning : Any | None = None
59
+ resource : Any | None = None
59
60
60
61
61
62
class Media (BaseModel ):
@@ -66,6 +67,13 @@ class Media(BaseModel):
66
67
url : str
67
68
68
69
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
+
69
77
class ToolRequest (BaseModel ):
70
78
"""Model for toolrequest data."""
71
79
@@ -505,6 +513,12 @@ class Reasoning(RootModel[Any]):
505
513
root : Any
506
514
507
515
516
+ class Resource (RootModel [Any ]):
517
+ """Root model for resource."""
518
+
519
+ root : Any
520
+
521
+
508
522
class Text (RootModel [Any ]):
509
523
"""Root model for text."""
510
524
@@ -601,6 +615,7 @@ class DataPart(BaseModel):
601
615
metadata : Metadata | None = None
602
616
custom : dict [str , Any ] | None = None
603
617
reasoning : Reasoning | None = None
618
+ resource : Resource | None = None
604
619
605
620
606
621
class MediaPart (BaseModel ):
@@ -615,6 +630,7 @@ class MediaPart(BaseModel):
615
630
metadata : Metadata | None = None
616
631
custom : Custom | None = None
617
632
reasoning : Reasoning | None = None
633
+ resource : Resource | None = None
618
634
619
635
620
636
class ReasoningPart (BaseModel ):
@@ -629,6 +645,22 @@ class ReasoningPart(BaseModel):
629
645
metadata : Metadata | None = None
630
646
custom : Custom | None = None
631
647
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
632
664
633
665
634
666
class TextPart (BaseModel ):
@@ -643,6 +675,7 @@ class TextPart(BaseModel):
643
675
metadata : Metadata | None = None
644
676
custom : Custom | None = None
645
677
reasoning : Reasoning | None = None
678
+ resource : Resource | None = None
646
679
647
680
648
681
class ToolRequestPart (BaseModel ):
@@ -657,6 +690,7 @@ class ToolRequestPart(BaseModel):
657
690
metadata : Metadata | None = None
658
691
custom : Custom | None = None
659
692
reasoning : Reasoning | None = None
693
+ resource : Resource | None = None
660
694
661
695
662
696
class ToolResponsePart (BaseModel ):
@@ -671,6 +705,7 @@ class ToolResponsePart(BaseModel):
671
705
metadata : Metadata | None = None
672
706
custom : Custom | None = None
673
707
reasoning : Reasoning | None = None
708
+ resource : Resource | None = None
674
709
675
710
676
711
class EmbedResponse (BaseModel ):
@@ -719,11 +754,15 @@ class Resume(BaseModel):
719
754
720
755
721
756
class Part (
722
- RootModel [TextPart | MediaPart | ToolRequestPart | ToolResponsePart | DataPart | CustomPart | ReasoningPart ]
757
+ RootModel [
758
+ TextPart | MediaPart | ToolRequestPart | ToolResponsePart | DataPart | CustomPart | ReasoningPart | ResourcePart
759
+ ]
723
760
):
724
761
"""Root model for part."""
725
762
726
- root : TextPart | MediaPart | ToolRequestPart | ToolResponsePart | DataPart | CustomPart | ReasoningPart
763
+ root : (
764
+ TextPart | MediaPart | ToolRequestPart | ToolResponsePart | DataPart | CustomPart | ReasoningPart | ResourcePart
765
+ )
727
766
728
767
729
768
class Link (BaseModel ):
0 commit comments