-
Notifications
You must be signed in to change notification settings - Fork 1.2k
replace Annotated superclass with annotations property #208
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
jerome3o-anthropic
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks - I think this is good
[q] Was the old implementation part of an official release?
Looks like it's part of the schema in 2024-11-05 LMK if this means I should hold off on merging btw, will wait to hear 😁 |
|
As long as it's backwards compatible on the wire, that's the key thing. SDKs can always provide their own backward compatibility for typed interfaces. Small nitpick: I wouldn't generally refer to these as "classes," as they're just descriptions of JSON that gets sent on the wire. |
Couple questions re syncing schema changes to the SDKs we maintain:
Ah yep missed the edit (only in the description right?) |
|
This doesn't change anything on the wire, so it shouldn't break any SDK immediately. When we incorporate the typing changes, we might want to make sure the (e.g.) Python and JS changes are backwards compatible, but I don't expect that will be difficult. Easiest way would be to just bring this change in and see what breaks. |
Makes sense. FWIW I looked around to see what the coupling was between the spec schema and the SDKs, recording observations here for posterity/reality check:
Anyway, merging. |
Relicense from CC-BY to MIT
Removes
Annotatedinterface, and instead adds theannotationsproperty directly to the interfaces that used to inherit from it.Previously:
Now:
Motivation and Context
Simplifies the schema, reduces friction for hosting different combinations of annotation properties on different protocol objects.
How Has This Been Tested?
Breaking Changes
Types of changes
Checklist
Additional context