You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
{{ message }}
Repository navigation
Optional fields redeclared in canonical_creative lose the never-null marker, so nested dumps emit null (follow-up to #1587) #1620
Optional fields that adcp.types.canonical_creative redeclares don't carry the never-null marker (_RefuseJsonNull) that their generated counterparts do. They aren't omitted when unset in a nested dump, so a plain-pydantic parent emits null for them. Their schemas don't admit null.
direct dump nulls: []
nested dump nulls: ['placements']
Optional fields checked on 9.1.0 with no marker (compare Product.channels, which has one):
Product.placements
Placement.format_options
CreateMediaBuyRequest.packages
UpdateMediaBuyRequest.packages and new_packages
GetProductsResponse.products
GetProductsRequest.filters
ListCreativesRequest.filters
Expected
Redeclared optional fields keep the generated field's never-null metadata, so #1591's guarantee ("never-null fields omit None from every serializer") also holds for the canonical-creative types.
Impact
The Embedded Sales Agent keeps its own Product serializer that strips these nulls, because its wire responses nest SDK products in its own models.
Activity