@@ -191,17 +191,22 @@ def from_dict(cls, data: dict) -> "GetFullScanMetadataResponse":
191191
192192@dataclass
193193class DependencyRef :
194- direct : bool
195- toplevelAncestors : List [str ]
194+ topLevelAncestors : List [str ]
195+ direct : Optional [bool ] = None
196+ manifestFiles : Optional [List [SocketManifestReference ]] = None
197+ dependencies : Optional [List [str ]] = None
196198
197199 def __getitem__ (self , key ): return getattr (self , key )
198200 def to_dict (self ): return asdict (self )
199201
200202 @classmethod
201203 def from_dict (cls , data : dict ) -> "DependencyRef" :
204+ manifest_files = data .get ("manifestFiles" )
202205 return cls (
203- direct = data ["direct" ],
204- toplevelAncestors = data ["toplevelAncestors" ]
206+ topLevelAncestors = data ["topLevelAncestors" ],
207+ direct = data .get ("direct" ),
208+ manifestFiles = [SocketManifestReference .from_dict (m ) for m in manifest_files ] if manifest_files else None ,
209+ dependencies = data .get ("dependencies" )
205210 )
206211
207212@dataclass
@@ -400,8 +405,8 @@ class DiffArtifact:
400405 licenseDetails : List [LicenseDetail ]
401406 files : Optional [str ] = None
402407 capabilities : Optional [SecurityCapabilities ] = None
403- base : Optional [DependencyRef ] = None
404- head : Optional [DependencyRef ] = None
408+ base : Optional [List [ DependencyRef ] ] = None
409+ head : Optional [List [ DependencyRef ] ] = None
405410 namespace : Optional [str ] = None
406411 subpath : Optional [str ] = None
407412 artifact_id : Optional [str ] = None
@@ -418,6 +423,8 @@ def to_dict(self): return asdict(self)
418423
419424 @classmethod
420425 def from_dict (cls , data : dict ) -> "DiffArtifact" :
426+ base_data = data .get ("base" )
427+ head_data = data .get ("head" )
421428 return cls (
422429 diffType = DiffType (data ["diffType" ]),
423430 id = data ["id" ],
@@ -430,8 +437,8 @@ def from_dict(cls, data: dict) -> "DiffArtifact":
430437 licenseDetails = [LicenseDetail .from_dict (detail ) for detail in data ["licenseDetails" ]],
431438 files = data .get ("files" ),
432439 capabilities = SecurityCapabilities .from_dict (data ["capabilities" ]) if data .get ("capabilities" ) else None ,
433- base = DependencyRef .from_dict (data [ "base" ]) if data . get ( "base" ) else None ,
434- head = DependencyRef .from_dict (data [ "head" ]) if data . get ( "head" ) else None ,
440+ base = [ DependencyRef .from_dict (b ) for b in base_data ] if base_data else None ,
441+ head = [ DependencyRef .from_dict (h ) for h in head_data ] if head_data else None ,
435442 namespace = data .get ("namespace" ),
436443 subpath = data .get ("subpath" ),
437444 artifact_id = data .get ("artifact_id" ),
0 commit comments