Fix conversations stuck in waiting_for_tool_response when the model calls a client tool the application no longer offers, typically because the user moved to another screen while the assistant was working. Once the API waits for a tool response, a call to a tool that is not loaded waits up to 5 s (unavailableToolGraceMs) for it to be registered and runs it if it shows up. Otherwise it is answered with a TOOL_UNAVAILABLE error the model can read, so the run continues and later messages are accepted. Async backend tools (pendingAsyncToolCalls) are never answered by the client. Applies to ChatDrawer, AICommandBar, AIGenerationButton and AIElementWrapper.
Validated with 39 tests, typecheck, build, and a local end-to-end run of ChatDrawer against the API with screen-dependent tools (stay, leave, leave and return, and main as negative control).