Looks like a great progression towards abstracting away the underlying GraphQL protocol from the user, well done team! I like this syntax as it achieves a similar feel to the implementation that can be achieved within TypeScript like .withAdditional({ vector: true }).
Can it also be safely assumed that not all the kwargs need be specified? I.e., AdditionalProperties(vector=True) is valid returning only the vector field since the other kwargs default to None and are interpreted as False?
Finally, will this syntax be developed further to account for nested Additional Properties, like classification and group as documented here?