The official tasks extension (io.modelcontextprotocol/tasks): a tool call
becomes a durable task the client polls, including an input_required
rendezvous answered via tasks/update.
Server and client run in one process over the in-memory transport:
go run ./examples/tasks