Skip to content

Commit ca0f563

Browse files
Make ModelCapabilities.from_dict defensive for missing fields
The runtime may return models (e.g. embedding models) where 'limits' or 'supports' are absent. Default to empty objects instead of raising ValueError, matching the lenient behavior in Go/C#/TypeScript SDKs. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
1 parent 19d5a39 commit ca0f563

1 file changed

Lines changed: 2 additions & 7 deletions

File tree

python/copilot/client.py

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -389,13 +389,8 @@ def from_dict(obj: Any) -> ModelCapabilities:
389389
assert isinstance(obj, dict)
390390
supports_dict = obj.get("supports")
391391
limits_dict = obj.get("limits")
392-
if supports_dict is None or limits_dict is None:
393-
raise ValueError(
394-
f"Missing required fields in ModelCapabilities: supports={supports_dict}, "
395-
f"limits={limits_dict}"
396-
)
397-
supports = ModelSupports.from_dict(supports_dict)
398-
limits = ModelLimits.from_dict(limits_dict)
392+
supports = ModelSupports.from_dict(supports_dict) if supports_dict else ModelSupports()
393+
limits = ModelLimits.from_dict(limits_dict) if limits_dict else ModelLimits()
399394
return ModelCapabilities(supports=supports, limits=limits)
400395

401396
def to_dict(self) -> dict:

0 commit comments

Comments
 (0)