microsoft / microsoft/agent-framework

.NET & Python: [Durable Agents] Automatic thread/session cleanup TTL

Open
#2,615 4 comments 0 reactions 1 assignee Assigned to @ahmedmuhsin View on GitHub
.NET durabletask hosting python
Dominant language
Python
Stars
13.6k
Forks
2.3k
Avg merge
2d 45m
Merged PRs (30d)
358

Description

The Durable Task extension for Agent Framework ("Durable Agents") provides built-in thread storage. However, there's no clear way to cleanup the thread storage data, which will accumulate in either the Azure Storage account or in the Durable Task Scheduler resource owned by the user.

This issue tracks a proposal to create configurable TTLs on durable agents that allow them to be "garbage collected" if there aren't any interactions after a period of time. For example, if a particular agent session is idle for 30 days, the underlying entity state (e.g., the conversation history) gets deleted. Each new interaction with the agent would reset the TTL. Any messages to an "expired" agent session will result in a new conversation history.

[Design doc](https://github.com/microsoft/agent-framework/blob/main/docs/features/durable-agents/durable-agents-ttl.md)

This is needed for each language we support:
- [x] .NET
- [ ] Python

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.