Async task summaries
summarize_async_tasks
Return a JSON-serializable summary row per managed async task slot in session state.
Rows include the logical key (without the streamtree.asyncio.task. prefix),
status, has_error, has_result, cancel_requested, and a string progress
preview (repr truncated). Non-task values stored under the task key prefix are skipped.