deferred actions: implement latest provider protocol proposals #35063
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR implements the latest proposal for the changes to the provider protocol with support for deferred actions.
We're moving the
deferral_allowed
field into a commonClientCapabilities
message type to mirror theServerCapabilities
struct. This will make further changes of this type easier to implement in the future, as feature triggers like this can be added to the capabilities message once instead of to all the RPC requests directly.In addition, adding it to the
ConfigureProvider
RPC. TheConfigureProvider
response is not changing, so this is just an FYI to help the providers prepare for future deferral requests.There is no behaviour change in this PR, the only difference is in the format we are sending the
deferral_allowed
field to the providers.@DanielMSchmidt, this may break some of your in progress PRs but the fixes should be relatively trivial. Just adding in the extra
ClientCapabilities
wrapper.