azure-sdk-for-net
azure-sdk-for-net copied to clipboard
ClientModel: Investigate LRO pattern for unbranded clients
This is not a GA blocker. We would like to get this in for the GA but we can unblock OpenAI SDK scenarios if this does not land on time.
Scope
- Consider the OpenAI LRO pattern and other popular LRO patterns
- Investigate whether a given pattern is generic and popular enough to include in
System.ClientModel - For each LRO pattern that is adopted by Client Model, create an issue to track the work for implementation/testing.
Additional context
OpenAI uses LRO patterns for their assistance API. We will currently implement it in convenience layer and will in future consider supporting it in the de-branded toolchain end to end.
It is hard to envision today what this looks like as a generic LRO pattern that can be supported across clouds. Here is the typespec information about it - https://azure.github.io/typespec-azure/docs/libraries/azure-core/reference/js-api/interfaces/LroMetadata
I thought that it was decided that LROs were an Azure pattern and any unbranded clients that needed them would be doing so in the client package. @KrzysztofCwalina, am I remembering that incorrectly?
Unfortunately this is something we found recently and will be likely needed. We will need to understand the scope for March end release (we will get clarity by 2/27) but it is possible that this is something we need for it.
Rescoping this to "investigate" because we need to make a decision whether or not there's an LRO pattern popular enough that we feel it should be included in Client Model. If the OpenAI implementation is specific to OpenAI, then it should be local to that library.
Related to:
- https://github.com/Azure/azure-sdk-for-net/issues/42681
- https://github.com/Azure/azure-sdk-for-net/issues/42486
Completed by:
- https://github.com/Azure/azure-sdk-for-net/pull/44728
- https://github.com/Azure/azure-sdk-for-net/pull/45475