Durable execution support for long-running agent workflows using Azure Durable Functions.
DurableAIAgentClient- Client for invoking durable agentsDurableAIAgent- Shim for creating durable agents
DurableAIAgentWorker- Worker that executes durable agent tasksDurableAgentExecutor- Executes agent logic within durable contextAgentEntity- Durable entity for agent state management
DurableAgentState- State container for durable agentsDurableAgentSession- Session management for durable agentsDurableAIAgentOrchestrationContext- Orchestration context
AgentCallbackContext- Context for agent callbacksAgentResponseCallbackProtocol- Protocol for response callbacks
from durabletask.client import TaskHubGrpcClient
from durabletask.worker import TaskHubGrpcWorker
from agent_framework import ChatAgent
from agent_framework.azure import AzureOpenAIChatClient
from agent_framework_durabletask import DurableAIAgentClient, DurableAIAgentWorker
# Client side
dt_client = TaskHubGrpcClient(host_address="localhost:4001")
agent_client = DurableAIAgentClient(dt_client)
agent = agent_client.get_agent("assistant")
response = agent.run("Hello, how are you?")
print(response.text)
# Worker side
dt_worker = TaskHubGrpcWorker(host_address="localhost:4001")
agent_worker = DurableAIAgentWorker(dt_worker)
# Create a chat client for the agent
chat_client = AzureOpenAIChatClient()
my_agent = ChatAgent(chat_client=chat_client, name="assistant")
agent_worker.add_agent(my_agent)
dt_worker.start()from agent_framework_durabletask import DurableAIAgentClient, DurableAIAgentWorker