-
Notifications
You must be signed in to change notification settings - Fork 210
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
[Epic] Validation rules for Plugin Generation in Kiota #5162
Comments
Tasks:
Can be resolved with #5071 |
I do have a bunch of questions about those rules...
What qualifies as nested object? an inline object type definition? or are you referring to properties that are of object types in general? (e.g. assigned licenses for user in Graph)
This is how we define inheritance (entity<-directory object<- user), which would in effect rule out most API definitions out there. We need to be much more specific here.
Likewise we have plenty of those in Microsoft Graph. E.g. a User has a manager property which is a user... Also should we consider multiple degrees of separation? (e.g. user.memberof ->group, group.members -> user)
Providing examples would help here.
Examples please.
Examples please.
Considering 3.1.0 is not supported yet by OAI.net we should revisit this one for our current timelines.
Or in simple terms "should start with https://, case insensitive" |
@maisarissi Shall we move it from Proposed to Todo? (meaning, is it a must-have for GA?) |
@baywet I've added the examples and details around the validations in each of the new issues created. After talking to @darrelmiller, I've created validation issues in the validation library. On top of the validations in the validation lib, linked to this epic, In Kiota we should still validate:
If any above validation fails, we need throw an error. For inheritance (allOf, oneOf, anyOf) in request bodies, I've created a new issue for Kiota to handle the scenario: #5164 For the circular reference we should list all selected paths that are causing the error. |
@sebastienlevert To confirm- OpenAPI version 3.1.0 shall throw an error, given that it is not yet supported in OpenAPI.NET library, right? Support for 3.1 microsoft/OpenAPI.NET#795 will be released in the upcoming 2.0 version. |
Absolutely. |
The OpenAPI.NET throws an exception on this |
Error shall be shown to the user when using 3.1 |
Can we have more description for
|
@darrelmiller Do we have any better description or examples? It shall not be too restrictive now, I see some risk in there. |
I have no idea what is meant by Circular references are not supported. I can imagine that if you try to create a plugin with a request payload that has a schema that is self referencing then Semantic Kernel will not be able to call that API. That is probably because SK cannot support nested objects that contain parameters that have the same property names. This is a bug they are planning to fix in the next sprint. |
Thanks @darrelmiller , so suggesting we keep it for post-GA and re-evaluate later on based on the feedback from users. |
Closing this epic as the last item remaining is the circular reference and this might be fixed by SK when they support nested objects that contain parameters that have the same property names. |
We need to enhance the plugin generation process in Kiota by implementing validation rules. These validations will ensure that the generated plugins function correctly.
Some of these validations address current limitations that may be resolved in the future. However, it is crucial to ensure that the generated plugins work with the current constraints.
Tasks
Requirements
The text was updated successfully, but these errors were encountered: