mirror of
https://github.com/microsoft/agent-framework.git
synced 2026-06-16 21:04:09 +08:00
50fdcbaf57
* chore(python): improve dependency range automation - tighten dependency bounds and coding standards guidance\n- add dependency range validation workflow, reporting, and issue automation\n- update related tests and dependency pins for compatibility Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * updated text and pyarrow * new lock * fixed workflow * updated deps * fix tiktoken * chore(python): refine dependency validation workflows Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * docs(python): add high-level dependency validation comments Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * WIP * added additional comments and excludes * added dev dependency handling and workflow and updates to package ranges * added readme and simplified commands * fix markers * chore(python): address dependency review feedback Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * Tighten dependency bounds, remove stale overrides, restore Python 3.10 support - Apply dependency bound policy across all packages: stable >=1.0 deps use >=floor,<next_major; pre-1.0/prerelease deps use validated hard-bounded ranges - Remove stale root tool.uv.override-dependencies (uvicorn, websockets, grpcio) - Lower github_copilot requires-python to >=3.10 with github-copilot-sdk gated behind python_version >= 3.11 marker; import raises ImportError on 3.10 - Skip github_copilot pyright/mypy/test tasks on Python <3.11 - Use version-conditional pyrightconfig for samples on Python 3.10 - Add compatibility fix in core responses client for older openai typed dicts - Normalize uv.lock prerelease mode and refresh dev dependencies - Update CODING_STANDARD.md, DEV_SETUP.md, and package management skill docs Closes #902 Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com> * small tweaks * add note in workflow * fix workflows and several versions * fix duplicate --------- Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
58 lines
1.7 KiB
Markdown
58 lines
1.7 KiB
Markdown
# Durable Task Package (agent-framework-durabletask)
|
|
|
|
Durable execution support for long-running agent workflows using Azure Durable Functions.
|
|
|
|
## Main Classes
|
|
|
|
### Client Side
|
|
|
|
- **`DurableAIAgentClient`** - Client for invoking durable agents
|
|
- **`DurableAIAgent`** - Shim for creating durable agents
|
|
|
|
### Worker Side
|
|
|
|
- **`DurableAIAgentWorker`** - Worker that executes durable agent tasks
|
|
- **`DurableAgentExecutor`** - Executes agent logic within durable context
|
|
- **`AgentEntity`** - Durable entity for agent state management
|
|
|
|
### State Management
|
|
|
|
- **`DurableAgentState`** - State container for durable agents
|
|
- **`DurableAgentSession`** - Session management for durable agents
|
|
- **`DurableAIAgentOrchestrationContext`** - Orchestration context
|
|
|
|
### Callbacks
|
|
|
|
- **`AgentCallbackContext`** - Context for agent callbacks
|
|
- **`AgentResponseCallbackProtocol`** - Protocol for response callbacks
|
|
|
|
## Usage
|
|
|
|
```python
|
|
from agent_framework import Agent
|
|
from agent_framework.azure import AzureOpenAIChatClient
|
|
from agent_framework_durabletask import DurableAIAgentClient, DurableAIAgentWorker
|
|
from durabletask.client import TaskHubGrpcClient
|
|
from durabletask.worker import TaskHubGrpcWorker
|
|
|
|
# Client side
|
|
dt_client = TaskHubGrpcClient(host_address="localhost:4001")
|
|
agent_client = DurableAIAgentClient(dt_client)
|
|
durable_agent = agent_client.get_agent("assistant")
|
|
|
|
# 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 = Agent(client=chat_client, name="assistant")
|
|
agent_worker.add_agent(my_agent)
|
|
```
|
|
|
|
## Import Path
|
|
|
|
```python
|
|
from agent_framework_durabletask import DurableAIAgentClient, DurableAIAgentWorker
|
|
```
|