Under the hood
The SDK marks a user decision as in flight around a permission request, keeping idle and waiting state accurate.
The SDK's control-request path for tool permission requests now calls sessionState.beginUserDecision() and endUserDecision() around the request lifecycle, and matches pending requests by object identity before deleting them, making session state such as idle/waiting more accurate while a user decision is outstanding.